[A Top-Down Approach][第四章 网络层]

[A Top-Down Approach][第四章 网络层]

标签(空格分隔): 未分类


在网络中的每一台主机和路由器都有一个网络层部分.所以网络层是最具挑战性的部分

  • 仔细考察两种用于网络层分组交付的方法: 数据报模式虚电报模式.并且理解编址在传递分组到目的主机的重要作用.

  • 对网络层的转发(forwarding)路由选择(routing)功能做重要区分.

    • 转发: 涉及分组在单一的路由器从一条入链路到出链路的传送
    • 路由选择: 涉及一个网络的所有路由器,它们经路由选择协议共同交互,以决定分组从源到目的节点所采用的路径.
  • 加深分组转发的概念: 讨论网际协议(IP),网络地址转换(NAT),数据报分段,因特网控制报文协议(ICMP)IPv6

  • 加深路由选择

    • 路由选择的算法任务:决定从发送方到接收方的好的路径.
    • 学习算法的理论,关注两种最为流行的算法
      • 链路状态
      • 距离矢量算法
    • 因为路由选择算法与网络路由器数量的增加会有相当大的增加,关注等级制路由选择算法
      • 自治系统内部的路由选择算法(RIP,OSPF,IS-IS)
      • 自治系统之间的路由选择协议(BGP)

4.1 概述

[A Top-Down Approach][第四章 网络层]_第1张图片

  • H1->R1->R2->H2

4.1.1 转发和路由选择

网络层的表面看起来极为简单,即将分组从一台发送主机移动到一台接收主机.需要两种重要的网络层功能

  • 转发: 当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路.

    • 4.3节详细讨论
  • 路由选择:分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径.

    • 计算这些路径的算法叫做路由选择算法(routing algorithm).

转发表概述

每台路由器具有一张转发表(forwarding table)

  • 路由器通过检查到达分组首部字段的值,使用该值在转发表进行检索,然后进行转发.

    • 转发表存储了首部字段-输出链路接口的字典.
  • 我们约定术语分组交换机是指通用分组交换设备,根据分组交换首部字段中的值,从输入链路到输出链路转移分组.

    • 链路层交换机(link-layer switches):根据链路层字段的值来做转发决定.
    • 其他分组交换机被称为路由器:基于网络层字段

连接建立

网络层的第三个功能,连接建立(connection setup).

[A Top-Down Approach][第四章 网络层]_第2张图片

4.1.2 网络服务模型

网络服务模型(network service model):定义了分组在发送与接收端系统之间的端到端运输特性.

  • 确保交付: 服务确保分组到达最终目的地.
  • 具有时延上界的确保交付
  • 有序分组交互
  • 确保最小宽带:在发送和接受主机之间的一条特定比特率的传输链路的行为.只要发送主机以低于特定比率的速率比特,则分组不会丢失.且分组会在预定的时间到达.
  • 确保最大时抖动:发送方两个相继分组的时间量等于在目的接收到它们之间的时间量.
  • 安全性服务:
  • 尽力而为服务:无服务.

以上是网络服务的一部分概述.

[A Top-Down Approach][第四章 网络层]_第3张图片

ATM

[A Top-Down Approach][第四章 网络层]_第4张图片

[A Top-Down Approach][第四章 网络层]_第5张图片

4.2 虚电报和数据报网络

image_1b37qd8v01f5dtk31shh1ngl1d0k2a.png-52.8kB

但也有巨大的差异

  • 在网络层是是网络层给运输层提供的主机到主机的服务.

    • 而在运输层,是想应用层提供的进程到进程的服务
  • 不同时提供无连接连接服务

    • 提供连接服务的计算机网络叫做虚电路(VC)网络
    • 提供无连接服务的计算机网络被称为数据报网络
  • 在运输层实现面向连接的服务于网络层是根本不同的.s

    • 运输层在网络边缘的端系统中实现.
    • 网络层在边缘和网络核心实现.

4.2.1 虚电路电报

虽然Internet是一个数据报网络,但是许多其他网络是虚电路网络,如(ATM,帧中继的体系结构).

一条虚电路的组成如下

  • 源和目的主机之间的路径(即一系列链路和路由器)
  • VC号: 沿着该路径的每段链路的号码
  • 沿着该路径的每台路由器的转发表表项.

属于一条虚电路的分组将在首部携带一个VC号码,在路由器转发的时候,新的VC号码替代分组中VC号码.

  • 这个替换过程通过转发表进行

[A Top-Down Approach][第四章 网络层]_第6张图片

分组沿着路径不保持相同路径号的原因.

  • 只需要简单的根据当前链路未使用的VC号分配给该链路

  • 否则需要大量报文保持整个网络的一致性.

    • 比如你想使用33这个VC号,你需要考察整个网络是否被使用了.
    • 而如果你仅仅是想在这个链路使用33,只需要考察这个链路就行.

在虚电路网络中,网络的路由器必须为进行中的连接维持连接状态信息(connection state information),

  • 创建一个新连接,必须使得连接中所有路由器的转发表增加一个连接项.
  • 释放一个连接,必须从该表删除该项.

在虚电路有3个明显不同的阶段

[A Top-Down Approach][第四章 网络层]_第7张图片
image_1b39f81k227u12m21t22r7mm7713.png-25.5kB
image_1b39f87ma1k9897tj21150q6kk1g.png-49.1kB

  • 信令报文: 用于在虚电路启动终止传递的报文就是信令报文
  • 信令协议: 传递这个报文的协议就是信令协议

4.2.2 数据报网络

数据报网络,当一个端系统要发送分组,它就为该分组加上目的端系统的地址,然后将分组推进到网络

  • 路由器都是分组的目的地址来转发该分组

    [A Top-Down Approach][第四章 网络层]_第8张图片

    • 最长匹配原则,学习IP协议才能详细懂得.

