网络路由与SDN

1. 路由技术

1.1 分组交付(forwarding)

分组交付是指在Internet中主机、路由器转发IP分组的过程。

1.1.1 直接交付和间接交付

路由器根据分组的目的地址和源地址是否属于同一个网络,判断是直接交付还是间接交付。

  • 当分组的源主机和目的主机在同一个网络时,或是当目的路由器向目的主机传送时,分组将直接交付
  • 如果目的主机与源主机不在同一个网络,分组就要间接交付

1.2 路由算法

1.2.1 路由算法的评价指标

  • 公平、稳定和公平
  • 尽量简单
  • 适应网络拓扑和通信量的变化
  • 开销低

1.2.2 路由选择算法的分类

  • 静态路由表
  • 动态路由表

1.2.3 路由表的生成

在Internet中每一台路由器都会保存一个路由表,路由选择是通过表驱动的方式进行的.

一个IP地址可以分为网络号主机号

1.2.3.1 网络号与主机号的计算方式

若主机IP地址为181.55.0.65/26, 则子网掩码长度为26, 也即网络地址长度.

  • 网络地址长度为: 181.55.0.64 (对应着子网掩码255.255.255.192 与 IP地址的位与结果)
  • 属于同一个网络的IP地址为: 181.55.0.65 ~ 181.55.0.126

如何计算属于同一个网络的IP地址范围呢?

这里子网掩码为255.255.255.192, 因此IP前3段可以确定为: 181.55.0.*

我们接着分析最后一段: 掩码为192, 表示成二进制为:

11000000

因此, 第四段的二进制前两位被固定了, 我们再看65对应的二进制, 标红表示为固定值-- 受子网掩码约束了, 属于网络号

01000001

现在, 我们能用的位数是上面的6位, 从1开始递增, 每一种递增结果就是一种主机号

可以知道, 从0 1 0 0 0 0 0 1 我们可以累加到 0 1 1 1 1 1 1 0, 即126.

注意: 上面涉及到一个小知识, 在一个子网内部主机IP不能为全0或者全1.

1.2.3.2 路由表的生成原理
  • 分组在到达转发路径的最后一个路由器之前, 转发路由器只需要关注网络地址部分

  • 当分组到达目的路由器时,目的路由器才需要通过ARP协议将目的IP地址转换成目的主机的MAC地址,再通过MAC层和物理层将IP分组中有效载荷传送到目的主机。

一般用S0(Serial 0), S1(Serial 1)表示连接路由器的串行线路接口, 表示网络层的转发

E0(Ethernet 0)和E1(Ethernet 1)表示Ethernet接口,表示链路层的交付

  • 如果路由器接收到一个目的地址为202.1.1.2/24的分组,该路由器有到网络地址为202.1.1.0的子网的路由, 且该路由器不是与子网直接相连的路由器,则通过SX接口转发,路由表增加这一项:
掩码目的地址下一跳地址转发端口
255.255.255.0202.1.1.0202.1.5.1(下一个路由器的IP地址)S5
  • 如果路由器接受到一个目的地址为202.1.3.2/24的分组, 且路由器与该子网直接相连, 则通过EX接口转发, 路由表增加这一项:
掩码目的地址下一跳地址转发端口
255.255.255.0202.1.3.0-E3
  • 如果路由器接收到一个目的地址为128.12.8.20/18的分组, 路由器判断该分组不在整个子网内,需要通过接入Internet的默认路由器(也叫第一跳路由器)转发出去, 通过EX接口以直接交付的方式将该分组传送到默认路由器的EX端口, 路由表有这一项:
掩码目的地址下一跳地址转发端口
0.0.0.00.0.0.0202.1.4.1E2

可见, 只要是不属于路由器所在子网的IP地址, 都会以直接交付的方式传送给默认路由器(边际路由器). 0.0.0.0/0表示默认路由.

一个分组在逐跳转发的过程中,源IP和目的IP是不变的,但是封装IP分组的Ethernet帧的源MAC地址和目的MAC地址是变化的. 每个路由器的每个接口都有自身的MAC地址, 每个主机的网卡也有自己的MAC地址.

1.2.4 IP路由汇聚:

1.2.4.1 最长前缀匹配原则(longest-prefix matching):

网络前缀越长则其地址块包含的主机地址数越少, 寻找目的主机就越容易.

