网络层
网络层的目的是实现两个端系统之间的数据透明传送
- 从发送主机向接受主机传送数据段(segment)
- 发送主机:将数据段封装到数据报(datagram)中
- 接受主机:向传输层交付数据段(segment)
- 每个主机和路由器都运行网络层协议
- 路由器检验所有穿越它的IP数据报的头部域
网络层核心功能
转发与路由:
- 转发(forwarding):将分组从路由器的输入端口转移到合适的输出端口
- 路由(routing):确定分组从源到母的经过的路径
连接与建立:
网络层支持连接建立功能时
- 数据分组传输之前两端主机需要首先建立虚拟/逻辑连接
- 网络层连接;两个主机之间(路径上的路由器等网络设备都要参与其中)
- 传输层连接:只在端到端即两个应用进程之间连接(对中间网络设备透明)
网络层服务
网络层为发送端(主机)到接收端(主机) 的数据报传送“通道(channel)” 提供无连接服务和连接服务
无连接服务(connection-less service):
- 不事先为系列分组的传输确定传输路径
- 每个分组独立确定传输路径
- 不同分组可能传输路径不同
- 典型代表:数据报网络
连接服务(connection service):
- 首先为系列分组的传输确定从源到目的经过的路径(建立连接)
- 然后沿该路径(连接)传输系列分组
- 系列分组传输路径相同
- 传输结束后拆除连接
- 典型代表:虚电路网络
虚电路网络(virtual-circuit network)
虚电路:一条从源主机到目的主机,类似于电路的路径(逻辑链接) - 分组交换 - 每个分组的传输利用链路的全部带宽 - 源主机到目的主机路径经过的网络层设备共同完成虚电路功能
虚电路包括:
- 从源主机到目的主机的一条路径
- 虚电路号(VCID),沿路每段链路一个编号
- 沿路每个网络层设备,利用转发表记录经过的每条虚电路
- 通信过程
- 呼叫建立(call setup)->数据传输->拆除呼叫
- 首先建立一条逻辑链接,以保证双方通信所需的一切网络资源
- 通过发送呼叫连接请求分组,协商沿途经过的节点
- 用节点中的缓冲区和虚电路号标识一条逻辑信道相连接
- 呼叫连接请求分组到达接收方后,接收方认可所建立的连接
- 发回连接接纳分组,眼园路返回发送端
- 建立虚电路时每个分组分配携带一个虚电路标志(VC ID),而不是目的主机地址
- 虚电路经过的每个网络设备,都需要维护每条经过它的虚电路状态
数据报网络(datagram network)
数据报网络:是"尽力交付"的,是没有质量保证的服务
- Internet因特网采用的就是数据报服务:因特网中网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据包服务
- 网络层无连接
- 每个分组携带目的地址
- 路由器根据分组的目的地址转发分组
- 基于路由协议/算法构建转发表
- 检索转发表
- 每个分组独立选路
虚电路网络和数据报服务的对比:
| 虚电路服务 | 数据报服务 |
---|
思路 | 可靠通信由网络保证 | 可靠通信由主机保证 | 服务方式 | 面向连接 | 无连接 | 地址 | 每个分组首部包含虚电路号 | 分组具有完整目的地址 | 状态信息 | 节点保护每条虚电路的信息 | 子网简单,不存储状态信息 | 分组的转发 | 属于同一条虚电路的分组按同一路由转发 | 每个分组独立选择路由器进行转发 | 路由故障的影响 | 虚电路中断 | 出分组丢失外,无大影响 | 分组到达顺序 | 有序 | 无序 | 拥塞控制 | 在连接建立时可以协商资源 | 实现比较困难 | 流量控制和差错处理 | 子网负责 | 端节点主机负责 |
|