第四章 网络层

网络层的三个组件

  • IP协议
  • 路由选择协议
  • 报告数据报中的差错和对某些网络层信息请求的响应设施


    网络层.png

网络服务模型

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

  • 确保交付。该服务确保分组将最终到达目的地。
  • 具有时延上界的确保交付。该服务不仅确保分组的交付,而且在特定的主机到主机时延上界内(例如在100ms内)交付。
  • 有序分组交付。该服务确保分组以它们发送的顺序到达目的地。
  • 确保最小带宽。这种网络层服务模仿在发送和接收主机之间一条特定比特率(例如
    1Mbps)的传输链路的行为。只要发送主机以低于特定比特率的速率传输比特(作
    为分组的组成部分),则所有分组最终会交付到目的主机。
  • 安全性。网络层能够在源加密所有数据报并在目的地解密这些分组,从而对所有运
    输层报文段提供机密性。
    因特网是尽力而为的服务模型,无带宽保证、没有无丢包保证、无顺序保证、不维护、没有拥塞指示

网络层连接和无连接服务

网络层提供的是主机到主机的服务

虚电路——连接服务

一条虚电路(VC)的组成如下:①源和目的主机之间的路径(即一系列链路和路由器);②VC号,沿着该路径的每段链路一个号码:③沿着该路径的每台路由器中的转发表表项。属于一条虚电路的分组将在它的首部携带一个VC号。 因为一条虚电路在每条链路上可能具有不同的VC号,所以每台中间路由器必须用一个新的VC号替代每个传输分组的VC号。(原因:第一,逐链路代替该号码减少了分组首部中VC字段的长度。第二方面,通过允许沿着该虚电路路径每条链路有一个不同的VC号,大大简化了虚电路的建立。)该新的VC号从转发表获得。

虚电路三个阶段

  • 虛电路建立。在建立阶段,发送运输层与网络层联系,指定接收方地址,等待该网络建立虚电路。网络层决定发送方与接收方之间的路径,即该虚电路的所有分组要通过的一系列链路与路由器。网络层也为沿着该路径的每条链路确定-一个VC号。最后,网络层在沿着路径的每台路由器的转发表中增加一项。在虚电路建立期间,网络层还可以预留虚电路路径上的资源(如带宽)。
  • 数据传送。一旦创建了虚电路,分组就可以开始沿该虚电路流动了。
  • 虚电路拆除。当发送方(或接收方)通知网络层它想终止该虚电路时,就启动这个阶段。网络层通常将通知网络另一侧的端系统结束呼叫,并更新路径上每台路由器中的转发表以表明该虚电路已不存在了。

数据报网络——无连接服务

在数据报网络(dadgram network)中,每当一个端系统要发送分组时,它就为该分组加上目的地端系统的地址,然后将该分组推进网络中。

当有多个匹配时,该路由器使用最长前缀匹配规则(longest prefix matching rule), 即在该表中寻找最长的匹配项,并向与最长前缀匹配的链路接口转发该分组。

分组交换机

  • 分组交换机——根据分组首部的字段中的值,从输入链路接口到输出链路接口转移分组。
  • 链路层交换机——基于链路层字段中的值做出决定
  • 路由器——基于网络层字段中的值做转发决定

路由器

路由器的主要功能——将数据报从入链路转发到出链路

结构

路由器结构.png
  • 输入端口。输入端口( input port) 执行几项重要功能。1、它在路由器中执行输入的物理链路与路由器相连接的物理层功能。2、它还要与位于入链路远端的数据链路层交互来执行数据链路层功能。3、输入端口还要执行查找功能,通过查询转发表决定路由器的输出端口,到达的分组通过路由器的交换结构转发到输出端口。
  • 交换结构。交换结构将路由器的输人端口连接到它的输出端口。
  • 输出端口。输出端口存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组。
  • 路由选择处理器。路由选择处理器执行控制平面功能。在传统的路由器中,它执行路由选择协议,维护路由选择表与关联链路状态信息,并为该路由器计算转发表。

丢包——当无内存可以存储到达的分组时将出现丢包

转发

转发——分组在单一的路由器中从一条入链路到一条出链路的传送

路由选择

决定分组从源到目的结点采用的路径

数据报格式

IPV4数据报格式.png
  • 版本(号)。这4比特规定了数据报的IP协议版本。通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分。
  • 首部长度。因为一个IPv4 数据报可包含一些可变数量的选项(这些选项包括在IPv4数据报首部中),故需要用这4比特来确定IP数据报中载荷(例如在这个数网络层:数据平面据报中被封装的运输层报文段)实际开始的地方。大多数IP数据报不包含选项,所以一般的IP数据报具有20字节的首部。
  • 服务类型。服务类型(TOS) 比特包含在IPv4首部中,以便使不同类型的IP数据报(例如,一些特别要求低时延、高吞吐量或可靠性的数据报)能相互区别开来。
  • 数据报长度。这是IP数据报的总长度(首部加上数据),以字节计。因为该字段长为16比特,所以IP数据报的理论最大长度为65535字节。然而数据报少有超过1500字节。
  • 标识、标志、片偏移。这三个字段与所谓IP分片有关,
  • 寿命。寿命(Time-To-Live, TTL)字段用来确保数据报不会永远(如由于长时间的路由选择环路)在网络中循环。每当一台路由器处理数据报时,该字段的值减1。
  • 协议。该字段通常仅当一个IP数据报到达其最终目的地时才会有用。该字段值指示了IP数据报的数据部分应交给哪个特定的运输层协议。
  • 首部检验和。首部检验和用于帮助路由器检测收到的IP数据报中的比特错误。注意到在每台路由器上必须重新计算检验和并再次存放到原处,因为TTL字段以及可能的选项字段会改变。
  • 源和目的IP地址。当某源生成一个数据报时,它在源IP字段中插人它的IP地址,在目的IP地址字段中插人其最终目的地的地址。通常源主机通过DNS查找来决定目的地址。
  • 选项。选项字段允许IP首部被扩展。
  • 数据(有效载荷)。

