4.4 网际协议:因特网中的转发和编址

发布时间 2023-04-27 18:06:16作者: 一只朋克小狗

一、IPv4数据报格式

  1.版本号:4bit

  2.首部长度:4bit,用于确定IP数据报中载荷实际开始的地方。一般IP数据报首部长度为20字节

  3.服务类型

  4.数据报长度:16bit,IP数据报的总长度(首部+数据),单位为字节。

  5.16比特标识,3比特标志,13比特片偏移:与分片有关

  6.寿命:每过一台路由器,字段值减一。

  7.上层协议:指示数据报的数据部分应该交给哪个特定的运输层协议。6->TCP,17->UDP。

  8.首部检验和

  9.源IP地址

  10.目的IP地址 

二、IP数据报分片和重组

  1.每个数据链路有自己的MTU,链路类型不同,MTU的值也不同,这里MTU指的是数据链路帧的数据区的最大字节数(IP数据报长度)

  2.例子    ①ID

    ②fragflag:1->后续还有分片,0->最后一个分片

    ③offset:在数据段里的偏移量,字节÷8

三、IP地址:分配给主机或路由器接口的标识符 

  1.接口:主机/路由器与物理链路之间的边界 

    路由器有多个接口;主机可以有多个接口;每个接口有一个IP地址

  2.IPv4:32个二进制位长(4字节),常用点分十进制表示

     IPv6:128个二进制位长(16字节)常用冒号分隔表示 

四、IPv4编址

  1.IP地址结构

    网络号:指明主机所在网络的编号。  

    主机号:主机在网络中的编号。

    网络号、主机号均不能全为1或全为0.

  2.传统的IP地址分类

      A类:利用IP地址的第一个字节作为网络地址,最高位为0,其余的三个字节作为主机地址。

        地址范围为 1. 0. 0. 1-127.255.255.254

      B类:利用IP地址的前两个字节作为网络地址,最高位为10,其余的两个字节作为主机地址。

        地址范围为 128.0.0.1-191.255.255.254 

      C类:利用IP地址的前三个字节作为网络地址,最高位为110,最后一个字节作为主机地址。

         地址范围为192.0.0.1-223.255.255.254  

    D类:

    E类:

  3.特殊IP地址段

    ①本地回环地址:127.0.0.1-127.255.255.254 

    这是预留的一组IP地址,主要是用来识别主机本身的地址。也叫做“localhost”,一般用来测试。 

    ②私有地址:10.x.x.x, 172.16.x.x——172.31.x.x, 192.168.x.x     

    这三个地址段被称为私有IP地址段,也就是局域网所使用的地址段,在公网上不能被路由。

    ③0.0.0.0:这个地址严格上来说都不是真正意义上的IP地址。

    主要是用来标识不清楚的网络和主机的。系统遇到无法识别的网络或主机的时候会统一的归纳到这个地址。

    ④255.255.255.255:这个地址是受限的广播地址。

    主要指一个网段内的所有主机。

五、互联网中的IP地址

  1.注意:

    同一局域网上的主机或路由器的IP地址中的网络号必须相同;

    交换机互连的网络仍然是一个局域网,只能有一个网络号;

    路由器总是具有两个或两个以上IP地址;

    当两个路由器直接相连时,在连线两端的接口处,可以指明IP地址也可以不指明IP地址。 

  2.下图,共六个网络。

六、子网

  1.划分子网

    络号相同的IP地址属于同一个网络。而网络还可以划分为若干子网。

    划分子网的方法是从主机号借用若干个比特作为子网号,剩下的主机位为主机号。

    对某个子网来说,主机号全0的地址不能用,它被用做表示该子网的子网号;主机号全1的也不能用,它用于本子网的广播。因此每个子网所能容纳的主机数是2^N-2,N是主机号位数。

  2.子网的特点

  3.子网掩码

    用来确定网络地址(包括网络号和子网号)和主机地址的长度。子网掩码长为32位比特,其中的1对应于IP地址中的网络号和子网号,而子网掩码中的0对应于主机号。

    子网掩码和IP地址相与,即可得到网络号。

  4.使用子网掩码的分组转发

    ①不划分子网时,路由表只有两项:目的网络地址和下一跳地址

    ②使用子网划分后,路由表中将包括三项:目的网络地址、子网掩码和下一跳地址

      目的ip与子网掩码相与,得出网络号,再与表中的目的网络地址比较。

  七、无分类域间路由(CIDR)

    1.使用斜线记法,来区分网络前缀和主机号,即在IP地址后面加上一个斜线“/”,斜线后面用一个数字指定网络前缀的长度。 a.b.c.d/x

    2.构造超网:一个CIDR地址块可以表示分类IP的多个分类地址,这种地址的聚合称为路由聚合,又称为构造超网。 

