目录
网络层的功能
- 定义了基于IP协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径
一、IP数据包格式
IP头部的组成
源IP地址、目的IP地址、IP版本(IPV4/IPV6)、IP头部长度(最短20字节,可根据【可选项】变长)、优先级与服务质量、总长度(包含IP头部和上层数据)、标识符、标志、段偏移量、TTL(每经过一个路由器TL减1,为0时会被丢弃)、协议号(UDP为17/TCP为6)、头部校验和、可选项
上层数据传输过程中会分片,1个G的数据会被分成N小段进行传输,无序传输到目标主机的时候会重新组合,标识符就是对分片的数据进行的编号,段偏移量根据标识符判断是哪个文件按照顺序进行重组,标志最后一片数据包。TTL数值表示的是数据包的生命周期,为了防止数据在网络中无限制传输,每经历一个路由器生命值减1,到0的时候就被丢弃。上层协议号UDP17、TCP6。可选项可包含创建数据包的时间、参数等。上层数据通常表示数据段的数据。
TTL值可初步判断主机的操作系统,但不一定准。
二、ICMP协议介绍
ICMP协议=Internet control message protocol互联网控制报文协议
- 工作在网络层
- ICMP是一个“错误侦测与回馈机制”
- 发送心跳消息来探测节点间的网络连通信
心跳消息组合:ping请求 pang响应
1. ICMP协议的封装
- ICMP协议属于网络层协议
- ICMP数据的封装过程如图
基于ICMP协议实现的命令工具有哪些?ping tracert/traceroute mtr
2.ping命令
windows系统中ping的命令常用选项
-t 参数会一直不停的执行ping(无限ping)
-a 参数可以显示主机名称 ###在Linux系统下为:-i
-l 参数可以设定ping包的大小 ###在Linux系统下为:-s
-n 指定发送包的个数 ###在Linux系统下为:-c
-S 指定源IP去ping ###在Linux系统下为:-I
-h 可以获取帮助 ###在Linux系统下为:-h
三、ARP协议介绍
ARP协议=Address Resolution Protocol地址解析协议
- 工作在网络层
- 用来通过IP地址解析出MAC地址(缺一不可)
1.广播与广播域
- 广播:将广播地址作为目的地址的数据帧
- 广播域:网络中能接收到同一个广播的所有节点的集合
- 广播地址为FF-FF-FF-FF-FF-FF
右图中A和B不在一个网络中,无法直接联通
2.ARP工作原理【☆】
- PC1发送数据给PC2前,会先检查本地ARP缓存表有没有PC2的IP地址与MAC地址记录,有则直接能进行单播通讯;
- 如果ARP缓存表没有相关记录,则会通过广播发送ARP请求消息(此时ARP请求消息的目的MAC地址为广播地址FF-FF-FF-FF-FF-FF),交换机收到ARP请求消息后会进行广播泛洪;
- 所有主机收到ARP请求消息,但只有拥有对应IP的主机即PC2会接收ARP请求消息,其他主机则会丢弃;
- 目标主机PC2会先根据ARP消息将源主机PC1的IP与MAC地址记录到自己ARP缓存表中,通过单播的方式回复ARP应答消息,交换机再根据MAC地址表转发给源主机PC1;
- PC1收到ARP应答消息后,会将PC2的IP与MAC地址记录到缓存表中,此后双方即可进行单播发送数据。
ps:动态学习到的APR的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启之后会消失。
3.ARP相关命令(故障处理)
Windows系统中ARP命令
arp -a ##查看ARP缓存表
arp -s ##ARP静态绑定
arp -d ##清除ARP缓存
4.ARP故障处理
5.ARP攻击原理
- 欺骗网关
- 欺骗主机
6.通过长焦牛网络监控机软件管理网络
- 设置监控范围
- 进行网络管理
- 验证