计算机网络第五章复习笔记(JLU复习版)

五、控制平面

5.1概述

5.1.1每路由器控制:每台路由器中都包含转发和路由选择功能。每台路由器有一个路由选择组件,用于与其他路由器中的路由选择组件通信,以计算其转发表的值。(OSPF,BGP协议)

计算机网络第五章复习笔记(JLU复习版)_第1张图片

5.1.2逻辑集中式控制:逻辑集中式控制器计算并分发转发表以供每台路由器使用。

计算机网络第五章复习笔记(JLU复习版)_第2张图片
说明:图中的CA是控制代理,逻辑集中式控制器和CA进行交互以配置和管理该路由器的转发表。CA并不能直接的进行交互,也不能主动参与计算转发表。

5.2 路由选择算法

5.2.1计算机网络中图的概念:

计算机网络第五章复习笔记(JLU复习版)_第3张图片
说明:路由器可以看作结点,路由器之间的物理链路可以看作边。图G=(N,G),边上的值代表开销,一条边的开销可以反映出对应链路的物理长度。

5.2.2 集中式路由选择算法:用完整的、全局性的网络知识计算出从源到目的地之间的最低开销路径。具有全局状态信息的算法常被称为链路状态(LS)算法。

5.2.3分散式路由选择算法:路由器以迭代、分布式的方式计算出最低开销路径。

5.2.4静态路由选择算法:路由随时间的变化非常缓慢,通常是人工进行调整。

5.2.5动态路由选择算法:随着网络流量负载或拓扑发生变化而改变路由选择算法。

  • 优点及缺点:虽然你可以易于对网络的变化做出反应,但也更容易受诸如路由选择循环、路由振荡之类问题的影响。

5.2.6负载敏感算法:链路开销会动态地变化以反映出底层链路的当前拥塞水平。

说明:当前的因特网路由选择算法都是负载迟钝的,因为某条链路的开销不明确地反应其当前的拥塞水平。

5.3.1链路状态路由选择算法:了解Dijkstra算法即可(离散、算法、数据结构都接触过)

计算机网络第五章复习笔记(JLU复习版)_第4张图片

5.3.2距离向量路由选择算法:是一种迭代的、异步的和分布式的算法。

分布式的:是因为每个结点都要从一个或多个直接相连邻居接收某些信息,并执行计算,然后将计算结果分发给邻居。
迭代的:是因为此过程一直要持续到邻居之间无更多的交换为止。
异步的:是因为他不要求所有结点相互之间步伐一致地操作。
说明:给我的感觉有一丢弗洛伊德算法的技巧。

5.3.3LS和DV路由选择算法的比较

  • 报文复杂性:LS需要发N*E个,当有一条链路的开销改变时,必须向所有节点发送新的链路开销。DV算法尽在新的链路开销导致与该链路相连结点的最低开销路径发生改变时,才传播已改变的链路开销。
  • 收敛速度:我们已经看到LS算法的实现是一个要求O(N*E)个报文的O(N^2)算法。DV收敛速度较慢,且在收敛时会遇到路由选择环路,DV算法还会需要无穷计数的问题。
  • 健壮性:LS在发生错误时,仅更改自己的转发表,而DV是更改整个网络。

5.4因特网中自治系统内部的路由选择:OSPF

1.OSPF的引入的原因:

  • 规模:路由器数量巨大,涉及路由选择信息的通信、计算和存储的开销将高得不可实现。当今的因特网由数亿台主机组成。在这些主机中存储的路由选择通信显然需要巨大容量的内存。
  • 管理自治:因特网是ISP的网络,其中每个ISP都有它自己的路由器网络。ISP通常希望按自己的意愿运行路由器(如在自己的网络中运行它所选择的某种路由选择算法),或对外部隐藏其网络的内部组织面貌。在理想情况下,一个组织应该能够按自己的愿望运行和管理其网络,还要能将其网络与其他外部网络连接起来。
  • 由此引入**自治系统(AS)**来解决。
  • 在相同AS中的路由器都运行相同的路由选择算法并且有彼此的信息。在一个AS内运行的路由选择算法叫作自治系统内部路由选择协议

2.开放最短路优先:

  • OSPF 是一种链路状态协议,它使用洪范链路状态信息和Dijkstra最低开销路径算法。各条链路开销是网络管理员配置的。OSPF不强制使用设置链路权值的策略,而是提供了一种机制(协议),为给定链路权值集合确定最低开销路径的路由选择。
  • 使用OSPF时,路由器向所有自治系统内所有其他路由器广播路由选择信息,而不仅仅是向其相邻路由器广播。每当一条链路的状态发生改变时,路由器就会广播链路状态信息。即使链路状态未发生变化,它也要周期性地广播链路状态。

2.1OSPF的优点:

  • 安全:能够鉴别OSPF路由器之间的交换(如链路状态更新)。采用MD5
  • 多条相同开销的路径:当到达某目的地的多条路径具有相同的开销时,OSPF允许使用多条路径,无需单一。
  • 对单播与多播路由选择的综合支持
  • 支持在单个AS中的层次结构。一个OSPF自治系统能够层次化地配置多个区域。每个区域都运行自己的OSPF链路状态路由选择算法,区域内的每台路由器都向该区域内的所有其他路由器广播其链路状态。在每个区域内,一台或多台区域边界路由器(网关路由器)负责为流向该区域以外的分组提供路由选择。最后在AS中只有一个OSPF区域配置成主干区域。主干区域的主要作用是为该AS中其他区域之间的流量提供路由选择。该主干总是包含本AS中的所有区域边界路由器,并且可能还包含了一些非边界路由器。

