计算机网络 - 网络层的控制平面

文章介绍了路由选择算法,如LinkState和DistanceVector,以及在不同场景下的应用,如OSPF用于内部路由,BGP用于ISP之间的路由。此外,阐述了SDN的控制平面结构,强调其集中管理和开放接口的特点,并提及OpenFlow协议在故障处理中的作用。同时,提到了ICMP在路径追踪和网络管理中的角色,以及SNMP和NETCONF在网络管理中的协议交互。
摘要由CSDN通过智能技术生成

Introduction

控制平面设计很多路由的算法, 然后计算出路由表给数据平面转发跟路由的, 传统方式的控制平面是每一个路由器都有一个控制平面, SDN方式的话通常是集中的remote管理, 一个控制平面控制多个本地代理CA - (Control Agent)

路由选择算法

路由route的概念

按照某种指标(传输延迟, 经过的站点数目等)找到一天从源节点到目标节点的较好路径, 也就是计算网络如何走的问题

网络的图的抽象

路由器为node

链接的路由器为edge
在这里插入图片描述

路由算法分类

  • 全局 (所有的路由器拥有完整的拓扑) - link state
  • 分布式 (路由器只知道它有物理链接关系的邻居路由器) - distance vector

Link State 算法

  • 各点通过各种渠道获得整个网络拓扑, 网络中所有链路 代价等信息
  • 使用LS路由算法,通过Dijkstra算法计算本站点到其它站点的最优路径
  1. 发现相邻的节点, 告知对方网络地址
  2. 测量到相邻节点的代价
  3. 将分组通过扩散的方法发送到其他路由器
  4. 通过Dijkstra算法找出最短路径 (这里才是路由算法)

Distance Vector 算法

  • 各路由器维护一张路由表
  • 各路由器与相邻路由器交换路由表
  • 根据获得的路由信息, 跟新路由表

这里用到了Bellman-Ford方程(动态规划)

dx(y) = min{x(x, v) + dv(y)}

Internet自治系统内部的路由选择 - OSPF

OSPF (Open Shortest Path First)

  • 使用的是Dijkstra算法
  • 通过信息通过泛洪传遍整个内部系统

ISP之间的路由选择 - BGP

层次路由

将互联网分层一个个AS(路由器自治区域)
在这里插入图片描述

BGP会话

两个BGP路由器在一个半永久的TCP连接上发送BGP报文

比如AS3想AS2网关路由器2c通过路径 AS3, X

  • 3a参与AS内部路由运算, 知道本AS所有的子网x信息
  • AS3向AS2承诺, 他可以向子网x转发数据报
  • 3a是2c关于x的下一跳 (next hop)

当AS2接收到AS3的通过时候, 会使用输入策略选择接收或者过滤

路径选择

路由器可能获得一个网络前缀的多个路径,路由 器必须进行路径的选择,路由选择可以基于:

  1. 偏好属性 - 自己设置的
  2. 最短AS-PATH - Distance Vector
  3. 最近的路由 - 热土豆

对比内部routing以及外部routing

内部: 关注性能

外部: 策略可能比性能更重要, 所以在路径选择上先满足偏好属性

总结

内部routing使用OSPF, 外部routing使用BGP

SDN的Control Pane

SDN bottom up的layer

  1. a communication layer: SDN控制器和SDN交换机之间通信, 也叫南向接口
  2. a network-wide state-management layer: 是SDN控制平面控制的地方, 比如flow tables, load balancing
  3. The interface to the newwork-control application: 也叫北向接口, 给newtork application使用

communication layer

  • 数据平面交换机
  • 流表被控制器计算和安装
  • 基于南向API
  • 定义了控制器的协议 (e.g. OpenFlow)

SDN controler

  • 维护网络状态信息
  • 通过北向API和网络控制器应用交互
  • 通过南向API和网络交互及交互
  • 逻辑集中, 但是在实现上通常采用分布式的方法

SDN Application

  • 可以实现防火墙, 负载均衡
  • 可以是第三方的application

OpenFlow协议

在这里插入图片描述

  1. S1经历链路失败, 采用OpenFlow通告
  2. SDN控制器收到报文, 跟新链路状态信息
  3. Application中Dijkstra算法应用被调用
  4. Application中Dijkstra访问网络的states计算路最短路径
  5. Application与flow table manager交互, update流表
  6. 采用OpenFlow在交换机上安装流表

ICMP

ICMP是host跟router的Protocol

Traceroute and ICMP

  • host给目标host发送一系列的UDP, 然后端口号不可达
    • 第一个: TTL=1
    • 第二个: TTL=2, ect
  • 当nth数据达到nth路由器
    • 路由器抛弃数据报
    • 然后发送ICMP(type11, code 0)
    • 报文包括了路由器的名字和IP地址
  • 当ICMP报文到达, host可以测算RTT
  • 停止的判据
    • UDP段最终达到目标主机
    • 返回IMCP(type3, code3)

网络管理

Protocol包括了SNMP, NETCONF/YANG

协议报文

GetRequest: 给我数据

InformRequest: 给你MIB(Management Information Base)值

SetRequest: set MIB

Response: 对请求的响应

Trap: 代理-实体: 异常事件的报告

总结

这章讲了控制平面, 设计到了路由选择算法, 还有路由的层次(AS), 讲了SDN的架构以及怎么做控制, 包括OpenFlow协议, 讲了ICMP协议, 还有网络管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值