• 4.2网络层提供的两种服务


    • 在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。

    • 争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统

    面向连接的虚电路服务

    一种观点:让网络负责可靠交付

    • 这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络,使用面向连接的通信方式。

    • 通信之前先建立虚电路 (Virtual Circuit),以保证双方通信所需的一切网络资源。

    • 如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失、不重复。

    img

     

    发送方 发送给 接收方 的所有分组都沿着同一条虚电路传送

    • 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。

    • 请注意,电路交换的电话通信是先建立了一条真正的连接。

    • 因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样

    无连接的数据报服务

    另一种观点:网络提供数据报服务

    • 互联网的先驱者提出了一种崭新的网络设计思路。

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

    • 网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。

    • 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。

    img

     

    发送方 发送给 接收方 的分组可能沿着不同路径传送

    尽最大努力交付

    • 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付(包括差错处理、流量控制等)

    • 采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。

    • 互连网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。

    虚电路服务与数据报服务的对比

    对比的方面虚电路服务数据报服务
    思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证
    连接的建立 必须有 不需要
    终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址
    分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发
    当结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化
    分组的顺序 总是按发送顺序到达终点 到达终点时不一定按发送顺序
    端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责
  • 相关阅读:
    jquery笔记
    linux的日常经常使用的命令
    IDEA设置类注解和方法注解(详解)
    java读取项目或包下面的属性文件方法
    枚举类的使用
    将一个浮点数转化为人民币大写字符串
    简单五子棋实现
    crontab 设置服务器定期执行备份工作
    linux创建日期文件名
    代码层读写分离实现
  • 原文地址:https://www.cnblogs.com/YXBLOGXYY/p/15410578.html
Copyright © 2020-2023  润新知