zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

IP数据包格式(ICMP协议与ARP协议)

2023-04-18 17:01:26 时间

IP数据包格式

网络层的功能

  • 定义了基于IP协议的逻辑地址,就是IP地址
  • 连接不同的媒介类型
  • 选择数据通过网络的最佳路径,完成逻辑地址寻址
    数据封装的时候在网络层会封装ip地址的头部,形成ip数据包

IP数据包格式

在这里插入图片描述
IP数据包格式:分为20字节的固定部分,表示每个IP数据包的部分,和40字节的可变长部分

格式定义
版本号(4bit)指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100
首部长度(4)IP数据包的包头长度(不包括数据)优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现 QoS(服务质量)的要求。
总长度(16)IP数据包的总长度,最长为 65535 字节,包括包头和数据。
标识符(16)该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片数据分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包
标志(3)和标识符一起传递,指示不可以被分片或者最后一个分片是否发出(完整)
段偏移量(13)在一个分片序列中如何将各分片连接起来,按什么顺序连接起来
TTL(time to live)生命周期(8)可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器 -1,当TTL的值为0时,该数据包将被丢弃 0-255
协议号(8)封装的上层哪个协议,ICMP:1 TCP:6UDP:17
首部校验和(16)这个字段只检验数据报的首部,不包括数据部分。这是因为数据报每经过一次路由器,都要重新计算一下首部校验和(因为,一些字段如生存时间、标志、片偏移等可能发生变化)
源地址(32)源ip地址,表示发送端的IP地址
目标地址(32)目标ip地址,表示接收端的IP地址
可选项选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据

注:根据实际情况可变长,例如创建时间等 上层数据

ICMP协议

icmp作用:检测网络的双向联通性

ping

ping作用:

  • ping自己127.0.0.1硬件

  • 看双方地址是否有问题

  • 看网关是否有问题

  • 防火墙策略是否有问题
    ping选项:

  • ipconfig //显示自己IP地址

  • ping --help //显示帮助命令

  • -t //长ping
    格式:ping ip地址 -t (ctrl+c 停止)
    在这里插入图片描述

  • -a //将地址解析为主机名
    格式:ping -a ip地址 (显示主机名)
    在这里插入图片描述

  • -l size //发送缓冲区大小
    格式:ping -l 指定包的大小(1600、2000)ip地址
    在这里插入图片描述

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

  • -n //指定ping几次
    格式:ping -n 指定的次数(5)ip地址
    在这里插入图片描述
    注:ping的通一定通,ping不通不一定网络不通

tracert也是icmp协议
格式:tracert ip地址 (追踪,经过几个路由设备)
在这里插入图片描述
tracert IP地址 (win)
traceroute IP地址(Linux)

广播域

广播域:一台机器发送广播,能收到消息的机器 都是在
同一广播域

ARP协议(地址解析协议)

ARP协议是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间。

无故ARP

  • 检查重复地址(如果收到ARP响应表明存在重复地址)。
  • 当一台设备获取到一个IP地址时,会自动发送一个无故ARP,检测是否有设备已使用了此地址

ARP工作原理:

  1. PC1想发送数据给PC2, 会先检查自己的ARP缓存
    表。 只在终端设备上
    2.如果发现要查找的MAC地址不在表中,就会发送一个
    ARP请求广播,用于发现目的地的MAC地址。
    ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的
    IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FFFF-FF-FF)
    3.交换机收到广播后做泛洪处理,除PC1外所有主机收到
    ARP请求消息,PC2以单播方式发送ARP应答, 并在自
    己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,
    而其他主机则丢弃这个ARP请求消息。
  2. PC1在自己的ARP表中添加PC2的IP地址和MAC地址
    的对应关系,以单播方式与PC2通信。

ARP报文

在这里插入图片描述

查看arp缓存表(静态arp和动态arp)

命令含义
arp -a查看arp缓存表
arp -d不加IP清除所有
arp -d [IP]加IP 只删除改IP
arp -s IP MAC删除arp静态绑定

绑定arp(win10)

  • netsh -c i i show i #####查看网络连接准确名称,如:本地连接、无线网络连接
  • netsh -c “i i” add neighbors 19 “IP” “Mac”(这里19是idx号)####绑定
  • netsh -c “i i” delete neighbors 19 (这里19是idx号)#####解绑
  • netsh interface ipv4 set neighbors <接口序号>

华为系统中的ARP命令

  • [ Huawei ]dis mac -address ###查看mac地址信息
  • [ Huawei ]arp static ###绑定ARP
  • [ Huawei ]undo arp static ###解绑定
  • [ Huawei ]reset arp all ###清除mac地址表