网络核心

网络核心 (Network Core),由互联因特网端系统分组交换机链路构成的网状网络

1.3.1 Packet Switching

分组交换

  • 网络应用本质就是各个端系统彼此交换报文 (message)
  • 报文能够包含**协议设计者**需要任何东西

    • 可以执行一种控制功能
    • 可以包含数据
      • 电子邮件数据
      • xxx.jepg
      • xxx.mp3
  • 为了从源端系统目的端系**发送报文**

    • 源端系统长报文**划分较小数据块,我们称之为分组 (packet)**。
  • 源和目的地之间,每个分组都通过通信链路分组交换机 (packet switch) 传送。

    • 交换机类别1:路由器 (router)
    • 交换机类别2:链路层交换机 (link-layer switch)
  • 等于链路最大传输速率速度通过通信链路**传输分组**

    • 源端系统分组交换机经过一条链路发送一个 L 比特分组链路的传输速率为 R bit/s,则传输该分组时间
    • T = L / R

      1. 存储转发传输

  • 多数分组交换机在链路的输入端,使用存储转发传输 (store-and-forward transmission) 机制。

    • 在交换机能够开始向输出链路传输第一个 bit 之前必须接收到整个分组。

image.png

  • 一台路由器通常由多条繁忙的链路
    • 任务就是把一个入分组交换到一条出链路。
  • 源端系统已经传输了分组1的部分,分组1的前言已经到达了路由器
  • 因为该路由器应用了存储转发机制,所以还不能传输已经接收了的 bit,而是必须先缓存 (存储)该分组的 bit。
  • 仅当路由器已经收完了该分组的所有比特后,他才能开始向输出链路传输 (转发)该分组。

一个分组存储,转发,传输

  • 忽略传播时延:传输的 bit 以接近光速的速度跨越线路所需要的时间。
  1. 源端系统在时刻 0 开始传输
  2. 在时刻 L / R 秒 (该路由器刚好接收到整个分组)能够朝着目的端系统通过出链路开始传输分组。
  3. 在时刻 2L / R, 路由器已经传输了整个分组,并且整个分组已经被目的地接收。
  • 总延时是 2L / R
  • 如果交换机一旦 bit 到达就转发 bit,则因为没有 bit 在路由器内保存,延时将是 L / R 。

a 个分组存储,转发,传输

d = (a + 1)L / R

N 条速率为 R 的链路发送一个分组

  • 通过由 N 条速率均为 R 的链路组成的路径(源端系统和目的端系统之间由有 N - 1 台路由器)
  • 从源头到目的地发一个分组的时延

d = N * L / R

P 个分组经过 N 条链路序列的时延

d = (P + 1) N L / R

2. 排队延时和分组丢失

  • 每台分组交换机有多条路链路与之相连。
  • 对于每条相连的链路,分组交换机由一个输出缓存 (output buffer, 输出队列 output queue),用于存储路由器准备发往那条链路的分组。
  • 如果到达的分组需要传输到某条了链路,但是发现该链路繁忙,还分组必须在输出缓存中等待。
  • 除了存储转发时延之外,分组还要承受输出缓存的排队时延 (queuing delay)
    • 这些时延是变化的,取决于网络的拥塞程度。
  • 缓存空间的大小是有限的
    • 一个到达的分组可能发现该缓存已被其他等待传输的分组占满了。
    • 分组丢失,我们也叫丢包 (packet loss)
      • 到达的分组或已经排队的分组被丢弃

image.png

  • 分组被表示为三维厚片

    • 厚片宽度表示了该分组中的 bit 数量。

      主机 A 和 B 向主机 E 发送分组

      image.png
  • 通过 100Mbps 的以太网链路向第一个路由器发送分组

  • 该路由器将这些分组导向一条 15Mbps 的链路
  • 如果分组到达路由器的到达率(转化为 bit/s)超过了 15Mbps
  • 这些分组在通过链路传输之前,将在链路输出缓存中排队,该路由器中将出现拥塞。
  • 例如,主机 A 和 B 每个都同时发送了 5 个紧接着的分组突发块,则这些分组中的大多数将在队列中等待一段时间。