一个矛盾的事实:

注意设置OSPF链路的权重需要考虑最小化最大链路利用率,所以需要找出取得该目标的链路权重集合。再去导致这样的一个路由选择,也就是说并不是根据权重去路由选择,而是根据路由选择设置权重从而让其完成取得目标的路由选择。

5.5 ISP之间的路由选择:BGP

1.引入:

  • OSPF是一个AS内部路由选择协议。我们要实现AS的通信就需要一个自治系统间路由选择协议。因为AS间路由选择协议涉及多个AS之间的协调,所以AS通信必须运行相同的AS间路由选择协议,称为边界网关协议。
  • BGP是一种复杂富有挑战性的协议,是一种分布式和异步的协议。

2.作用:

  • 从邻居AS获得前缀的可达性信息。BGP允许每个子网向因特网的其余部分通告它的存在。如果没有BGP的话,每个子网将是隔离的孤岛,即它们孤独地存在,不为因特网其余部分所知和所达。
  • 确定到该前缀的”最好的“路由。一台路由器可能知道两条或更多条到特定前缀的不同路由,为了确定更好的路由,该路由器将本地运行一个BGP路由选择过程(使用它经过相邻的路由器获得前缀可达性信息)。该最好的路由将基于策略以及可达性信息来确定。

3.通告BGP路由信息

  • AS中的网关路由器和内部路由器的说明:网关路由器是一台位于AS边缘的路由器,它直接连接到在其他AS中一台或多台路由器。内部路由器仅连接在它自己AS中的主机和路由器。例如,在AS1中路由器1c是网关路由器;路由器1a,1b和1d是内部路由器。其实最好的说法是:看是否和其他AS中的路由器发生通信。
  • AS3向AS2发送一个BGP报文,告知x存在AS3中;我们将该报文表示为”AS3 x“。然后AS2向AS1发送一个BGP报文,告知x存在并且能够先通过AS2然后进入AS3进而到达x;我们将该报文表示为”AS2 AS3 x“。以这种方式,每个自治系统不仅知道x的存在,而且知道通向x的自治系统的路径。
    计算机网络第五章复习笔记(JLU复习版)_第5张图片
  • 区分eBGP和iBGP一个是外部的一个是内部的external,internal。iBGP的连接并不总是和物理链路对应!
    计算机网络第五章复习笔记(JLU复习版)_第6张图片

4.确定最好的路由

  • 首先需要了解BGP的属性,用BGP术语来说,前缀及其属性称为路由。两个较为重要的属性是AS-PATH和NEXT-HOP。AS-PATH属性包含了通告已经通过的AS的列表。可以用AS-PATH来检测和防止通告环路。NEXT-HOP是AS-PATH起始的路由器接口的IP地址。这里每条BGP路由包含3个组件:NEXT-HOP,AS-PATH,目的前缀。除此之外还包括其他的属性,我们暂且忽略他。
  • 热土豆路由选择:从所有可能的路由中选择的路由到开始该路由的NEXT-HOP路由器具有最小开销。如图是热土豆路由选择的过程。计算机网络第五章复习笔记(JLU复习版)_第7张图片
  • 路由器选择算法:
    1.路由被指派了一个本地偏好值作为其属性之一。具有最高本地偏好值得路由将被选择。
    2.从余下的路由中选择最短AS-PATH的路由。距离测量使用AS跳的跳数而不是路由器跳的跳数。
    3.余下的使用热土豆路由选择,即选择具有最靠近NEXT-HOP路由器的路由。
    4.如果还有剩余的,该路由器使用BGP标识符来选择路由。

5.IP任播(涉及CDN不考察)

6.路由选择策略:

  • 注意:所有进入一个接入ISP网络的流量必定是以该网络为目的地,所有离开一个接入ISP网络的流量必定源于该网络。
  • 多宿接入ISP:(参照图中X)
    计算机网络第五章复习笔记(JLU复习版)_第8张图片
  • X自身必定是进入/离开X的所有流量的源/目的地。强制X不去转发B,C之间的流量的方式是通过前面的BGP路由的通告方式实现的。(即不告诉有这条路。)
  • 商业运行的ISP们都遵从的一个经验法则是:任何穿越某ISP主干网的流量必须是其源或目的(或两者)位于该ISP的某个客户网络中;不然的话这些流量将会免费搭车通过该ISP的网络。

7.拼装在一起的例子

  • 域名:xanadu.com
  • 根据DNS服务器会将域名转化为IP地址。
  • ISP通过BGP将你的IP进行通告。

5.6 ICMP:因特网控制报文协议

1.用途:被主机和路由器用来彼此沟通网络层的信息。ICMP最典型的用途是差错报告。(可以看一下第一章的Traceroute过程)

你可能感兴趣的:(笔记,网络,网络协议,http)