计算机网络复习资料(重点)

第一章 概述

计算机网络在信息时代中的作用

信息时代:以网络为核心

大众熟悉的三大网络:电信网络、有线电视网络、计算机网络(发展最快并起到核心作用的是**计算机网络**)

Internet:全球最大、最重要的计算机网络

互联网的2个重要基本特点连通性(可快捷交换信息,好像连通一样)和**资源共享(资源就好像在身边一样),这两个基本特点是Internet提供许多服务的基础**。

互联网概述

计算机网络:由若干**节点(node)和连接这些节点的链路**(link)组成。

节点可以是计算机、集线器、交换机和路由器等。

互连网(internetwork或internet)多个网络通过一些路由器相互连接起来,构成一个范围更大的计算机网络。与网络相连的计算机常称为主机。(网络的网络,互连网(internet)≠ 互联网(Internet)

互联网基础结构发展的三个阶段

  • 第一阶段:ARPANET:最初只是一个单个的分组交换网,不是一个互连网。1983年,TCP/IP协议成为ARPANET上的标准协议。人们把1983年作为互联网的诞生时间。

  • 第二阶段:NSFNET三级结构(主干网、地区网和校园网)

  • 第三阶段:互联网服务提供者ISP:提供接入到互联网的服务。多层次ISP结构(主干ISP、地区ISP和本地ISP)。

    互联网交换点IXP:允许两个网络直接相连并快速分组。

      			**内容提供者**:在互联网上向所有用户提供视频等内容的公司。**不向用户提供互联网的转接服务。**
    

标准发布:以RFC(请求评论)的形式。但并非所有的RFC文档都是互联网标准。

互联网的组成(重点)

互联网的组成:

  • 边缘部分:由所有连接在互联网上的主机端系统)组成,由用户直接使用用来进行通信(传送数据、音频和视频)和资源共享。
  • 核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)

小的端系统:普通个人电脑、智能手机、网络摄像头等。

大的端系统:非常昂贵的大型计算机或服务器。

端系统的拥有者:可以是个人、单位、或某个ISP。

端系统之间的两种通信方式

  • 客户/服务器方式:Client/Server方式,简称为C/S方式。描述的是进程之间服务和被服务的关系,客户是服务的请求方,服务器是服务的提供方。客户和服务器的通信关系建立后,通信可以是双向的,客户和服务器都可以发送和接受数据。
  • 对等方式:Peer to Peer方式,简称为P2P方式。两台主机在通信是不区分服务请求方和服务提供方,只要运行了P2P软件,就可以进行平等的、对等连接通信

客户程序与服务器程序的主要特点

  • 客户程序:被用户调用后运行,需要主动向远地服务器发送通信(请求服务)。必须知道服务器程序的地址。
  • 服务器程序:一直不断地运行着被动地等待并接受来自各地的客户的通信请求。不需要知道客户程序的地址。

互联网的核心部分

  • 向网络边缘中的主机提供连通性,使任何一台主机都能够向其他主机通信
  • 在网络核心部分起特殊作用的是路由器(router)
  • 路由器是实现**分组交换的关键构件,其任务是转发收到的分组。(分组转发**是网络核心部分最重要的功能)
  • 典型交换技术包括:电路交换、分组交换、报文交换
  • 互联网的核心部分采用**分组交换技术**。

电路交换的主要特点电线对的数量与电话机的数量的平方(N²)成正比(N部电话机两两直接相连需N(N-1)/2对电线)。

使用交换机:当电话机的数量增多时,使用电话交换机将这些电话连接起来(电路交换)。

电路交换特点

  • 建立连接:建立一条专用的物理通路(占用通信资源)。
  • 通话:主叫和被叫双方互通电话(一直占用通信资源)。
  • 释放连接:释放刚才使用的专用的物理通路(归还通信资源)。
  • 计算机数据具有突发性,导致传送数据时,通信线路的利用率很低。

分组交换的主要特点

  • 采用存储转发技术
  • 在发送端,先把较长的报文换分成更小的等长数据段,数据段前面添加了首部就构成了分组(分组又称为“包”,而分组的首部也可称为“包头”。)
  • 分组交换以“分组”作为数据传输单元,发送端依此把各分组发送到接收端。
  • 接收端收到分组后剥去首部,还原成原来的报文。

分组在互联网中的转发

  • 根据首部中包含的目的地址、源地址等重要控制信息进行转发。
  • 每一个分组在互联网中独立选择传输路径。
  • 位于网络核心部分的路由器转发分组,即进行分组交换。
  • 路由器要创建和动态维护转发表

