计算机网络之网络层★知识点汇总★

计算机网络之网络层

  • 网络层
    • 1 引言介绍
    • 2 虚电路和数据报网络
    • 3 路由器工作原理
    • 4 网际协议:因特网中的转发和编址
      • 4.1 数据报格式
      • 4.2 IPv4编址
      • 4.3 因特网控制报文协议
      • 4.4 IPv6
    • 5 路由选择算法
      • 5.1 链路状态路由选择算法LS
      • 5.2 距离向量路由选择算法DV
      • 5.3 层次路由选择
    • 6 因特网中的路由选择协议
      • 6.1 自治系统内部路由选择协议:RIP
      • 6.2 自治系统内部路由选择协议:OSFP
      • 6.3 自治系统间的路由选择协议:BGP
    • 7 广播和多播路由算法
      • 7.1 广播路由选择算法
      • 7.2 多播

网络层

1 引言介绍

  • 网络层是因特网协议栈中最复杂的层次之一,要深入了解用于构造网络层分组交付的方法,即数据报模式和虚电路模式;尤其要分清网络层的转发(forwarding)功能和路由(routing)功能的区别。转发涉及分组在单一的路由器中从一条入链路到一条出链路的传送。路由选择涉及一个网络的所有路由器,它们经路由选择协议共同交互,已决定分组从源到目的地结点及一个网络的所有路由器。
  • 再次强调:转发是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作;路由选择是指网络范围的过程,以决定分组从源到目的地所采取的端到端路径。
  • 分组交换机是指一台通用分组交换设备,它根据分组首部字段中的值,从输入链路接口道输出链路接口转移分组。某些分组交换机称为链路层交换机(link-layer switches),基于链路层字段中的值做转发决定;其他分组交换机称为路由器(router),基于网络字段中的值做转发决定。
  • 网络服务模型定义了分组在发送与接收端系统之间端到端运输特性。在发送主机中,当运输层向网络层传递一个分组时,能由网络层提供的特定服务包括:具有时延上限的确保交付(100ms以内)、有序分组交付、确保最小带宽、确保最大时延抖动、安全性服务。

2 虚电路和数据报网络

  • 与运输层中的UDP和TCP类似(他们一种是无连接服务、一种是面向连接服务),网络层也能够在两台主机间提供无连接服务或连接服务。在网络层提供连接服务的计算机网络称为虚电路(Wirtual-Circuit, VC)网络;仅在网络层提供无连接服务的计算机网络称为数据报网络(datagram network).
  • 虚电路网络和数据报网络是计算机网络的两种基本类型。在作出转发决定时,他们使用了非常不同的信息,如下介绍。
    1. 许多网络体系结构(包括ATM、帧中继体系结构)是虚电路网络,即它们在网络层提供连接服务。一条虚电路的组成如下:①源和目的主机之间的路径(即一系列链路和路由器);②VC号,沿着路径的每段链路的一个号码;③沿着该路径的每台路由器中的转发表表项。
    2. 因特网是一个数据报网络。在数据报网络中,每当一个端系统要发送分组,它就为该分组加上目的地端系统的地址,然后将分组推进网络中。每台路由器有一个将目的地址映射到链路接口的转发表,当分组到达路由器时,路由器使用该分组的目的地址在转发表中查找适当的输出链路接口,然后将该分组向该输出链路接口转发。

