目录
一 . 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。当 TTL 的值为 0 时,该数据包将被丢弃。可以防止一个数据包在网络中无限循环地转发下去。
- 协议号(Protocol):协议字段,8bit。该字段用以指示在 IP数据包中封装的是哪一个协议,是 TCP还是 UDP,TCP 的协议号为 6,UDP的协议号为 17。
- 首部校验和(Header Checksum):该字段用于表示校验和,16bit。接收方和网关用来校验数据有没有被改动过。
- 源 IP 地址(Source IP Address):该字段用于表示数据包的源地址,32bit。
- 目标 IP地址(Destination IPAddress):该字段用于表示数据包的目的地址,32bit。
- 可选项(Options):选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。
注意:IP数据包最小字节20字节
二 . ICMP协议(Inter控制报文协议)
总结ICMP协议
:*重点
ICMP 互联网控制报文协议
工作在网络层
是一个错误侦测与回馈机制
发送错误和控制消息来探测节点间的网络连通性
2.2 ICMP协议的封装
讲解:由ICMP数据添加一个ICMP头部生成ICMP报文,紧接着添加一个IP头部 然后在上层数据中添加一个MAC数据帧头部。
2.2 Ping命令
Ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。
ping命令的常用参数:
-t 参数会一直不停的执行ping
-a 参数可以显示主机名称
-l 参数可以设定ping包的大小
–n 指定发送包的个数
–S 指定源IP去ping
按ctrl+c可以终端当前命令
三 . ARP协议 (重点)
3.1 广播与广播域
所谓广播就是一对全部 ,在我这个广播范围内所有人都能收到的意思。
3.2 ARP协议概述
ARP就是地址解析协议,将一个已知的IP地址解析成MAC地址
3.3.1 工作原理
- Pc1发送数据给Pc2前,会先查询自己ARP缓存表有没有对方主机的IP与MAc的记录,如果有直接单播通信
- 若ARP缓存表中没有相关记录,则会通过广播的方式发送ARP请求消息(目的unc地址为广播地址FF-1F–PF-1F-7),交换机接收到消息后会广播泛洪
- 只有拥有对应的IP的主机会接收aRP请求消息,其它主机则会丢弃ARP消息,目的主机会先根据ARP消息将源主机的IP和MAC地址保存到自己ARP缓存表中
4.目的主机通过单播的方式回复ARP应答消息,交换机会根据MAC地址表进行转发- PC1将PC2的IP与MAC地址保存到ARP缓存表中,之后通过单播发送数据给PC2
四 . 总结
通过今天的学习我们学习了IP数据包的格式以及ICMP协议和ARP协议 ,大家一定加强理解 特别是ARP协议的工作原理尤其重要哦!