网络 | 01. 计算机网络基础绪论与体系架构

  • 基本概念:node、link、网络、互联网、因特网

    • 网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成。
    • 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网,可以理解为,互联网是“网络的网络(Netwrok of Networks)”。
    • 因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)
  • 因特网提供商叫做ISP(internet service provide)

    • 目前有三层结构:
      • 第一层是国际性连接的大网,主干网
      • 第二层是地区性的
      • 第三层是用户的局域网(校园网、家庭局域网等)
    • 网络提供是有标准的,其制定组织叫做ISOC,有多个委员会组成的国际性组织
    • 其结构也可以区分为核心区域(路由器、通信基站)和边缘区域(用户终端)
  • 电路交换(Circuit Switching):直接用线将两个机器连接起来;电话交换机(有点像是之前说的集线器);电信网
    • /image/image-20250608025229-57615zf.png
    • 拨号建立连接(分配资源) -> 通话(始终占用通信资源) -> 释放连接(归还通信资源)
    • 计算机数据是突发式的,其使用电路交换效率会很低
  • 分组交换(Packet Switching):用路由器连接的网络;
    • 将数据划分为小段,加上必要的通信信息(包头)后称为“包”(构造/发送分组)
    • 根据包头中的信息找到下一个分组交换机(可以乱序或原序?)(缓存/转发分组,可以同时缓存和转发)
    • 得到数据之后再进行数据的重建(接受/还原分组)
  • 报文交换(已经被时代淘汰了):直接发送,不需要建立连接;不限制大小,需要有较大的缓存空间;可以同时发送给多个地址
  • /image/image-20250608025749-cfqo4yu.png
  • /image/image-20250608030152-tbw6xjv.png
  • 定义:不统一;互联、自治、计算机集合
    • 互联是说可以通过连接进行数据通信
    • 自治是说要求独立的计算机
    • 集合是说至少两个
  • 计算机网络的较好的定义是:计算一些通用的、可可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数信号)。这些可编程硬件可以传送多种不同类型的数据,并能支广泛的和日益增长的应用。
  • 分类
    • 根据交换技术分类
    • 使用者分类:公用网/专用网(军队、铁路等)
    • 传输介质:有线/无线
    • 覆盖范围:广域网WAN(国家层面)、城域网MAN(这两年开始火起来了)、局域网LAN(学校/企业)、个域网PAN(个人区域网,打印机、鼠标、键盘之间的连接,距离很近,不严格算是网络)
    • 拓扑结果分类:总线型网络、星型网络(中央设备敏感)、环形网络(环中信号单向传输)、网状型网络;可以有复合型网络
  • 比特,数据量单位,8bit=1Byte,KB,MB,GB,TB,以2的次方来计算
  • 比特率,数据传输速度的单位,bit/s,kb/s,Mb/s,Gb/s,Tb/s,需要注意的是,速度单位中的kmgt是10的次方,且为小写b(bit)
  • /image/image-20250608031753-y7t0qf2.png
  • 有一个待发送的数据块,大小为100MB,网卡的发送速率为100Mbps,则网卡发送完该数据块需要多长时间?
    • $$ (100 \times 2^{20} \times 8) / (100 \times 10^{6}) $$
    • 做题的时候,需要注意大小写的bB、量级字母出现在速度还是数据量上
  • /image/image-20250608032047-66rkqxy.png
    • 应该是选D,没有给标答
  • 所能传送数据的能力;两点间传输的最高数据率(单位和速率一致)
  • 这个概念和在模拟信号中的说法不一样
  • /image/image-20250608032724-cashneu.png
  • 单位时间内,通过某个网络/信道/接口的数据量
  • 常用测量;受带宽限制,1Gb/s的以太网,其吞吐量只能达到700Mb/s
  • 发送时延=分组长度b / 发送速率(b/s)
  • /image/image-20250608033115-tiex8dg.png
  • (传播时延=信道长度/电磁波传输速度、处理时延不方便计算,通常忽略不计)✖️多个
  • /image/image-20250608033231-1c0nrqb.png
  • /image/image-20250608033359-f2qq2yi.png
  • 大数据包,发送时延占主导;小数据包,传播时延占主导
  • /image/image-20250608033534-42hf2sp.png
  • 可以理解为管道的“体积”;链路长度!
  • 双向传输下的时间,很有用
  • 卫星链路上耗时较多,因为距离太远
  • /image/image-20250608033900-h0qy8u6.png
  • 不宜太高或太低
  • 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的处比率。
  • 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
  • 运维人员关心指标,普通用户来说通常意识不到网络丢包
  • 分组丢失主要有两种情况:
    • 分组在传输过程中出现误码,被结点丢弃:
    • 分组到达一台队列已满的分组交换机时被丢弃:在通信量较大时就可能造成网络拥塞。
  • 存在拥塞处理方法,在缓存未满的时候就主动丢弃分组,因而丢包率反应网络拥堵状态
    • 1-4%的时候是轻度拥塞,5-15时为重度拥塞

  • OSI体系结构是法律上的国际标准,但是并没有完全被使用,其由专家学者制定、效率不够高,在实际使用中并不好用

  • 因特网自1983年使用TCP/IP体系结构,虽然早期由学者制定,但也逐步被市场占领

  • /image/image-20250616225937-buitlld.png
  • 路由器往往只含有网络接口层和网际层,而用户电脑一般则具有全部的四层

  • /image/image-20250616230150-plyvptr.png
    • 其中TCP是可信传输,UDP是不可信传输协议
    • TCP/IP协议族,协议栈
  • 在学习过程中使用【五层原理体系结构】:物理层、数据链路层、网络层、运输层、应用层

  • 计算机网络结构分层的必要性

    • 将庞大问题划分为较小的局部问题!
    • 物理层的问题:传输介质/媒体、物理接口、怎么表示比特信号(试剂不是方波信号)
    • 数据链路层:在总线网络中,如何知道信号何时接受?需要在网络中标识各个主机(主机编址问题,如MAC地址),地址和信号的封装格式问题,如何协调主机如何征用总线
    • 网络层:在局域网和主机互联之后,网络和主机共同编组的问题(IP地址);原主机和目的主机之间可能不止一条路径,路由器需要确定如何转发,如何选择路由;
    • 运输层:同一个主机上的多个不同进程,在信息来临时,如何确定交接给谁?如果数据传输时出现问题,如何让处理?
    • 通过应用间进程的交互来完成特定的网络应用交互,如http、smtp等
    • /image/image-20250616231408-9m4reco.png
  • 实例解释分层思想:

    • 应用层数据生成HTTP报文,运输层加上TCP首部,得到TCP报文段,确保实现可靠传输
    • 网络层添加IP首部,得到IP数据报,将其交接给数据链路层
    • 在数据链路层给数据加上收尾标记,形成帧,其首部使数据可以正确传输,尾部则带有数据校验码;
    • 物理层将数据转变为比特流,加上前导码进行传输
    • 路由器收到信号后,逐层解码物理层将信号转变为比特流后,去除前导码,将帧交付链路层,提取IP数据报信息交付给网络层
    • 路由器在网络层得到IP数据报后,提取目的网络地址信息,查找自身路由表,确定转发端口,再将这样的数据重新经链路层封装为帧,物理层将其封装为比特流
    • 经传输介质发送到服务器,再经过逐层解析,得到HTTP请求信息
    • 服务器处理完成信息后再将响应信息逐步封装,发回请求主机
  • 专用术语

    • 实体:可以发送或接受信息的硬件或软件进程
      • 对等实体:首发双方相同层次中的实体,如首发双方的网卡或通信进程
    • 协议:控制两个对等实体进行**逻辑通信**的规则的集合
      • 需要注意的是,这里的通信并不真实存在,只是抽象出来为了方便处理信息
      • /image/image-20250616233046-8hq9p8j.png
      • 协议的三大要素
        • 语法:定义所交换信息交换的格式,哪些字段、何种顺序、多少长度等
        • 语义:定义收发双方需要完成的操作,如如何处理请求和响应等
        • 同步:定义收发双方的时序关系,如TCP协议三报文握手建立连接
    • 服务:在协议控制下,两个对等实体间的逻辑通信似的本层能够向上一层提供服务,如物理层给链路层提供服务
      • /image/image-20250616233551-7dagho3.png
      • 由图,协议是水平的,服务是垂直的

      • 实体可以看见相邻下层所提供的服务,但不知道实现该服务的具体协议(下层协议对上层实体是透明的,但上层并不需要搞清楚下层干了什么)

      • 服务访问点:同一系统中,相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型,如运输层的服务访问点为端口号,网络层为IP数据报首部中的协议字段等

        • ​#Q#​ 是和上层的接口还是下层的接口?
      • 服务原语:上层使用下层所提供服务必须通过与下层交换一些命令,这些命令称为服务原语

      • 协议数据单元 PDU:对等层次之间传送的数据包;服务数据单元 SDU:同一系统内,层与层之间交换的数据包

        • /image/image-20250616234337-ds97e3h.png
        • 多个SDU可以合成为一个PDU,一个SDU也可以划分为几个PDU ‍