计算机网络笔记No.15
网络层服务
网络层中发生的数据传输事件:
- 从发送主机向接收主机传送数据段(segment)
- 发送主机:将数据段封装到数据报(datagram)中
- 接收主机:向传输层交付数据段(segment)
- 每个主机和路由器都运行网络层协议
- 路由器检验所有穿越它的IP数据报的头部域
网络层核心功能 —— 转发与路由 、连接建立
-
转发(forwarding):将分组从路由器的输入端口转移到合适的输出端口
-
路由(routing):确定分组从源到目的经过的路径
路由算法(协议)确定通过网络的端到端路径
在网络设备比如路由器中,都会存有转发表确定如何转发数据
-
连接建立: 某些网络的重要功能(ATM, 帧中继, X.25)
数据分组传输之前两端主机需要首先建立虚拟/逻辑连接,连接主机路径的网络设备都参与- 网络层连接与传输层连接的对比:
- 网络层连接: 两个主机之间 (路径上的路由器等网络设备参与其中)
- 传输层连接: 两个应用进程之间(对中间网络设备透明)
- 网络层连接与传输层连接的对比:
网络层服务模型
-
无连接服务(connection-less service):(数据报网络(datagram network ))
- 不事先为系列分组的传输确定传输路径
- 每个分组独立确定传输路径
- 不同分组可能传输路径不同
-
连接服务(connection service):(虚电路网络(virtual-circuit network ))
- 首先为系列分组的传输确定从源到目的经过的路径(建立连接)
- 然后沿该路径(连接)传输系列分组
- 系列分组传输路径相同
- 传输结束后拆除连接
虚电路网络
数据报(datagram)网络与虚电路(virtual-circuit)网络是典型两类分组交换网络
数据报网络提供网络层无连接服务;虚电路网络提供网络层连接服务
类似于传输层的无连接服务(UDP)和面向连接服务(TCP),但是网络层服务:
- 主机到主机服务
- 网络核心实现
虚电路(Virtual circuits): 一条从源主机到目的主机,类似于电路的路径(逻辑连接)
- 分组交换
- 每个分组的传输利用链路的全部带宽
- 源到目的路径经过的网络层设备共同完成虚电路功能
通信过程: 呼叫建立(call setup)→数据传输→拆除呼叫
- 每个分组携带虚电路标识(VCID),而不是目的主机地址
- 虚电路经过的每个网络设备(如路由器),维护每条经过它的虚电路连接状态
- 链路、网络设备资源(如带宽、缓存等)可以面向VC进行预分配
虚电路的具体实现:
- 每条虚电路包括:
- 从源主机到目的主机的==一条路径 ==
- 虚电路号(VCID), 沿路每段链路一个编号
- 沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路
- 沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址
- 同一条VC ,在每段链路上的VCID通常不同——路由器转发分组时依据转发表改写/替换虚电路号
- VC路径上每个路由器都需要维护VC连接的状态信息!
虚电路信令协议(signaling protocols)
- 用于VC的建立、维护与拆除——路径选择
- 应用于虚电路网络——如ATM、帧中继(frame-relay)网络等
- 目前的Internet不采用
数据报网络
数据报网络:网络层无连接;每个分组携带目的地址;路由器根据分组的目的地址转发分组
- 基于路由协议/算法构建转发表
- 检索转发表
- 每个分组独立选路
数据报网络的转发表使用一种聚合的表,即目的地址是一个范围,因为有40多亿IP地址,不采用此种方式转发表会非常巨大
最长前缀匹配优先:在检索转发表时,优先选择与分组目的地址匹配前缀最长的入口
对比:
————————————————————————————————————————————————————————
由于水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错