TCP/IP协议族【第四章网络层简介】
4.1 简介
交换(switching)的处理过程发生在连接设备上。
4.2 交换(switching)
4.2.1 电路交换(circuit switching)
电路交换(circuit switching)中,完整的、没有被分割成分组的报文从源点发送到终点。
4.2.2 分组交换
在分组交换网(packet switching)中,源点在传送之前先要将报文分割成便于管理的分组(称之为数据报datagram)。这些分组在到达终点后被重新组装。
分组交换的选择路由方式:数据报方式,虚电路方式。
4.3 网络层的分组交换
4.3.1 无连接服务
最初,网络层被设计为无连接服务((connectionless service)。
在无连接分组交换网(connectionless packet switching)中,转发判决的依据是该分组的目的地址。
4.3.2 面向连接的服务
在面向连接的服务中(connection-oriented service)中,属于同一个报文的所有分组之间是有关联的。
除了源地址、目的地址外,还需要流标号(flow label),也就是虚电路标识符(virtual circuit identifier),用来指定这些分组应当采取的虚路径。
各分组的转发依据是包含在分组中的标号。
要建立面向连接的服务必须经过以下三个阶段的处理过程:建链、数据传送和拆链。
在建链(setup
phase)阶段,路由器要为一条虚电路创建一个表项。包含请求分组、确认分组过程。
数据传送(data
transfer phrase)当路由器为特定的虚电路创建各自路由表后,属于同一报文的所有网络层分组就可以一个一个发送出去。
拆连接段(teardown pharse)数据源A发送完所有分组后就向终点B发一个拆链分组的特殊分组,终点B用一个证实分组响应,所有路由器就将各自路由表删除对应的表项。
4.4 网络层的服务
4.4.1 是一个例子
4.4.2 逻辑编址
网络层地址或逻辑地址中此类标识是通过全球统一的编址机制为网络层提供的。
4.4.3 源计算机提供的服务
源计算机上的网络层提供四种服务:分组化处理、查找下一跳的逻辑地址、查找下一跳的物理(MAC)地址以及对数据报进行必要的分片处理。
分组化处理:
网络层的第一个任务就是要将来自上层的数据封装到一个数据报中。
查找下一跳的逻辑地址:
准备好的数据报包含了该分组非逻辑地址和目的地址,没有包含下一跳的逻辑地址,需要咨询路由表找出下一跳的逻辑地址。
查找下一跳的MAC地址:
网络层并不是真的讲数据报交付给下一跳,而是有物理链路层来负责真正的交付。数据链路层需要下一跳的MAC地址才能交付,为了查找下一跳的MAC地址,网络层可以使用另一张表以便将下一跳的逻辑地址映射为MAC地址。使用了地址解析协议(ARP).
分片:
因为帧存在最大长度(MTU)的限制,再被传输到物理链路层之前,数据报可能被分片成许多更小的单元,分片过程中数据被分割,但是首部不变。还要在首部二外表明该分片在整个数据报的位置。
4.4.4 各路由器提供得到服务
网络层负责接受来自入接口数据链路层的数据报,如有必要进行分片处理,然后将这个数据报片交付给出接口的数据链路层。
三个处理过程(分组化处理、查找下一跳的逻辑地址、查找下一跳的物理(MAC)地址)与上面一样,增加了检查数据报的有效性。
4.4.5 目的计算机提供的服务
目的计算机在向终点交付这些数据之前需要重组数据报片。
注:分片处理对上层来说是完全透明的,因为在所有的数据报片都到达并且被重组之前,网络层不会向上层交付任何不完整的数据。
重组过程是非常精细和复杂的。
4.5 其他网络层的问题
4.5.1 差错控制
差错控制(error control)包括对损坏、丢失以及重复的数据报进行检测的机制。差错控制还包括在检测到错误之后的纠错机制。
在路由器处理数据报时出现的差错,数据链路层是无法检测出来的。
不过,网络层的设计者还是在数据报上增加了一个检验和字段,它可以控制在首部中出现的任何损坏,而不是针对整个数据报的。
4.5.2 流量控制
流量控制(flow control)用于调整源点发送的数据量以免接收方超载。
在目前版本的因特网中,网络层不提供任何流量控制。
4.5.3 拥塞控制
无连接网络中的拥塞控制(congestion control)使用ICMP(Internet Control Message Protocol),还有一种改善拥塞的方法是将分组按其在整个报文中才重要程度划分等级。
面向连接网络中拥塞控制:先检查现有通信量,并与自己的最大允许量比较,才建立虚电路。
服务质量(quality of service,QOS)
路由选择(routing)路由选择(routing)协议可以分为两大类:单播的和多播的
安全性:设计之初没有考虑,后来增加一层虚拟层ipsec来吧无连接网络转变为面向连接网络。
*****************************************************************************************************
通信过程的3个阶段比较核心。