网络层服务
- 从发送主机到接受主机传送数据段
- 发送主机:将数据段封装到数据包中
- 接受主机:向传输层交付数据段
- 每个主机和路由器都能运行网络层协议
- 路由器检验所有穿越它的IP数据包的头部域
- 决策如何处理IP数据报
网络层的核心功能-转发和路由
转发(forwarding): 将分组从路由器的输入端口转移到合适的输出端口
路由(routing):确定分组从源到目的经过的路径
- 路由算法
网络层核心功能–连接建立
某些网络的重要功能
- ATM, 帧中继, X.25
数据分组传输之前两端主机需要首先建立虚拟/逻辑连接
- 网络设备(如路由器)参与连接的建立
网络层连接和传输层连接的对比:
- 网络层连接:两个主机之间(路径上的路由器等网络设备参与其中)
- 传输层连接:两个应用进程之间(对中间网络设备透明)
网络层服务模型
无连接服务(connection-less service)
- 不事先为系列分组的传输确定传输路径
- 每个分组独立确认传输路径
- 不同分组可能传输路径不同
- 数据包网络(datagram network)
连接服务(connection service)
- 首先为系列分组的传输确定从源到目的经过的路径(建立连接)
- 然后沿该路径(连接)传输系列分组
- 系列分组传输路径相同
- 传输结束后拆除连接
- 虚电路网络(virtual-circuit network)
虚电路网络
数据包网络和虚电路网络是典型两类分组交换网络
类似传输层的无连接服务(UDP)和面向连接服务(TCP),但网络层服务:
- 主机到主机服务
- 网络核心实现
虚电路(virtual circuits)
虚电路: 一条从源主机到目的主机,类似于电路的路径(逻辑连接)
- 分组交换
- 每个分组的传输利用链路的全部带宽
- 源到目的路径经过的网络层设备共同完成虚电路功能
通信过程:
- 呼叫建立(call setup) -> 数据传输 -> 拆除呼叫
- 每个分组携带虚电路标识(VC ID),而不是目的主机地址
- 虚电路经过的每个网络设备(如路由器),维护每条经过它的虚电路连接状态
- 链路、网络设备资源(如带宽、缓存等)可以面向VC进行预分配
- 预分配资源 = 可预期服务性能
- 如ATM的电路仿真(CBR)
VC的具体实现
每条虚电路包括:
- 从源主机到目的主机的一条路径
- 虚电路号(VCID), 沿路每段链路一个编号
- 沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路
沿某条虚电路传输的分组,携带对应虚电路的VCID, 而不是目的地址
同一条VC, 在每段链路上的VCID通常不同
- 路由器转发分组时依据转发表改写/替换虚电路号
VC转发表
虚电路信令协议
- 用于VC建立、维护与拆除
- 路径选择
- 应用于虚电路网络
- 如ATM、帧中继(frame-relay)网络等
- 目前在Internet中不采用