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

文章目录

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

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

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

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

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

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

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


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

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

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

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

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

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

转发策略

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

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

3. 两种服务的对比

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

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

数据报转发策略:

相关推荐
做运维的阿瑞6 分钟前
mysql数据库视图笔记:创建、修改、删除与适用场景
数据库·笔记·mysql
@Mike@16 分钟前
12-数据库学习笔记(五种连接算法)
数据库·笔记·学习
韩明君17 分钟前
alacrity学习笔记
笔记·学习
‎ദ്ദിᵔ.˛.ᵔ₎25 分钟前
linux 进程间通信
linux·网络
91刘仁德37 分钟前
传输层协议深度拆解:端口寻址、UDP 报文与 TCP 可靠性机制全解析
linux·网络·c++·网络协议·tcp/ip·udp·c
AIgorithmGEEK1 小时前
[Linux]HTTP 应用层协议全解(中篇)
linux·网络·网络协议·http
坤坤子吖1 小时前
Python基础语法学习:函数
开发语言·笔记·python·学习
91刘仁德1 小时前
HTTPS 加密原理与 CA 数字证书:从对称加密到完整通信流程
网络·笔记·网络协议·http·https
奈落241 小时前
【RAG 深度修炼】专栏 · 第 9 期(收官):安全专题与生产 Checklist 总集——从能跑的 Demo 到睡得着觉的生产系统
大数据·网络·人工智能·安全·ai编程
云杂项1 小时前
Adversarial Neural Network Inversion via Auxiliary Knowledge Alignment(个人笔记)
笔记