3. 转发表和路由选择协议

  • 路由器从与它相连的一条通信链路得到分组,然后向与它相连的另一条通信链路转发该分组。
  • 不同的计算机网络以不同的方式完成分组转发的。

  • 在因特网中,每个端系统具有一个 IP 地址。

  • 源端系统向目的端系统发送一个分组时,源端系统在该分组的首部包含了目的地的 IP 地址。
  • 该地址具有一种等级结构
    • 当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。
    • 每台路由器由一个转发表 (forwarding table),用于将目的地址 (或目的地址的一部分) 映射成为输出链路。
  • 当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,用来发现适当的出链路。
  • 路由器则将分组导向该出链路。
  • 总结:路由器使用分组的目的地址来索引转发表来决定适当的出链路。

转发表简介

  • 因特网具有一些特殊的路由选择协议 (routing protocol),用于自动地设置这些转发表。

    • 一个路由选择协议可以决定从每台路由器到每个目的地的最短路径。
    • 并使用这些最短路径结果来配置路由器中的转发表。

      1.3.2 Circuit Switching

      电路交换

  • 通过网络链路和交换机传输数据由两种基本办法

  1. 电路交换 (circuit switching)
  2. 分组交换 (packet swtiching)
  • 在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。
  • 在分组交换网络中,这些不是预留的。
  • 会话的报文按需使用这些资源,其后果可能是不得不等待即排队接入通信线路;而使用分组交换网络不需要等待但是传输的时候不能保证能被顺利安排上。(接受预定,排队不等待;不接受预定,可能排队等待。)
  • 传统的电话网络是电路交换网络的例子。
    • 一个人通过电话网向另一个人发送信息
    • 在发送方能够发送信息之前,该网络必须在发送方和接收方之间建立一条连接。
    • 沿着发送方和接收方之间路径上的交换机都将为该连接维护其连接的状态。(该连接被称为一条电路 (circuit))
  • 当网络创建这种连接 (电路) 时,在连接期间,为该网络链路预留了恒定的传输速率 (表示为每条链路传输容量的一部分)。
    • 既然已经预留了带宽,发送方能够以确保的恒定速率向接收方传输数据。

image.png

  • 这是一个电路交换网络
  • 4条链路互联了 4 台电路交换机
  • 这些链路中的每条都有 4 条电路,因此每条里娜鲁都能支持 4 条并行的连接。
  • 每台主机斗鱼一台交换机直连。
  • 当两台主机需要通信时,该网络在两台主机之间创建了一条专用的端到端连接 (end-to-end connection)。
  • 主机 A 向主机 B 发送报文,网络必须在两条链路的每条上先预留一条电路。
  • 这个例子中,这条专用的端到端连接使用第一条链路中的第二条电路和第二条链路中的第四条电路。
  • 因为每条链路具有4条电路,对于由端到端连接所使用的每条链路而言,该连接在连接期间获得链路总传输量的 1 / 4。
  • 例如,如果两台临近交换机之间每条链路具有 1 Mbps 传输速率,则每个端到端电路交换机连接获得 250kbps 专用的传输速率。

  • 与此相反,考虑一台主机要经过分组交换网络 (如因特网) 向另一台主机发送分组所发生的情况。

  • 与使用电路交换相同,该分组经过一系列通信链路传输。
  • 但是与电路交换不同的是,该分组被发送进网络,而不预留任何链路资源之类的东西。
  • 如果是因为此时其他分组也需要经过该链路进行传输而使得链路之一出现拥塞,该分组部分不在传输链路发送侧的缓存中等待而产生时延。

1. 电路交换网络中的复用

  • 链路中的电路是通过
    • 频分复用 (Frequency-Division Multiplexing, FDM)
      • 链路的频谱由跨越链路创建的所有连接共享。
      • 在连接期间链路为每条连接专用一个频段。
      • 在电话网中,这个频段的宽度通常为 4kHz (4000 周期/s)。
      • 该频段的宽度称为带宽 (bandwidth)。
      • 调频无线电台也是用 FDM 来共享 88 Mhz ~ 108 Mhz 的频谱,其中每个电台被分配一个特定的频段。
    • 时分复用 (Time-Division Multiplexing, TDM) 来实现。
      • 事件被划分为周期固定的帧,并且每个帧又被划分为固定数量的时隙。
      • 当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙。
      • 这些时隙专门由该连接单独使用,一个时隙 (在每个帧内) 可用于传输该连接的数据。

