资料整理于网络资料、书本资料、AI,仅供个人学习参考。
网络层解析
IP
网络层概述
- 位于OSI模型第三层
- 作用
定义网络设备的逻辑地址,俗称网络层地址(如IP地址)
在不同的网段之间选择最佳数据转发路径
- 协议
IP协议
IP数据包格式
- 网络层的所有功能,都是通过该层的诸多协议实现的
- 目前网络中,主要的网络层协议是IP协议
- IP数据报是可变长度的,它由两部分组成:首部和数据
首部由两部分组成:固定部分和可变部分
固定部分20字节,可变部分由一些选项组成,最长40字节

IP地址解析
- 网络地址
主机位全为0的IP地址
表示的是一个网络范围,仅仅表示一个区域,不代表任何一个主机
例如:192.168.1.0 255.255.255.0 是网络地址
- 广播地址
主机位全为1的IP地址
表示的是一个网络范围内的所有主机/设备
例如:192.168.1.255 255.255.255.0 是广播地址
- 可用IP地址范围及广播地址

网络层常见协议
ICMP协议解析
ICMP协议概述
- 概述
ICMP(Internet Control Message Protocol),Internet控制消息协议
位于OSI模型第三层,即网络层
- 作用
在IP网络中发送控制消息,反馈可能发生在通信环境中的各种问题,从而为网络连通性测试以及网络故障定位提供有效指示信息
- 场景实例
当路由器收到一个不能被送到最终目的地的数据包时,路由器会向源主机发送一个ICMP主机不可达的消息

ICMP协议应用
- 测试工具 - Ping
测试两个设备之间的连通性
使用的是ICMP协议的数据包
-
测试命令
ping 目标ip

- Echo Request , 请求报文
- Echo Reply , 响应报文

- 常见的ping反馈结果
连接建议成功,Reply from 目标地址 ... ...
目标主机不可达, Destination host unreachable
请求时间超时, Request timed out
ARP协议解析
ARP协议概述
- ARP(address resolution protocol):地址解析协议
属于OSI模型第三层(网络层)
主要作用是:基于目标IP地址获得对应的目标MAC地址,从而完成数据帧的2层头部封装,实现数据的快速转发
- ARP报文类型
ARP请求报文,源设备以广播的方式发送,向所有设备请求MAC地址
ARP回应报文,目标设备以单播的方式回应,直接返回给"源设备"
- ARP核心工作表
ARP表,包含的是IP地址与MAC地址的对应关系条目
ARP条目分为静态和动态两种类型
动态ARP条目的存活时间是1200s
- 任何设备发送数据的原理
任何设备在发送数据包之前,必须检查ARP表,查看包含去往目标IP地址时所使用的MAC地址
如果ARP表包含目标IP地址对应的条目,则使用目标MAC封装数据
如果ARP表不包含对应的ARP条目信息,则发送ARP请求,获得目标MAC
ARP工作原理
- 设备刚开机时,ARP表是空的

- 主机10.1.1.1要与10.1.1.2通信,首先以广播方式发送ARP请求

- 所有主机都接收到10.1.1.1的ARP请求报文,但只有10.1.1.2给它一个单播回复,并将10.1.1.1的MAC地址保存在自己的ARP表

- 主机10.1.1.1将10.1.1.2的MAC地址保存到ARP缓存中,然后就可以发送数据

路由
路由原理
什么是路由
- 将数据包从一个网段发送到另一个网段
需要依靠具备路由功能的设备来完成
常见的路由设备有路由器或三层交换机

路由器如何工作
- 根据路由表选择最佳路径
每个路由器都维护着一张路由表,这是转发数据包的关键
每条路由表记录指明了:到达某个子网或主机应从路由器的哪个物理端口发送,通过此端口可到达该路径的下一个路由器的地址

路由表的形成
- 路由表是在路由器中维护的路由条目的集合,路由表的根据路由表做路径选择,路由表是怎么形成的呢?
- 直接网段
配置接口IP地址
并且接口状态up
- 非直接网段

路由的类型
- 根据来源的不同,路由条目可以分为三种类型
通过链路层协议发现的路由称为直连路由
通过网络管理员手动添加的路由成为静态路由
通过动态路由协议自动发现的路由成为动态路由
静态路由配置
静态路由
- 静态路由
由管理员手动配置添加,为单项条目
通信双方的路由器都需要配置路由,否则会导致数据包有去无回

静态路由配置命令
- 使用 ip route-static 命令
指定到达的目的网络
基本格式:
ip route-static 目标网络 子网掩码 下一跳
路由器转发数据分析






配置默认路由
- 默认路由
默认的目标网络为 0.0.0.0/0,可以匹配任何目标地址
只有路由表中找不到任何明细路由时,才会使用默认路由(缺省路由)
默认路由,可以手动添加,也可以让路由器动态学习
-
默认路由配置命令
ip route-static 0.0.0.0 0.0.0.0 下一跳