概述
网络层的功能
-
定义了基于IP协议的逻辑地址
-
连接不同的媒介类型
-
选择数据通过网络的最佳路径
IP数据包格式
-
版本字段:版本(Version):该字段包含的是IP的版本号,4bit。目前的IP的版本为4(即IPv4).
-
首部长度(Header Length):该字段用于的表示IP数据包头长度,4bit。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度。
-
优先级与服务类型(Priority , Type of Service):该字段用于表示数据包的优先级和服务类型,8bit。通过在数据包中划分一定的优先级,用于实现Qos(服务质量)的要求。
-
总长度(Total Length):该字段用以指示整个IP数据包的长度,16bit。最长的为65535字节,包括包头和上层数据。
-
标识符(Identification):该字段用以表示IP数据包的标识符,16bit。当IP对上层数据同一个数据进行分片,分配同一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组。
-
标志(Flags):标准字段,3bit。对当前的包不能进行分片,或当一个包被分片后,最后一个分片是否已发出。
-
段偏移量(Fragment Offset):该字段用于表示段偏移量,13bit。包含的信息是指在一个分片序列中如何将各分片重新连接起来。
-
TTL(Time to live):用于表示IP数据包的生命周期,8bit。一个数据包每经过一个路由器,TTL将减去1.当值为0时,该数据包将被丢弃。可以防止数据包在网络中无线循环,造成网络拥堵。
-
协议号(Protocol):协议字段,8bit。用以指示带IP数据包中封装的是哪一种协议,是TCP还是UDP,TCP的协议号是6,UDP的是17.
-
首部校验和(Header Checksum):该字段用于表示校验和,16bit。用来校验数据有没有被改动过。
-
源IP地址(Source IP Address):该字段表示数据包的源地址,32bit。
-
目标IP地址(Destination IPAddress):该字段用于表示数据包的目的地址,32bit。
-
可选项(Options):可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。可选项后就是上层数据。
ICMP协议(网际控制报文协议):用于检测网络是否通畅
ICMP是一个“错误侦测与回馈机制”
- 通过IP数据包封装的
- 用来发出错误控制的信息:
有时候会出ping不到目标地址,目标不可达
如果是有去无回,会提示timeout
ICMP协议属于网络层协议
ICMP数据的封装过程
前面两层都在网络层进行的,ICMP数据加上ICMP头部组成ICMP报文
加上IP头部之后才会下到数据链路层
window系统中ping命令常用选项:
-t 参数会一直不停的执行ping
-a 参数可以显示主机名称
-i 参数可以设定ping包的大小 在linux系统下 为 :-s
-n 指定发送包的个数 -c
-S 指定源IP去ping -I
跟踪路由路径命令:
WIN: tracert IP/域名
LINUX:traceroute IP/域名
广播与广播域
广播:将广播地址做为目的地址的数据帧
广播域:网络中能接收到同一个广播的所有节点的集合
广播地址为FF-FF-FF - FF-FF-FF
ARP协议:地址解析协议:用于在同一局域网下根据IP地址获取MAC地址
ARP工作原理:
请看上图
1.PC1想发送数据给PC2,会先检查自己的ARP缓存表。
2.如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。ARP请求中包含PC1的MAC地址和IP地址,以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FF-FF-FF-FF)。
3.交换机收到数据包后先进行学习,将PC1的MAC地址和对应接口口记在MAC地址表中,之后查找MAC地址表没有PC2的地址,广播做泛洪处理,除PC1外所有主机收到ARP 请求消息,所有主机会对照自己的IP地址,PC2对应上即进行单播方式回应,并将PC1的IP地址和MAC地址记录在自己的ARP表内,其他主机则丢弃消息。
4.PC2回应的数据包,源IP与源MAC地址为自己的,目的IP与目的MAC地址为PC1的,经过交换机,交换机进行学习,将PC2的MAC地址与对应接口记录在MAC地址表中,再查询MAC地址表,目的MAC地址为PC1,发送给PC1,PC1收到数据,里面有PC2的MAC地址,记录到自己的ARP缓存表中,这时两台主机的ARP缓存表中都已经有对方的MAC地址与IP地址,两台主机已经可以实现单播通信。
windows系统中ARP命令:
arp -a 查看ARP缓存表
arp -d【IP】清除ARP缓存表
arp -s IP MAC ARP静态绑定
动态学习的ARP老化时间是120s,静态绑定的ARP条目则会在关机或重启后消失。
华为系统中的ARP命令
【Huawei】dis mac-address 查看MAC地址信息
【Huawei】arp static <IP > <MAC> 绑定ARP
【Huawei】undo arp static <IP> <MAC> 解绑定
<Huawei>reset arp all 清除MAC地址
最后
以上就是健康草丛为你收集整理的IP数据包格式与ARP转发原理的全部内容,希望文章能够帮你解决IP数据包格式与ARP转发原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复