IP分组

作者: 逗儿比的日常 | 来源:发表于2021-02-08 10:05 被阅读0次

IP分组及转发

使用TCP/IP协议的网络层传输的基本数据单元(PDU)称为IP分组。通过IP分组完成不可靠、无连接的数据传输。IP分组由分组头(IP头)和数据区两部分组成。IP头包括20个字节的固定部分和变长(最长40字节)的可选部分

IP分组头

• 版本域(VERS)
长度为4bit,表示与IP分组对应的IP协议版本号,目前广泛使用的是IPv4

• 头部长度(HLEN)→ 接收方根据头部长度取后面的有用的信息
IP分组头长度,最小为5,最大为15,单位为32位(4个字节)

• 服务类型域(Type of Service,TOS),1个字节
3个优先级位(从000取到111);3个标志位D(Delay 延时)、T(Throughput 吞吐量)、R(Reliability 可靠性);2个保留位
※在IPv4协议中是没有使用到“服务于类型”的,因为IPv4是一个无连接的数据报的方式,因此所有的分组是独立地进行路由的,没有办法去指定哪一个分组的优先级高让它先传输的。但是在后面的版本中用到了

• 总长度域(Total length)
占16bit,指IP分组头和数据部分的总长度,单位为字节,因此数据报的最大长度为65535(216-1)字节

• 标识域(identification)
占16bit,用于唯一标识IP分组(相当于序号),用于IP分组的分段和重组

• 标志位
DF:Don't Fragment,用于指明IP分组是否允许分段,DF=0时允许
MF:More Fragments,用于表明是否有后续分段,MF=0标识最后一个分片

• 段偏移量(Fragment offset)
用于表明报文片在原始分组中的位置,分段和重组必用。除最后一个段外的所有段的长度必须是8字节(基本段长)的倍数

IP分段与重组举例
IP分段与重组举例.png

需要传输的数据长度为4000,MTU(最大传输单元)为1500时,一次最大可以传1500字节,而这其中包含20字节的头部,因此第一个包和第二个包实际传输的数据长度均为1480,这样4000-1480x2=1040,再加上第三个包的头部20,因此要传的第三个包的长度为1060
1500-20(20:IP头部的固定长度)=1480,1480/8(8:基本段长)= 185(第二个分组的偏移量),接下来每个分组的偏移量都是185的倍数

例:一个IP分组,数据部分长度为8192字节,欲通过MTU=1500的局域网,如何分片,给出每个分片长度以及偏移量
答:标准IP头部20字节,MTU=1500,数据长度最多1480字节
第1个包:IP头20,数据1480,偏移量0,MF=1
第2个包:IP头20,数据1480,偏移量185,MF=1
第3个包:IP头20,数据1480,偏移量370,MF=1
第4个包:IP头20,数据1480,偏移量555,MF=1
第5个包:IP头20,数据1480,偏移量740,MF=1
第6个包:IP头20,数据792,偏移量925,MF=0

• 生存期(Time to live)
8比特,用于指明IP分组在网络中传输的最长时间。IP包每经过一个路由器TTL减1,为0则分组被丢弃

• 协议域(Protocol)
上层为哪种传输协议,TCP、UDP等

• 头校验和(Header checksum)
只对IP包头做校验
算法:每16位求反,循环相加(进位加在末尾),和再求反
有简单算法

• 源地址(Source address)和目的地址(Destination address)
32位IP地址

• 选项(Options)
变长,长度为4字节的倍数,不够则填充,最长为40字节

选项类型.png

IP分组的转发

在Internet中,IP分组的转发具有如下特点:
每个IP分组包含目的主机的IP地址;IP地址中的网络地址唯一标识Internet中的一个物理网络;所有连接到相同物理网络的主机和路由器共享其地址中的网络地址部分,它们在这个网络上可以直接通信;Internet中的每个物理网络至少有一个与之相连的路由器

在路由器中根据目的IP地址,进行路由转发。路由器中的路由表格式如下表所示

IP分组的转发.png

在路由表,目标网络通常是使用IP地址和子网掩码的形式来描述

☆在电脑命令中输入“route print”可以打印出该主机的路由表

子网互联示例

子网互联示例.png 路由器.png

