重学网络系列之(个人名字叫IP)

前言

文本已收录至个人GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger
种一棵树最好的时间是十年前,其次是如今html

叨絮

今天咱们的主角是IP,这家伙天生丽质难自弃,在网络的世界,他但是一等公民。今天咱们就一块儿来聊聊IP这个家伙git

凡全部相,皆是虚妄;若见诸相非相,即见如来。github

面试题 说说你怎么查看当前服务器的ip

哈哈,这个题是否是很简单,不是搞技术的均可能知道,有如下的方式面试

  • 在 Windows 上是 ipconfig
  • 在 Linux 上是 ifconfig。
  • 还有一个在Linux上是  ip addr

那ifconfig 和ip addr 的区别呢?有时候面试的时候,想深挖一些东西真的很难,由于不少人第一连就不行了。。你们能够在下方留言看看。。服务器

IP地址

P 地址是一个网卡在网络世界的通信地址,至关于咱们现实世界的门牌号码。既然是门牌号码,不能你们都同样,否则就会起冲突。比方说,假如你们都叫六单元 1001 号,那快递就找不到地方了。因此,有时候我们的电脑弹出网络地址冲突,出现上不去网的状况,多半是 IP 地址冲突了。微信

举个例子 10.100.122.2 就是一个 IP 地址 这个地址被点分隔为四个部分,每一个部分 8 个 bit,因此 IP 地址总共是 32 位。这样产生的 IP 地址的数量很快就不够用了。由于当时设计 IP 地址的时候,哪知道今天会有这么多的计算机啊!由于不够用,因而就有了 IPv6,也就是 inet6fe80::f816:3eff:fec7:7975/64。这个有 128 位,如今看来是够了,可是将来的事情谁知道呢?网络

地址分类

IP 目前是被分为了5类,固然咱们就看咱们用的最多的3类就行了ide

在网络地址中,至少在当时设计的时候,对于 A、B、 C 类主要分两部分,前面一部分是网络号,后面一部分是主机号。这很好理解,你们都是六单元 1001 号,我是小区 A 的六单元 1001 号,而你是小区B 的六单元 1001 号post

你们看看是否是很熟悉,我相信你们公司的局域网的地址开头基本上是10.0开头的吧,而咱们用本身电脑组的虚拟机局域网大部分确定是192.168开头的spa

公有IP地址和私有IP地址

在平常的工做中,几乎不用划分 A 类、B 类或者 C 类,因此时间长了,不少人就忘记了这个分类。可是有一点仍是要注意的,就是公有 IP 地址和私有 IP 地址。

咱们继续看上面的表格。表格最右列是私有 IP 地址段。平时咱们看到的数据中内心,办公室、家里或学校的 IP 地址,通常都是私有 IP 地址段。由于这些地址容许组织内部的 IT 人员本身管理、本身分配,并且能够重复。所以,你学校的某个私有 IP 地址段和我学校的能够是同样的。

MAC地址

相似于fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff 这个被称为MAC 地址,是一个网卡的物理地址,用十六进制,6 个 byte 表示。MAC 地址是一个很容易让人“误解”的地址。由于 MAC 地址号称全局惟一,不会有两个网卡有相同的MAC 地址,并且网卡自生产出来,就带着这个地址。不少人看到这里就会想,既然这样,整个互联网的通讯,所有用 MAC 地址好了,只要知道了对方的 MAC 地址,就能够把信息传过去。

这样固然是不行的。一个网络包要从一个地方传到另外一个地方,除了要有肯定的地址,还须要有定位功能。而有门牌号码属性的 IP 地址,才是有远程定位功能的。

例如,你去杭州市网商路 599 号 B 楼 6 层找刘超,你在路上问路,可能被问的人不知道 B 楼是哪一个,可是能够给你指网商路怎么去。可是若是你问一我的,你知道这个身份证号的人在哪里吗?可想而知,没有人知道。

MAC 地址更像是身份证,是一个惟一的标识。它的惟一性设计是为了组网的时候,不一样的网卡放在一个网络里面的时候,能够不用担忧冲突。从硬件角度,保证不一样的网卡有不一样的标识

因此,MAC 地址的通讯范围比较小,局限在一个子网里面。例如,从 192.168.0.2/24 访问192.168.0.3/24 是能够用 MAC 地址的。一旦跨子网,即从 192.168.0.2/24 到 192.168.1.2/24,MAC地址就不行了,须要 IP 地址起做用了

面试题 怎么给本身的电脑设置ip

有下面的方式设置ip

  • sudoifconfigeth110.0.0.1/24 sudo ifconfig eth1 up
  • sudoipaddradd10.0.0.1/24deveth1 sudo ip link set up eth1

