计算机网络 第五章 网络层

概述:

  • 每个数据链路层只涉及一个直连网,而网络层协议涉及整个网络
  • 网络层协议负责确定把收到的包从哪条路径转发(forwarding)出去,即路由选择(routing)功能。具体传送有数据链路层和物理层负责。

交换技术:

电路交换(Circuit Switching):

通过在网络中连接多条物理电路形成一条通路后传送数据

每条物理电路可以是一条链路(link)或者一条链路通过 FDM 或 TDM 形成的通道(Channel)。

包交换(Paceet Switching):

采用统计多路复用的方法通过网络传送数据包,有虚电路(Virtual Circuit)和数据报(Datagram)两种方式。

采用虚电路方式需要先建立连接然后才可以传送数据。

采用数据报方式不需要建立连接便可以发送数据包。交换机根据数据包的目的地址转发包。

因特网采用数据报交换技术。

虚电路包括:

  1. 交换式虚电路(Switched Virtual Circuit)
  2. 永久虚电路(Permanent Virtual Circuit)
  • 交换式虚电路每次传送数据前都要建立连接,传送数据后要释放连接
  • 永久虚电路由管理员建好后一直保持着,随时可以传送数据

图片描述

例子:

以下哪种交换技术采用包交换技术且在传送数据之前需要建立连接? A.电路交换 B.数据报 C.永久虚电路 D.交换式虚电路

答案:D

问题:

下图存在 3 条虚电路(red,green,blue) ,它们都是从 A 或者 B 出发的虚电路,请填写它们的虚电路表(虚电路填写次序: red,green,blue)。

  • 接口编号用黑色字表示. VCI - Virtual Circuits Identifier</span>

图片描述

交换机 S1 的虚电路表:

输入接口输入VCI 输出接口输出VCI
1234
1132
2131

交换机 S2 的虚电路表:

输入接口输入VCI输出接口输出VCI
1422
1231
1132

IP 协议的服务模型:

  • IP(Internet Protocol)协议是因特网的网络层协议
  • IP 协议是可路由的(routable)–全局地址,按层分配
  • IP 协议提供尽力服务(best effort),即无连接无确认的数据报服务
  • IP 协议可以运行在任何网络上

问题:

下面哪些关于 IP 协议的说法是正确的? A.IP 协议是因特网的网络层协议. B.IP 协议可以提供可靠服务. C.IP 协议可以提供一种数据报服务. D.IP 协议是可路由的(routable). E.IP 协议可以用于连接任何物理网络. F.IP 协议具有拥塞控制机制. 答案:ACDE

IP 数据报格式:图片描述

IP 数据报的字段说明:

图片描述

问题:

如果一个 IP 数据报的协议字段的值为 17, 目的主机应该把该数据报交给哪个上层协 议? A.TCP B.UDP C.ICMP D.IGMP 答案:B

IP 数据报的服务类型:

从整体上说明数据报所需的服务,即区分服务(Differeniated Services)。

图片描述

IP 数据报的生存期:

  • 生存期(Time-To-Live,TTL):用于限制其在因特网上的停留时间,实际限制为经过的路由器数,即跳数(hop count)
  • TTL 的初值需要设置为网络直径的两倍
  • 当收到 IP 数据报时,路由器或主机会把它的 TTL 减 1.如果减到 0 时还未到达目的地,则该数据报将被丢弃,路由器会发送一个 ICMP 包告知源主机。

问题:

下面哪些关于 IP 数据报的 TTL 字段的说法是正确的? A.每经过一个路由器 TTL 减 1. B.TTL 的最大值为 128. C.TTL 是数据报经过的跳数. D.TTL 限制了因特网的直径. E.TTL 记录数据报在网上存在的时间. F.TTL 防止数据报长时间滞留在因特网上. 答案:ADF

IP 数据报的分段和重组:

  • 一个物理网络的最大传输单元(MTU)是该网络可以运载的最大有效载荷,即数据帧的数据部分的最大长度
  • 如果一个数据报的大小大于要承载它的网络的 MTU,路由器需要先对该数据报进行分段(fragment)
  • 源主机每次发送 IP 数据报时都会把标识(Identification)字段加 1.分段时用标识的值保持不变,并且用偏移量字段(offset)指出该片段的数据部分相对原来数据报的偏移量(以 8 字节为单位)
  • 当目的主机收到该数据报的所有片段时,它会重组为原来的数据报
  • 当第一个片段到达目的主机时,目的主机会启动一个重组定时器(默认超时值为 15 秒)。如果该定时器到期时没有收集到所有片段,目的主机会放弃本次重组并丢弃该数据报的所有片段
  • DF(Don’t Fragment)为 1 表示不允许分段,MF(More Fragment)为 1 标识后面还有片段

每一种物理网络都会规定链路层数据帧的最大长度,称为链路层 MTU(Maximum Transmission Unit).IP 协议在传输数据包时,若 IP 数据报加上数据帧头部后长度大于 MTU,则将数据报文分为若干分片进行传输,并在目标系统中进行重组。比如说,在以太网环境中可传输最大 IP 报文大小(MTU)为 1500 字节。如果要传输的数据帧大小超过 1500 字节,即 IP 数据报长度大于 1472(1500-20-8=1472,普通数据报)字节,则需要分片之后进行传输。

在网络层,因为 IP 包的首部要占用 20 字节,所以这的 MTU 为 1500-20 = 1480;  在传输层,对于 UDP 包的首部要占用 8 字节,所以这的 MTU 为 1480-8 = 1472;     

例 1:

图片描述

数据大小为 1400B,MTU 最大传输单元为 532,ip 包的首部占用 20 字节,532-20=512,因为以 8 字节为单位,:

第一个片段:OFFSET=0,MF=1;

第二个片段:OFFSET=64,MF=1;

第三个片段:OFFSET=128,MF=0.

例 2:

一个没有选项的 IP 数据报的总长度为 3000 字节,标识(iden)是 10034,DF=0,OFFSET=0,要转发到 MTU 为 800 的一个物理网络上。如果前面的片段尽量大,如何划分片段?填写这些片段的 iden、offset、MF: 

解析:(800-20)/8=97,每个片段最大偏移量为 97

3000/8=375  375-291>97,所以片段 3 即为最后一个片段

 idenoffsetMF
片段01003401
片段110034971
片段2100341941
片段3100342910

例 3:

如果上题的第二个片段在后面的一个路由器上要转发到 MTU=300 的物理网络上,要继续划分片段,填写这些片段的 iden、offset、MF:

解析:要转发的第二个片段为 97~194 的片段,(300-20)/8=35,每个片段偏移量为 35,所以:

 idenoffsetMF
片段110034971
片段2100341321
片段3100341671

问题:如果不带选项的 IP 数据报被分段, 这些片段头部的哪些字段可能与原数据报头部字段的内容不一样?

A.header checksum B.MF C.offset D.TTL E.total length F.Identification G.destination address H.protocol 答案:ABCE

IP 数据报的选项:

一般格式为:图片描述

图片描述

记录路由选项:

图片描述

指针字段指向下一个IP地址的位置: 4()840()

该数据报经过的每个路由器记录转出接口的IP地址,直到记满9个地址。

例:IP 的记录路由选项中如果指针为 16,表示记录了多少个 IP 地址?

答案:3 个,指针为 4 时 0 个,为 8 时 1 个,为 12 时 2 个,为 16 时 3 个

可以使用 ping -r 命令,记录计数跃点的路由,count 有效范围从 1 到 9.

图片描述

使用 ping /?命令可查询相关命令字符含义。 图片描述

IP 数据报的选项