【计算机网络 | 第十三篇】网络层服务的两种实现方式:无连接和面向连接

文章目录

网络层向运输层提供的服务主要分为两种:无连接的数据报服务面向连接的虚电路服务。互联网选择了前者,而早期的 ATM 等网络技术则选择了后者。

1. 无连接服务:数据报 (Datagram)

数据报服务 的设计思路是网络层向上只提供简单灵活的、无连接的、尽最大努力交付 的服务。

核心特性
  • 无需建立连接:发送分组时不需要预先建立连接,每一个分组(即数据报)独立发送。
  • 独立路由:相同源-目的的数据报可能经过不同的路径传输。
  • 无 QoS 承诺 :网络层不提供服务质量的承诺。传输网络不提供端到端的可靠传输服务,数据报可能出现丢包、乱序、错误
  • 尽力而为:如果网络发生拥塞,路由器会根据策略丢弃分组。
实现机制

在无连接服务中,主机 H1 发送给 H2 的分组可能沿着不同的路径传送。例如,当网络中某个节点发生故障或拥塞时,后续的分组可以动态调整路径。

  • 优点:网络的造价大大降低,运行方式灵活,能够适应多种应用。
  • 缺点:不能保证分组按序到达,接收端可能需要进行重组和排序。
转发策略

数据报的转发决策是基于分组的目的地址。路由器根据转发表,查找目的地址对应的下一跳出口。


2. 面向连接服务:虚电路 (Virtual Circuit)

虚电路服务的设计思路是模仿电信网的电话通信,认为网络应当提供可靠的传输服务。

核心特性
  • 逻辑连接 :虚电路是一条逻辑上的连接。分组都沿着这条逻辑连接按照存储转发方式传送,而不是建立了一条真正的物理连接(这与电路交换不同)。
  • 可靠性:结合可靠传输的网络协议,保证所发送的分组无差错、按序到达终点。
  • 资源预留:在连接建立过程中,如由需要,可以预留网络资源。
工作阶段

面向连接的服务分为三个阶段:

  1. 建立连接:发送方发送"请求分组",接收方回送"确认分组",在沿途路由器中建立转发表项(虚电路表)。
  2. 数据传送:所有分组都沿着同一条虚电路传送。
  3. 释放连接:通信结束后,拆除虚电路,释放资源。

面向连接的服务端三阶段图示:

转发策略

虚电路的转发决策基于分组标签,即虚电路号。

  • 标签交换:路由器根据输入端口和输入标签,查找转发表,确定输出端口和输出标签。
  • 开销较小:相比于查找长的 IP 地址,交换短的标签通常处理速度更快。

3. 两种服务的对比

特性 数据报服务 虚电路服务
连接的建立 不需要 必须有
目的地址 每个分组都有完整的目的地址 仅在建立连接阶段使用,之后使用简短的虚电路号
路由选择 每个分组独立选择路由 建立连接时确定,所有分组沿同一路由
分组顺序 不保证按序到达 保证按序到达
可靠性 尽最大努力交付 (不可靠) 可以由网络保证可靠性
对故障的适应性 强 (节点故障时可重新路由) 弱 (节点故障导致虚电路中断)

互联网的发展历史证明,无连接的数据报服务由于其灵活性和低成本,成为了当今网络层的主流设计思路。

数据报转发策略:

相关推荐
山岚的运维笔记2 小时前
SQL Server笔记 -- 第65章:迁移 第66章:表值参数
数据库·笔记·sql·microsoft·sqlserver
前路不黑暗@3 小时前
Java项目:Java脚手架项目的登录认证服务(十三)
java·spring boot·笔记·学习·spring·spring cloud·maven
Hello_Embed4 小时前
Modbus 传感器开发:STM32F030 libmodbus 移植
笔记·stm32·学习·freertos·modbus
快乐zbc5 小时前
苍穹外卖 - 菜品起售/停售复习笔记
java·笔记
一切顺势而行6 小时前
计算机网络基础
网络·计算机网络
前路不黑暗@6 小时前
Java项目:Java脚手架项目的 B 端用户服务(十四)
android·java·开发语言·spring boot·笔记·学习·spring cloud
嵌入式×边缘AI:打怪升级日志7 小时前
编写Bootloader实现下载功能
java·前端·网络
子辰ToT8 小时前
LearnOpenGL——高级光照(七)HDR
笔记·图形渲染·opengl
2401_888313509 小时前
【程序人生-Hello’s P2P】
计算机网络·ubuntu