IP数据报分片

  • 并不是所有链路层协议都能承载相同长度的网络层分组。有的协议能承载大数据报,而有的协议只能承载小分组。一个链路层帧能承载的最大数据量叫作最大传送单元( Maximum Transmission Unit, MTU)。因为每个IP数据报封装在链路层帧中从一台路由器传输到下一台路由器,故链路层协议的MTU严格地限制着IP数据报的长度。对IP数据报长度具有严格限制并不是主要问题。问题在于在发送方与目的地路径上的每段链路可能使用不同的链路层协议,且每种协议可能具有不同MTU
  • 为了更好地理解转发问题,想象你是一台互联几条链路的路由器,且每条链路运行具有不同MTU的链路层协议。假定你从某条链路收到一个IP数据报,通过检查转发表确定出链路,并且该条出链路的MTU比该IP数据报的长度要小。此时你会感到慌乱,如何将这个过大的IP分组挤进链路层帧的有效载荷字段呢?解决该问题的方法是将IP数据报中的数据分片成两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报,然后通过输出链路发送这些帧。每个这些较小的数据报都称为片。
  • 片在其到达目的地运输层以前需要重新组装。的主机执行这些重新组装任务,IPv4 的设计者将标识、标志和片偏移字段放在IP数据报首部中。当生成一个数据报时,发送主机在为该数据报设置源和目的地址的同时贴上标识号。发送主机通常将它发送的每个数据报的标识号加1。当某路由器需要对一个数据报分片时,形成的每个数据报( 即片)具有初始数据报的源地址、目的地址与标识号。当目的地从同一发送主机收到一系列数据报时,它能够检查数据报的标识号以确定哪些数据报实际上是同一较大数据报的片。由于IP是一种不可靠的服务,一个或多个片可能永远到达不了目的地。因为这种原因,为了让目的主机绝对地相信它已收到了初始数据报的最后一个片,最后一个片的标志比特被设为0,而所有其他片的标志比特被设为1。另外,为了让目的主机确定是否丢失了一个片( 且能按正确的顺序重新组装片),使用偏移字段指定该片应放在初始IP数据报的哪个位置。

IPV4编址

  • 主机与物理链路之间的边界叫做接口。一个IP地址技术上是和接口相关联。
  • 点分十进制——地址中每个字节用它的十进制形式书写,各字节之间以句号隔开
  • 因特网的地址分配策略被称为无类别域间路由选择(CIDR)

DHCP

动态主机配置协议( Dynamic Host Configuration, DHCP) 自动分配主机地址。DHCP允许主机自动获取(被分配)一个IP地址。网络管理员能够配置DHCP,以使某给定主机每次与网络连接时能得到一个相同的IP地址,或者某主机将被分配一个临时的IP地址(temporaryIPaddress),每次与网络连接时该地址也许是不同的。


DHCP.png
  • DHCP服务器发现。一台新到达的主机的首要任务是发现一个要与其交互的DHCP服务器。这可通过使用DHCP发现报文(DHCP discover message)来完成,客户在UDP分组中向端口67发送该发现报文。该UDP分组封装在一个IP数据报中。DHCP客户生成包含DHCP发现报文的IP数据报,其中使用广播目的地址255. 255.255. 255并且使用“本主机”源IP地址0.0. 0.0。DHCP客户将该IP数据报传递给链路层,链路层然后将该帧广播到所有与该子网连接的子网。
  • DHCP服务器提供。DHCP服务器收到一个DHCP发现报文时,用DHCP提供报文(DHCP offer message)向客户做出响应,该报文向该子网的所有节点广播,仍然使用IP广播地址255. 255.255.255 ( 你也许要思考一下这个服务器为何也必须采用广播)。因为在子网中可能存在几个DHCP服务器,该客户也许会发现它处于能在几个提供者之间进行选择的优越位置。每台服务器提供的报文包含有收到的发现报文的事务ID、向客户推荐的IP地址、网络掩码以及IP地址租用期(addressleasetime),即IP地址有效的时间量。服务器租用期通常设置为几小时或几天[ Droms 2002]。
  • DHCP请求。新到达的客户从一个或多个服务器提供中选择-一个,并向选中的服务器提供用DHCP请求报文( DHCP request message)进行响应,回显配置的参数。
  • DHCP ACK。服务器用DHCP ACK报文( DHCP ACK message)对DHCP请求报文进行响应,证实所要求的参数。

网络地址转换(NAT)

NAT.png

NAT使能路由器对于外部世界来说甚至不像一台路由器。相反NAT路由器对外界的行为就如同一个具有单一IP地址的单一设备。在图中,所有离开家庭路由器流向更大因特网的报文都拥有一个源IP地址138. 76. 29.7,且所有进入家庭的报文都拥有同一个目的IP地址138.76.29.7。从本质上讲,NAT使能路由器对外界隐藏了家庭网络的细节。

ICMP

ICMP被主机和路由器用来彼此沟通网络层的信息,最典型的用途就是差错报告。
ICMP报文承载在IP分组中,ICMP报文是IP有效载荷

你可能感兴趣的:(第四章 网络层)