路由器处理分组的过程:暂存收到的分组——》检查分组首部——》查找转发表——》按照首部中的目的地址,找到合适的接口转发出去。

**分组交换的优点:**高效、灵活、迅速、可靠

分组交换的问题:排队延迟、不保证带宽、增加开销

电路交换、报文交换和分组交换的主要区别

image-20250101195905061

三种交换方式的比较

  • 电路交换:需要传送大量的数据,且传送时间远大于连接建立时间
  • 报文交换和分组交换:不需要预先分配宽带,在传送突发数据时

计算机网络的类别(重点)

按照网络的作用范围进行分类

  • 广域网WAN(远程网):几十到几千公里,互联网的核心部分。
  • 城域网MAN:五到五十公里。
  • 局域网LAN:一公里左右,通常采用高速通信线路。
  • 个人局域网PAN(无线个人局域网WPAN):十米左右。
  • 若中央处理机之间的距离非常近(如仅1米甚至更小些,则一般称为多处理机系统,而不称为计算机网络)

用来把用户接入到互联网的网络:接入网AN

计算机网络的性能(最核心)

计算机网络性能指标:速率、带宽、吞吐率、时延、时延带宽积、往返时间、利用率

速率:数据的传送速率,也称数据率或比特率(bit/s)

带宽

  • 频域:某信道允许通过的信号频带范围为该信道的带宽(通频带,单位为赫)。
  • 时域:网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的 “最高数据率”(bit/s)。

吞吐量:单位时间内通过某个网络(信道、接口)的实际数据量(B/s)。额定速率是绝对上限值。

时延:数据从网络的一段传到另一端所需的时间。

  • 组成:发送时延、传播时延、处理时延、排队时延。

  • 发送时延:从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。发送时延=数据帧长度(bit)/发送速率(bit/s)

  • 传播时延:传播时延=信道长度(米)/信号在信道上的传播速率(米/秒)

  • 处理时延:主机或路由器在收到分组时,为处理分组所花费的时间。

  • 排队时延:分组在路由器输入输出队列中排队等待处理和转发所经历的时延

  • 以下说法是错误的:“在高速链路(或高带宽链路)上,比特会传送得更快些”。我们提高的仅仅只是数据的发送速率,而不是传播速率。

时延带宽积:时延带宽积=传播时延×带宽

往返时间RTT:发送方发送完数据,到发送发收到来自接收方的确认总共经历的时间。

image-20250101200722805

image-20250101200715833

时延与利用率的关系:当某信道的利用率增大时,时延会迅速增加。

image-20250101200704617

计算机网络体系结构

网络协议:简称协议,是为进行网络中的数据交换而建立的规则、标准或约定。三个组成部分:语法、语义、同步。

具有五层协议的体系结构

  • TCP/IP的四层协议体系结构:网络接口层网际层IP运输层(TCP或UDP)、应用层(DNS、HTTP、SMTP等)。
  • 五层协议体系结构:物理层(实现比特的传输)、数据链路层(实现两个节点之间的可靠通信)、网络层(为分组交换网上的不同主机提供通信服务,具体任务:路由选择转发)、运输层(传输控制协议TCP、用户数据报协议UDP)、应用层(交互的数据单元称为报文)。

image-20250101200650770

image-20250101200641690

第二章 物理层

物理层的基本概念