image.png

  • 一个支持多达 4条电路的特定网络链路的 FDM 和 TDM。
  • 对于 FDM,其频率被分割为4个频段,每个频段的带宽为 4kHz。
  • 对于 TDM,其时域被分割为帧,在每个帧中具有 4个时隙,在循环的 TDM 帧中每条电路被分配相同的专用时隙。
  • 对于 TDM,一条电路的传输速率等于帧速率乘以一个时隙中的 bit 数量。

    • 例如,如果链路每秒传输 8000 个帧,每个时隙由 8 个 bit组成,则每条电路的传输速率为 64kbps。
  • 电路交换在静默期 (silent period) 专用电路空闲而不够经济。

  • 创建端到端电路和预留端到端带宽是复杂的,需要复杂的信令软件以协调沿端到端路径的交换机的操作。

主机之间经过一个电路交换网络发送 640,000 bit 文件需要的时间

  • 该网络中所有链路使用具有 24 时隙的 TDM,比特速率为 1.546 Mbps。
  • 在主机 A能够开始传输该文件之前,需要 500 ms 创建一条端到端电路。
  • 每条链路具有的传输速率是 1.536 Mbps / 24 = 64 kbps
  • 因此传输该文件速妖 640kb / 64kbps = 10s; 再加上电路创建时间,需要 10.5s 发送该文件。
  • 该传输时间与链路数量无关:端到端电路不管是通过一条链路还是 100 条链路,传输时间都是 10s。(不计算时延的情况下)

2. 分组交换与电路交换的对比

分组交换

  • 分许交换不适合实时服务 (电话和视频会议),端到端延时是可变的也是不可预测的 (主要是因为排队时延的变动和不可预测所导致的)。
  • 提供了比电路交换更好的带宽共享。
  • 比电路交换更简单,有效,实现成本更低。

image.png
image.png

  • 上述例子表明分组交换的性能优于电路交换的性能。
  • 强调在多个数据流之间共享链路传输速率的两种形式的关键差异。

  • 电路交换不考虑需求

    • 而预先分配了传输链路的使用,这使得已分配而并不需要的链路时间未被利用。
  • 分组交换按需分配链路使用。

    • 链路传输能力将所有需要在链路上传输分组的用户之间逐一分组地被共享。
  • 电路交换在向着分组交换方向发展。

1.3.3 A Network of Networks

网络的网络

  • 端系统经过一个接入 ISP 与因特网相连。
  • 该接入 ISP 能够提供有线或无线连接,使用包括 DSL,电缆,FTTH,WiFi 和蜂窝等多种接入技术。
  • 接入 ISP 不仅可以是专业的电缆公司,电信局,也可以是大学或普通公司。
  • 让端用户和内容提供上连接到接入ISP仅仅解决了连接难题中的很小一部分,因为因特网非常庞大。
  • 所以接入的 ISP 自身必须互联;通过创建网络的网络。

网络结构1

  • 用单一的全球传输 ISP 与所有接入的 ISP 互联。
  • 全球传输的 ISP 是由一个路由器和通信链路构成的网络。
  • 该网络不仅可跨越全球,而且至少具有一台路由器靠近数十万接入ISP中的每一个。
  • 建造这样的 ISP 耗费巨大,向每个连接的接入 ISP 收费,价格反映一个接入 ISP 经过全球 ISP 交换的流量大小。
  • 接入 ISP 向全球传输 ISP 收费,所以接入的 ISP 被认为是顾客 (customer)
  • 全球传输 ISP 被认为是提供商 (provider)。

如果某个公司建立并运营一个可盈利的全球传输 ISP,其他公司建立自己的全球传输 ISP 并于最初的全球传输 ISP 竞争是一件正常的事情。

