简介
网络层是tcp/ip五层模型的第三层,本次文章将讲解网络层中的协议。
IP协议
在网络通讯中,mac地址是在全世界范围内唯一的网络标识,那么IP作为mac地址的衍生也是唯一的,IP协议就是通过唯一的IP地址将数据包传输给知道的网络设备。
一、IP协议简介
IP协议(Internet Protocol)是互联网的核心协议,属于网络层协议,负责将数据包从源主机路由到目标主机。它是TCP/IP协议族的基础,主要实现两大功能:
- 寻址:通过IP地址唯一标识网络中的设备。
- 路由:选择最佳路径传输数据包。
二、IP协议核心特性
| 特性 | 说明 |
|---|---|
| 无连接 | 发送数据前无需建立连接(如寄信不需确认对方地址有效)。 |
| 不可靠 | 不保证数据包必达,丢失/乱序由上层协议(如TCP)处理。 |
| 分片与重组 | 大数据包分割传输,目标设备重组(受MTU限制,如以太网MTU=1500字节)。 |
| 版本分化 | IPv4(32位地址)和IPv6(128位地址)为主流版本。 |
IP协议中必要的IP地址也有分别,分为ipv4和ipv6
像常见的192.168.1.1 这种由四位十进制数组成的网络地址就是ipv4地址,ipv4地址在广大网络设备中已经不够用,那么所致而来的就是ipv6地址,ipv6地址拥有这比ipv4地址远远大的划分范围,号称这可以给地球上的每一粒沙子都可以划分一个地址,可以看出ipv6地址的数量之多,虽然目前ipv4地址的使用还是占大多数,但是我国正在不断推进ipv6地址的使用。
| 特性 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32位(约43亿地址) | 128位(3.4×10³⁸地址) |
| 地址表示 | 点分十进制(如192.168.1.1) | 冒号分隔十六进制(如2001:db8::1) |
| NAT依赖 | 需NAT缓解地址枯竭 | 原生支持端到端通信,无需NAT |
| 安全性 | 依赖附加协议(如IPSec) | 内置IPSec加密 |
| 包头开销 | 20-60字节 | 固定40字节 |
三、IP协议工作流程
-
路由选择:
- 路由器根据路由表选择下一跳(
route print查看本地路由表)。
- 路由器根据路由表选择下一跳(
-
分片传输:
图表
代码
-
跨网络通信:
- 源IP和目标IP不变,MAC地址逐跳更新(ARP协议解析)。
四、IP协议应用场景
| 场景 | 说明 |
|---|---|
| 互联网通信 | 所有Web访问、视频流等均基于IP协议。 |
| 物联网(IoT) | IPv6解决海量设备地址需求。 |
| SDN网络 | 通过控制层动态管理IP流量。 |
ICMP
一、ICMP协议简介
ICMP(互联网控制报文协议)是TCP/IP协议族的核心协议之一,工作在网络层(OSI第3层),主要用于传递网络状态信息和错误报告。它是IP协议的辅助协议,所有ICMP报文均封装在IP数据包中(协议号=1)。
二、ICMP核心功能
| 功能类型 | 典型应用场景 | 常见工具示例 |
|---|---|---|
| 网络诊断 | 测试主机可达性、追踪路由路径 | ping, traceroute |
| 错误报告 | 通知数据包丢弃原因(如超时) | 系统自动触发 |
| 流量控制 | 源站抑制(已弃用) | 早期网络管理 |
| 路由重定向 | 通知更优网关路径 | 路由器自动发送 |
三、ICMP报文类型(部分关键类型)
| 类型(Type) | 代码(Code) | 说明 | 常见触发场景 |
|---|---|---|---|
| 0 | 0 | Echo Reply(响应应答) | ping命令收到回复 |
| 3 | 0-15 | Destination Unreachable(目标不可达) | 网络不可达/端口关闭 |
| 8 | 0 | Echo Request(请求响应) | ping命令发起请求 |
| 11 | 0 | Time Exceeded(超时) | TTL归零/分片重组超时 |
| 5 | 0-3 | Redirect(重定向) | 路由器发现更优路径 |
四、ICMP报文结构
plaintext
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- 关键字段:
- Type/Code:共同定义报文具体类型(如
Type=3, Code=1表示“主机不可达”)。 - Checksum:校验整个ICMP报文。
- Echo报文特有字段:Identifier(标识进程)、Sequence Number(序列号)。
- Type/Code:共同定义报文具体类型(如
五、ICMP典型应用
1. Ping(测试连通性)
bash
# 发送ICMP Echo Request
ping 8.8.8.8
# 输出示例:
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=12.3 ms
- 原理:目标主机收到Echo Request后返回Echo Reply。
2. Traceroute(路径追踪)
bash
# Linux/macOS
traceroute www.google.com
# Windows
tracert www.google.com
- 原理:
- 发送TTL=1的UDP包,第一跳路由器返回ICMP Time Exceeded。
- 逐步增加TTL,直到到达目标主机。
OSPF
一、OSPF基础概念
OSPF(开放最短路径优先)是一种链路状态路由协议,属于IGP(内部网关协议),用于在单一自治系统(AS) 内动态计算最优路由。其核心特点包括:
- 开放标准:RFC 2328定义,厂商兼容性好
- SPF算法:基于Dijkstra算法计算最短路径树
- 分层设计:通过区域(Area)划分减少计算开销
- 触发更新:网络变化时立即通告(非周期性更新)
二、OSPF核心特性
| 特性 | 说明 |
|---|---|
| 协议号 | 89(直接承载于IP层) |
| 度量值 | 基于链路成本(Cost=10⁸/BW,BW为带宽) |
| 邻居发现 | 使用Hello包建立邻接关系(组播地址224.0.0.5) |
| DR/BDR选举 | 在多路访问网络(如以太网)中指定指定路由器/备份指定路由器 |
| 认证支持 | 明文/MD5/SHA加密认证 |
三、OSPF报文类型
| 类型 | 名称 | 作用 |
|---|---|---|
| 1 | Hello | 发现和维护邻居关系 |
| 2 | Database Description (DBD) | 同步LSDB摘要 |
| 3 | Link-State Request (LSR) | 请求详细LSA |
| 4 | Link-State Update (LSU) | 发送LSA更新 |
| 5 | Link-State Ack (LSAck) | 确认LSA接收 |
四、OSPF区域设计
1. 区域类型
| 区域类型 | 作用 | 示例 |
|---|---|---|
| 骨干区域 | Area 0,所有非骨干区域必须与之相连 | Area 0 |
| 常规区域 | 连接骨干区域的非0区域 | Area 1, Area 2 |
| Stub区域 | 阻断Type 5 LSA(减少路由表大小) | 适合末节网络 |
| NSSA区域 | 允许引入少量外部路由的Stub区域 | 过渡场景使用 |
2. 路由器角色
| 角色 | 职责 |
|---|---|
| 内部路由器 | 所有接口属于同一区域 |
| ABR | 区域边界路由器(连接多个区域) |
| ASBR | 自治系统边界路由器(引入外部路由) |
五、OSPF工作流程
总结:OSPF适合复杂企业网络,需合理规划区域和认证机制。掌握其工作原理和排错命令是网络工程师的核心技能。
RIP
一、RIP基础概念
RIP(路由信息协议)是最早的距离矢量路由协议,属于IGP(内部网关协议),适用于小型网络。目前常用版本为RIPv2(支持CIDR和认证),最新版RIPng用于IPv6。
二、RIP核心特性
| 特性 | 说明 |
|---|---|
| 协议类型 | 距离矢量(基于跳数计算路径) |
| 端口号 | UDP 520(RIPv1/v2),UDP 521(RIPng) |
| 度量值 | 跳数(最大15跳,16跳视为不可达) |
| 更新周期 | 每30秒广播/组播一次完整路由表 |
| 算法 | Bellman-Ford算法 |
三、RIP工作原理
- 初始化:路由器启动时广播请求报文,邻居返回完整路由表。
- 定期更新:每30秒发送路由表给邻居。
- 路由失效:180秒未收到更新则标记路由不可达,240秒后删除。
- 水平分割:禁止从接收接口回传路由(防环)。
四、RIP的局限性
- 规模限制:最大15跳,不适合大型网络。
- 收敛慢:故障检测依赖计时器(分钟级)。
- 带宽浪费:定期发送完整路由表。
五·RIP适用场景
- 小型办公网络(设备少于10台)
- 临时测试环境
- 老旧设备兼容(不支持高级协议时)