目录
IP数据包格式
版本:该字段包含的是 IP 的版本号,4bit。目前 IP 的版本为 4(即 IPv4)。
首部长度:该字段用于表示IP数据包头长度,4bit。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于选项字段的长度。
优先级与服务类型:该字段用于表示数据包的优先级和服务类型,8bit。通过在数据包中划分一定的优先级,用于实现 QoS(服务质量)的要求。
总长度:该字段用以指示整个 IP数据包的长度,包括包头和数据。
标识符:该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。
标志:标志字段,。对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出。
段偏移量:该字段用于表示段偏移量。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。
TTL:该字段用于表示 IP数据包的生命周期。一个数据包每经过一个路由器,TTL将减去 1。当 TTL 的值为 0 时,该数据包将被丢弃。可以防止一个数据包在网络中无限循环地转发下去。
协议号:协议字段。该字段用以指示在 IP数据包中封装的是哪一个协议,是 TCP还是 UDP,TCP 的协议号为 6,UDP的协议号为 17。
首部校验和:该字段用于表示校验和。接收方和网关用来校验数据有没有被改动过。
源 IP 地址:该字段用于表示数据包的源地址。
目标 IP地址:该字段用于表示数据包的目的地址。
可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。
ICMP协议(Internet控制报文协议)
一个“错误侦测与回馈机制”
通过IP数据包封装
用来发送错误和控制消息
探测两个节点间网络连通性是否正常,如图所示:
探
LCMP协议的封装
ICMP协议属于网络层协议
ICMP数据在网络层产生
ping命令
windows系统中ping命令常用参数:
-t 参数会一直不停的执行ping
如下所示, 按crtl+c退出命令(其他命令一样)
-a 参数可以显示主机名称
-l 参数可以设定ping包的大小 在Linux系统下为:-s
–n 指定发送包的个数 -c
–S 指定源IP去ping -I
跟踪路由路径命令:
WIN: tracert IP/域名
Linux: traceroute IP/域名
广播与广播域
- 广播:将广播地址做为目的地址的数据帧
- 广播域:网络中能接收到同一个广播的所有节点的集合
- 广播地址为FF-FF-FF-FF-FF-FF
ARP协议
ARP(Address Resolution Protocol),地址解析协议,将一个已知的IP地址解析成MAC地址
局域网中主机的通信——IP地址与MAC地址(IP地址是逻辑寻址,MAC地址是物理寻址)。
ARP工作原理
(1) PC1发送数据给PC2前,会先查询自己ARP缓存表中,有没有对方主机的P地址与MAC地址的对应记录,如果有相应记录信息,就直接进行单播通信;
(2)若PC1的ARP缓存表中没有相关记录,则会通过广播的方式发送ARP请求消息(目的MAC地址为广播地址FF-FF-FF-FF-FF-FF),交换机接收到消息后会进行广播泛洪;
(3)只有拥有对应的IP地址的主机会接收ARP请求消息,其它主机则会丢弃ARP消息,目的主机会先根据ARP消息将源主机的IP和MAC地址对应信息,保存到自己的ARP缓存表中;
(4)目的主机通过单播的方式回复ARP应答消息,交换机会根据MAC地址表进行转发;
(5)PC1将PC2的IP与MAC地址保存到ARP缓存表中,之后通过单播发送数据给PC2;
注意:动态学习到的ARP老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后消失
ARP命令
windows系统中ARP命令:
arp -a ###查看ARP缓存表
arp -d [IP] ###清除ARP缓存
arp -s IP MAC ###ARP静态绑定
如图所示
总结
了解 IP数据包格式字段含义
知道ICMP协议
ARP工作原理
相关命令