路由表项由网络前缀下一跳地址组成.

主要是为了减少路由表表项, 基本原理和普通的路由算法一致

1.2.5 自治系统与路由选择协议:

自治系统(Autonomous System, AS)的核心是: 路由选择的自治

对于自治系统的结构, 网关协议分为两大类:

  • 内部网关协议(Interior Gateway Protocol, IGP)
    • 路由信息协议(Routing Information Protocol, RIP)
    • 开放最短路径优先(Open Shortest Path First, OSPF)
  • 外部网管协议(External Gateway Protocol, EGP)
    • BGP-4协议
1.2.5.1 RIPng路由信息协议
  1. RIP协议的发展
  • 路由信息协议(RIP)是基于距离-矢量(Vector-Distance, V-D)路由选择算法的内部协议.
  • RIPv1 | RIPv2
  • RIPng: 为了适应IPv6协议而推出
  1. RIPng的基本工作原理
  • 参与通信的机器分为主动和被动,主动路由器向其他路由器通告路由,被动路由器不通告路由信息
  • 运行RIPng的路由器维护一个到所有目的网络的路由表, 路由器每隔30s在相邻路由器之间交换一次路由更新信息
  • 根据距离-矢量路由选择算法,只有一个开销小的路径出现时才修改路由表中的一项路由记录。
  1. 避免“慢收敛”的对策:
  • 限定路径的跳数值为0~15, 直接连接的路由器跳数值为0, 跳数值16表示不可达
  • 水平分割:路由器R1从R2中获取的距离信息,R1不再向R2发送该距离信息。
  • 路由器在得知目标网络不可达信息之后的60s内,不接收目标网络可达的信息。
  • 毒性逆转:当某条路径出现故障,最早广播该路由的路由器在发送路由刷新报文中,将距离定为16。可以触发路由刷新。
  1. 四个定时器:
  • 周期更新定时器:由于每个路由器的周期更新定时器都相对独立,它们同时以广播方式发送路由信息的可能性很小
  • 延迟定时器:为每次路由更新产生一个随机延迟时间,避免路由更新的广播风暴。
  • 超时定时器:路由表项自修改之时开始计时,180s(6个RIP刷新周期)内没有收到刷新信息时,表明该路径出现故障,将该项设置为无效。
  • 清除定时器:如果一项路由设置为了“无效”且超过120s没有收到更新信息, 则立即从路由表中删除该记录。
1.2.5.2 OSPFv3 最短路径优先协议
  1. OSPF与RIP协议的区别:
  • RIP使用的是距离-矢量网关协议,OSPF使用的是链路状态协议(Link State Protocol)
  • RIP只能根据相邻路由器的信息更新路由表,不知道全网的拓扑结构。OSPF让所有路由器最终能形成一个跟踪网络链路状态的链路状态数据库
  • OSPF中,每个路由器都能以最短路径优先的原则计算出以自己为根的最短路径树。
  • RIP仅与相邻路由器通报信息,OSPF要求路由器在链路状态发生变化时,用洪泛法(flooding)向区域内所有路由器发送链路状态变化信息。
  • RIP限定跳数值小于16, 只适用于小型网络. OSPF通过在自治系统划分区域的方法, 使得它能够适用于更大的网络.
  • OSPFv3工作在网络层, 可以直接使用IPv6分组传送OSPFv3报文 (RIP也是工作在网络层, 由IP分组封装)
  1. OSPF主干区域与区域的概念:

为了适应更大规模的网络路由选择,自治系统内部又可进一步分为两级:主干区域(backbone area)和区域(area)

区域与主干区域之间通过区域边际路由器相连

1.2.5.3 BGP4外部网关协议

外部网关协议:是不同自治系统的AS边界路由器之间交换路由信息的协议。
工作在传输层,由TCP数据包传输

BGP基于的是路径向量算法(Path vector)

1.3 SDN :软件定义网络(Software Defined Network)

SDN基于OpenFlow,OpenFlow是核心技术,SDN是一种新的网络体系结构模型

1.3.1 SDN的主要特点:

  1. 标准化的基础设施层与控制层的接口
  2. 标准化的控制层与应用层的接口

1.3.2 SDN的三大核心机制:

  • 基于流的数据分组转发机制
  • 基于中心控制的路由机制
  • 面向应用的网络编程机制
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fanqiliang630

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值