你可能会问了,本身配置这个自由度太大了吧,我是否是配置什么均可以?若是配置一个和谁都不搭边的地址呢?例如,旁边的机器都是 192.168.1.x,我非得配置一个 16.158.23.6,会出现什么现象呢?

不会出现任何现象,就是包发不出去呗。

缘由

你们能够试试,你发现你ping的时候,包根本发不出去,缘由就是重点来了,很重要的一个结论,重要的事情说三遍

  • 只要是在网络上跑的包,都是完整的,能够有下层没上层,绝对不可能有上层没下层。
  • 只要是在网络上跑的包,都是完整的,能够有下层没上层,绝对不可能有上层没下层。
  • 只要是在网络上跑的包,都是完整的,能够有下层没上层,绝对不可能有上层没下层。

你们来反推一下哈 咱们既然要发一个包出去,就算是交换机对吧,他们的通讯在网络里面的数据链路层,咱们说的mac层,那你想,我本身是16.158.23.6 本身的mac地址,咱们本身确定知道,可是我并知道 192.168.x.x的mac地址,我怎么办呢,我确定要想办法知道他mac地址,这里会有一个判断的过程,若是目标地址跟我是一个网段的,那我就发arp协议,就能获取到了,就像咱们在一间办公室,我确定就直接喊,小六六把你的东西递给我下。可是咱们看,此时呢,咱们的网段不一样是吧,那咱们就要先找到网关,也就是16.158.x.x的网关,把包发给他,而后再发到192.168.x.x的时候,他会发现mac地址跟本身网关的地址对不上,因此是不会接收这个包的。

动态主机配置协议(DHCP)

原来配置 IP 有这么多门道儿啊。你可能会问了,配置了 IP 以后通常不能变的,配置一个服务端的机器还能够,可是若是是客户端的机器呢?我抱着一台笔记本电脑在公司里走来走去,或者白天来晚上走,每次使用都要配置 IP 地址,那可怎么办?还有人事、行政等非技术人员,若是公司全部的电脑都须要 IT人员配置,确定忙不过来啊。

所以,咱们须要有一个自动配置的协议,也就是称动态主机配置协议(Dynamic Host ConfigurationProtocol),简称DHCP。

若是一个网络管理员在网络里面配置了DHCP Server的话,他就至关于这些 IP 的管理员。他马上能知道来了一个“新人”。这个时候,咱们能够体会 MAC 地址惟一的重要性了。当一台机器带着本身的 MAC地址加入一个网络的时候,MAC 是它惟一的身份,若是连这个都重复了,就没办法配置了。只有 MAC 惟一,IP 管理员才能知道这是一个新人,须要租给它一个 IP 地址,这个过程咱们称为DHCPOffer。同时,DHCP Server 为此客户保留为它提供的 IP 地址,从而不会为其余 DHCP 客户分配此 IP地址。

DHCP协议中的报文

DHCP报文共有一下几种:

  • DHCP DISCOVER :客户端开始DHCP过程发送的包,是DHCP协议的开始
  • DHCP OFFER :服务器接收到DHCP DISCOVER以后作出的响应,它包括了给予客户端的IP(yiaddr)、客户端的MAC地址、租约过时时间、服务器的识别符以及其余信息
  • DHCP REQUEST :客户端对于服务器发出的DHCP OFFER所作出的响应。在续约租期的时候一样会使用。
  • DHCP ACK :服务器在接收到客户端发来的DHCP REQUEST以后发出的成功确认的报文。在创建链接的时候,客户端在接收到这个报文以后才会确认分配给它的IP和其余信息能够被容许使用。
  • DHCP NAK :DHCP ACK的相反的报文,表示服务器拒绝了客户端的请求。
  • DHCP RELEASE :通常出如今客户端关机、下线等情况。这个报文将会使DHCP服务器释放发出此报文的客户端的IP地址
  • DHCP INFORM :客户端发出的向服务器请求一些信息的报文
  • DHCP DECLINE :当客户端发现服务器分配的IP地址没法使用(如IP地址冲突时),将发出此报文,通知服务器禁止
  • 使用该IP地址。

DHCP 的 工做流程:

结尾

今天咱们了解了网络的基础元素IP Mac,有了IP Mac至关于人有了身份证,你就能在这个国家有一个惟一的标识,在网络的世界也是同样的,而后咱们还了解DHCP协议(至关于出生证实吧)。。从明天开始咱们就能够去其余地方冒险了。。

参考

平常求赞

好了各位,以上就是这篇文章的所有内容了,能看到这里的人呀,都是真粉

创做不易,各位的支持和承认,就是我创做的最大动力,咱们下篇文章见

微信 搜 "六脉神剑的程序人生" 回复888 有我找的许多的资料送给你们

相关文章
相关标签/搜索