第五章 网络层协议介绍
网络层协议介绍
目录
一、网络层的功能
定义了基于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 Offest):该字段用于表示段偏移量,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一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。
ICMP协议(Internet控制报文协议)
ICMP是一个"错误侦测与回馈机制"
通过IP数据包封装的
用来发送错误和控制消息
ICMP协议的封装
ICMP协议属于网络层协议
ICMP数据的封装过程
三、Ping命令
ping命令的基本格式
例如
ping命令的返回信息
无法正确返回信息的情况
补充:当数据无法发送时,得到回复是无法访问目标主机
当数据发送回不来时,得到回复是come out 访问超时
四、windows系统中ping命令常用选项
①ping -t 参数会一直不停的执行ping
PS:按Ctrl+C停止ping
②ping -a 参数可以显示主机名称
③ping -l 参数可以设定ping包的大小 ###在Linux系统下为:-s
④ping -n指定发送包的个数 ###在Linux系统下为:-c
⑤ping -S(大写的S)指定源IP去ping ###在Linux系统下为:-I
⑥跟踪路由路径命令
WIN: tracert IP/域名
Linux:traceroute/域名
五、广播与广播域
广播:将广播地址作为目的地址的数据帧
广播域:网络中能接受到同一个广播的所有节点的集合
广播地址为:FF-FF-FF-FF-FF-FF
ARP协议
IP地址解析为MAC地址
PC1发送数据给PC2,查看缓存没有PC2的MAC地址
PC1发送ARP请求消息(广播)
所有主机收到ARP请求消息
①PC2回复ARP应答(单播)
②其他主机丢弃
PC1将PC2的MAC地址保存到缓存中,发送数据
ARP相关命令
1、Windows系统中的ARP命令
arp-a:查看ARP缓存表
arp-d【IP】:清除ARP缓存
ARP静态绑定
补充:动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后消失