3 路由器工作原理

  • 一台路由器的输入端口、输出端口和交换结构共同实现了转发功能,并且总是硬件实现,这种转发功能有时称为路由器转发平面(router frowarding plane).
    计算机网络之网络层★知识点汇总★_第1张图片
    1.输入端口:在输入端口处,路由器使用转发表执行查找功能查找输出端口;进行物理层和链路层处理;检查分组的版本号、检验和以及寿命字段;更新用于网络管理的计数器。
    2. 交换结构:交换结构位于一台路由器的核心部位,它使得分组实际地从一个输入端口转发到一个输出端口。交换可以用许多方式实现:经内存交换、经总线交换、经互联网络交换。
    3. 输出端口:输出端口处理取出存放在输出端口内存中的分组并将其发送到输出链路上,包括选择和取出排队的分组进行传输,执行所需的链路层和物理层传输功能。
  • 考虑输出端口缓存有限的问题,当无内存可用于存储到达的分组时将会出现丢包(packet loss),为解决该问题,提出了主动队列管理(Active Queue Management, AQM)算法。
  1. 随机早期检测(Random Early Detection, RED)算法是一种得到广泛研究和实现的AQM算法。该算法为输出队列长度维护着一个加权平均值。如果平均队列小于最小阈值minth,则当一个分组到达时,该分组被接纳近队列;如果队列满或平均队列长度大于最大阈值maxth,则当一个分组到达使,该分组被=标记或者丢弃;如果平均队列长度在[minth,maxth]之间时,该分组以某种概率被标记或丢弃,该概率是平均队列长度、minth、maxth的某种函数。
  2. 在输入端口出现的排队现象叫做输入排队交换机中的线路前部(Head-Of-the-Line, HOL)阻塞,即在一个输入队列中排队的分组必须等待通过交换结构发送,(即使输出端口是空闲的),因为它被位于线路前部的另一个分组所阻塞。

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

  • 因特网编址和转发是网际协议(IP)的重要组件,目前有两个版本的IP协议:IPv4和IPv6。
  • 因特网的网络层有三个重要组件,第一个组件是IP协议;第二个是路由选择部分,它决定了数据报从源到目的地所流经的路径;第三个是报告数据报中的差错和对某些网络层协议信息请求进行响应的措施,即互联网控制报文协议(ICMP)。

4.1 数据报格式

  • 网络层分组被称为数据报,IPv4数据包格式如下图所示。
    计算机网络之网络层★知识点汇总★_第2张图片
  • 大多数IP数据报不包含选项部分,所以一般的IP数据报具有20字节的首部。
  • 一个链路层帧能承载的最大数据量叫做最大传送单元(Maximun Transmission Unit, MTU)。不同的链路层协议能够承载不同长度的数据报,并且发送方与目的地路径上的每段链路可能采用不同的链路层协议,不同的链路层协议可能采用不同的MTU,所以需要将IP数据报中的数据分片成两个或多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报;然后向输出链路上发送这些帧。这些每个较小的数据报被称为片(fragment)。
  • IP首部中的标识、标志和片偏移字段用来在接收端拼接成初始的数据报。

4.2 IPv4编址

  • 主机与物理链路之间的边界叫做接口(interface),一个IP地址技术上是于一个接口相关连的,而不是与包含该接口的主机或路由器相关连的。
  • 在全球因特网中的每台主机和路由器上的每个接口,必须有一个全球唯一的IP地址,一个接口的IP地址的一部分需要由其连接的子网来决定。
  • 因特网的地址分配策略被称为无类别域间路由选择(Classless Interdomain Routing, CIDR).
  • 形式为a.b.c.d/x的地址的x最高比特构成了IP地址的网络部分,并且经常被称为改地址的前缀(prefix)。一个组织通常被分配一块连续的地址,即具有相同前缀的一段地址。
  • 在CIDR被采用之前,IP地址的网络部分被限制为长度为8、16或24比特,这称为分类编制(classful addressing)的编址方案。具有8、16和24比特子网地址的子网分别被称为A、B和C类网络。
  • IP广播地址255.255.255.255:当一台主发出一个目的地址为255.255.255.255的数据报时,该报文会交付给同一个网络中的所有主机。路由器也会有选择地向邻近的子网转发该报文。
  • 主机或子网是按照以下方式获取自己的IP地址的:
  1. IP地址由因特网名字和编号分配机构(Internet Corporation for Assigned Names and Numbers, ICANN)管理,该机构向ISP分配地址,然后组织向ISP申请一个地址块,组织内部的网络设备即全部处于该子网之中。
  2. 某组织一旦获得了一块地址,它可为本组织内的主机与路由器接口逐个分配IP地址。系统管理员通常手动配置路由器中的IP地址,;主机地址通常使用动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)来完成。DHCP允许主机自动获取一个IP地址。网络管理员能够配置DHCP,以使某给定主机每次与网络连接时能得到一个相同的IP地址,或者某主机可被分配一个临时的IP地址。
  3. 由于DHCP具有能将主机连接进一个网络的网络相关方面的自动能力,故它又被常常称为即插即用协议(plus-and-play protocol)。
  4. DHCP是一个客户-服务器协议。每个子网具有一台DHCP服务器或DHCP中继代理(通常是一台路由器)。一个新到的主机可以通过与DHCP服务器互相发送报文来获取自己的IP地址,包括四个步骤:DHCP服务器发现、DHCP服务器提供、DHCP请求和DHCP ACK。交互完成后,该主机能够在租用期内使用DHCP分配的IP地址。
  • 网络地址转换(Network Address Translation, NAT):NAT使能路由器对于外部的行为如同一个具有单一IP地址的单一设备,它对外界隐藏了家庭网络的细节,即家庭网络对外界的IP地址就是NAT使能路由器的IP地址,在数据报传输到目的IP地址为NAT路由器IP地址后,NAT路由器上的一张NAT转换表可将该数据报传输到对应的主机上。
  • NAT穿越正越来越多地由通用即插即用(UPnP)提供,UPnP是一种允许主机发现并配置邻近NAT的协议。

