网络层IP数据包和ARP协议转发原理
Posted 谷雨道长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络层IP数据包和ARP协议转发原理相关的知识,希望对你有一定的参考价值。
@[toc]
1.IP数据包的格式
- 版本:该字段是IP的版本号(IPV4H或IPV6)4比特。
- 首部长度:表示IP数据包头长度 4比特 IP数据包头最短为20字节,长度可变。
- 优先级与服务类型:表示数据包的优先级和服务类型,8比特。 划分一定的优先级,用于实现QoS(服务质量)的要求
- 总长度:整个IP数据包的长度,16比特。最长为65535字节,包括包头和数据
- 标识符:表示IP数据包的标识符,16比特。当IP对上层数据分片时,进行编号,方便重组被分片的数据包
- 标志:表中字段,3比特。对当前的包不能进行分片或者一个包被分片后指示在一系列的分片中最后一个分片是否已发出
- 段偏移量:13比特,在一个分片序列中如何将各分片重新连接起来。
- TTL:IP数据包的生命周期,8比特,每经过一个路由器生命周期-1,当生命周期为0时数据将被丢弃
- 协议号:协议字段,8比特(TCP或UDP)TCP协议号为6,UDP协议号为17
- 首部校验和:16比特,是16位的错误检测字段
- 源IP地址:数据包的源地址 32比特
- 目标IP地址:数据包的目的地址 ,32比特
- 可选项:根据实际情况可变长,可以和IP一起使用的选项有多个。
- 数据就是上层数据
1.2 ICMP协议
ICMP是一个“错误侦测和回馈机制”,它IP数据包封装,用于发送错误和控制消息。
1.3 ping指令
ping命令能够检测两台设备之间的双向连通性,大部分情况下可以通过ping命令来判断两台设备的网络是否互通。
ping命令再windows中的常用参数
- -t 系统会一直不停地ping下去
- -a 可以返回对方主机的主机名
- -l(小写l) 改变ping包的大小
- -n 指定发送包个数
- -S 指定源IP去ping
ping命令在linux系统中的常用参数 - -t 系统会一直不停地ping下去
- -a 可以返回对方主机的主机名
- -s 改变ping包的大小
- -C 指定发送包个数
- -I(大小i) 指定源IP去ping
跟踪路由路径命令
windows系统 - tracert IP/域名
2.ARP协议与ARP欺骗
2.1 ARP协议
ARP即地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
广播:将广播地址做为目的地址的数据帧
广播域:网络中能接收到同一个广播所有节点的集合
广播地址为:FF-FF-FF-FF-FF-FF
PC1想要把数据发送给PC2,首相PC1会检查自己的ARP缓存表中有没有PC2的MAC地址,如果没有它就会向交换机发送一个自己的ARP请求广播,交换机在收到这个广播后会学习PC1的IP地址,MAC地址和对应端口号然后进行泛宏广播,当PC2接收到这个广播信息时会通过IP地址确认是发送给自己的,并且学习PC1的mac地址,ip地址到自己的ARP缓存表中。然后PC2会向交换机发送自己的目的和源MAC地址,目的和源IP地址。交换机会学习PC2的源IP和MAC地址、端口信息并且把数据发送给PC1,PC1在接到这条信息后会把它记录到自己的ARP缓存表中实现单播通信。
2.2 ARP欺骗
地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此发起者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
3 ARP协议windows系统中的ARP命令
arp -a 查看ARP缓存表
arp -d [IP] 清除缓存
arp -s IP MAC ARP静态绑定
如提示ARP添加项目失败,解决方按
a、用管理员模式:电脑右下角“开始”按钮右键,点击“Windows PowerShell(管理员)(A)”或者进入C盘Windows\\s’yetem32文件夹找到cmd.exe,右键“以管理员身份运行”再执行arp -s命令
b、(1)netsh interface ipv4 show neighbors 或者 netsh i i show in <查看网卡接口序号/Idx>
(2)netsh interface ipv4 set neiqhbors<接口序号>
解除静态绑定
netsh -c i i delete neighbors ’Idx‘
动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或者重启后会消失。
3.1华为系统中的ARP命令
[Huawei]dis mac-address 查看mac地址信息
[Huawei]arp static 绑定ARP
[Huawei]undo arp static 解除绑定
< Huawei > reset arp all 清楚mac地址表
以上是关于网络层IP数据包和ARP协议转发原理的主要内容,如果未能解决你的问题,请参考以下文章