IP协议详解

目录

Internet地址结构

表示IP地址

目前的IP版本有4和6。

目前最流行的就是IPv4,有十进制和二进制两种表示方法。分别是:

点分四组十进制。每一组范围是[0~255],如:255.255.255.255

二进制。如:11111111 11111111 11111111 11111111

 

IPv6地址长度是128位,

由8块(或8个字段)组成,每一块都包含四个16进制数,每块由冒号分隔。

有以下特点:

1、一个块中前导的0不必书写。

2、全0的块可以省略,并用符号::代替。

3、IPv6可以兼容IPv4地址,即可以用IPv6格式表示IPv4地址。

表示方式为:IPv6块值为ffff,其后面紧跟“点分四组”的格式。如:

::ffff:10.0.0.1

可以代表IPv4:10.0.0.1

4、IPv6的低32位通常采用点分四组(就是上面那样)的表示法。

 

基本的IP地址结构

分类寻址

IPV4被分为五大类:ABCDE

A类为:点分四组中的第一组地址范围为0~127的IP地址。已二进制来看就是“首位为0”

B类:128~191.二进制首位为10

C类:192~223.二进制首位为110

D类:224~239.二进制首位为1110

E类:240~255.二进制首位为1111

 

子网寻址

如上可以看出,IP地址值存在两个子结构:网络号和主机ID,但这样就出现了一个问题。就是分配ip地址很麻烦。(即网络信息中心要负责每一台主机的ip地址分配,这样就太繁杂了。)。

于是就将ip地址从两级分成了三级:网络号、子网ID、主机ID

划分子网ID的方法是从“原有的主机号中借用若干位”作为子网号。(当然,主机号就减少了)

网络信息中心集中分配每一个网络号。

然后各个站点的管理人员再分配他们网络号下的子网ID和对应的主机ID。然后管理员在安排每一个子网下面的主机数。

 

子网掩码

在ip地址传播的时候,可以根据二进制首位的格式判断其属于第几类网,也就爱能判断其网络号有多少位。

但ip地址本身并没有包含任何关于子网划分的信息,所以光凭ip地址无法知道“其是如何划分子网的”。

于是就出现了子网掩码,和ip地址配套着出现,用来说明“该ip地址的子网ID是那几位数”。

图示如下:

 

 

以二进制来看子网掩码,只有“连续的1”或“连续的0”。IP子网掩码的长度和他所对应的IP地址长度一样(即32位和128位)。

其中的“1”对应的是ip中的“网络号”和“子网号”,“0”对应的是ip中的“主机号”。

 

将ip地址与子网掩码进行“按位与”运算,就能得出用于路由的“子网标识符”,如:

ip地址:  128.32.1.14 对应二进制:10000000 00100000 00000001 00001110

掩码地址: 255.255.255.0 对应二进制:11111111 11111111 11111111 00000000

子网标识符 128.32.1.0 对应二进制:10000000 00100000 00000001 00000000

 

通过上面的运算我们可以看出:128.32.1.14这个地址属于子网“128.32.1.0”。

 

以上面的各个ip地址为例,整个流程可以如下所示:

1、某个站点申请到了一个B类网的网络号:128.32.x.x

2、然后该站点的管理员决定使用“255.255.255.0”作为该站点的子网掩码。这样就该站点有多少个子网划分好了

(一旦决定使用该子网掩码,通过计算就能知道,将该站点划分了256个子网,每个子网里有254台主机(因为每个子网的第一个和最后一个地址无效))

3、然后为每一个子网中的主机都安排好ip地址。

4、假设现在有一个访问,请求访问ip地址128.32.1.14

5、先根据该ip地址的二进制前几位,发现该地址是一个B类网,所以网络号有16位,也就是说128.32是它的网络号。于是根据网络号128.32找到该站点。

6、该站点边界路由器将该ip与子网掩码进行“按位与”运算,发现子网标识符为128.32.1.0(即128.32.1,后面的.0不存在,因为每个子网的第一个和最后一个地址无效)

7、找到子网128.32.1后,再根据.14找到主机。

 

广播地址

之前我们讲到了,每个子网的第一个和最后一个地址无效。这个无效更多的是指“这两个地址不是指向的某个真实的主机”。

上面的子网掩码计算完后,得到的是“子网掩码.0”,此处的“.0”(子网的第一个地址),意味着该ip地址不指向某一个主机,而是表示“子网标识符”。

而“.255”(子网的最后一个地址),则也“不是指向”255主机,而是表示了“该子网下的所有主机”。从而引出了广播地址。

 

IP网络上发送信息都是要有准确的ip地址的,假设要给“统一网络下的”10台主机发信息,那么就得写10个精准的ip地址。

而利用广播地址,我们就能通过一条ip地址,将信息发送给某个子网下的所有主机。

即:只写出网络号和子网号,而将主机ID部分用.255代替。

 

想要计算一个站点的广播地址也要用到子网掩码,计算方法如下:

1、首先将站点的子网掩码“取反”(1变0,0变1)。

2、然后与站点ip地址进行“按位或”运算(1或0的1,0或0的0,1或1得1)。

3、这样就既能保留网络号和子网号的地址,然后又能将主机号部分替换为255。

 

前缀(CIDR)

因为现有IPV4地址已经耗尽,所以制定了一个前缀方案。

即:将ip地址的某些位固定住,剩余的为可设置为0和1的任意组合。(比如值固定住第一位,那么后面又能有好多种组合出来的ip)。

CIDR是没有分类只说的(也就是说带有前缀的ip地址,不属于ABCDE里面的任何一类)。

之前ABC的网络号被限制为8位、16位、24位

而CIDR的网络号由前缀来控制,如222.80.18.18/25,其中“/25”表示其前面地址中的前25位代表网络号,其余位数代表主机ID。

写法是在现有的点分四组后面加上"/前缀"

如:128.0.0.0/24

 

特殊用途地址

某些地址被用于特殊用途所以不会被分配。

比较为人们所熟知的是127.0.0.1,指向本机。实际上整个127段都是主机回送地址。

也就是说127.0.0.0/8是特殊地址(前缀8将127框住,后面可随意组合)。127.0.0.1~127.255.255.255之间的地址都会回送本机。

 

组播地址:

组播IP地址使用的是D类网。

使用组播IP地址作为目的地址,已加入“组”的所有主机都将接收发送到该组的任何数据报。

发送方甚至不知道有多少主机接收到数据报。

posted @ 2019-11-29 10:51  Lin昊  阅读(314)  评论(0编辑  收藏  举报