4.3 因特网控制报文协议

  • ICMP(Internet Control Message Protocol)被主机和路由器用来彼此沟通网络层的信息。
  • ICMP通常被认为是IP的一部分,但从体系结构上讲它是位于IP之上的,因为ICMP报文是承载在IP分组中的。
  • 对抗恶意分组攻击的两种流行的防御措施是防火墙和入侵检测系统(IDS)。

4.4 IPv6

  • 由于新的子网和IP结点以惊人的速度连接到因特网上并被分配唯一的 IP地址,32比特的IP地址空间即将用尽。为了应对这种大IP地址空间的需求,开大了一种新的IP协议,即IPv6。
  • IPv6数据报格式如下,它最重要的变化显示在其数据报格式中。
    计算机网络之网络层★知识点汇总★_第3张图片
  1. 扩大的地址容量。它将地址长度从32比特增加到128比特。它还引入了任播机制(anycast address)的新型地址,可以是数据报交付给一组主机中的任意一个。
  2. 简化而高效的40字节定长首部。由于IPv4有选项首字段,故该首部不是定长的,而IPv6的首部为定长40字节。
  3. 流标签与优先级。该字段可用于"给属于特殊流的分组加上标签,这些特殊流是发送方要求进行特殊处理的流,如一种非默认服务质量或需要实时服务的流"。
  • 从IPv4到IPv6迁移的方法:引入IPv6使能结点最直接方式是采用一种双栈(dual-stack)方法,即使用该方法的IPv6结点还具有完整的IPv4实现,这样的结点被称为IPv6/IPv4结点,它具有发送和接收IPv6和IPv4两种数据报的能力。

5 路由选择算法

  • 路由选择的工作是:确定从发送方到接收方通过路由器网络的好路径。
  • 主机通常直接与一台路由器相连接,该路由器即为该主机的默认路由器(default router),又称为该主机的第一跳路由器(first-hop router)。
  • 路由选择算法广义分类方式一:
  1. 全局式路由选择算法(global routing algorithm)用完整的、全局性的网络知识计算出从源到目的地之间的最低费用路径。具有全局状态信息的算法常被称作链路状态(Link State, LS)算法,因为该算法必须知道网络种每条链路的费用。
  2. 分散式路由选择算法(decentralized routing algorithm)以迭代、分布式的方式计算出最低费用路径。没有结点拥有关于网络链路费用的完整信息,而每个结点仅有与其直接相连链路的费用知识即可开始工作。最典型的为距离向量(Distance-Vector, DV)算法。
  • 路由选择算法广义分类方式二:
  1. 静态路由选择算法(static routing algorithm):路由变化非常缓慢,通常是人工干预进行调整。
  2. 动态路由选择算法(dynamic routing algorithm):一个动态算法可周期性的运行或直接响应拓扑或链路费用的变化而运行。虽然动态算法易于对网络的变化做出反应,但也更容易受诸如路由选择循环、路由震荡之类问题的影响。
  • 路由选择算法广义分类方式三:
  1. 负载敏感算法(load-sensitive algorithm),链路费用会动态地变化以反映出低层链路的当前拥塞水平。
  2. 负载迟钝算法(load-insensitive):当今因特网的路由选择算法(如RIP、OSPF、BGP)都是负载迟钝的,因为某条链路的费用不明显的反映其当前的拥塞水平。

