网络层协议介绍

195 阅读6分钟

网络层功能:

1.   定义了基于IP协议的逻辑地址

2.   连接不同的媒介类型

3.   连接数据通过网络最佳路径,完成逻辑地址选址

IP数据包

Snipaste_2022-07-12_09-10-56.png

数据在封装的过程中,在网络层封装IP头部形成IP数据包

IP数据格式包分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分

版本号(4bit):指IP协议版本,双方通信使用的版本必须一致,目前我们使用的是IPv4

首部长度(4):IP数据包的包头长度(不包括数据)

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

总长度(16):IP数据包的总长度,最长为 65535 字节,包括包头和数据。

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

标志(3):和标识符一起传递,指示不可以被分片 或者最后一个分片是否发出(完整)

段偏移量(13):在一个分片序列中如何将各分片连 接起来,按什么顺序连接起来 TTL(time to live)

生命周期(8):防止一个数据包在网络中无限循环的转发下去,每经过一个路由器(255) -1,当TTL的值为0时,该数据包将被丢弃

协议号(8):封装的上层哪个协议,ICMP:1 TCP:6 UDP:17

首部校验和(16):这个字段只检验数据报的首部,不包括数据部分。这是因为数据报每经过一次路由器,都要重新计算一下首部校验(因为一些字段可能发生变化,如生存时间、标志、片偏移等可能发生变化)

源地址(32):源IP地址,表示发送端的IP地址

目标地址(32):目标IP地址,表示接收端的IP地址

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

注:根据实际情况可变长,例如创建时间等上层数据

ICMP协议

ICMP作用:检查网络的双线联通性

ping检查网络联通性:

1.   先ping自己主机地址(127.0.0.1)

2.   看双方地址是否有问题

3.   看网关是否有问题

4.   防火墙策略是否有问题

常见ICMP报文格式

TypeCode描述
00Echo Reply
30网络不可达
31主机不可达
32协议不可达
33端口不可达
110超时
80Echo Reest

Ping命令基本使用

1.  显示自己ip地址 ipconfig

ping1.png

2.  Ping –-help 显示帮助命令

ping6.png ping2.png

3.  –t  长ping  

ping3.png

4.  1.  -a    将地址解析主机名

ping4.png

  1. -l size  发送缓冲区大小 如 ping –l 1600

ping5.png

  1. –w    超时等待时间 如:ping –w 2

ping6.png

  1. –n   指定ping几次 如ping –n 5

ping7.png

8.追踪经过几个设备 tracent IP地址 如 tracent 192.168.1.154

ping8.png

冲突域

如果两台设备同时发送消息时,互相干扰,那它们就处于同一个冲突域


广播域

一台设备发送广播,能收到消息的设备都是在同一广播域


ARP协议

什么是ARP协议

就是将已知IP协议转化为MAC协议,并且进行地址检测

无故ARP

检测地址冲突:

当一个设备获取了一个IP地址,会自动发送一个ARP,检测是否有设备使用了这个IP地址

工作原理

以两台局域网主机互相通信为例,讲解ARP原理解析过程

1.  当PC1想发送数据给PC2,首先在自己的ARP缓存表上查找是否有PC2的MAC地址

2.  如果PC1在缓存表上没有找到,它将询问PC2的MAC地址。从而会将ARP请求帧广播到本地网络中的所有主机,帧中包括源主机的IP、MAC地址,本地网络都会收到ARP请求,检查是否与自己的IP地址相匹配,如果不匹配,则丢弃ARP请求、

3.  PC2确定与自己的IP地址相匹配,会将PC1的IP和MAC地址添加到缓存表中

4.  PC2将包括MAC地址的ARP消息发送给PC1(通过单播的方式)

5.  PC1接受到PC2回复消息,会将PC2的IP和MAC地址添加到自己的缓存表中,本机缓存生命周期为120S,超过120S后要重新操作上述操作。

windows当中如何查看arp缓存表(静态arp和动态 arp)

 

arp -a          查看arp缓存表

arp -d 不加ip清除所有

arp -d IP     删除arp缓存表

arp -s IP MAC   删除arp静态绑定

 

ARP攻击原理:

  • ARP攻击发送的是ARP应答,但是ARP应答中的MAC地址为虚假地址,所以在其他主机想要进行通信时,会将目的MAC地址设置成此虚假MAC地址导致无法正常通信。
  • 例如,如果希望被攻击主机无法访问互联网,就需要对网关发送或被攻击主机发送虚假的ARP应答。当网关接收到虚假的ARP应答更新ARP条目后,如果网关再发生数据给PC1时,就会发送到虚假的MAC地址导致通信故障。

ARP欺骗原理

  • ARP 欺骗就是非法的宣称自己是某个 IP 的 MAC 地址,使询问者错误地更新 ARP 缓存表,这样被欺骗主机发送的数据就会发送到发起攻击的主机,而不是理想的目的 IP 主机。
  • 如果攻击者将目的主机也欺骗,就可以实现对两台主机之间数据传输的控制。

ARP欺骗的原理和ARP攻击基本相同,但是效果不一样。ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的。