• 计算机网络学习笔记(I)——概述


    第一章—概述

    1.1、什么是Internet?

    从具体构成角度:
    • 节点
      • 主机上运行的应用程序
      • 路由器、交换机等网络交换设备
    • 边:通信链路
      • 接入网链路:主机连接到互联网的链路
      • 主干链路:路由器间的链路
    • 协议
    • 数以亿计的、互联的计算设备
      • 主机 = 端系统
      • 运行的网络应用程序
    • 通信链路
      • 光纤、同轴电缆、无线电、卫星
      • 传输速率 = 贷宽
    • 分组交换设备:转发分组
      • 路由器和交换机
    • 协议控制发送、接收消息
      • 如TCP、IP、HTTP、FTP、PPP
    • Internet:“网络的网络”
      • 松散的层次结构、互连的ISP
      • 公共Internet 专用internet
    • Internet标准
      • RFC:Request for comments(请求评述)
      • IEIF:Internet Engineering Task Force
    什么是协议?
    • 协议定义了在两个或多个通信实体之间交换的报文格式次序,以及在报文传输或接收或者其他方面所采取的动作
    从服务角度:
    • 使用通信设施进行通信的分布式应用
      • Web、VoIP、Email、分布式游戏
    • 通信基础设施为apps提供编程接口(通信服务)
      • 将发送和接受数据的apps与互联网连接起来

    1.2、网络边缘

    网络结构:
    • 网络边缘
      • 主机
      • 应用程序
    • 网络核心
      • 互连着的路由器
      • 网络的网络
    • 接入网、物理媒体
      • 有线或者无线通信链路
    网络边缘:
    • 端系统
      • 运行的程序
      • 如We、Email
      • 在“网络的边缘”
    • 客户/服务器模式
      • 客户端像服务器请求、接受服务
      • 如Web浏览器/服务器:email客户端/服务器
    • 对等(peer—to—peer) 模式
      • 很少(甚至没有)专门的服务器
    网络边缘:采用网络设施的面向连接服务
    • 目标:在端系统之间传输数据
      • 握手:在数据传输之前做好准备
        • 两个通信主机之间为连接建立状态
      • TCP:传输控制协议(Transmission Control Protocol)
        • Internet上面向连接的服务
    • TCP服务
      • 可靠的、按顺序地传送数据
        • 确认和重传
      • 流量控制
        • 发送方不会淹没接收方
      • 拥塞控制
        • 当网络拥塞时,发送方降低发送速率
    网络边缘:采用基础设施的无连接服务
    • 目标:在端系统之间传输数据

      • 无连接服务
      • UDP:用户数据报协议(User Datagram Protocol)
        • 无连接
        • 不可靠数据传输
        • 无流量控制
        • 无拥塞控制
    • 使用TCP的应用:

      • HTTP(Web)、FTP(文件传送)Telent(远程登录)、SMTP(email)
    • 使用UDP的应用:

      • 流媒体、远程会议、DNS、Internet电话

    1.3、网络核心

    网络核心:路由器的网状网络

    基本问题: 数据怎样通过网络进行传输?

    • 电路交换:为每个呼叫预留一条专有电路
    • 分组交换
      • 将要传送的数据分成一个个单位
      • 将分组从一个路由器传到相邻的路由器,一段段最终从资源端传到目标端
      • 每段采用链路的最大传输能力(带宽)
    电路交换:

    电路交换是:建立连接(占用通信资源)—> 通话(一直占用通信资源)—> 释放连接(归还通信资源)

    端到端的资源分配给从源端到目标端的呼叫:

    • 独享资源:不共享:每个呼叫一旦建立起来就能够保证性能
    • 如果呼叫没有数据发送,被分配的资源就会被浪费

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

    • 为呼叫分片
    • 将带宽分片
      • 频分(Frequencydivision multiplexing)
      • 时分(Time-division multiplexing)
      • 波分(Wave-division multiplexing)

    image-20221120154616915

    分组交换

    分组交换采用存储转发技术。以分组为单位存储—转发,资源共享,按需使用。

    • 网络带宽资源不再分一个个片,传输时使用全部带宽
    • 主机之间传输的数据被分为一个个分组
    • 存储—转发:分组每次移动一跳

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

    1. 数据报网络:
      • 分组的目标地址决定下一跳
      • 在不同的阶段,路由可以改变
    2. 虚电路网络:
      • 每个分组都带标签(虚电路标识 VC ID),标签决定下一跳
      • 在呼叫建立时决定路径,在整个呼叫中路径保持不变
      • 路由器维持每个呼叫的状态信息

    存储—转化:

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

    排队延迟和丢失:

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

    网络核心的关键功能:路由和转发

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

    1.4、分组延时、丢失和吞吐量

    四种分组延时
    • 处理延时

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

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

      • R = 链路带宽(bps)
      • L = 分组长度(bits)
      • 将分组转发到链路上的时间 R / L
    • 传播延时

      • d = 物理链路长度
      • s = 在媒体上的传播速度(~2* 10 ^ 18)
      • 传播延时:d / s
    节点延时

    节点延时: d   n o d a l = d   p r o c + d   q u e u e + d   t a n s + d   p r o p d~nodal = d~proc + d~queue + d~tans + d~prop d nodal=d proc+d queue+d tans+d prop

    dproc = 处理延时 :通常是微妙级别或更少

    dqueue = 排队延时:取决于拥塞程度

    dtans = 传输延时:=L / R

    dprop = 传播延时:几微秒到几百毫秒

    排队延时
    • R = 链路带宽(bps)

    • L = 分组长度(bits)

    • a = 分组到达队列的平均速率

    流量强度 = La / R

    • La / R ~ 0:平均排队延时很小
    • La / R -> 1:延时变得很大
    • La / R > 1:比特到达队列的速率超过了该队列输出的速率,平均排队延时将趋向无穷大

    分组丢失的原因:链路的队列缓冲容量有限、当分组到达一个满队列时,该分组会丢失、丢失的分组可能会被前一个节点或源端系统重传

    吞吐量

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

    • 瞬间吞吐量:在一个时间点的速率
    • 平均吞吐量:在一个长时间内平均值

    **端到端平均吞吐=**min{R1, R2, R3, … , Rn}

    image-20221121090656191

    1.5、协议层次和服务模型

    协议的层次:

    层次化方式实现复杂网络功能:

    • 将网络复杂的功能分层能明确层次,每层实现一个或一组功能,功能中有其上层可以使用的功能:服务
    • 本层协议实体相互交互执行本层的协议动作,目的实现本层功能,通过接口为上层提供更好的服务
    • 在实现本层服务的时候,直接利用下层所提供的服务
    • 本层的服务:借助下层服务实现本层协议实体之间交互带来的新功能+下层所提供的服务
    服务和服务访问点

    服务(Service):底层实体向上层实体提供他们之间的通信能力

    • 服务用户(service user)
    • 服务提供者(service provide)

    原语(primitive):上层使用下层服务形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的形式

    服务访问点SAP(Service Access Point):上层使用下层提供的服务通过层间接口—地点。

    • 地址(address):下层的一个实体支撑着上层的多个实体,SAP由于标志不同上层实体的作用
    • 可以有不同的实现队列
    服务类型
    • 面向连接的服务和无连接的服务方式

      • 面向连接的服务(Connection—orient—Service)

        • 连接:两个通信实体为进行通信而建立的一种结合

        • 面向连接的服务通信的过程:建立连接,通信,拆除连接

        • 例子:网络层的连接被成为虚电路

        • 适用范围:大的数据块要传输,不适合小的零星报文

        • 特点:保序

        • 服务类型:

          👉可靠的信息流 传送页面

          👉可靠的字节流 远程登录

          👉不可靠的连接 数字化声音

      • 无连接的服务(Connectionless Service)

        • 无连接服务:两个对等层实体在通信前不需要建立连接,不预留资源;不需要通信双方都是活跃

        • 特点:不可靠、可能重复、可能失序

        • 例子:IP分组、数据包

        • 适用范围:适合传送零星数据

        • 服务类型:

          👉不可靠的数据报 电子方式的函件

          👉有确认的数据报 挂号信

          👉请求回答 信息查询

    服务和协议
    • 服务和协议的区别
      • 服务(service):低层实体向上层实体提供他们之间的通信能力,是通过原语(primitive)来操作的,垂直的
      • 协议(protocol):对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平的
    • 服务与协议的联系
      • 本层协议的实现要靠下层提供的服务来实现
      • 本层实体通过协议为上层提供更高级的服务
    Internet协议栈

    五层协议体系:

    • 应用层:网络应用
      • 为人类用户或者其他应用进程提供网络应用服务
      • FTP、SMTP、HTTP、DNS
    • 传输层:主机之间的数据传输
      • 在网络层提供的端到端通信基础之上,细分为进程到进程,将不可靠的通信转变为可靠的通信
      • TCP 、UDP
    • 网络层:为数据报从源到目的的选择路由
      • 主机之间的通信,端到端通信,不可靠
      • IP、路由协议
    • 链路层:相邻网络节点之间的数据传输
      • 2个相邻2点的通信,点到点通信,可靠或不可靠
      • 点对点协议PPP,802.11(WiFi),Ethernet
    • 物理层:在线路上传送bit

    ISO/OSI的七层协议体系:

    • 应用层:同上
    • 表示层:允许应用解释传输的数据,加密、压缩等
    • 会话层:数据交换的同步,检查点,恢复
    • 网络层:同上
    • 链路层:同上
    • 物理层:同上

    image-20221121160654967

    数据的封装和解封装:

    image-20221121160756234

    各层次的协议数据单元
    • 应用层:报文(message)
    • 传输层:报文段(segment):TCP段,UDP数据报
    • 网络层:分组packet(如果无连接方式:数据报 datagram)
    • 数据链路层:帧(frame)
    • 物理层:位(bit)注:此描述不太准确
  • 相关阅读:
    MySQL高级语句
    【CSS按钮特效】css如何实现科技感好看按钮效果(尾附源码下载)
    @ResponseBodyAdvice & @RequestBodyAdivce失效
    React基础学习-Day04
    自用软件分享,这有几款实用软件
    【论文阅读】【yolo系列】YOLOV7的论文阅读
    【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用
    oracle学习20-ora-00604和ora-00018
    Python内置函数enumerate操作可迭代对象及for迭代
    HTML 之常用标签的介绍
  • 原文地址:https://blog.csdn.net/qq_51929833/article/details/128154653