前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >计算机网络中科大 - 第5章 网络层(详细解析)

计算机网络中科大 - 第5章 网络层(详细解析)

原创
作者头像
知孤云出岫
发布2025-04-12 23:05:25
发布2025-04-12 23:05:25
11000
代码可运行
举报
运行总次数:0
代码可运行

📘 第五章 网络层:控制平面(Control Plane)——完整整合优化笔记

🧠 本章目标

  • 理解网络层控制平面与数据平面的区别
  • 掌握路由选择算法(链路状态 & 距离向量)
  • 理解自治系统内/间的路由协议(RIP、OSPF、BGP)
  • 掌握SDN控制平面与OpenFlow模型
  • 熟悉ICMP协议的作用与结构

🔹 一、控制平面与数据平面对比

项目

控制平面

数据平面

功能

决定转发路径

执行转发操作

所在位置

每台路由器 或 SDN集中控制器

路由器内部硬件实现

实现方式

传统分布式 / SDN集中式

查表+转发

控制平面可通过两种方式实现:

  • 分布式实现(传统方式):每台路由器独立运行路由算法
  • 集中式实现(SDN方式):集中控制器统一决策,路由器仅执行

🔹 二、路由选择算法概述

📌 路由算法的评估标准:
  • 正确性、简单性、健壮性、稳定性、公平性、最优性
📊 分类:

分类方式

链路状态算法(LS)

距离向量算法(DV)

信息视角

全局拓扑

仅邻居信息

算法类型

Dijkstra

Bellman-Ford

优点

快速收敛、可控性强

消息少、计算轻量

缺点

消息多、震荡问题

路由环路、收敛慢


🔹 三、链路状态路由(Link State Routing)

📍 工作流程:
  1. 发现邻居(Hello 消息)
  2. 测量链路代价(如延迟)
  3. 生成链路状态信息包(LSA)
  4. 全网泛洪传播LSA
  5. 各节点运行 Dijkstra 算法构建最短路径树
💡 算法核心:Dijkstra
  • 每轮选择当前路径最短的临时节点,更新其邻居路径代价
  • 标记永久节点,直到所有节点都处理完
  • 时间复杂度:O(n^2),可优化为 O(n log n)
🌐 应用:OSPF、IS-IS协议

🔹 四、距离向量路由(Distance Vector Routing)

📍 工作流程:
  • 每个节点保存一张路由表(目标、下一跳、代价)
  • 定期与邻居交换表项(距离向量)
  • 利用 Bellman-Ford 动态更新最优路径
🔁 Bellman-Ford 公式:
代码语言:python
代码运行次数:0
运行
复制
Dx(y) = min_v{ c(x,v) + Dv(y) }
⚠️ 问题:Count-to-Infinity
  • 坏消息传得慢,引发路由环路
  • 解决方法:Split HorizonPoison Reverse
🌐 应用:RIP协议

🔹 五、自治系统内/间路由协议

✅ RIP(Routing Information Protocol)
  • 使用DV算法,每条链路代价为1(最大跳数15)
  • 30秒周期性通告,UDP封装
  • 适合小型网络,收敛慢,不安全
✅ OSPF(Open Shortest Path First)
  • 使用LS算法,Dijkstra计算最短路径
  • 支持区域划分(层次化路由)、认证、安全性、QoS、多路径
  • OSPF报文直接使用IP封装(而非UDP)
✅ BGP(Border Gateway Protocol)
  • 互联网AS间路由标准协议(路径向量)
  • eBGP用于AS之间通告,iBGP用于AS内部传播
  • 每条路由 = prefix + path 属性
  • 路由策略控制:AS-PATH、NEXT-HOP、本地偏好等
🔄 热土豆路由(Hot Potato)策略:
  • AS优先选择离自己最近的出口网关,而非考虑路径跳数

🔹 六、SDN控制平面与OpenFlow

📌 核心思想:
  • 将控制平面集中到SDN控制器,交换机只执行匹配动作
  • 控制器可编程,使用OpenFlow协议控制网络行为
📐 SDN架构:
  1. 数据平面:转发设备,支持流表(如OpenFlow)
  2. 控制器:集中决策平台(如OpenDaylight、ONOS)
  3. 应用层:实现防火墙、路由、负载均衡等功能
🔁 控制器和交换机交互协议:OpenFlow
  • 流表匹配(多层字段)+ 动作(转发、丢弃、修改)
  • 典型报文:Packet-In、Packet-Out、Flow-Mod、Stats-Req

🔹 七、ICMP控制消息协议

📌 功能:
  • 主机/路由器之间传输网络层控制信息
  • 常见用途:
    • 报错(目标不可达、TTL超时)
    • 诊断工具:ping(Echo)traceroute(时间超限)
📐 报文结构:

字段

说明

Type

报文类型(0=Echo Reply,3=Unreachable,8=Echo Request)

Code

子类型编码

校验和

检错字段

数据

原始IP头部 + 8字节原始数据

ICMP 封装于 IP 数据报内,为网络层之上、IP协议之下的协议。


✅ 总结对比表

协议

类型

算法

应用层次

特点

RIP

DV

Bellman-Ford

内部网关协议

简单,收敛慢,跳数限制

OSPF

LS

Dijkstra

内部网关协议

安全,支持多路径、认证、层次化

BGP

路径向量

自定义策略

外部网关协议

可扩展,策略灵活,避免环路


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 📘 第五章 网络层:控制平面(Control Plane)——完整整合优化笔记
    • 🧠 本章目标
    • 🔹 一、控制平面与数据平面对比
    • 🔹 二、路由选择算法概述
      • 📌 路由算法的评估标准:
      • 📊 分类:
    • 🔹 三、链路状态路由(Link State Routing)
      • 📍 工作流程:
      • 💡 算法核心:Dijkstra
      • 🌐 应用:OSPF、IS-IS协议
    • 🔹 四、距离向量路由(Distance Vector Routing)
      • 📍 工作流程:
      • 🔁 Bellman-Ford 公式:
      • ⚠️ 问题:Count-to-Infinity
      • 🌐 应用:RIP协议
    • 🔹 五、自治系统内/间路由协议
      • ✅ RIP(Routing Information Protocol)
      • ✅ OSPF(Open Shortest Path First)
      • ✅ BGP(Border Gateway Protocol)
      • 🔄 热土豆路由(Hot Potato)策略:
    • 🔹 六、SDN控制平面与OpenFlow
      • 📌 核心思想:
      • 📐 SDN架构:
      • 🔁 控制器和交换机交互协议:OpenFlow
    • 🔹 七、ICMP控制消息协议
      • 📌 功能:
      • 📐 报文结构:
    • ✅ 总结对比表
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档