物理层的主要任务:确定与传输媒体的接口的一些特性(4个特性

  • 机械特性
  • 电气特性
  • 功能特性
  • 过程特性

数据通信的基础知识

数据通信系统的模型源系统(发送端)、传输系统(传输网络)和目的系统(接收端)。

image-20250101200628243

曼彻斯特编码差分曼彻斯特编码具有自同步能力(能从信号波形本身中提取信号时钟频率)

最基本的带通调制方式:调幅(AM)、调频(FM)、调相(PM)

信道能够通过的频率范围奈氏准则:码元传输的最高速率=2W(码元/秒),其中带宽为W(Hz)。

信噪比(dB)=10log10(S/N)(信号的平均功率和噪声的平均功率之比)

信道的极限信息传输速率C:C=Wlog2(1+S/N)(字母含义与上方一致)

奈氏准则和香农公式的意义不同

  • 奈氏准则激励工程人员不断探索更加先进的编码技术,使每一个码元携带更多比特的信息量。
  • 香农公式告诫工程人员,在实际有噪声的信道上,不论采用多么复杂的编码技术,都不可能突破信息传输速率的绝对上限。

物理层下面的传输媒体

光纤的优点

  • 通信容量非常大
  • 传输损耗小,中继距离长,对远距离传输特别经济
  • 抗雷电和电磁干扰性能好
  • 无串音干扰,保密性好,不易被窃听或截取数据
  • 体积小,重量轻

信道复用技术

频分复用、时分复用和统计时分复用

  • 频分复用FDM:所有用户在同样的时间占用不同的带宽资源(自始至终)
  • 时分复用TDM:所有用户在不同的时间占用同样的频带宽度
  • 统计时分复用STDM:不是固定分配时隙,而是按需动态地分配时隙

码分复用CDM

  • 每一个用户可以在同样的时间使用同样的频带进行通信
  • 各用户使用经过特殊挑选的不同码型,因此不会造成干扰
  • 当码分复用信道为多个不同的地址所共享时,就称为码分多址CDMA

第三章 数据链路层

注意:不同的链路层可能采用不同的数据链路层协议

数据链路层信道类型

  • 点对点信道:
    • 使用一对一的点对点通信方式
  • 广播信道:
    • 使用一对多的广播通信方式
    • 必须使用专用的共享信道协议来协调这些主机的数据发送

使用点对点信道的数据链路层

数据链路层协议数据单元:帧

三个基本问题

  • 封装成帧:在数据的首部和尾部添加首部和尾部(首部和尾部的一个重要作用就是进行帧定界),构成一个帧

    • 控制字符作为帧定界符

      • 控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。

      • 控制字符 EOT (End Of Transmission) 放在一帧的末尾,表示帧的结束。

  • 透明传输:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。

    • 用==“字节填充”“字符填充”==法解决透明传输的问题

  • 差错控制:在传输过程中可能会产生比特差错:1 -->0, 0 --> 1。在一段时间内,传输错误的比特占所传输比特总数的比率称为 误码率 BER (Bit Error Rate)

    • 循环冗余检验 CRC (Cyclic Redundancy Check) 原理:在发送端,先把数据划分为 组。假定每组 k 个比特。CRC 运算在每组 M 后面再 添加供差错检测用的 n 位冗 余码,然后构成一个帧发送 出去。一共发送 (k + n) 位。

    • CRC 冗余码的计算

      • 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面 添加 n 个 0。
      • 得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除 数 P,得出是 Q ,余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。
      • 余数 R 作为冗余码拼接在数据 M 后面,一起发送出去。
      • 这种为了进行检错而添加的冗余码常称为帧检验序列 FCS (Frame Check Sequence)。

传输差错可分为两大类:

  • 比特差错
  • 传输差错:帧丢失、帧重复或帧失序等。

点对点协议 PPP

对于点对点的链路,目前使用得最广泛的数据链路层协议点对点协议 PPP (Point-to-Point Protocol)。

PPP协议的组成

  • 一个将 IP 数据报封装到串行链路的方法
  • 一个链路控制协议 LCP (Link Control Protocol)
  • 一套网络控制协议 NCP (Network Control Protocol)

PPP 协议的帧格式

透明传输问题

  • 当 PPP 用在异步传输时,使用字节填充法

  • 当 PPP 用在同步传输链路时,采用零比特填充法

使用广播信道的数据链路层

局域网拓扑结构image-20240623142435038

媒体共享技术

  • 静态划分信道
    • 频分复用
    • 时分复用
    • 波分复用
    • 码分复用
  • 动态媒体接入控制(多点接入)
    • 随机接入:所有的用户可随机地发送信息。
    • 受控接入:用户必须服从一定的控制。如轮询(polling)。

适配器的作用

image-20240623143000018

CSMA/CD 协议(Carrier Sense Multiple Access with Collision Detection)载波监听多点接入 / 碰撞检测

  • 多点接入:说明这是总线型网络。许多计算机以多点接入的方式连 接在一根总线上。

  • 载波监听:即“边发送边监听” 。不管在想要发送数据之前,还是 在发送数据之中,每个站都必须不停地检测信道。

  • 碰撞检测:适配器边发送数据,边检测信道上的信号电压的变化情 况。电压摆动值超过一定的门限值时,就认为总线上至少有两个站 同时在发送数据,表明产生了碰撞(或冲突)。

    image-20240623143551554

  • 为什么要进行碰撞检测? 因为信号传播时延对载波监听产生了影响

争用期:以太网的端到端往返时延 2t 称为争用期,或碰撞窗口

碰撞后重传的时机

  • 采用截断二进制指数退避 (truncated binary exponential backoff) 确定。
  • 发生碰撞的站停止发送数据后,要退避一个随机时间后再发送数据。
    • 基本退避时间 = 2t
    • 从整数集合 [0, 1, … , (2* *k - 1)] 中随机地取出一个数,记为 r。 重传所需的时延 = r ⅹ 基本退避时间。
    • 参数 k = Min[重传次数, 10]
    • 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

10 Mbit/s 以太网争用期的长度

  • 争用期的长度 = 51.2 μs。

  • 对于 10 Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节。

    • 以太网在发送数据时,若前 64 字节没有发生冲突,则后续的 数据就不会发生冲突。

    • 以太网规定了最短有效帧长为 64 字节。凡长度小于 64 字节 的帧都是由于冲突而异常中止的无效帧,应当立即将其丢弃。

    • 以太网最大端到端单程时延必须小于争用期的一半 (即 25.6 μs), 相当于以太网的最大端到端长度约为 5 km

      image-20240623145348043

      image-20240623145502320

MAC 层的硬件地址

  • 硬件地址又称为物理地址,或 MAC 地址

  • IEEE 802 标准为局域网规定了一种48位的全球地址(简称为地址) 是指局域网上的每一台计算机中固化在适配器的 ROM 中的地址

  • IEEE 注册管理机构 RA 负责向厂家分配前 3 个字节 (即高 24 位), 称为组织唯一标识符 OUI (Organizationally Unique Identifier)

  • 厂家自行指派后 3 个字节 (即低 24 位),称为扩展标识符 (extended identifier)

  • 必须保证生产出的适配器没有重复地址

  • 地址被固化在适配器的 ROM 中。

    image-20240623150346322

MAC 帧的格式

  • 最常用的 MAC 帧是以太网 V2 的格式

    image-20240623150834163

  • 类型字段用来标志上一层使用的是什么协议, 以便把收到的 MAC 帧的数据上交给上一层的这个协议。

  • 当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保 证以太网的 MAC 帧长不小于 64 字节

第四章 网络层

网络层的几个重要概念

在路由器之间传送的信息有以下 2 大类:

  • 数据
  • 路由信息(为数据传送服务)

网络层的两个层面

  • 数据层面

    • 路由器根据本路由器生成的转发表,把收到的分组从查找到的对应接口转发出去。
    • 独立工作。
    • 采用硬件进行转发,快。
  • 控制层面

    • 根据路由选择协议所用的路由算法计算路由,创建出本路由器的路由表
    • 许多路由器协同动作。
    • 采用软件计算,慢。

    image-20240623152621391

网际协议IP(重点)

与网际协议 IPv4 配套的 3 个协议

  • 地址解析协议 ARP (Address Resolution Protocol)

  • 网际控制报文协议 ICMP (Internet Control Message Protocol)

  • 网际组管理协议 IGMP (Internet Group Management Protocol)

    image-20240623153101536

image-20240623153310494

如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的 互联网 (Internet)

互联网可以由多种异构网络互连组成。

image-20240623153657429

IP 地址及其表示方法

image-20240623153924410

互联网上的每台主机(或路由器)的每个接口分配一个在全世界唯一的 IP 地址。 由互联网名字和数字分配机构 ICANN (Internet Corporation for Assigned Names and Numbers) 进行分配。

IP 地址采用 2 级结构网络号主机号

image-20240623154131055

image-20240623154342898

各类地址的指派范围

image-20240623154525622

image-20240623154715166

无分类编址 CIDR(必考)

  • CIDR (Classless Inter-Domain Routing)无分类域间路由选择。

  • 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,可以更 加有效地分配 IPv4 的地址空间,但无法解决 IP 地址枯竭的问题

  • 网络前缀:二级结构:网络前缀主机号

    • 最大的区别:前缀的位数 n 不固定,可以 在 0 ~ 32 之间选取任意值。
    • CIDR 记法:斜线记法 (slash notation) a.b.c.d / n:二进制 IP 地址的前 n 位是网络前缀。 例如:128.14.35.7**/20**:前 20 位是网络前缀。
  • 地址块

    • CIDR 把网络前缀都相同的所有连续的 IP 地址组成一个 CIDR 地址块。
    • 一个 CIDR 地址块包含的 IP 地址数目,取决于网络前缀的位数。
  • 地址掩码(address mask)

    • 又称为子网掩码 (subnet mask)

    • 位数:32 位

    • 目的:让机器从 IP 地址迅速算出网络地址

    • 由一连串 1 和接着的一连串 0 组成,而 1 的个数就是网络前缀的长度

      image-20240623160212527

网络地址 = (二进制的 IP 地址) AND (地址掩码)

image-20240623160330206

有时称 CIDR 编址为“构造超网

三个特殊的CIDR地址块

image-20240623160831299

CIDR地址块划分举例

image-20240623161507835
image-20240623162018713

image-20240623162629259

地址解析协议ARP

  • 地址解析协议 ARP 的作用从 IP 地址解析出 MAC 地址。

    image-20240623163917704

  • ARP 高速缓存 (ARP cache)

    • 存放 IP 地址到 MAC 地址的映射表。
    • 映射表动态更新(新增或超时删除)。
    • 映射表:< IP 地址;MAC 地址;生存时间 (Age);类型等 >
  • ARP工作

    image-20240623164248028

  • ARP 查找 IP 地址对应的 MAC地址

    image-20240623164437987

IP数据报的格式

  • 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。

  • 版本——占 4 位,指 IP 协议的版本。 目前的 IP 协议版本号为 4 (即 IPv4)。

  • 首部长度——占 4 位,可表示的最大数值 是 15 个单位(一个单位为 4 字节), 因此 IP 的首部长度的最大值是 60 字节

  • 区分服务——占 8 位,用来获得更好的服务。 只有在使用区分服务(DiffServ)时,这个字段才起作用。 在一般的情况下都不使用这个字段

  • 总长度——占 16 位,指首部和数据之和的长度, 单位为字节,因此数据报的最大长度为 65535 字节。 总长度必须不超过最大传送单元 MTU。

  • 标识 (identification) ——占 16 位, 它是一个计数器,用来产生 IP 数据报的标识。

  • 标志(flag) ——占 3 位,目前只有前两位有意义。

    • 标志字段的最低位是 MF (More Fragment)。 MF=1 表示后面还有分片,MF=0 表示最后一个分片。
    • 标志字段中间的一位是 DF (Don’t Fragment) 。 只有当 DF=0 时才允许分片。
  • 片偏移——占 13 位,指出:较长的分组在分片后 某片在原分组中的相对位置。 片偏移以 8 个字节为偏移单位。

    image-20240623170241139

  • 生存时间——占 8 位,记为 TTL (Time To Live), 指示数据报在网络中可通过的路由器数的最大值。

  • 协议——占 8 位,指出此数据报携带的数据使用何种协议, 以便目的主机的 IP 层将数据部分上交给那个处理过程。

  • 首部检验和——占 16 位,只检验数据报的首部不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。 数据报每经过一个路由器,路由器都要重新计算一下首部检验和

  • 可变部分:从 1 个字节到 40 个字节不等,取决于所选择的项目。

image-20240623165159969

IP层转发分组的过程(重点)

基于终点的转发

  • 分组在互联网中是逐跳转发的。

  • 基于终点的转发:基于分组首部中的目的地址传送和转发。

  • 为了压缩转发表的大小, 转发表中最主要的路由是**(目的网络地址,下一跳地址)** , 而不是(目的地址,下一跳地址)。 查找转发表的过程就是逐行寻找前缀匹配

    image-20240623185918892

最长前缀匹配

  • 使用 CIDR 时,在查找转发表时可能会得到不止一个匹配结果
  • 最长前缀匹配 (longest-prefix matching) 原则:选择前缀最长的 一个作为匹配的前缀。
  • 网络前缀越长,其地址块就越小,因而路由就越具体。
  • 可以把前缀最长的排在转发表的第 1 行。

转发表中的 2 种特殊的路由

  • 主机路由 (host route)
    • 又叫做特定主机路由
    • 是对特定目的主机的 IP 地址专门指明的一个路由。
    • 网络前缀就是 a.b.c.d/32
    • 放在转发表的最前面
  • 默认路由 (default route)
    • 不管分组的最终目的网络在哪里,都由指定的路由器 R 来处理
    • 用特殊前缀 0.0.0.0/0 表示

使用二叉线索查找转发表

  • 二叉线索 (binary trie):一种特殊结构的树,可以快速在转发表中找到匹配的叶节点。

  • 从二叉线索的根节点自顶向下的深度最多有 32 层,每一层对应于 IP 地址中的一位。

  • 为简化二叉线索的结构,可以用唯一前缀 (unique prefix) 来构造 二叉线索。

  • 为了提高二叉线索的查找速度,广泛使用了各种压缩技术。

    image-20240623191400148

网际控制报文协议ICMP(重点)

网际控制报文协议

  • ICMP (Internet Control Message Protocol) 允许主机或路由器报告差错情况和提供有关异常情况的报告。
  • ICMP 是互联网的标准协议
  • 但 ICMP 不是高层协议,而是 IP 层的协议。

ICMP报文的格式

image-20240623191902961

ICMP 报文的种类差错报告报文、询问报文

ICMP 的应用举例(PING):

  • 用来测试两个主机之间的连通性
  • 使用了 ICMP 回送请求与回送回答报文
  • 是应用层直接使用网络层 ICMP 的例子,没有通过运输层的 TCP 或 UDP。

IPv6

IPv6的基本首部

  • IPv6 仍支持无连接的传送。
  • 协议数据单元 PDU 称为分组 (packet) 。
  • 主要变化
    • 更大的地址空间。 将地址从 IPv4 的 32 位 增大到了 128 位
    • 扩展的地址层次结构。可以划分为更多的层次
    • 灵活的首部格式。定义了许多可选的扩展首部
    • 改进的选项。允许数据报包含有选项的控制信息,其选项放在有效载荷中。
    • **允许协议继续扩充。**更好地适应新的应用。
    • 支持即插即用(即自动配置)。不需要使用 DHCP。
    • **支持资源的预分配。**支持实时视像等要求保证一定的带宽和时延的应用。
    • **IPv6 首部改为 8 字节对齐。**首部长度必须是 8 字节的整数倍。

IPv6数据报的一般格式

  • 基本首部固定的 40 字节

  • 有效载荷。有效载荷也称为净负荷。有效载荷允许有零个或多个扩展首部 (extension header),再后面是数据部分。

    image-20240623193519362

  • IPv6对首部的主要更改
    image-20240623193700980

  • 40字节长的基本首部

    • **版本(**version)—— 4 位。它指明了协议的版本,对 IPv6 该字段总是 6。
    • 通信量类(traffic class)—— 8 位。这是为了区分不同的 IPv6 数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。
    • 流标号(flow label)—— 20 位。 “流”是互联网络上从特定源点特定 终点的一系列数据报, “流”所经过的路径上的路由器都保证指明的服务 质量。所有属于同一个流的数据报都具有同样的流标号。
    • 有效载荷长度(payload length)—— 16 位。它指明 IPv6 数据报除基 本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值 是 64 KB
    • 下一个首部(next header)—— 8 位。相当于 IPv4 的协议字段或可选字段。
    • **跳数限制(**hop limit)—— 8 位。源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减 1。当跳数限制的值为零时, 就要将此数据报丢弃。
    • image-20240623193741695

IPv6地址的地址的三种基本类型单播、多播、任播

冒号十六进制记法

  • 两个技术零压缩点分十进制记法的后缀
  • 零压缩 (zero compression):一串连续的零可以用一对冒号取代。 零压缩 FF05:0:0:0:0:0:0:B3–> FF05::B3 。注意:在任一地址中,只能使用一次零压缩

image-20240623194515776

从 IPv4 向 IPv6 过渡

  • 逐步演进,向后兼容。

  • 向后兼容:IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。

  • 两种过渡策略:

    • 使用双协议栈

      image-20240623195203704

    • 使用隧道技术

      image-20240623195214870

互连网的路由选择协议

路由选择协议:属于网络层控制层面的内容

分层次的路由选择协议

  • 自治系统之间的路由选择 或 域间路由选择 (interdomain routing)
  • 自治系统内部的路由选择 或 域内路由选择 (intradomain routing)

大类路由选择协议

  • 内部网关协议 IGP(Interior Gateway Protocol):在一个自治系统内部使用的路由选择协议 。 常用:RIP,OSPF
  • 外部网关协议 EGP(External Gateway Protocol): 在不同自治系统之间进行路由选择时使用的协议 。使用最多:BGP-4

内部网关协议 RIP

  • 协议 RIP 的工作原理

    • 路由信息协议 RIP (Routing Information Protocol) 是一种分布式的、基于距离向量的路由选择协议。

    • 互联网的标准协议。

    • 最大优点:简单

    • 要求网络中的每个路由器都要维护从它自己到其他每一个目的网络 的距离记录

    • 好路由 = “距离短”的路由。最佳路由 = “距离最短”的路由。

    • 一条路径最多只能包含 15 个路由器。

    • “距离”的最大值16 时即相当于不可达

    • RIP 不能在两个网络之间同时使用多条路由,只选择距离最短”的路由。

      image-20240623201438331

RIP 协议的三个特点

  • 仅和相邻路由器交换信息。
  • 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
  • 固定时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发 生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。

路由表更新规则:使用距离向量算法找出到达每个目的网络的最短距离

image-20240623201938582

image-20240623202057230

RIP 协议的优缺点

  • 优点:实现简单,开销较小
  • 缺点
    • 网络规模有限。最大距离为 15(16 表示不可达)。
    • 交换的路由信息为完整路由表,开销较大。
    • 坏消息传播得慢,收敛时间过长。

内部网关协议 OSPF

  • **开放最短路径优先 OSPF (Open Shortest Path First)**是为克服 RIP 的缺点在 1989 年开发出来的。
  • 原理很简单,实现很复杂
  • 使用了 Dijkstra 提出的最短路径算法 SPF。
  • 采用分布式的链路状态协议 (link state protocol)。
  • 现在使用 OSPFv2。

OSPF的三个主要特点:

  • 采用洪泛法 (flooding),向本自治系统中所有路由器发送信息。

  • 发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。

    • 链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)。
  • 当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪 泛法向所有路由器发送此信息。

    image-20240623203845108

  • OSPF 中的路由器:

    • 区域边界路由器 ABR (area border router)(R3,R4,R7)
    • 主干路由器 BR (backbone router)(R3,R4,R5,R6,R7)
    • 自治系统边界路由器 ASBR (AS border router)(R6)
  • OSPF工作过程

    • 确定临站可达
      • 相邻路由器每隔 10 秒钟要交换一次问候分组。
      • 若有 40 秒钟没有收到某个相邻路由器发来的问候分组,则可认为 该相邻路由器是不可达的。
    • 同步链路状态数据库
      • 同步:指不同路由器的链路状态数据库的内容是一样的。
      • 两个同步的路由器叫做完全邻接的 (fully adjacent) 路由器。
    • 更新链路状态
      • 只要链路状态发生变化,路由器就使用链路状态更新分组,采用 可靠的洪泛法向全网更新链路状态。
      • 为确保链路状态数据库与全网的状态保持一致,OSPF 还规定: 每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。

