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

文章目录

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

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

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

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

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

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

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


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

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

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

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

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

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

转发策略

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

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

3. 两种服务的对比

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

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

数据报转发策略:

相关推荐
我不会插花弄玉16 小时前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
Rabitebla17 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
火云代理17 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
xbzb19 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
火云代理20 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖21 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
火云代理1 天前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城1 天前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
YLCHUP1 天前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
科研邪修法1 天前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络