计算机网络——03网络核心

网络核心

网络核心

  • 网络核心:路由器的网络状态
  • 基本问题:数据怎样通过网络进行传输
    • 电路交换:为每个呼叫预留一条专有电路
    • 分组交换
      • 将要传送的数据分成一个个单位:分组
      • 将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端
      • 每段:采用链路的最大传输能力(带宽)

网络核心:电路交换

端到端的资源被分配给从源端到目标端的呼叫“call”

  • 图中,每段链路有4条线路:
    在这里插入图片描述

    • 该呼叫采用了上面链路的第二个线路,右边链路的第一个链路(piece)
  • 独享资源:不同享

    • 每个呼叫一旦建立起来就能够保证性能
  • 如果呼叫没有数据发送,被分配的资源就会被浪费(no sharing)

  • 通常被传统电话网络采用

为呼叫预留端-端资源

  • 链路带宽、交换能力
  • 专用资源:不共享
  • 保证性能
  • 要求简历呼叫连接

网络资源(如带宽)被分成

  • 为呼叫分配片
  • 如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)
  • 将带宽分成片
    • 频分(FDM)
    • 时分(TDM)
    • 波分(WDM)

电路交换不适合计算机之间的通信

  • 建立连接时间长
  • 计算机之间的通信有突发性,如果使用线路交换,则浪费的片段多
    • 即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用
  • 可靠性不高?

网络核心:分组交换

以分组为单位存储-转发方式

  • 网络带宽资源不再被分为一个个片,传输时使用全部带宽
  • 主机之间传输的数据被分为一个个分组

资源共享,按需使用

  • 存储、转发:分组每次移动一跳(hop)
    • 在转发之前,节点必须收到整个分组
    • 延迟比线路交换要大
    • 排队时间

分组交换:存储-转发

  • 被运输到下一个链路之前,整个分组必须到达路由器:存储-转发
  • 在一个速率为R bps的链路,一个长度为L bps的分组存储转发延时:L/R s

分组交换:排队延迟和丢失

  • 如果到达速率 > 链路的输出速率
    • 分组将会排队,等待传输
    • 如果路由器的缓存用完了,分组将会被抛弃

网络核心的关键功能

  • 路由:决定分组采用的源到目标的路径
  • 转发:将分组从路由器的输入链路转移到输出链路

分组交换:统计多路复用

在这里插入图片描述

A & B时分复用链路资源
A & B分组没有固定的模式 → 统计多路复用

分组交换 vs. 电路交换

分组交换允许更多用户使用网络
分组交换是“突发数据的胜利者”

  • 适用于对突发式数据传输
    • 资源共享
    • 简单,不必建立呼叫
  • 过度使用会造成网络拥塞,分组延时和丢失
    • 对可靠的数据传输需要协议来约束:拥塞控制

分组交换网络:存储-转发

分组交换:分组的存储转发一段一段从源端到目标端,按照有无网络层的连接,分成:

  • 数据报网络
    • 分组的目标地址表示下一跳
    • 在不同的阶段,路由可以改变
    • 类似于问路
    • Internet
  • 虚电路网络
    • 每个分组都带有标签,虚电路标识VC ID,标签决定下一跳
    • 呼叫建立时决定路径,在整个呼叫中路径保持不变
    • 路由器维持每个呼叫的状态信息
    • X.25ATM

数据报的工作原理

  • 在通信之前,无须建立起一个连接,有数据就传输
  • 每一个分组都独立路由(路径不一样,可能会失序)
  • 路由器根据分组的目标地址进行路由

虚电路的工作原理

在这里插入图片描述

相关推荐

  1. 计算机网络03

    2024-02-05 11:50:02       48 阅读
  2. 计算机网络——02网络边缘

    2024-02-05 11:50:02       52 阅读
  3. 计算机网络概论01

    2024-02-05 11:50:02       47 阅读
  4. 计算机网络01

    2024-02-05 11:50:02       45 阅读
  5. 计算机网络02

    2024-02-05 11:50:02       39 阅读
  6. 计算机网络04

    2024-02-05 11:50:02       45 阅读
  7. 计算机网络05

    2024-02-05 11:50:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-05 11:50:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-05 11:50:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-05 11:50:02       87 阅读
  4. Python语言-面向对象

    2024-02-05 11:50:02       96 阅读

热门阅读

  1. Python 处理小样本数据的文档分类问题

    2024-02-05 11:50:02       53 阅读
  2. 字符串工具类

    2024-02-05 11:50:02       40 阅读
  3. Chapter 8 - 6. Congestion Management in TCP Storage Networks

    2024-02-05 11:50:02       59 阅读
  4. 算法提升——LeetCode383场周赛总结

    2024-02-05 11:50:02       57 阅读
  5. 力扣_字符串3—通配符匹配

    2024-02-05 11:50:02       37 阅读
  6. prettier和eslint冲突怎么解决?

    2024-02-05 11:50:02       58 阅读
  7. LINUX 日常使用命令

    2024-02-05 11:50:02       41 阅读