第五章 运输层

运输层协议概述

运输层的作用

image-20240623211705277

运输层的两个主要协议

  • 用户数据报协议 UDP (User Datagram Protocol)
  • 传输控制协议 TCP (Transmission Control Protocol)

UDP和TCP的区别

  • UDP

    • 传送数据之前不需要先建立连接。
    • 收到 UDP 报后,不需要给出任何确认。
    • 不提供可靠交付,但是一种最有效的工作方式。
  • TCP

    • 提供可靠的面向连接的运输服务。
    • 不提供广播或多播服务。
    • 开销较多。

运输层的端口

  • 复用:应用进程都可以通过运输层再传送到 IP 层(网络层)。

  • 分用:运输层从 IP 层收到发送给应用进程的数据后,必须分别交付给指明的各应用进程。

    image-20240623212703598

两大类、三种类型的端口:

image-20240623212839358

常用的熟知端口:

image-20240623212950394

用户数据报协议 UDP

传输控制协议 TCP 概述

TCP 最主要的特点

  • TCP 是面向连接的运输层协议,在无连接的、不可靠的 IP 网络服务基础之 上提供可靠交付的服务。为此,在 IP 的数据报服务基础之上,增加了保证 可靠性的一系列措施。
  • TCP 是面向连接的运输层协议。
  • 每一条 TCP 连接只能有两个端点 (endpoint),每一条 TCP 连接只能是点 对点的(一对一)。
  • TCP 提供可靠交付的服务。
  • TCP 提供全双工通信
  • 面向字节流
    • TCP 中的“流”(stream) 指的是流入或流出进程的字节序列
    • 面向字节流:虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流

