1 网络层的核心功能
转发(forwarding):将分组从路由器的输入端口转移到合适的输出端口
路由(routing): 确定分组从源到目的经过的路径(路由算法)
2 网络层服务模型
无连接服务和连接服务
1)无连接服务
不事先为系列分组的传输确定传输路径
每个分组独立确定传输路径
不同分组可能传输路径不同
典型的无连接服务就是数据报网络
2)连接服务
首先为系列分组的传输确定从源到目的经过的路径(建立连接)
然后沿该路径(连接)传输系列分组
系列分组传输路径相同
传输结束后拆除连接
典型的连接服务就是虚电路网络(virtual-circuit network )
3 虚电路网络(Virtual circuits)(VC)
3.1 简介
一条从源主机到目的主机,类似于电路的路径(逻辑连接)
每个分组的传输利用链路的全部带宽
源到目的路径经过的网络层设备共同完成虚电路功能

3.2 通信过程
呼叫建立(call setup)→数据传输→拆除呼叫
3.3 VC的实现
3.3.1 每条虚电路包括
1) 从源主机到目的主机的一条路径
2)虚电路号(VCID), 沿路每段链路一个编号
3)沿路每个网络层设备(如路由器),利用VC转发表记录经过的每条虚电路
3.3.2 关于VCID
1)沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址
2)同一条VC ,在每段链路上的VCID通常不同(由于每一段链路的通信能力是不一样的,所能支持的虚电路号的数量是不同的,一般来说,链路带宽越大,所能支持的虚电路号越多,所以采用局部化管理)
3)路由器转发分组时依据转发表改写/替换VCID
3.4 VC转发表

如上图,主机H1要和H2通信,先要建立连接。会生成从源主机到目的主机的一条路径(具体怎么选择路径的就不关注的),如上图红线。
在路由器R1的VC转发表会记录一条数据,输入接口1输入VCID为12,会被转发到输出接口3,且VCID被替换为22
在路由器R2的VC转发表会记录一条数据,输入接口1输入VCID为22,会被转发到输出接口3,且VCID被替换为32
H1给H2发送数据,VCID为12,从接口1点到R1,R1查询VC转发表,将数据转发到接口3输出,且把VCID替换为22
数据通过接口1到达R2,R2查询VC转发表,将数据转发到接口3输出,且把VCID替换为32,最后到达H2
4 数据报网络
4.1 简介
1)网络层无连接
2)每个分组携带目的地址
3)路由器根据分组的目的地址转发分组
基于路由协议/算法构建转发表
检索转发表
每个分组独立选路,也就是说,同一批分组到达目标的路径可能不同(因为,虽然目标地址一致,但是转发表是会更新变化的)

4.2 数据报转发表
路由算法确定通过网络的端到端的路径
转发表确定在本路由器如何转发分组

如果,转发表里面记录所有的ip的转发信息,ip地址是32位的,大概40多亿个ip,那么这个转发表也太大了。所以这么存储时不可行的。
所以,可以采用地址范围而不是具体的某个ip。
4.3 最长前缀匹配优先
例
那么:11001000 00010111 00010110 10100001 应该从接口0转发
那么:11001000 00010111 00011000 10101010,这个和1号接口描述的地址范围以及2号接口描述的地址范围都可以匹配上,优先匹配更详细的地址范围,所以应该从接口1转发
5 数据报网络和VC网络
数据报网络
1)计算机之间的数据交换
“弹性”服务,没有严格时间需求
2)链路类型众多
特点、性能各异
统一服务困难
3)“智能”端系统 (计算机)
可以自适应、性能控制、差错恢复
4)简化网络,复杂“边缘
VC网络
电话网络演化而来
核心业务是实时对话
严格的时间、可靠性需求
需要有保障的服务
“哑(dumb)” 端系统(非智能)
电话机
传真机
简化“边缘” ,复杂网络
分类:
计算机网络基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?