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

文章目录

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

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

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

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

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

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

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


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

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

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

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

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

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

转发策略

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

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

3. 两种服务的对比

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

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

数据报转发策略:

相关推荐
2401_865721335 分钟前
WEEK 3 刷题&学习记录
网络·学习·ctf
强子感冒了1 小时前
Cherry Studio是如何联网的?一次详细的HTTP抓包分析与实现原理探究
笔记
小小小米粒3 小时前
NAT 模式, 仅主机模式 Host-Only ,桥接模式 Bridge
linux·服务器·网络
挨踢学霸7 小时前
技术全面重构|MsgHelper 新版深度拆解:交互、视觉与逻辑的底层优化(二)
经验分享·笔记·微信·架构·自动化
头疼的程序员7 小时前
计算机网络:自顶向下方法(第七版)第三章 学习分享(二)
网络·学习·计算机网络
Blurpath住宅代理7 小时前
代理协议深度解析:HTTP与SOCKS5如何科学选型?
网络·静态ip·动态代理·住宅代理
思麟呀7 小时前
计算机网络初步认识
linux·计算机网络
小二·7 小时前
Go 语言系统编程与云原生开发实战(第38篇)
网络·云原生·golang
昵称只能一个月修改一次。。。7 小时前
Linux系统编程:网络编程
linux·服务器·网络
野犬寒鸦7 小时前
TCP协议核心:TCP详细图解及TCP与UDP核心区别对比(附实战解析)
服务器·网络·数据库·后端·面试