网络结构2

  • 由数十万接入 ISP 和多个全球传输 ISP 组成。
  • 接入 ISP 可以根据价格和服务因素在多个竞争的全球传输提供商之间进行选择。
  • 这些全球传输 ISP 之间必须是互联的;否则与某个全球传输 ISP 连接的接入 ISP 将不能与连接到其他全球传输 ISP 的接入 ISP 进行通信。
  • 上述网络结构2 是一种两层的等级结构,其中全球传输提供商位于顶层,而接入 ISP 位于底层。

  • 尽管现实中某些 ISP 能勉强够做到全球覆盖,并且确实直接与很多接入 ISP 连接,但是没有哪个 ISP 能够无处不在。

  • 在任何一个给定的区域,可能由一个区域 ISP (regional ISP),区域中的接入 ISP 与之连接。
  • 每个区域 ISP 则与第一层 (tier) 连接。
    • 第一层 ISP 类似于全球传输 ISP,尽管不是每个城市中都存在
    • 大约十几个第一层 ISP,AT&T等
    • 然而,没有组织正式认可第一层状态。
  • 不仅由多个 ISP 竞争第一层 ISP;而且一个区域可能由多个竞争的区域 ISP。
  • 在这样的等级结构中,每个接入 ISP 向其连接的区域 ISP 支付费用,并且每个区域 ISP 向他链接的第一层 ISP支付费用。(一个接入 ISP 也能直接与第一层 ISP 连接,这样它就向第一层 ISP 付费。)
  • 在这个等级结构的每一层,都有客户-提供商关系。
  • 第一层 ISP 不向任何人收费,因为他们位于该等级结构的顶部。
  • 某些区域,可能有较大的区域 ISP(可能跨越整个国家),该区域中较小的区域 ISP 与之相连,较大的区域 ISP 则与 第一层 ISP 相连。

    • 在中国,每个城市有接入 ISP,他们与省级 ISP 连接, 省级 ISP 又与 国家级 ISP 连接,国家 ISP 最终与第一层 ISP 连接。
  • 多层结构仅仅与如今的因特网相似,称为网络结构3。

    网络结构 3

  • 为了建造与因特网相似的点,必须在等级化网络结构 3 上增加存在点 (Point of Presence, PoP), 多宿,对等和因特网交换点。

  • PoP 存在与等级结构的所有层次,但底层 (接入 ISP) 等级除外。
  • 一个 PoP 只是提供商网络中额一台或多台路由器 (在相同位置) 群组,其中客户 ISP 能够与提供商 ISP 连接。
  • 对于要与提供商 PoP 连接的客户网络, 他能从第三方电信商租用告诉链路将它的路由器之一直线连接到位于该 PoP 的一台路由器。
  • 任何 ISP (除了第一层 ISP) 可以选择多宿 (multi-home),即可以与两个或更多提供商 ISP 连接。
    • 一个接入 ISP 可能与两个区域 ISP 多宿,既可以与两个区域 ISP多宿,也可以与一个第一层 ISP 多宿。
    • 当一个 ISP 多宿时,即使它的提供商之一出现故障,它仍然嫩能够继续发送和接收分组。

网络结构 4

  • 由接入ISP、区域ISP、第一层ISP、PoP、多宿、对等和1XP组成
  • 客户 ISP 向他们的提供商 ISP 付费以获得全球因特网互联能力。
  • 客户 ISP 支付给提供商 ISP 的费用数额反映了它通过提供商交换的通信流量。
  • 为了减少这些费用位于相同等级结构层次的邻近一对 ISP 能够对等 (peer),能够直接将他们的网络连接到一起,是它们之间的所有流量径直连接而不是通过上游的中间 ISP 传输。
  • 当两个 ISP 对等时, 通常不进行结算,即任意一个 ISP 不向其对等付费。
  • 第一层 ISP也与两一个第一层 ISP 对等,他们之间无结算。
  • 沿着这些相同的路线,第三方公司能够创建一个因特网交换点 (Internet Exchange Point, IXP),IXP 是一个汇合点,多个 ISP能够在这里一起对等。
  • IXP 通常位于一个有自己的交换机的独立建筑中。在今天的因特网中有 400 多个 IXP。

网络结构 5

image.png

  • 描述了现今的因特网
  • 在网络结构 4 顶部增加了内容提供商 (content provider network)
  • 谷歌作为例子
    • 数据中心
    • 数据中心容纳了服务器(有多有少)
    • 数据中心经过专用的 TCP/IP 网络互连
    • 该网络跨越全球,不过独立于公共因特网
    • 专用网络仅承载出入谷歌服务器的流量
    • 谷歌专用网络通过与较低层 ISP 对等 (无结算),尝试绕过因特网的较高层
    • 采用的方式可以是直接与他们相连,或者在 IXP 处与他们连接。
    • 许多 ISP 仅能通过第一层网络的传输到达,所以谷歌网络也与第一层 ISP 连接,并就与这些 ISP 交换的流量向他们付费。
    • 通过创建自己的网络,内容提供商不仅减少了向顶层 ISP 支付的费用,而且对其服务最终如何交付给端用户有了更多的控制。

总结

  • 因特网是网络的网络,结构复杂,由多个第一层 ISP 和数万个较地层 ISP 组成。
  • ISP 覆盖的区域多种多样,有些跨越距离远,有些局限于狭窄地域。
  • 低层 ISP 与 高层 ISP 连接,高层 ISP 彼此互联。
  • 用户和内容提供商是较低层的客户;较底层也是较高层 ISP 的客户。
  • 内容提供商也已经创建自己的网络,在某些地方与较低层 ISP 互联。