TCP面向流的概念:TCP 根据对方给出的窗口值和当前网络拥塞程度来决定一个报文段应包含多少个 字节,形成 TCP 报文段。

可靠传输的工作原理

停止等待协议(出现差错)

  • 解决方法:超时重传
    • A 为每一个已发送的分组设置一个超时计时器
    • A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。
    • 若 A 在超时计时器规定时间内没有收到 B 的确认,就认为分组错误或丢失,就重发该分组。

TCP 报文段的首部格式

  • 源端口和目的端口:各占 2 字节。端口是运输层与应用层的服务接口。 运输层的复用和分用功能通过端口实现。
  • 序号:占 4 字节。TCP 连接中传送的数据流中的每一个字节都有一个序号。序 号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
  • 确认号:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 (若确认号 = N,则表明:到序号 N – 1 为止的所有数据都已正确收到。)
  • 数据偏移(即首部长度):占 4 位,指出 TCP报文段的数据起始处距离 TCP 报文段的起始处有多远。单位是 32 位字(以 4 字节为计算单位)。
  • 保留:占 6 位,保留为今后使用,但目前应置为 0。
  • 确认 ACK:控制位。只有当 ACK =1时,确认号字段才有效。当ACK =0 时,确认号无效。
  • 同步 SYN (SYNchronization) :控制位。 同步 SYN = 1 表示这是一个连接请求或连接接受报文。 当 SYN = 1,ACK = 0 时,表明这是一个连接请求报文段。 当 SYN = 1,ACK = 1 时,表明这是一个连接接受报文段。
  • 终止 FIN (FINish) :控制位。用来释放一个连接。 FIN=1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

