IPv4报文格式和部分网络层协议


一、IPv4报文格式

在这里插入图片描述
在这里插入图片描述

IPv4报文格式(分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分)

  • 版本号(4bit):指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100(十进制是4)

  • 首部长度(4):IP数据包的包头长度(不包括数据)

  • 优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,服务类型定义了如何处理数据一般没有使用

  • 总长度(16):IP数据包的总长度,最长为 65535 字节,包括包头和数据。

  • 标识符(16):该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片数据分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包。

  • 标志(3):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出(完整)。

  • 段偏移量(13):一个数据包需要分片,指明这个分片举例原始数据开始的位置,作用重组数据。

  • TTL(time to live)生命周期(8):可以防止一个数据包在网络中无限循环的转发下去,每经过一个三层设备 -1,当TTL的值为0时,该数据包将被丢弃 0-255 。(注意经过二层设备不减)

  • 协议号(8):封装的上层哪个协议,ICMP:1 TCP:6 UDP:17

  • 首部校验和(16):这个字段只检验数据报的首部,不包括数据部分。这是因为数据报每经过一次路由器,都要重新计算一下首部校验和(因为一些字段如生存时间、标志、片偏移等可能发生变化)

  • 源地址(32):源ip地址,表示发送端的IP地址

  • 目标地址(32):目标ip地址,表示接收端的IP地址

  • 可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据

二、ICMP协议

ICMP (Internet Control Message Protocol)是IP协议的辅助协议,Internet控制消息协议。
ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
1.ping
Ping是检测网络连通性的常用工具,同时也能够收集其他相 关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、 等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,进行Ping测试。

常见的ping选项:

  • ping -t ip地址 长ping ctrl+c 停止

  • ping -l 指定包的大小(1600 2000) ip地址

  • ping -w 指定等待时间(默认是秒:2 ) ip 地址

  • ping -n 指定的次数 ip 地址

ping不通的条件下,可以使用抓包工具查看报文的错误代码
在这里插入图片描述

2.Tracert
Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。该命令主要用于探究到目的IP地址需要经过几个路由设备。

三、ARP协议

1.什么是ARP协议?
ARP协议是地址解析协议(Address Resolution Protocol)是通过解析IP地址得到MAC地址的,是一个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在TCP/IP分层结构中,把ARP划分为网络层。为什么呢?因为在网络层看来,源主机与目标主机是通过IP地址进行识别的,而所有的数据传输又依赖网卡底层硬件,即链路层,那么就需要将这些IP地址转换为链路层可以识别的东西,在所有的链路中都有着自己的一套寻址机制,如在以太网中使用MAC地址进行寻址,以标识不同的主机,那么就需要有一个协议将IP地址转换为MAC地址,由此就出现了ARP协议,所以ARP协议在网络层被应用,它是网络层与链路层连接的重要枢纽,每当有一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址。

主要功能:

  • 1.将IP地址解析为MAC地址;
  • 2.实现网段内重复IP地址的检测。

2.ARP工作原理

  • 网络设备一般都有ARP缓存。ARP缓存用来IP地址和MAC地址的关联信息。
  • 在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的ARP表项,则直接采用该表项中的MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则将自己的IP、MAC地址封装成帧并广播询问本地网络所有主机。
  • 本地网络中的所有主机都接收到ARP请求,并且检查是否与自己的IP地址相匹配。如果发现请求中IP地址与自己IP不匹配,则丢弃ARP请求。
  • 如果匹配,则该主机会将ARP请求报文中的发送端MAC地址和发送端IP地址信息记录到自己的ARP缓存表中,然后通过报文进行响应。
  • 这个报文中包含着自己MAC地址,并且为单播。

注意:ARP缓存表有效期为120秒。

  • 13
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值