image_1b39gpar9b8o1v5m1b885b41e4i2a.png-55.8kB

  • 无序到达

4.2.3 虚电报和数据报的由来

数据报和虚电报网络的演化反映了他们的由来.

  • 虚电路的概念来源于电话界,采用了真正的电路.
  • 由于端系统的复杂性,可以让网络更为简单,所以因特网采用数据报(按序传送,可靠运输传输等等)由更高层去实现.

[A Top-Down Approach][第四章 网络层]_第9张图片

4.3 路由器工作原理

[A Top-Down Approach][第四章 网络层]_第10张图片

  • 输入端口: 输入端口执行几项关键功能

    • 他要执行将一条输入的物理链路与路由器相连接的物理层功能.
      • 最左侧方框
    • 还要执行与位于远端的数据链路层交互的数据链路层功能
      • 中间方框
    • 输入端口还要完成查找功能
      • 控制分组转发到路由选择处理器
      • 普通分组经交换结构到达输出端口
      • 最右侧方框
  • 交换结构 : 将路由器的输入端口和输出端口相连接

  • 输出端口 : 输出端口存储从交换结构接收的分组,并发送出去.

    • 执行必要的物理层,链路层功能
  • 路由选择处理器: 执行路由选择协议 (在4.6节详细讨论)

    • 维护路由选择表以及连接的链路状态信息,并未路由器计算转发表,还执行网络管理功能.

对转发和选择功能加以区分

  • 转发: 上图的转发数据平台,由硬件形式完成.

  • 选择: 上图的路由选择平面,由软件完成.

  • 两种存在速度差,转发速度远远大于 选择速度

4.3.1 输入端口

[A Top-Down Approach][第四章 网络层]_第11张图片

  • 转发表的一份影子副本通常会被存放到每个输入端口.
    • 影子副本由路由选择处理器复制到输入端口

查找

查找必须在纳米级执行.

  • 不仅使用硬件执行查找
  • 还需要对大型转发表使用超出简单线性搜索的技术(二分查找等)
  • 同时关注内存访问时间
    • 使用DRAM或者SRAM
    • 还有三态内容可寻址存储器(TCAM)也经常被用于查找.

排队

如果其他输入端口的分组正在使用交换结构,则可能会进行被阻塞,进行排队.

  • 4.3.4节仔细观察阻塞,排队和调度.

其余功能

  • 必须出现物理层和链路层处理
  • 必须检查分组的版本号,检验以及寿命字段
  • 必须更新用于网络管理的计数器(如接受到的IP数据报数目)

4.3.2 交换结构

交换结构位于一台路由器的核心部分,正是通过这种交换结构,分组才能实际的从一个输入端到输出端.

交换有很多种方式

[A Top-Down Approach][第四章 网络层]_第12张图片

  • 经内存交换:最简单,最早的路由器是传统计算机,在输入端口与输出端口之间的交换是在CPU路由选择控制器的直接控制下完成.

    • 类似传统I/O设备,通过发送中断,由CPU处理
    • 不能同时转发两个分组,因为一次仅能执行一个内存读/写

    许多现代路由器通过内存交换,与早期路由器的差别是,目的地址的查找和将分组存储进适当的内存存储位置由输入线路卡来处理

  • 经总线交换: 在这种方法中,输入端口经一根共享总线将分组直接传送到输出端口,不需要路由选择处理器的干预.

    • 让输入端口为分组预先计划一个交换机内部标签(首部),指示本地输出端口,使分组在总线上传送和传输到输出端口.
    • 该分组所有输出端口都能收到,但只有与首部匹配的端口才能保存该分组,然后标签在输出端口被去除.
    • 总线一次只能传递一个分组,所以传递速率受总线速率的影响.
      • 对于运行在小型局域网和企业网的路由器,总线交换通常是足够的
  • 经互联网络交换: 克服单一,共享式总线带宽限制的一种方法,使用更复杂的互联网络.

    • 纵横式交换机是一个由2N条总线组成的互联网络,连接N个输入端口和N个输出端口.
    • 横线和纵线的交叉点通过交换结构控制器能够在任何时候开启和关闭.

    例如: 某分组到达端口A,需要转发到端口Y,交换机控制器闭合总线AY交叉部位的交叉点来通知A,Y,然后端口A在其总线发送分组,仅由Y安排接收.

    • B也能同时到X,因为使用不同的输入总线和输出总线
    • 但是B不能跟A一起到Y,因为共用了输出总线,必须进行等待.
  • 更为复杂的互联网络使用多级交换元素,以使来自不同输入端口的分组通过交换结构同时朝着相同的输出端口前行. Cisco 12000系列交换机使用互联网络.

  • 4.3.3 输出端口

    [A Top-Down Approach][第四章 网络层]_第13张图片

    4.3.4 何处出现排队

    输入和输出端口处都会形成分组队列,进行排队.

    • 以后详细看

    4.3.5 路由选择控制平面

    [A Top-Down Approach][第四章 网络层]_第14张图片

    4.4 网际协议 : 因特网中的转发和编址

    之前的讨论,关于网络层的编址和转发并未提及特定的计算机网络.这节,详细讨论Internet是如何完成编址和转发.

    [A Top-Down Approach][第四章 网络层]_第15张图片

    图示,因特网网络层的三个主要组件

    • IP协议:本节的主题
    • 路由选择部分: 决定了数据报从源到目的地所流经的路径.

      • 4.6详细讨论
    • 互联网控制报文协议(ICMP) :因特网的网络层差错和信息报告的协议

    你可能感兴趣的:(计算机网络)