image-20240624100308938

TCP 可靠传输的实现

以字节为单位的滑动窗口

  • TCP 使用流水线传输滑动窗口协议实现高效、可靠的传输。

  • TCP 的滑动窗口是以字节为单位的。

  • 发送方 A 和接收方 B 分别维持一个发送窗口和一个接收窗口

  • 发送窗口:在没有收到确认的情况下,发送方可以连续把窗口内的 数据全部发送出去。凡是已经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传时使用。

  • 接收窗口:只允许接收落入窗口内的数据。

    image-20240624101843540

加权平均往返时间 RTTS

  • 加权平均往返时间 RTTS 又称为平滑的往返时间
  • 新的 RTTS = (1 - α) × (旧的 RTTS ) + α× (新的 RTT 样本)
  • 其中,0 ≤ α < 1 。 若 α → 0,表示 RTT 值更新较慢。 若 α → 1,表示 RTT 值更新较快。 RFC 6298 推荐的 α 值为 1/8,即 0.125。

TCP 的流量控制

利用可变窗口进行流量控制举例

image-20240624103219483

TCP 的拥塞控制

拥塞控制与流量控制的区别

  • 拥塞控制
    • 防止过多的数据注入到网络中,避免网络中的路由器或链路过载。
    • 是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。
  • 流量控制
    • 抑制发送端发送数据的速率,以使接收端来得及接收。
    • 点对点通信量的控制,是个端到端的问题。