5.1 链路状态路由选择算法LS

  • 在LS中,网络拓扑和所有的链路费用都是已知的,可用作LS算法的输入。实践中是通过让每个结点向网络中所有其他节点广播链路状态分组来完成的,其中每个链路状态分组包含它所连接的链路的特征和费用。

5.2 距离向量路由选择算法DV

  • 距离向量算法是一种迭代的、异步的和分布式的算法。

  • DV和LS采用互补的方法来解决路由选择计算问题。在DV中,每个结点仅与它的直接相连的邻居交谈,但它为其邻居提供了从它自己到网络中所有其他结点额定最低费用估计。在LS算法中,每个结点(经广播)与所有其他结点交谈,但它仅告诉它们与它直接相连链路的费用。

5.3 层次路由选择

  • 将路由器组织进自治系统(Autonomous System, AS)可解决路由器数目规模庞大、组织管理自治的问题。在一个自治系统内运行的路由选择算法叫做自治系统内部路由选择协议(intra-autonomous system routing protocol)。
  • 一个AS中的一台或多台路由器负责向在本AS之外的目的地转发分组,这些路由器被称为网关路由器(gataway router).
  • 从相邻AS获取可达性信息是两项由自治系统间路由选择协议((inter-autonomous system routing protocol)处理的任务。因为自治系统间路由选择协议涉及两个AS之间的通信,这两个通信的AS必须运行相同的自治系统间路由选择协议。
  • 总而言之,规模与管理责任的问题可通过定义自治系统来解决。在一个AS内部,所有路由器运行同样的自治系统内部路由选择协议。在各AS之间AS运行相同的AS间路由选择协议。

6 因特网中的路由选择协议

  • 再次强调,路由选择协议的目的就是要确定数据报在源于目的地之间采用的路径。现在将注意力转移到因特网路由选择协议上来。

6.1 自治系统内部路由选择协议:RIP

  • AS内部路由选择协议又称内部网关协议(interior gateway protocol),路由选择信息协议(Routing Information Protocol, RIP)是因特网中广泛使用的自治系统内的路由选择。
  • RIP是一种距离向量协议。在RIP中,费用实际上是从源路由到目的子网。RIP使用术语跳,跳是沿着从源路由器到目的子网(包括目的子网)的最短路径所经过的子网数量。
  • 一条路劲的最大费用被限制为15,因此RIP的使用限制在网络直径不超过15条的自治系统内。
  • 在RIP中,路由选择更新信息在邻居之间通过一种RIP响应报文(PIR response message)来交换,大约每30秒互相交换一次。响应报文又称为RIP通告(RIP advertisement).
  • 自治系统内的每台路由器维护一张称为路由选择表(routing table)的RIP表。一台路由器的路由选择表包括该路由器的距离向量和该路由器的转发表。路由器在UDP上使用端口520相互发送RIP请求与响应报文。

6.2 自治系统内部路由选择协议:OSFP

  • 开放最短路优先(Open Shortest Path First, OSPF)是一个使用洪泛链路状态信息的链路状态协议和一个Dijkstra最低费用路径算法。
  • OPSF该报文直接由IP承载,对OSPF其上层协议的值为89,因此OSPF协议必须自己实现诸如可靠报文传输、链路状态广播等功能。
  • 一个OSPF自治系统可以配置多个区域。每个区域都运行自己的OSPF链路状态路由选择算法。一个区域内的每台路由器都向该区域内的所有其他路由器广播其链路状态。在一个区域内,一台或多台区域边界路由器(area border router)负责为流向该区域以外的分组提供路由选择。最后,在AS内只有一个OSPF区域配置成主干(backbone)区域,主干区域的主要作用是为AS内其他区域之间的流量提供路由选择。

6.3 自治系统间的路由选择协议:BGP

  • 关于跨越多个AS的源和目的地对之间是如何确定路径的问题,边界网关协议(Broder Gateway Protocol, BGP)版本4是当今因特网中域间路由选择协议事实上的标准。BGP为每个AS提供了进行以下工作的手段:
  1. 从相邻AS处获得子网可达性信息;
  2. 向本AS内部的所有路由器传播这些可达性信息;
  3. 基于可达信信息和AS策略,决定到达子网的"好"路由。
  • 在BGP中,路由器对通过使用179端口的半永久TCP连接来交换路由选择信息。BGP使得每个AS知道经过其相邻AS可达哪些目的地,一个自治系统由其全局唯一的自治系统号(Autonomous System Number, ASN)所标识。

7 广播和多播路由算法

  • 以上均描述单个源节基于某种协议向单个目的结点发送分组。现在将注意力转向广播和多播路由选择协议。在广播路由选择(broadcast routing)中,网络层提供了从一种源结点到网络中的所有其他结点交付分组的服务;多播路由选择(multicast routing)使单个源结点能够向其他网络结点的一个子集发送分组的副本。

7.1 广播路由选择算法

  • 实现广播最显而易见的技术是洪泛(flooding)方法,该方法要求源节点向它的所有邻居发送分组的副本,会形成广播风暴(broadcast storm).
  • 避免广播风暴的关键是每个结点明智地选择何时洪泛分组,何时不洪泛分组。在序号控制洪泛(sequence-number-controlled flooding)中,源结点将其地址以及广播序号放入刚播分组,再向它的所有邻居发送该分组。每个结点维护它已经收到的、复制的和转发的源地址和每个广播分组的序号列表。当结点接收到一个广播分组时,它首先检查该分组是否在列表中。如果在,丢弃该分组;如果不在,复制该分组并向结点的所有邻居转发。
  • 受控洪泛的第二种方法被称为反向路径转发(Reverse Path Forwarding, RPF). 当一台路由器接收到具有给定源地址的广播分组时,仅当该跟组到达的链路正好是位于它自己的返回其源的最短单播路径上,它才向其所有出链路传输报文。
  • 生成树广播(Spanning tree):采用基于中心的方法(center-based approach)建立一棵生成树,要定义一个中心结点(也称之为汇合点(rendezous point)或核(core)). 结点则向中心结点单播加入树(tree-join)报文。
  • 在实践中,广播协议被用于应用层和网络层。

7.2 多播

  • 在因特网体系结构中,多播数据报使用间接地址(address indirection)来编址,即用一个标识来表示一组接收方,寻址到该组的分组副本被交付给所有与组相关联的多播接收方,且该组使用这个单一标识符。这种表示一组接收方的单一标识就是一个D类多播地址。与一个D类地址相关联的接收方小组被称为一个多播组(multicast group)。
  • 因特网组管理协议(Internet Group Management protocol, IGMP)运行在一台主机与其直接相连的路由器之间。IGMP为一台主机提供了手段,让它通知与其相连的路由器:在本主机上运行的一个应用程序想加入一个特定的多播组。
  • 因特网中的网络层多播是由两个互补的组件组成的:IGMP与多播路由选择协议。
  • 第一个用于因特网中的多播路由选择协议是距离向量多播路由选择协议(Distance Vector Multicast Routing Protocol, DVMRP)。DVMRP实现了具有反向路径转发与剪枝算法的基于源的树。
  • 使用最为广泛的因特网多播路由选择协议是协议无关的多播(Protocol Indenpendent Multicast, PIM)路由选择协议,该协议明确明辨识两种多播分发情形。

欢迎关注【OAOA】

你可能感兴趣的:(计算机网络,网络,路由器)