理论篇·网络层协议的一些知识点供大家参考

网络层协议介绍

网络层的功能

定义了基于IP协议的逻辑地址
连接不同的媒介类型
选择数据通过网络的最佳路径

IP数据包格式

协议字段
在这里插入图片描述

版本(Version):该字段包含的是IP的版本号,4bit。目前IP的版本为4(即IPv4).该版本形成于20世纪80年代早期,现在无论是在局域网还是在广域网中,使用的都是IPv4.目前IPv4所面临的最大问题是IP地址空间不足,即将使用的IPv6是IP的下一个版本,但也不能解决IP地址缺乏的问题。

首部长度(Header Length):该字段用于表示IP数据包头传唱度,4bit。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于选项字段的长度。

优先级与服务类型(Priority&Type of Serveice):该字段用于表现数据包的优先级和服务类型,8bit。通过在数据包中划分一定的优先级,用于实现QoS(服务质量)的要求。

总长度(Total Length):该字段用以指示整个IP数据包的长度,16bit。最长为65535字节,包括包头和数据。

标识符(Identification):该字段用于表示IP数据包的标识符,16bit。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包。

标志(Flags):标志字段,3bit。标志和分片一起被用来传递信息。例如,对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时),或当一个被分片后用以指示在一系列的分片中,最后一个分片是否已发出。

段偏移量(Fragment Offset):该字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。

TTL(Time to Live):该字段用于表示IP数据包的生命周期,8bit。该字段的信息可以防止一个数据包在网络中无限循环地转发下下去。TTL值的意义是一个数据包在被抛弃钱在网络中可以经历的最大周转时间。该数据包经过的每一个路由器都会检查该字段中的值,当TTL的值为0时,该数据包将被丢弃。TTL对应于一个数据包通过路由器的数目。一个数据包每经过一个路由器,TTL将减去1。

协议号(Protocol):协议字段,8bit。该字段用以指示在IP数据包中封装的是哪一个协议,是TCP还是UDP,TCP的协议号为6,UDP的协议号为17.

首部校验和(Header Checksum):该字段用于表示校验和,16bit。检验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算报头的校验和,就如同源机器所做的一样。如果数据没有被改动过,两个计算结果应该是一样的。

源IP地址(Source IP Address):该字段用于表示数据包的源地址。32bit。这是一个网络地址,指的是发送该数据包的设备的网络地址。

目标IP地址(Destination IP Address):该字段用于表示数据包的目的地址,32bit。这也是一个网络地址,但指的是接收节点的网络地址。

可选项(Options):选项字段根据实际情况可边长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。

ICMP协议

ICMP是一个“错误侦测与回馈机制”
通过IP数据包封装的
用来发送错误和控制信息

ICMP协议的封装
ICMP协议数据网络层协议
ICMP数据的封装过程
在这里插入图片描述

Ping命令
ping命令的基本格式为
C:>ping [-t][-l 字节数][-a][-i]IP_Address| target_name
ping命令的返回信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ping命令的参数
-t参数会一直不停的执行ping
调试故障或需进行持续连通性测试时应用
Ctrl+C可以中断命令
在这里插入图片描述
-a参数可以显示主机名称
在这里插入图片描述
-l参数可以设定ping包的大小
单位为字节
可用于简单测试通信质量
在这里插入图片描述

ARP协议概述

局域网中主机的通信
IP地址与MAC地址
什么时ARP协议
Address Resolution Protocol,地址解析协议
将一个已知的IP地址解析成MAC地址
IP地址解析为MAC地址
PC1发送数据给PC2,查看缓存没有PC2的MAC地址
PC1发送ARP请求信息(广播)
所有主机收到ARP请求信息
PC2回复ARP应答(单播)
其他主机丢弃
PC1将PC2的MAC地址保存到缓存中,发送数据
ARP相关命令
Windows系统中的ARP命令
arp -a:查看ARP缓存表
arp -d:清除ARP缓存
ARP绑定
C:\Users\ZhaoBin>netsh interface ipv4 show neighbors

接口 17: WLAN

Internet 地址 物理地址 类型


192.168.0.1 14-75-90-XX-XX-XX 可以访问
192.168.0.101 e0-33-8e-XX-XX-XX 停滞
192.168.0.105 00-00-00-XX-XX-XX 无法访问
192.168.0.106 30-0e-d5-XX-XX-XX 可以访问
C:\Users\Zhao>netsh interface ipv4 set neighbors 17 IP mac地址
C:\Users\Zhao>arp -
接口: 192.168.0.107 — 0x11
Internet 地址 物理地址 类型
192.168.0.1 14-75-90-XX-XX-XX 动态
192.168.0.101 e0-33-8e-XX-XX-XX 动态
192.168.0.106 30-0e-d5-XX-XX-XX 动态
ARP解绑
C:\Users\ZhaoBin>netsh -c i i delete neighbor idx号 IP地址 IP对应的mac地址
如何查看idx号:C:\Users\Zhao>netsh i i show in

ARP原理演示

需求分析
对等网的环境
PC1和PC2第一次通信
实现步骤
1、使用ipconfig /all查看PC1和PC2 的MAC地址
2、用“arp -a”查看ARP缓存
3、在PC1上pingPC2后,再用“arp -a”查看ARP缓存表
ARP欺骗网关
在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章