• 中科大郑烇、杨坚 《计算机网络》第一章


    1、计算机网络概念

    1.1 什么是Internet
    • 节点

      • 主机及其上运行的应用程序
      • 路由器、交换机等网络交换设备
    • 边:通信链路

      • 接入网链路主机连接到互联网的链路
      • 主干链路:路由器间的链路
    • 协议

      • 对等层的实体在通信过程当中要遵守一定的规范,这种规范就叫做协议
      • 协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面采取的动作。
      • 协议可以分为不同的层次,应用层协议,网络层协议(IP协议),链路层协议等
        在这里插入图片描述
        协议规范了 语法 语义 时序
    • 互联网:是网络的网络
      * 网络与网络之间通过一系列的网络交换节点进行互联互通
      * 使用通信设施进行通信的分布式应用
      * 通信基础设施为apps提供编程接口(通信服务)

    1.2 网络结构
    • 网络边缘
      • 主机
      • 应用程序(客户端和服务器)
    • 网络核心
      • 互联着的路由器
      • 网络的网络
    • 接入网、物理谋体
      • 有线或者无线通信链路
        在这里插入图片描述
    1.2.1 网络边缘

    目标:在端系统之间传输数据
    1、TCP–传输控制协议(Transmission Control Protocol)

    • 提供面向连接的、可靠地数据传输服务,其数据传输的单位是报文段(segment)
    • 确认和重传
    • 流量控制
      • 发送方不会淹没接收方
    • 拥塞控制
      • 当网络拥塞时,发送方降低发送速率

    2、UDP - 用户数据报协议 (User Datagram Protocol)
     无连接  不可靠数据传输  无流量控制  无拥塞控制
    其数据传输的单位是用户数据报
    UDP适合于实时多媒体

    1.2.2 网络核心
    1、电路交换

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

    为呼叫预留端-端资源
     链路带宽、交换能力
     专用资源:不共享
     保证性能
     要求建立呼叫连接

    计算举例

    在一个电路交换网络上,从主机A到主机B发送一个640,000比特的文件需要多长时间?
    所有的链路速率为1.536 Mbps
    每条链路使用时隙数为24的TDM·建立端-端的电路需500 ms
    每条链路的速率(一个时间片): 1.536Mbps/24 =64kbps
    传输时间:640kb/64kps = 10s
    共用时间:传输时间+建立链路时间=10s + 500ms = 10.5s

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

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

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

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

    资源共享,按需使用:

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

    相当于多个电路交换,延迟更大(排队延迟,存储/转发延迟),而来换取了共享性
    1、存储-转发
    在这里插入图片描述
    2、排队和延迟
    在这里插入图片描述

    如果到达速率>链路的输出速率:

    • 分组将会排队,等待传输

    • 如果路由器的缓存用完了,分组将会被抛弃

    3、网络核心的关键功能
    在这里插入图片描述

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

    4、统计多路复用
    划分时间片的方式,划分是随机的
    在这里插入图片描述

    3、分组交换 VS 电路交换

    同样的网络资源,分组交换允许更多用户使用网络
    分组交换的特点:
    1、适合于对突发式数据传输
    * 资源共享
    * 简单,不必建立呼叫
    2、过度使用会造成网络拥塞:分组延时和丢失
    * 对可靠地数据传输需要协议来约束:拥塞控制

    6、分组交换按照有无网络层的连接分类

    1、数据包网络

    • 分组的目标地址决定下一跳
    • 在不同的阶段,路由可以改变
    • 类似:问路
    • Internent
      在这里插入图片描述
      2、虚电路网络
    • 每个分组都带标签(虚电路标识VC ID),标签决定下一跳
    • 在呼叫建立时决定路径,在整个呼叫中路径保持不变
    • 路由器维持每个呼叫的状态信息
    • X.25和ATM
      在这里插入图片描述
      网络分类
      在这里插入图片描述
    1.3 接入网和物理媒体
    1.4 Internet结构和ISP

    按ISP划分互联网
    互联网结构:网络的网络

    • 端系统通过接入ISPs (Internet Service Providers)连接到互联网
    • 接入ISPs相应的必须是互联的
    • 导致的“网络的网络”非常复杂
    • 让我们采用渐进方法来描述当前互联网的结构

    问题: 给定数百万接入ISPs,如何将它们互联到一起
    在这里插入图片描述
    选项: 将每个接入ISP都连接到全局ISP(全局范围内覆盖)? 客户ISPs和提供者ISPs有经济合约
    在这里插入图片描述

    1.5 分组延时、丢失和吞吐

    1、分组丢失和延时是怎么发生的?

    • 在路由器缓冲区的分组
      • 分组到达链路的速率超过了链路输出的能力
      • 分组等待排到对头、被传输

    在这里插入图片描述

    2、四种分组延时

    • 1)节点处理延时

      • 检查bit级差错
      • 检查分组首部和决定将分组导向何处
    • 2)排队延时

      • 在输出链路上等待传输的时间
      • 依赖于路由器的拥塞程度
    • 3)传输延时

    • 4)传播延时

      • 两个节点之间距离比较近的情况,传输延时可以忽略不计;两个节点之间距离很远,传输延时时间不可忽略
        在这里插入图片描述

    3、分组丢失

    • 链路的队列缓冲区容量有限
    • 当分组到达一个满的队列时,该分组将会丢失丢失的分组可能会被前一个节点或源端系统重传,或根本不重传

    4、吞吐量
    吞吐量:在源端和目标端之间传输的速率(数据量/单位时间)

    • 瞬间吞吐量:在一个时间点的速率平均吞吐量:在一个长时间内的平均值
    1.6 协议层次及服务模型

    1、网络是一个复杂的系统!
     网络功能繁杂:数字信号的物理信 号承载、点到点、路由、rdt、进 程区分、应用等
     现实来看,网络的许多构成元素和设备:
     主机
     路由器
     各种媒体的链路
     应用
     协议
     硬件, 软件

    2、层次化方式实现复杂网络功能:
     将网络复杂的功能分成功能明确的层次,每一层实现了其中一个或一 组功能,功能中有其上层可以使用的功能:服务(垂直关系)
    本层协议实体相互交互执行本层的协议动作(水平关系),目的是实现本层功能, 通过接口为上层提供更好的服务
     在实现本层协议的时候,直接利用了下层所提供的服务
     本层的服务:借助下层服务实现的本层协议实体之间交互带来的 新功能(上层可以利用的)+更下层所提供的服务

    3、服务和协议
    1)服务与协议的区别
    * 服务:低层实体向上层实体提供他们之间的通信的能力,是通过原语(primitive)来操作的,上下层服务是垂直结构
    * 协议(protocol): 对等层实体之间在相互通信的过程中,需要遵循的规则的结合,是水平关系

    2)服务与协议的联系
    * 本层协议的实现要靠下层提供的服务来实现
    * 本层实体通过协议为上层提供更高级的服务

    4、数据单元(DU)
    在这里插入图片描述
    上层的PDU对于本层是SDU,封装后对于本层是PDU
    两者的封装关系:一对一、一个SDU分成多个再进行封装成多个PDU(一对多)、多个SDU封装成一个PDU(多对一)

    5、分层处理和实现复杂系统的好处?
    对付复杂的系统
     概念化:结构清晰,便于标示网络组件,以及描述其 相互关系
     分层参考模型
     结构化:模块化更易于维护和系统升级
     改变某一层服务的实现不影响系统中的其他层次
     对于其他层次而言是透明的
     如改变登机程序并不影响系统的其它部分
     改变2个秘书使用的通信方式不影响2个翻译的工作
     改变2个翻译使用的语言也不影响上下2个层次的工作
     分层思想被认为有害的地方?
    效率相对较低

    6、Internet协议栈
    1)应用层:网络应用
    为人类用户或者其他应用进程提供网络应用服务
    FTP,SMTP,HTTP,DNS

    2)传输层:主机之间的数据传输(区分进程,把不可靠变为可靠)
    在网络层提供的端到端通信基础上,细分为进程到进程,完成应用报文与应用报文之间的交互将不可靠的通信变成可靠地通信
    TCP , UDP

    3)网络层:为数据报从源到目的选择路由(转发、路由)
    在链路层提供的节点到节点通信基础上,网络层提供主机主机之间的通信,以分组为单位在端到端通信传输,不可靠
    IP,路由协议
    网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目标主机

    4)链路层相邻网络节点间的数据传输(p2p关系)(相邻两点间,以帧位单位的传输
    2个相邻2点的通信,点到点通信,可靠或不可靠
    点对对协议PPP,802.11(wifi),Ethernet

    5)物理层:在线路上传送bit(相邻两点间电磁波的承载,以bit的传输)

    在这里插入图片描述
    数据在各层之间的传递过程
    在这里插入图片描述

    7、ISO/OSI参考模型
     表示层: 允许应用解释传输的数据, e.g., 加密,压缩,机器相关的表示转换
     会话层: 数据交换的同步,检查点,恢复
     互联网协议栈没有这两层! (在Internet协议栈在应用层实现)
     这些服务,如果需要的话,必须被应用实现
     需要吗?

    8、封装与解封装
    在这里插入图片描述
    9、各层次的协议数据单元
    应用层:报文(message)
    传输层:报文段(segment):TCP段,UDP数据报
    网络层:分组packet(如果无连接方式:数据报 datagram)
    数据链路层:帧(frame)
    物理层:位(bit)

  • 相关阅读:
    关于重构的基本步骤与注意事项
    openssl3.2 - exp - calc PE file checksum and SHA3-512
    SOLIDWORKS Flow Simulation阀门内流体仿真
    ssm宠物商城管理系统源码
    TCP优化二:TCP 四次挥手性能优化
    C++继承(1)
    Android Jetpack Compose之确定重组范围并优化重组
    基于DBACAN的道路轨迹点聚类
    软件测试之网站测试怎么做?有什么作用?
    神经网络常用模型与应用
  • 原文地址:https://blog.csdn.net/java123456111/article/details/126829538