软考网工(网络层协议IP和ICMP)

文章详细介绍了IPv4报文的头部结构,包括头部长度、TOS、总长度、标识、TTL、协议字段等,并讨论了IP分片的过程,特别是如何根据MTU和数据长度计算分片。此外,还提到了IP地址的分类,如0.0.0.0和255.255.255.255的特殊含义,以及ARP和RARP协议的作用。最后,简述了ICMP协议的功能及其在网络中的应用。
摘要由CSDN通过智能技术生成

1、IP格式报文

        IPv4报文格式

可参考:IPv4报文格式详解和报文示例_ipv4报文结构_柒烨带你飞的博客-CSDN博客

头部长度(IHL):最小值为5,最大值为15,单位为4字节。

                最小为5,即5×32bit=160bit=20字节

                最大为15,表示15×32bit=480bit=60字节。

TOS:为区分服务字段,用于区分服务类型,即QoS字段。

总长度字段:IPv4数据报文的总长度。

标识:主机发送IP报文的序号,每发送一次+1。

生存期(TTL):用于设置一个数据包可经过的路由器数量的上限,每经过一台路由器减一。

协议字段:包含一个数据,标识数据报有效载荷部分的数据类型,最常用的值为1(ICMP)\17(UDP)\6(TCP)。

头部校验和:仅计算IPv4头部,不检查数据有效载荷部分的正确性,当TTL减一时,头部校验和必须重新计算。


2、IP分片与计算

IP报文最大65535字节,而以太网MTU为1500字节。

        

片段偏移(Fragment Offset):

        片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。

MF:标志位flag。

        MF=1即表示后面“还有分片”的数据报。
        MF=0表示这已是若干数据报片中的最后一个。
         ②标志字段中的一位记为DF(Don’t Fragment),意思是“不能分片”。
         只有当DF=0时才允许分片。

数据长度:不包含IP报头的长度,一般为20字节。

总长度:MTU长度和给定的数据长度。

例题1:

解答:
IP报头长度=20,TCP长度=20
因为片偏移量以8字节为单位,所以要求偏移量都要除以8

ip数据报长度=3000字节,MTU总长度=1500字节
IP数据报长度: 3000-20=2980字节  MTU数据长度: 1500 - 20 = 1480字节

1》用MTU数据长度除以8 : 1480/8 = 185 (比较常见的数值)  一般向下取整
2》一个片偏移最大的长度为 185 * 8 = 1480 (为数据包真实长度)
此时进行数据部分划分:1480 + 1480 + 20 = 2980 (此处为数据长度,不加上IP头部长度)
第一个 1480 MF = 1    偏移量 = 0/8
第二个 1480 MF = 1    偏移量 = 1480/8=185
第三个 20   MF = 0    偏移量 = 2*1480/8=370   注意(此处为MF的次数除以8) 
MF=1时 表示不能再次分片了。

表格描述

 例题2:

ip数据报长度=1500字节,MTU总长度=1024字节
IP数据报长度: 1500 - 20 = 1480字节  MTU数据长度: 1024 - 20 = 1004字节

1》用MTU数据长度除以8 : 1004/8 = 125 一般向下取整
2》一个片偏移最大的长度为 125 * 8 = 1000 (为数据包真实长度)
此时进行数据部分划分:1000 + 480 = 1480 (此处为数据长度,不加上IP头部长度)
原始数据包 1480  MF=0 偏移量=0
数据包1 1000 MF = 1  偏移量 = 0/8
数据包2 480  MF = 0  偏移量 =  1000/8=125   (用IP数据包总长度1480 - 第三个数据包总长度480)

表格描述: 

 例3:


3、IP分类与特殊IP地址

        1》0.0.0.0:

                路由中:默认路由。

                进行DHCP分配时,表示本机。

                服务端:当某主机有两个IP地址时,该主机一个服务监听的是0.0.0.0.

        2》255.255.255.255:广播地址

        3》169.254.0.0/16:DHCP:当发生故障时,或者响应的时间超时时,系统会自动分配一个地址。但是不能上网。
        4》127.0.0.0/8:本地回环地址,能ping通表示TCP/IP协议栈正常。

        5》RFC1918私有IP地址:不能访问网络,只能访问本地。

                A类:10.0.0.0/8(10.0.0.1-10.255.255.255)1个A类网络。

                B类:172.16.0.0/12(172.16.0.1-172.31.255.255) 16个B类网络

                C类:192.168.0.0/16(192.168.0.1-192.168.255.255)256个C类

        6》常见的组播地址:

                224.0.0.1:所有主机

                224.0.0.2:所有路由器

                224.0.0.5:所有运行OSPF的路由器

                224.0.0.6:DR和BDR的组播接收地址

                224.0.0.9: RIPv2组播更新地址

                224.0.0.18:VRRP组播地址

4、ARP与RARP协议

        MAC地址:长度为48bit(6个字节B),12个16进制数表示。

                前三个字节:代表网络硬件制造商的编号。

                后三个字节:表示该制造商所制造的某个网络产品(网卡)的系列号

        协议封装:

                ARP封装在以太网中

                ICMP封装在IP中                                        

                OSPF封装在IP中                                

                RIP封装在UDP中             520                 

                BGP封装在TCP中       179                         

1》ARP的操作流程:

        1、自身通过广播的方式,目的MAC地址为FF-FF-FF-FF-FF-FF的请求操作

        2、收到之后,回复reply包。

        3、写入MAC地址表中(windows:arp -a)

2》免费ARP :可以用来探测IP地址是否冲突。

        主要区别:普通的ARP报文中的目标IP地址是其他主机IP,而免费ARP的报文请求中,目标IP地址是自己的IP。

3》代理ARP

        同一网段,不通物理网络上的计算机,可以通过ARP代理实现相互通信

5、ICMP协议

        ICMP(Internet Control Message Protocol,Internet控制报文协议),协议好为1,封装在IP报文中,用来传递差错、控制、查询等信息,典型的应用指令为【ping\tracert】

        Echo Request和Echo Reply分别用来查询和相应某些信息,进行差错检测。

        一般情况:当防火墙堵住了为端口不可达,删除了网关为网络不可达,缺路由显示主机不可达。

        IP报文类型与代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值