路由器总是具有两个或两个以上的IP地址。路由器的每一个端口都有一个不同网络号的IP地址

生成的R1的路由表

R1路由表.png

最后的60.0.0.0的下一个路由也可以是30.0.0.0,距离为1

☆从一个节点到另一个结点可能会有很多条路径,但是路由表里会保存跳数最小的路径

IP分组的发送

IP分组的发送.png

IP地址与硬件地址

IP地址与硬件地址.png

IP分组的发送过程

IP分组的发送过程.png

即当A和B在同一子网的时候如↓

A和B在同一子网.png

当A和B不在同一子网并且和A相连的路由器为R1,和B相连的路由器为R2,通过R1,R2两个路由就可以把数据发给B的时候如↓

A和B不在同一子网.png

与IP地址相关的一组协议

ARP:地址解析协议,解决网络层地址(IP地址)与数据链路层地址(MAC地址)的映射问题
ARP表用于中存放(IP地址,MAC地址)对:

ARP表.png

☆可以在电脑命令中输入“Arp - a”来查看本主机的ARP表。每一台主机在开机的时候就会把它的MAC地址和IP地址以广播的方式发送出去,这样的话所有的这个网络号的主机都会有MAC地址和IP地址的映射,当有一个主机关机了,那么在其它主机上这台关机的主机的MAC地址和IP地址也会被删除

ARP报文格式
ARP报文格式.png ARP协议解释图.png

在发送数据的时候是从网络层到数据链路层这样的顺序,因此知道IP地址之后也必须知道MAC地址才能找到目的主机。这时源主机(图中的A)会先发一个ARP请求包进行询问某IP地址的主机的MAC地址是什么。当这个主机(C)收到这样的请求包就会给A一个ARP响应包。然后A就会在它的ARP表里添加C的IP地址和MAC地址的内容

网关对帧的处理.png

反向地址解析协议RARP

用于将一个已知的MAC地址映射到IP地址
RARP要依赖于RARP服务器,该服务器中有一张MAC地址与IP地址的映射表。
需要查找自己的IP地址的站点向网上发送包含有其MAC地址的RARP广播,RARP服务器收到后将该MAC地址翻译成IP地址予以响应

RARP协议解释图.png

相关文章

  • IP分组

    IP分组及转发 使用TCP/IP协议的网络层传输的基本数据单元(PDU)称为IP分组。通过IP分组完成不可靠、无连...

  • IP及其相关协议

    IPv4分组 IPv4,即现在普遍使用的IP协议(版本为4)。IP协议定义数据传送的基本单元——IP分组及其确切的...

  • 网络层(二)

    三、IP 数据报 IP 数据报的格式 一个 IP 分组由首部和数据两部分组成。首部的前一部分是固定长度,共 20 ...

  • 网际协议IPv4

    IP的交付 间接交付:发送方通过分组的目的IP和路由表来查找改组应当被交付的下一个路由器的IP地址。路由器收到分组...

  • 网络层(七)路由算法和路由协议

    1.什么是路由?“路由是从源主机到目的主机的路径”,这个说法其实不准确。发出IP分组的源主机,会将IP分组送到该主...

  • IP/DHCP/NAT/ICMP

    IP数据报 IP编址 IP分组:源地址(SA)-从哪儿来,目的地址(DA)-到哪儿去 接口(interface):...

  • 因特网原理与应用(四)——网络互联层

    IP协议的特性: 1非连接性:通过IP协议处理后的数据分组都是相互独立的,每个分组的传输路由可以完全不相同,而且分...

  • 地址解析协议(ARP)

    《Tcp/Ip协议簇》读书笔记 在IP协议能够把一个分组从源主机交付到目的主机之前,它首先要知道如何将这个分组交付...

  • 计算机网络

    一、OSI 7层模型、TCP/IP四层模型 各个层的协议image.png 数据包说明IP层传输单位是IP分组,属...

  • 数据包报文格式(IP包、TCP报头、UDP报头)

    一、IP包格式 IP数据包是一种可变长分组,它由首部和数据负载两部分组成。首部长度一般为20-60字节(Byte)...

网友评论

      本文标题:IP分组

      本文链接:https://www.haomeiwen.com/subject/iglvnktx.html