文章内容预知
IP数据包格式
网络层的功能:
ICMP协议
icmp作用: 检测网络的双向联通性
使用icmp协议的原理,可以进行网络故障排查(ping):
ping的运用与选项(常用):
ARP协议
ARP工作原理(结合交换机):
Windows中arp缓存表:
华为eNSP系统中的ARP命令:
IP数据包格式
定义了基于IP协议的逻辑地址,就是ip地址
连接不同的媒介类型
选择数据通过网络的最佳路径,完成逻辑地址寻址
数据封装的时候在网络层会封装ip地址的头部,形成ip 数据包
IP数据包格式(分为20字节的固定部分,表示每个ip数 据包必须包含的部分,和40字节的可变长部分
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:6 UDP:17
首部校验和(16):这个字段只检验数据报的首部, 不包括数据部分。这是因为数据报每经过一次路由 器,都要重新计算一下首部校验和(因为,一些字段 如生存时间、标志、片偏移等可能发生变化)
源地址(32):源ip地址,表示发送端的IP地址
目标地址(32):目标ip地址,表示接收端的IP地址
可选项:选项字段根据实际情况可变长,可以和IP一 起使用的选项有多个。例如,可以输入创建该数据包 的时间等。在可选项之后,就是上层数据
注:根据实际情况可变长,例如创建时间等 上层数 据
ICMP协议
功能:Ping Ping是网络设备、Windows、Unix和Linux平台上的一 个命令,其实是一个小巧而实用的应用程序,该应用基 于ICMP协议。 Ping常用于探测到达目的节点的网络可达性。
指令选项 | 指令格式 | 作用 |
ipconfig | ipconfig | 显示自己 IP地址 |
ping --help | ping --help | 显示帮助命令 |
-t | ping -t ip 地址 | 长ping(指定主机,ctrl+c 可以停止操作) |
-a | ping -a ip地址 | 将地址解析为主机名。 |
-l size(数字大小) | ping -l 指定包的大小(1600 2000) ip地址 | 发送缓冲区大小。 |
-w | pping -w 指定等待时间(默认是秒:2 ) ip 地 址 | 超时等待时间 |
-n | ping -n 指定的次数(5) ip 地址 | 指定ping 几次 |
另外两个特别的(排查)指令:
指令 | 指令结构 | 作用 | 所属操作系统 |
tracert | tracert IP地址 | 追踪一条数据从一个设备到另一个设备的路劲 | Windows |
traceroute | traceroute Ip | 同上 | Linux |
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请求消息。
4. PC1在自己的ARP表中添加PC2的IP地址和MAC地址 的对应关系,以单播方式与PC2通信。