TCP 的拥塞控制方法

  • TCP 采用基于滑动窗口的方法进行拥塞控制,属于闭环控制方法
  • TCP 发送方维持一个拥塞窗口 cwnd (Congestion Window)
  • 拥塞窗口的大小取决于网络的拥塞程度,并且是动态变化的。
  • 发送端利用拥塞窗口根据网络的拥塞情况调整发送的数据量。
  • 发送窗口大小不仅取决于接收方窗口,还取决于网络的拥塞状况。
  • 真正的发送窗口值: 真正的发送窗口值 = Min (接收方通知的窗口值,拥塞窗口值)

TCP 拥塞控制算法

  • 慢开始 (slow-start)

  • 拥塞避免 (congestion avoidance)

  • 快重传 (fast retransmit)

  • 快恢复 (fast recovery)

    image-20240624110646711

    image-20240624111232956

    image-20240624111319782

TCP 的运输连接管理

TCP 的连接建立

  • TCP 建立连接的过程叫做握手

  • 采用三报文握手:在客户和服务器之间交换三个 TCP 报文段,以防止已失效的连接请求报文段突然又传送到了,因而产生 TCP 连接建 立错误。

    image-20240624112039026

TCP 的连接释放

  • TCP 连接释放过程比较复杂。

  • 数据传输结束后,通信的双方都可释放连接。

  • TCP 连接释放过程是四报文握手

    image-20240624112402143

