网络层协议介绍
网络层协议介绍
网络层功能
网络层负责定义数据通过网络流动所经过的路径。
- 定义了基于IP协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳途径
1.IP数据包格式
协议字段
- 首部长度(HeaderLength):该字段用于表示IP数据包头长度,4比特。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度。
- 优先级与服务类型(Priority & Type ofService):该字段用于表示数据包的优先级和服务类型,8比特。通过在数据包中划分一定的优先级, 用于实现QoS (服务质量)的要求。
- 总长度(Coal Langh):该字段用以指示整个IP数据包的长度,16比特, 最长为65535字节,包括包头和数据。
- 标识符(editation) :该字段用于表示IP数据包的标识符,16比特。当 IP对上层数据分片时,它将给所有的分片分配一组编号,然后将这些编号放 入标识符字段中, 保证分片不会被错误地重组,标识符字段用于标识一个数据包,以便接收节点可以重组被分片的数据包。
- 标志 (Flags):标志字段,3比特,标志和分片一起被用来传递信息, 例如, 当数据包从一个以太网发送另 一个以太网时,指示对当前的包不能进行分片或者一个包被分片后指示在一系列的分片中最后 一个分片是否已发出。
- 段偏移量(Fragment Offset):该字段用于表示段偏移量,13比特。段偏移量中包含的信息是在一个分片序列中如何将各分片重新连接起来。
- TLL (Time to Live):该字段用于表示IP数据包的生命周期,8比特。该字段包含的信息可以防止一个数据包在网络中无限循环地转发下去。
TTL 值的意义是一个数据包在被抛弃前在网络中可以经历的最大周转时间,数据包经过的每一个路由器都会检查该字段中的值,当TTL 的值为0时,数据包将被丢弃。
TTL对应于一个数据包通过路由器的数目。一个数据包每经过一个路由器,TTL将减去1. - 协议号(Protocol: 协议字段,8比特。该字段用以指示在IP数据包中封装的是哪一个协议,是TCP还是UDP, TCP的协议号为6, UDP的协议号为17.
- 首部校验和(Header Checksum):该字段用于表示校验和,16比特。校验 和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算包头的校验和,就如同源主机所做的一样,如果数据没有被改动过,两个计算结果应该是一样的。
- 源IP 地址(Source IP Address) :该字段用于表示数据包的源地址, 32比特。这是一个网络地址,指的是发送该数据包的设备的网络地址。
- 目标IP地址(Destination IPAddress) :该字段用于表示数据包的目的地址,32比特。这也是一个网络地址,但指的是接收节点的网络地址。
- 可选项(Options):可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等,在可选项之后,就是上层数据。
2.ICMP协议介绍
ICMP协议
Internet Control Massage Protocol
Internet控制消息协议,主要用于在ip网络中发送控制消息,提供在通信环境中可能大声的各种问题反馈。通过这些反馈信息管理员就可以对所发生的问题作出判断,然后采取适当的措施去解决问题。
ICMP是一个“错误侦测与回馈机制”
通过IP数据包封装的,用来发送错误和控制消息
其目的是使管理员能够掌握网络的联通状况。
ICMP协议的封装
ICMP协议属于网络层协议
Ping命令
Ping命令的基本格式为
Ping命令的返回信息
Ping命令的参数
-l 参数
可以设定ping包的大小
单位为字节
可以用于简单测试通信质量
-t
系统将会一直不停的ping下去
Ctrl+C停止
-a
在Windows操作系统中,可以返回对方主机的主机名
如果两台主机之间不能建立连接,那么ICMP 也会返回相应的信息。
“无法访问目标主机”说明两台主机之间无法建立连接,可能是没有正确配置网关等参数。由于找不去往目标主机的“路”,所以显示“无法访问目标主机”
应答为未知主机名
ICMP返回信息为找不到主机,说明DNS无法进行解析。
连接超时的应答
返回信息为“请求超时”说明在规定时间内没有收到返回的应答信息。
3.ARP协议介绍
局域网中主机的通信
IP地址与mac地址
什么是ARP协议
Address resolution protocol,地址解析协议
将一个已知的IP地址解析成mac地址,以便在交换机上通过mac地址进行通信
IP地址解析为mac地址
Pc1发送数据给pc2,查看缓存没有pc2的mac地址
Pc1发送ARP请求消息(广播)
所有主句收到ARP请求消息
Pc2回复ARP应答(单播)
其他主机丢弃
Pc1将pc2的mac地址保存到缓存中,发送数据
Windows系统中的ARP命令
arp -a:查看ARP缓存表
arp -d:清除ARP缓存
ARP绑定 netsh interface ipv4 set neighbors idx号 IP地址 IP地址对应的MAC地址
解除绑定netsh -c “i i” delete neighbors idx号 IP地址 IP地址对应的MAC地址
查看idx号netsh i i show in
ARP攻击的原理
一般情况下, ARP攻击的主要目的是使网络无法正常通信,主要包括以下两种攻击行为。
-
攻击主机制造假的 ARP应答,井发送给局域网中除被攻击主机之外的所有主机。ARP应答中包含被攻击主机的IP地址和虚假的MAC地址。
-
攻击主机制造假的ARP应答,并发送给被攻击主机。ARP应答中包含除被攻击主机之外的所有主机的IP地址和虚假的MAC地址。
只要执行上述ARP攻击行为中的任一种, 就可以实现被攻击主机和其他主机无法通信
ARP欺骗原理
ARP欺骗网关
ARP欺骗主机