(15条消息) 【计算机网络】IPv4无分类编址CIDR地址分配例题总结_一只小榨菜的博客-CSDN博客

八、设备获得IP——动态主机配置协议DHCP

    1.自动从一个DHCP服务器得到IP地址(和网关,子网掩码,DNS服务器ip或域名),方便灵活 

    2.plug-and-play:即插即用

    3.DHCP是应用层协议,被封装在UDP段

    3. 获取IP的过程:

        ①主机广播 “DHCP DISCOVER” 消息:源ip取全0,目的ip取全1;Transaction ID是事务ID,是个随机数,用于客户和服务器之间匹配请求和相应消息;Yiaddr是客户IP地址。

        ②DHCP 服务器用 “DHCP OFFER” 消息响应:目的ip取全1。

        ③主机请求IP地址: “DHCP REQUEST” 消息 :源ip依然取全0。

        ④DHCP 服务器确认 “DHCP ACK/NACK” 消息:目的ip依然取全1。

         ⑤DHCP 终止租用期”DHCP RELEASE”消息 

九、组织机构获取IP——ICANN

十、NAT:网络地址转换

    1.对外部网络来讲,本地网络只用一个IP地址,解决IP地址短缺的问题。

    2.外出的分组: 替换每个外出的分组的 (源IP 地址, 端口号) (NAT IP 地址, 新端口号) 

    3.进来的分组: 用保存在NAT表中的对应的(源IP 地址, 端口号) 替换分组中的目的域 (NAT IP 地址, 新端口号)

    4.NAT转换表:记录每个(源IP 地址, 端口号)(NAT IP地址, 新端口号) 转换配对 

    5.外网主机不能主动联系内部主机,因为此时NAT转换表没有对应的映射,需要配置静态转发表。


说明:

    A.内网主机10.0.0.1向IP地址为128.119.40.186的web服务器上的web页面。该主机任意指派一个端口号(3345),将该数据报发送到LAN

    B.NAT路由器根据NAT转换表,将源IP、源端口号映射为138.76.29.7、5001。当选择新端口号时,NAT路由器可以选择任意一个未在转换表中使用的源端口号。

    C.web服务器接受并发送响应报文,目的IP和目的端口号为138.76.29.7:5001

    D.NAT路由器从转换表中查找,将目的IP和目的端口号转换为10.0.0.1:3345,向对应的内网主机转发数据报。


十一、IPv6

    1.数据报格式

    依次为:版本,优先级,流标签,有效数据长度,下一个首部,跳数限制,源地址,目的地址,数据,其中固定40字节的头部,IP地址为16字节。

    2.地址表示

        ①冒号十六进制表示                                                                               104.220.136.100.254.254.254.255.0.0.18.128.140.10.254.255 用冒号十六进制表示为:                                                              69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF (?)

        ②零压缩表示法   

        FF0C:0:0:0:0:0:B1    零压缩表示为:    FF0C::B1 

     3.与IPv4的不同

        ①校验和: 全部去掉,减少每一跳的处理时间 

        ②不允许在中间路由器上进行分片和重组,只能在源或目的地执行。路由器会直接丢弃过大的数据报,并返回相应的ICMP报文

    4.从 IPv4 到 IPv6过渡

        ①双栈:一些路由器具有双重栈 (v6, v4) 能够在两种格式中转换(比如:以ipv6解析出数据,再以ipv4封装 )

        ②隧道: 在穿过IPv4路由器时,IPv6分组作为 IPv4分组的负载,把IPv4的报文当做IPv6的数据段封装