第六章 应用层

域名系统 DNS

域名系统 DNS (Domain Name System) :用来把人们使用的机器名字(域名)转换为 IP 地址

域名服务器类型

  • 根域名服务器
  • 顶级域名服务器
  • 权限域名服务器
  • 本地域名服务器

文件传送协议

文件传送协议 FTP (File Transfer Protoco):是互联网上使用得最 广泛的文件传送协议。

万维网 WWW

超文本传送协议 HTTP (HyperText Transfer Protocol):应用层协议,使用 TCP 连接进行可靠的传送。

image-20240624113658354

  • HTTP 是面向事务的 (transaction-oriented) 应用层协议
  • 使用 TCP 连接进行可靠的传送。
  • 定义了浏览器与万维网服务器通信的格式和规则。
  • 是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。

动态万维网文档:文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。

名词解释

CDMA:Code Division Multiple Access 码分多址

DHCP:Dynamic Host Configuration Protocol 动态主机配置协议

ARP:Address Resolution Protocol 地址解析协议

ICMP:Internet Control Message Protocol 网际控制报文协议

IGMP: Internet Group Management Protocol 网际组管理协议

RTT:Round-Trip Time 往返时间

VLSM:Variable Length Subnet Mask 变长子网掩码

ADSL:Asymmetric Digital Subscriber Line 非对称数字用户线

HTML:HyperText Markup Lauguage 超文本标记语言

MTU:Maximum Transfer Unit 最大传送单元

TTL:Time To Live 生存时间

PPP:Point-to-Point Protocol 点对点协议

LCP:Link Control Protocol 链路控制协议

NCP:Network Control Protocol 网络控制协议