湖科大 2022 计算机网络期末复习资料

前言

  1. 重点来源:人工智能和信息安全,感谢yq和zxq
  2. 内容主要来源:课本、PPT(htq21年版)、网上大佬笔记、甚至还有上学期学的数据通信原理的笔记(lqx的和我的)
  3. 虽然是下学期开学考(烦!),但是先总结,避免下学期忘了
  4. ★超级重点,※易错
  5. 建议看的时候结合大纲,特意注意了知识点之间的层次结构
  6. 习题没怎么加

题型

  1. 选择题(包括单选和多选,共30分。单选每小题1分,计20分。多选每小题2分,计10分)
  2. 简答题(每小题5分,共20分)
  3. 分折计算题(共40分。共4小题)
  4. 论述题(本题10分、共1小题)

易混淆

集线器 网桥 交换机 路由器 网关

第一章 概述

三网融合

三大类网络

  • 电信网络:提供电话、电报及传真等服务;
  • 有线电视网络:向用户传送各种电视节目;
  • 计算机网络:使用户能在计算机之间传送数据文件;

定义

把上述三种网络融合成一种网络就能够提供所有的上述服务

计算机网络

  • 别名:Internet/网络/因特网/互联网

  • 互联网是一种远程分组交换网络,所以采用的是分组交换技术。

定义

  1. 由自治的计算机互联起来的集合体。
  2. 计算机网络(简称为网络)由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等。
  3. 由一些通用的、可编程的硬件互连而成的

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

  1. 从单个网络 ARPANET 向互联网发展的过程。
  2. 逐步建成三级结构的互联网。
  3. 逐渐形成了多层次 ISP 结构的互联网。

计算机网络发展阶段

  1. 面向终端的计算机通信网络:一台主机连多个终端;
  2. 以共享资源为目标的计算机网络:分组交换技术,ARPANET是代表;
  3. 开放式标准化网络:形成计算机网络体系结构,OSI标准;
  4. 高速计算机网络:Internet就是这一代网络的典型代表。

特点

  1. 连通性 (connectivity)
    • 使上网用户之间都可以交换信息(数据,以及各种音频视频) ,好像这些用户的计算机都可以彼此直接连通一样。
    • 注意,互联网具有虚拟的特点,无法准确知道对方是谁,也无法知道对方的位置。
  2. 共享 (Sharing)
    • 指资源共享。
    • 资源共享的含义是多方面的。可以是信息共享、软 件共享,也可以是硬件共 享。
    • 由于网络的存在,这些资 源好像就在用户身边一样, 方便使用。

组成

边缘部分(资源子网)

由所有连接在因特网上的主机组成(台式电脑,大型服务器,笔记本电脑,平板,智能手机等)。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

核心部分(通信子网)

大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性交换)。

互联网边缘部分的通信方式

C/S模式(客户-服务器方式)

  • 客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。
  • 客户 - 服务器方式所描述的是进程之间服务和被服务的关系。
  • 客户是服务的请求方,服务器是服务的提供方。它们都要使用网络核心部分所提供的服务。

P2P模式(对等连接方式)

  • 对等连接 (peer-to-peer,简写为 P2P ) 是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
  • 只要两个主机都运行了对等连接软件 ( P2P 软件) ,它们就可以进行平等的、对等连接通信
  • 对等连接方式从本质上看仍然是使用客户-服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器。

internet与Internet的区别

  • internet(互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络(网络的网络)。在这些网络之间的通信协议可以是任意的。(internet包括Internet)
  • Internet(因特网)则是一个专用名词,它特指当前全球最大的、开放的、由众多网络互连而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。

任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet) ,而不是互联网(Internet)。

交换技术(可以参考数据通信原理)

电路交换

定义

  • 电话交换机接通电话线的方式称为电路交换;

  • 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;

步骤

  1. 建立连接(分配通信资源)
  2. 通话(始终占用通信资源)
  3. 释放连接(归还通信资源)

特点

整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。

分组交换

分组(包)

将较长的报文划分成一个个更小的等长数据段,并加上首部(包头),在终端重新按序组装成报文

存储转发

分组到达一个路由器后,先暂时存储在缓冲区中,查找转发表,然后从一条合适的链路转发出去。

路由选择协议

在路由器中运行,自动找到路由器转发分组最合适的路径

特点

  1. 节点暂时存储的是一个个分组,而不是整个数据文件;
  2. 分组暂时保存在节点的内存中,保证了较高的交换速率;
  3. 单个分组传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
  4. 动态分配信道,极大的提高了通信线路的利用率。

优点

优点 所采用的手段
高效 在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用
灵活 为每一个分组独立地选择最合适的转发路由
迅速 以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
可靠 保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性

缺点

  1. 分组在节点转发时因排队而造成一定的延时
  2. 由于分组交换不像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽
  3. 分组必须携带一些控制信息(首部)而产生额外开销,整个分组交换网需要专门的管理和控制机制(管理控制比较困难)
  4. 当分组采用数据报服务时,分组可能出现失序、丢失或重复。

报文交换

特点

整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。

三种交换技术的比较

湖科大 2022 计算机网络期末复习资料_第1张图片

  • 若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
  • 报文交换分组交换不需要预先分配传输带宽, 在传送突发数据时可提高整个网络的信道利用率。
  • 由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

计算机网络的分类

按作用范围

广域网WAN(Wide Area Network)

作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是互联网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。

城域网MAN(Metropolitan Area Network)

作用范围一般是一个城市,可跨越几个街区甚至整个城市

局域网LAN(Local Area Network)

一般用微型计算机或工作站通过高速通信线路相连(速率通常在 10 Mbit/s 以上),但地理上范围较小(1 km 左右)

个人局域网PAN(Personal Area Network)

在个人工作的地方把个人使用的电子设备用无线技术连接起来的网络。也被称为无线个人局域网WPAN(Wireless PAN)

按使用者

公用网(public network)

这是指电信公司(国有或私有)出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网也可称为公众网。

专用网(private network)

这是某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。

计算机网络的性能指标

速率

定义

计算机中数据量的单位,也是信息论中使用 的信息量的单位。

单位

bit/s(b/s或bps),或 kbit/s、Mbit/s、 Gbit/s 等

单位转换关系

8 Gbit/s= 8e3 Mbit/s= 8e6 kbit/s= 1e9Byte/s = 8e9 bit/s,每一级 1 0 3 10^3 103

带宽

定义

  1. 在模拟信号系统中,指信号具有的频带宽度, 其单位是Hz(或kHz、MHz、GHz等)
  2. 在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的“最高数据率”。其单位是bit/s(b/s或bps),或 kbit/s、Mbit/s、 Gbit/s 等(与速率一致)

吞吐量

定义

在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络的带宽或网络的额定速率的限制。

举例

带宽1 Gb/s的以太网,代表其额定速率是1 Gb/s,这个数值也是该以太网的吞吐量的绝对上限值。因此,对于带宽1 Gb/s的以太网,可能实际吞吐量只有 700 Mb/s,甚至更低。

时延★

定义

时延(延迟/迟延)是指数据从网络(或链路)的一端传送到另一端所需的时间。

公式

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

组成

发送时延
定义

主机或路由器发送数据帧所需要的时间。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

湖科大 2022 计算机网络期末复习资料_第2张图片

计算公式

发送时延 = 数据帧长度(bit)/ 发送速率(bit/s)

传播时延
定义

电磁波在信道中需要传播一定的距离而花费的时间。

计算公式

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

处理时延

主机或路由器在收到分组时,为处理分组(例如分 析首部、提取数据、差错检验或查找路由)所花费 的时间。

排队时延

分组在路由器输入输出队列中排队等待处理所经历的时延。 排队时延的长短往往取决于网络中当时的通信量

时延带宽积

时延带宽积 = 传播时延 * 带宽

湖科大 2022 计算机网络期末复习资料_第3张图片

往返时间RTT★

定义

往返时间表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。

组成

在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。

注意

当使用卫星通信时,往返时间 RTT 相对较长, 是很重要的一个性能指标。

利用率★

组成

信道利用率

指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。

网络利用率

全网络的信道利用率的加权平均值。

重点掌握各种时延的计算、往返时问RTT的计算和利用率的计算。

计算公式

若令 D0 表示网络空闲时的时延,D 表示网络当前的时延,则在适当的假定条件下,可以用下 面的简单公式表示 D 和 D0之间的关系。其中:U 是网络的利用率,数值在 0 到 1 之间。

D = D 0 1 − U D= \dfrac{D_{0}}{1-U} D=1UD0

注意

信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。

计算机网络的非性能指标

费用 、 质量 、标准化 、 可靠性 、 可扩展性和可升级性 、 易于管理和维护

计算机网络体系结构(可以参考数据通信原理)

协议数据单元PDU (Protocol Data Unit)

OSI 参考模型把对等层次之间传送的数据单位称为该层的PDU

服务数据单元 SDU (Service Data Unit)

定义

OSI中层与层之间交换的数据的单位

注意

SDU 可以与 PDU 不一样,例如,可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划 分为几个 PDU。

服务访问点 SAP (Service Access Point)

同一系统相邻两层的实体进行交互的地方,它是一个抽象的概念,它实际上就是一个逻辑接口。

网络协议三要素

  1. 语法:数据与控制信息的结构或格式 。
  2. 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
  3. 同步:事件实现顺序的详细说明。

湖科大 2022 计算机网络期末复习资料_第4张图片

OSI

开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model),法律上的国际标准

TCP/IP

事实上的国际标准

五层协议

应用层

功能

通过应用进程间的交互来完成特定网络应用。

协议

定义的是应用进程间通信和交互的规则。e.g.:域名系统DNS,支持万维网应用的 HTTP协议,支持电子邮件的SMTP协议

数据单位

报文

运输层

功能

负责向两台主机中进程之间的通信提供通用的数据传输服务。(可以保证端到端可靠性[使用TCP])

协议
传输控制协议TCP (Transmission Control Protocol)

提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。

用户数据报协议UDP (User Datagram Protocol)

提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报

数据单位

报文段

网络层

功能

为分组交换网上的不同主机提供通信服务。

网络层=网际层=IP层 分组=数据报

协议

IP协议

数据单位

IP数据报(分组)

数据链路层

简称链路层。

功能

将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

协议

点对点协议PPP、CSMA/CD等

数据单位

物理层

功能

为数据链路层提供物理连接。

数据单位

比特bit

协议

网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标 准或约定的集合。

服务

协议的三要素(语法、语义、同步)及其含义

语法

数据与控制信息的结构或格式 。

语义

需要发出何种控制信息,完成何种动作以及做出何种响应。

同步

事件实现顺序的详细说明。

分层的好处与缺点

好处

  • 各层之间是独立的。
  • 灵活性好。
  • 结构上可分割开。
  • 易于实现和维护。
  • 能促进标准化工作。

缺点

  • 降低效率。
  • 有些功能会在不同的层次中重复出现,因而产生了额外开销

协议与服务的区别和联系

  1. 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。 要实现本层协议,还需要使用下层所提供的服务。
  2. 协议的实现保证了能够向上一层提供服务。 本层的服务用户只能看见服务而无法看见下面 的协议。即下面的协议对上面的服务用户是透 明的。
  3. 协议是“水平的”,即协议是控制对等实体之间通信的规则。 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
  4. 上层使用服务原语获得下层所提供的服务。

第二章 物理层

常用术语

消息

数据 (data)

运送消息的实体

信号 (signal)

数据的电气的或电磁的表现。

模拟信号 (analogous signal)

代表消息的参数的 取值是连续的。

数字信号 (digital signal)

代表消息的参数的取值是离散的。

码元

时间域内的波形表示数字信号时,表示不同数值的波形。

功能

  1. 在连接各种计算机的传输媒体上传输数据比特流
  2. 屏蔽不同传输媒体和通信手段的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么
  3. 为数据链路层提供物理连接

主要任务

机械特性

指明接口所用接线器的形状和尺寸、引线 数目和排列、固定和锁定装置等。

电气特性

指明在接口电缆的各条线上出现的电压的 范围。

功能特性

指明某条线上出现的某一电平的电压的意义。

过程特性

指明对于不同功能的各种可能事件的出现顺序。(完成串行并行之间的转换)

  • 数据在计算机内部多采用并行传输方式。但数据在通信线路(传输媒体)上的传输方式一般都是串行传输(这是出于经济上的考虑),即逐个比特按照时间顺序传输。因此物理层还要完成传输方式的转换

通信双方信息交互的主要方式

单向通信(单工通信)

只能有一个方向的通信而没有反方向的交互。

双向交替通信(半双工通信)

通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。

双向同时通信(全双工通信)

通信的双方可以同时发送和接收信息。

调制

基带调制

仅对基带信号的码形进行变换,使它能够与信道特性相适应。变换后的信号仍然是基带信号。 把这种过程称为编码 (coding)。

带通调制

使用载波 (carrier)进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号, 这样就能够更好地在模拟信道中传输(即仅在一段频率范围内能够通过信道)

二元制调制方法

湖科大 2022 计算机网络期末复习资料_第5张图片

调幅(AM)

载波的振幅随基带数字信号而变化。

调频(FM)

载波的频率随基带数字信号而变化。

调相(PM)

载波的初始相位随基带数字信号而变化。

对比:频带传输、宽带传输、基带传输、数据报传输

信噪比

定义

信号的平均功率和噪声的平均功率之比

公式

信噪比(dB) = $10log_{10}(S/N) $ (dB)

香农公式

定义

香农 (Shannon) 用信息论的理论推导 出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率

公式

信道的极限信息传输速率 C 可表达为: $C = W log_{2} (1+S/N) $ (bit/s)

其中: W 为信道的带宽(以 Hz 为单位); S 为信道内所传信号的平均功率; N 为信道内部的高斯噪声功率。

表明

  1. 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
  2. 只要信息传输速率低于信道的极限信息传输速率,就 一定可以找到某种办法来实现无差错的传输。
  3. 若信道带宽 W 或信噪比 S/N 没有上限(当然实际信道不可能是这样的),则信道的极限信息传输速率 C 也 就没有上限。
  4. 实际信道上能够达到的信息传输速率要比香农的极限传输速率低不少。

举例

假定要用3KHz带宽的电话信道传送64 kbit/s的数据(无差错传输),试问这个信道应该具有多高的信噪比?

$C = W log2 (1+S/N) \Rightarrow 64 kbit/s = 3000 log2 (1+S/N) $

比特速率和码元速率的关系

N b = N b a u d l o g 2 M N_{b}=N_{baud}log_{2}M Nb=Nbaudlog2M
其中 N b N_{b} Nb = 比特速率, N b a u d N_{baud} Nbaud = 码元速率(波特率,单位时间内传送的码元符号的个数),M = 进制数(有效离散值)

物理层下的传输媒体

物理层下的传输媒体不属于物理层,可视为第0层

导引型传输媒体

  • 在导引型传输媒体中,电磁波被导引沿着固体媒体传播。
  • 媒介:同轴电缆、双绞线、光纤

非导引型传输媒体

  • 非导引型传输媒体就是指自由空间。在非导引型传输媒体中,电磁波的传输常称为无线传输。
  • 媒介:无线电波:微波、红外线、激光

信道复用技术

频分复用 FDM (Frequency Division Multiplexing)

  • 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。

  • 频分复用的所有用户在同样的时间占用不同的带宽资源(这里的“带宽”是频率带宽而不是数据的发送速率)。

    湖科大 2022 计算机网络期末复习资料_第6张图片

(同步)时分复用 TDM (Time Division Multiplexing)

  • 时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。

  • 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。

  • TDM 信号也称为等时 (isochronous) 信号。

  • 时分复用的所有用户在不同的时间占用同样的频带宽度。

  • 时分复用可能会造成线路资源的浪费

    • 使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,用户对分配到的子信道的利用率一般是不高的。

    湖科大 2022 计算机网络期末复习资料_第7张图片

统计时分复用 STDM (Statistic TDM)

又叫异步时分复用,STDM 帧不是固定分配时隙,而是按需动态地分配时隙。因此统计时分复用 可以提高线路的利用率。

湖科大 2022 计算机网络期末复习资料_第8张图片

波分复用 WDM(Wavelength Division Multiplexing)

湖科大 2022 计算机网络期末复习资料_第9张图片

码分复用 CDM (Code Division Multiplexing) ★

特点

  • 又称码分多址 CDMA (Code Division Multiple Access)。
  • 各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
  • 这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。

举例

  1. 共有4个站进行码分多址通信。4个站的码片序列为 A:(-1-1-1+1+1-1+1+1) B:(-1-1+1-1+1+1+1-1) C:(-1+1-1+1+1+1-1-1) D:(-1+1-1-1-1-1+1-1) 现收到这样的码片序列S:(-1+1-3+1-1-3+1+1)。问哪个站发送数据了?发送数据的站发送的是0还是1?

    S•A=(+1-1+3+1-1+3+1+1)/8=1, A发送1
    S•B=(+1-1-3-1-1-3+1-1)/8=-1, B发送0
    S•C=(+1+1+3+1-1-3-1-1)/8=0, C无发送
    S•D=(+1+1+3-1+1+3+1-1)/8=1, D发送1

  2. 站点1、2、3通过COMA共享链路。站点1、2、3的码片序列分别是A:(1,1,1,1)、B:(1,-1,1,-1)和C:(1,1,-1,-1),若站3从链路上收到的序列S是(2,0,2,0, 0,-2,0,-2, 0,2,0,2),则站点3收到站点1发送的数据是多少?

    S•A=(2+0+2+0)/ 4=1,(0-2+0-2)/ 4=-1,(0+2+0+2)/ 4=1,A发送1 0 1

    S•B=(2+0+2+0)/ 4=1,(0+2+0+2)/ 4=1,(0-2+0-2)/ 4=-1,B发送1 1 0

    S•C=(2+0-2+0)/4=0,(0-2+0+2)/ 4=0,(0+2+0-2)/ 4=0,C无发送

宽带接入技术

ADSL

湖科大 2022 计算机网络期末复习资料_第10张图片

非对称数字用户线 ADSL (Asymmetric Digital Subscriber Line) 技术就是用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带业务。

HFC

湖科大 2022 计算机网络期末复习资料_第11张图片

光纤同轴混合网HFC (Hybrid Fiber Coax) 网是在目前覆盖面很广的有线电视网 CATV 的基础上开发的一种居民宽带接入网

FTTx

FTTx 是一种实现宽带居民接入网的方案,代表多种宽带光纤接入方式。FTTx 表示 Fiber To The…(光纤到…),例如:

  1. 光纤到户 FTTH (Fiber To The Home):光纤一直铺设到用户家庭,可能是居民接入网最后的解决方法。
  2. 光纤到大楼 FTTB (Fiber To The Building):光纤进入大楼后就转换为电信号,然后用电缆或双绞线分配到各用户。
  3. 光纤到路边 FTTC (Fiber To The Curb):光纤铺到路边,从路边到各用户可使用星形结构双绞线作为传输媒体

第三章 数据链路层

信道

分为点对点信道和广播信道两种,对应的协议分别为PPP和CSMA/CD

三个基本问题

封装成帧 (framing)

原因

  1. 识别帧的开始与结束
  2. 便于计算机识别和处理比特流
  3. 向上层提供比特丢失、比特错误等服务
  4. 方便传输

解决方法

image-20221218163827820

在一段数据的前后分别添加首部和尾部(用于帧定界),然后就构成了一个帧。

透明传输

透明的定义

某一个实际存在的事物看起来却好像不存在一样

原因

  1. 避免消息符号与帧定界符号相混淆
  2. 如果数据中的某个字节的二进制代码恰好和帧定界符一样就会出现帧定界错误。

湖科大 2022 计算机网络期末复习资料_第12张图片

解决方法

  1. 面向字节的物理链路使用字节填充 (byte stuffing) 或字符填充 (character stuffing)

    1. 发送端的数据链路层在数据中出现控制字符“SOH”或 “EOT”或转义字符"ESC"的前面插入一个转义字符“ESC” (其十六进制编码是 1B)。
    2. 接收端的数据链路层在将数据送往网络层之前删除控制字符前插入的转义字符和两个转义字符中前面的那一个。

    湖科大 2022 计算机网络期末复习资料_第13张图片

  2. 面向比特的物理链路使用比特填充

差错检测

原因

  1. 防止差错的无效数据帧,浪费网络资源
  2. 在传输过程中可能会产生比特差错(是传输差错中的一种):1 可能会变 成 0 而 0 也可能变成 1。

误码率 BER (Bit Error Rate)

在一段时间内,传输错误的比特占所传输比特总数的比率,与信噪比有很大的关系(正相关)。

解决方法

循环冗余检验CRC(Cyclic Redundancy Check)
步骤
  1. 收发双方约定好一个生成多项式G(x);
  2. 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输;
  3. 接收方通过生成多项式来计算收到的数据是否产生了误码;
    • 若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept)。
    • 若余数 R ≠ 0,则判定这个帧有差错,就丢弃。
计算
  1. 用二进制的模 2 运算进行 2 n 2^n 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
  2. 得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R, 余数 R 比除数 P 少 1 位,即 R 是 n 位。
  3. 将余数 R 作为冗余码拼接在数据 M 后面发送出去。
举例

湖科大 2022 计算机网络期末复习资料_第14张图片

前面讲了理论,这里介绍具体协议的实现。

PPP协议 (Point-to-Point Protocol)

注意

  1. 使用点对点信道
  2. PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。
  3. 基于IP通信,不需要MAC地址

组成

  1. 一个将 IP 数据报封装到串行链路的方法。
  2. 链路控制协议 LCP (Link Control Protocol)。
  3. 网络控制协议 NCP (Network Control Protocol),其中的每一个协议支持不同的网络层协议。

同步传输

必须建立准确的时钟信号,各信号码元之间的相对位置都是固定的。

异步传输

在每一个字符的开始和结束的地方加上标志,即加上起始码和停止码。

三个基本问题

帧格式(封装成帧)

湖科大 2022 计算机网络期末复习资料_第15张图片

  1. 效据链路层使用的两种信道及对应的协议。
  2. 理解同步传输和异步传输的区别。

透明传输

下面两者方法本质上都是为了避免帧定界错误(帧定界符为0x7E/0111 1110 B)。

  1. 当 PPP 用在异步传输时(传输单位为字节),就使用一种特殊的字符填充法。

    1. 将信息字段中出现的每一个 0x7E 字节转变成为 2 字 节序列 (0x7D, 0x5E)。
    2. 若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列 (0x7D, 0x5D)。
    3. 若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加上0x20。

    image-20221218181323969

  2. 当 PPP 用在同步传输链路时(传输单位为比特),协议规定采用硬件来完成比特填充

    1. 在发送端,只要发现有 5 个连续 1,则立即填入一个 0。
    2. 接收端对帧中的比特流进行扫描。每当发现 5 个连续1 时,就把这 5 个连续 1 后的一个 0 删除。

    湖科大 2022 计算机网络期末复习资料_第16张图片

差错检测

湖科大 2022 计算机网络期末复习资料_第17张图片

以太网

定义

符合 DIX Ethernet V2 标准的局域网

  • DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。

服务/功能

以太网提供的服务是无连接不可靠的交付,即尽最大努力的交付。当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。对发送的帧不进行编号,也不要求接收方发回确认帧。这样做的理由是局域网的信道质量非常好,产生的错误的概率非常小。

局域网的数据链路层的两个子层

  1. 逻辑链路控制 LLC (Logical Link Control)子层,LLC 子层与传输媒体无关;
  2. 媒体接入控制 MAC (Medium Access Control)子层,与接入到传输媒体有关的内容都放在 MAC子层。
  • 由于现在广泛使用的局域网只有以太网,因此 LLC 帧已经失去了原来的意义

湖科大 2022 计算机网络期末复习资料_第18张图片

适配器

定义

网络接口板又称为通信适配器 (adapter) 或网络接口卡 NIC (Network Interface Card),或“网卡”。

湖科大 2022 计算机网络期末复习资料_第19张图片

功能

  1. 进行串行/并行转换。
  2. 对数据进行缓存。
  3. 在计算机的操作系统安装设备驱动程序。
  4. 实现以太网协议。

拓扑结构

物理上为星型,逻辑上为总线型

三个基本问题

帧格式(封装成帧)

以Ethernet V2标准的MAC帧格式为例,假设网络层使用的是IP协议

湖科大 2022 计算机网络期末复习资料_第20张图片

MAC地址

分为目的地址和源地址字段

别名

MAC 层的硬件地址 /硬件地址/物理地址/MAC 地址。

格式

IEEE 802 标准规定 MAC 地址字段可采用 6 字节 (48 位) 或 2 字节 (16 位) 这两种中的一种。

  • IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。
  • 地址字段 6 个字节中的后三个字节 (即低位 24 位) 由 厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。

所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。

湖科大 2022 计算机网络期末复习资料_第21张图片

类型字段

用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报。若类型字段的值为0x8137,则表示该帧是由NovellIPX发过来的。

数据字段

其长度在46到1500字节之间(46字节是这样得出的:最小长度64字节减去18字节的首部和尾部就得出数据字段的最小长度)。

透明传输

  • MAC帧的开始有7个字节的前同步码和帧开始定界符(10101011)
  • MAC帧的结束不需要帧结束定界符
    • 在以太网上传送数据时是以帧为单位传送的。以太网在传送帧时,各帧之间还必须有一定的间隙,并且物理层采用的是曼彻斯特编码,它的一个重要特点就是在曼彻斯特编码的每一个码元(不管码元是1或0)的正中间一定有一次电压的转换(从高到低或从低到高)。当发送方把一个以太网帧发送完毕后,就不再发送其他码元了(既不发送1,也不发送0)。因此,发送方网络适配器的接口上的电压也就不再变化了。这样,接收方就可以很容易地找到以太网帧的结束位置。在这个位置往前数4字节(FCS字段长度是4字节),就能确定数据字段的结束位置。因此,接收端只要找到帧开始定界符,其后面的连续到达的比特流就都视作属于同一个 MAC帧,同时也可以计算出帧长度。可见以太网不需要使用帧结束定界符,也不需要使用字节插入等来保证透明传输。

差错检测

MAC帧中FCS字段采用CRC检验,检验的内容不包括前同步码和帧开始定界符。

扩展的以太网

在物理层用扩展以太网

集线器
冲突域/碰撞域

在任意时刻,在每个碰撞域中只能有一个站在发送数据

湖科大 2022 计算机网络期末复习资料_第22张图片

优点
  • 使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。
  • 扩大了以太网覆盖的地理范围。
缺点
  • 碰撞域增大了,但总的吞吐量并未提高
  • 单个用户的带宽减少:对于普通 10 Mbit/s 的共享式以太网,若共有 N 个用户,则每个用户占有的平均带宽只有总带宽 (10 Mbit/s)的 N 分之一。
  • 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

在数据链路层扩展以太网

网桥

它根据 MAC 帧的目的地址对收到的帧进行转发和过滤。

  • 当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址
  • 再确定将该帧转发到哪一个接口,或把它丢弃。
交换机

交换式集线器 (switching hub) /交换式集线器/以太网交换机 (switch) /第二层交换机 (L2 switch)

注意

总线以太网使用CSMA/CD 协议,以半双工方式工作。但以太网交换机不使用共享总线,没有碰撞问题,因此不使用CSMA/CD协议,而是以全双工方式工作。但由于它的帧结构未改变,仍然采用以太网的帧结构,所以仍称为以太网。

特点
  • 以太网交换机实质上就是一个多接口的网桥。 每个接口都直接与一个单台主机或另一个以太网交换机相连。
  • 以太网交换机具有并行性,一般都工作在全双工方式。 能同时连通多对接口,使多对主机能同时通信。
  • 相互通信的主机都是独占传输媒体,无碰撞地传输数据。(隔离了冲突域
  • 以太网交换机的接口有存储器,能在输出端口繁忙时把到来的帧进行缓存
  • 以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。
  • 以太网交换机使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多。
优点
  • 用户独享带宽,增加了总容量。
    • 使用以太网交换机时,虽然在每个接口到主机的带宽还是 10 Mbit/s,但由于一个用户在通信时是独占,因此对于拥有 N 个接口的交换机的总带宽为 N×10 Mbit/s。
  • 从共享总线以太网转到交换式以太网时,所有接入设 备的软件和硬件、适配器等都不需要做任何改动。
  • 以太网交换机一般都具有多种速率的接口,方便了各 种不同情况的用户。

虚拟局域网

定义

虚拟局域网VLAN (Virtual LAN)是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。 每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN。

湖科大 2022 计算机网络期末复习资料_第23张图片

当 B1 向 VLAN2 工作组内成员发送数据时, 工作站 B2 和 B3 将会收到广播的信息;B1 发送数据时,工作站 A1,A2 和 C1 都不会收到 B1 发出的广播信息。

注意

虚拟局域网其实只是局域网给用户提供的一种服务, 而并不是一种新型局域网。

优点
  • 虚拟局域网是用户和网络资源的逻辑组合,因此可按照需要将有关设备和资源非常方便地重新组合, 使用户从不同的服务器或数据库中存取所需的资源。
  • 虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即“广播风暴”)而引起性能恶化。
帧格式

虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记(tag),用来指明发送该帧的计算机属于哪一个虚拟局域网。插入VLAN标记得出的帧称为802.1Q帧。显然,如果还使用原来的以太网帧格式,那么就无法区分是否划分了虚拟局域网。

湖科大 2022 计算机网络期末复习资料_第24张图片

高速以太网

定义

速率达到或超过 100 Mbit/s 的以太网称为高速以太网,又称为快速以太网 (Fast Ethernet)。

特点
  • 可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用 CSMA/CD 协议。
  • MAC 帧格式仍然是 802.3 标准规定的。
  • 保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 m。
  • 帧间时间间隔从原来的 9.6 μ \mu μ s 改为现在的 0.96 μ \mu μ s。

CSMA/CD协议

注意

  1. 使用广播信道,可以进行一对多通信
  2. 是局域网(以太网)采用的协议

含义

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

  • “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。

  • “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。

  • “碰撞检测”(“冲突检测”)就是计算机边发送数据边检测信道上的信号电压大小。

    • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
    • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

在使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。因此使用CSMA/CD 协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)。

湖科大 2022 计算机网络期末复习资料_第25张图片

争用期(碰撞窗口)

产生原因

最先发送数据帧的站,在发送数据帧后至多经过时间 2 τ 2 \tau 2τ (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

定义

以太网的端到端往返时延 2 τ 2 \tau 2τ 称为争用期(碰撞窗口)。

意义/作用

经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

协议规定长度

  • 10 Mbit/s 以太网取 51.2 μ s \mu s μs 为争用期的长度。
  • 这意味着:
    1. 对于 10 Mbit/s 以太网,在争用期内可发送 512 bit,即 64 字节。
    2. 以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。如果发生冲突,就一定是在发送的前 64 字节之内。
    3. 如果一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。因此以太网规定了最短有效帧长为 64 字节,凡长度 小于 64 字节的帧都是由于冲突而异常中止的无效帧。

二进制指数类型退避算法 (truncated binary exponential type)

意义

让发生碰撞的站在停止发送数据后推迟一段随机的时间才能再发送数据,减少重传时发生冲突的概率。

内容

湖科大 2022 计算机网络期末复习资料_第26张图片

使用以太网进行宽带接入

以太网宽带接入特点

  1. 可以提供双向的宽带通信。
  2. 可以根据用户对带宽的需求灵活地进行带宽升级。
  3. 可以实现端到端的以太网传输,中间不需要再进行帧格式的转换。这就提高了数据的传输效率且降低了传输的成本。
  4. 不支持用户身份鉴别。

PPPoE

PPPoE (PPP over Ethernet) 的意思是“在以太网上运行 PPP”,它把 PPP 协议与以太网协议结合起来 —— 将 PPP 帧再封装到以太网中来传输。该协议在以太网进行宽带接入互联网时使用。

第四章 网络层

功能

实现网络互连,完成分组在计算机网络核心部分的传输,即实现分组在多个网络的传输。为主机之间提供逻辑通信.

提供的两种服务

虚电路

  1. 面向连接,虚电路是逻辑连接,整个数据传输过程中独占虚电路
  2. 在通信之前先建立虚电路 (Virtual Circuit),以保证双方通信所需的一切网络资源
  3. 可实现可靠传输,数据能够无差错、不重复、 不丢失、按照正确顺序地进行传输。
  4. 当通信的链路过多时,需要很大的物理资源投入,且每条链路的资源利用率不高。

湖科大 2022 计算机网络期末复习资料_第27张图片

数据报

  1. 网络在发送分组时不需要先建立连接。每一个分组 (即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
  2. 网络层不提供服务质量的承诺,只尽最大努力交付。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。使网络中的(与电信网的交换机相比较)路由器可以做得比较简单,而且价格低廉。
  3. 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付 (包括差错处理、流量控制等)。
  4. 导致网络的造价大大降低, 运行方式灵活,能够适应多种应用。

湖科大 2022 计算机网络期末复习资料_第28张图片

虚电路服务与数据报服务的对比

对比的方面 虚电路服务 数据报服务
思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证
连接的建立 必须有 不需要
终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址
分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发
当结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序 总是按发送顺序到达终点 到达终点时不一定按发送顺序
端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责
  1. 为什么需要网络层?网络的主要功能有哪些?网络层有哪些协议?网络层据供不可靠的尽最大努力的服务(不可靠的服务)。
  2. 网络层向上层受供的服务有哪两种?它们有什么区别?

网际协议 IP

配套协议

湖科大 2022 计算机网络期末复习资料_第29张图片

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

功能

从网络层使用的 IP 地址, 解析出在数据链路层使用的硬件地址。

不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。

实现原理

在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。每一台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。

步骤
  • 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
    • 如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。减少了 ARP 广播的数量。
    • 如没有,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组,ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。
注意
  1. ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。
  2. 如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
使用 ARP 的四种典型情况

湖科大 2022 计算机网络期末复习资料_第30张图片

  1. 发送方是主机(H1),要把 IP 数据报发送到本网络上的另一个主机(H2)。这时用 ARP 找到目的主机的硬件地址。
  2. 发送方是主机(H1),要把 IP 数据报发送到另一个网络上的一个主机(H3)。这时用 ARP 找到本网络上的一个路由器(R1)的硬件地址。剩下的工作由这个路由器来完成。
  3. 发送方是路由器(R1),要把 IP 数据报转发到本网络上的一个主机(H3)。这时用 ARP 找到目的主机的硬件地址。
  4. 发送方是路由器(R1),要把 IP 数据报转发到另一个网络上的一个主机(H4)。这时用 ARP 找到本网络上另一 个路由器(R2)的硬件地址。剩下的工作由这个路由器来完成。

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

ICMP不是IP的高层协议(看起来好像是高层协议,因为ICMP报文是装在IP数据报中,作为其中的数据部分),而是IP层的协议。

功能
  • 更有效地转发 IP 数据报和提高交付成功的机会
  • 允许主机或路由器报告差错情况和提供有关异常情况的报告
报文格式

湖科大 2022 计算机网络期末复习资料_第31张图片

种类
ICMP 差错报告报文

只报告错误,不能纠错

  • 分类

    • 终点不可达
    • 时间超过
    • 参数问题
    • 改变路由(重定向)(Redirect)
  • 数据字段格式

    • 把收到的需要进行差错报告的IP数据报的首部和数据字段的前8个字节提取出来,作为ICMP报文的数据字段。再加上相应的ICMP差错报告报文的前8个字节。提取收到的数据报的数据字段前8个字节是为了得到运输层的端口号(对于TCP和 UDP)以及运输层报文的发送序号(对于TCP)。这些信息对源点通知高层协议是有用的。

      湖科大 2022 计算机网络期末复习资料_第32张图片

ICMP询问报文
  • 回送请求和回答报文
  • 时间戳请求和回答报文
应用
PING (Packet InterNet Groper)
  • PING 用来测试两个主机之间的连通性。
  • PING 使用了 ICMP 回送请求与回送回答报文。
  • PING 是应用层直接使用网络层 ICMP 的例子, 它没有通过运输层的 TCP 或UDP。
追踪路由Traceroute
  • 定义
    • 它用来跟踪一个分组从源点到终点的路径。在 Windows 操作系统中这个命令是tracert。
  • 原理
    • Traceroute 从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据报。第一个数据报P1的生存时间TTL 设置为1。当P到达路径上的第一个路由器R1时,路由器R1先收下它,接着把TTL 的值减1。由于TTL等于零了,R1就把P1丢弃了,并向源主机发送一个ICMP时间超过差错报告报文。源主机接着发送第二个数据报P2,并把TTL设置为2。P2先到达路由器R1,R1收下后把TTL减1再转发给路由器R2。R2收到P2时TTL为1,但减1后TTL变为零了。R2就丢弃P2,并向源主机发送一个ICMP时间超过差错报告报文。这样一直继续下去。当最后一个数据报刚刚到达目的主机时,数据报的TTL是1。主机不转发数据报,也不把TTL值减1。但因IP数据报中封装的是无法交付的运输层的UDP用户数据报,因此目的主机要向源主机发送ICMP终点不可达差错报告报文。
  • 功能
    • 源主机可以获得这些路由器和最后目的主机发来的ICMP报文给出的路由信息:到达目的主机所经过的路由器的IP地址,以及到达其中的每一个路由器的往返时间。

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

IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。

多播路由选择协议
本质

找出以源主机为根节点的多播转发树。

  • 在多播转发树上,每一个多播路由器向树的叶节点方向转发收到的多播数据报,但在多播转发树上的路由器不会收到重复的多播数据报(即多播数据报不应在互联网中兜圈子)。
  • 对不同的多播组对应于不同的多播转发树。同一个多播组,对不同的源点也会有不同的多播转发树。
转发数据报方法
  1. 泛洪与剪除
  2. 隧道技术
  3. 基于核心的发现技术

虚拟互联网络

定义

虚拟互连网络/逻辑互连网络,虽然互连起来的各种物理网络的异构性客观存在的,但是我们利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。这种使用IP协议的虚拟互连网络可简称为IP网。

使用IP网的好处是:当IP网上的主机进行通信时,就好像在一个单个网络上通信一样,它们看不见互连的各网络的具体异构细节(如具体的编址方案、路由选择协议,等等)。如果在这种覆盖全球的IP网的上层使用TCP协议,那么就是现在的互联网(Internet)。

中间设备

  1. 物理层使用的中间设备叫做转发器(repeater)。
  2. 数据链路层使用的中间设备叫做网桥或桥接器(bridge)。
  3. 网络层使用的中间设备叫做路由器(router)。(可以隔离广播域)
  4. 在网络层以上使用的中间设备叫做网关(gateway)。用网关连接两个不兼容的系统需要在高层进行协议的转换。

直接交付

间接交付

它们分别用在什么场合?

ipv4地址定义

把整个因特网看成为一个单一的、抽象的网络。 IP 地址就是给每个连接在互联网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。是一种逻辑地址。

IPv4地址的编址方法

分类的IP地址

规则

湖科大 2022 计算机网络期末复习资料_第33张图片

  • 将IP地址划分为若干个固定类。
  • 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
  • 主机号在它前面的网络号所指明的网络范围内必须是唯一的。 一个 IP 地址在整个互联网范围内是唯一的。
特点
  1. IP 地址是一种分等级的地址结构。分两个等级的好处是:
    1. IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配,方便了 IP 地址的管理。
    2. 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路 由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
  2. 实际上 IP 地址是标志一个主机(或路由器) 和一条链路的接口。
    1. 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机 (multihomed host)。
    2. 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络), 因此,一个路由器至少应当有两个不同的 IP 地址。
  3. 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
  4. 所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
点分十进制记法

湖科大 2022 计算机网络期末复习资料_第34张图片

分类

湖科大 2022 计算机网络期末复习资料_第35张图片

A类地址详细信息

湖科大 2022 计算机网络期末复习资料_第36张图片

B类地址详细信息

湖科大 2022 计算机网络期末复习资料_第37张图片

C类地址详细信息

湖科大 2022 计算机网络期末复习资料_第38张图片

IP地址的指派范围

湖科大 2022 计算机网络期末复习资料_第39张图片

一般不使用的特殊IP地址

湖科大 2022 计算机网络期末复习资料_第40张图片

子网的划分

产生原因

两级IP地址的不合理之处

  1. IP 地址空间的利用率有时很低。
  2. 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
  3. 两级的 IP 地址不够灵活。
定义

划分子网 (subnetting):在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。

规则
  • 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
  • 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。凡是从其他网络发送给本单位某个主机的 IP 数据报, 仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
  • 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
  • 最后就将 IP 数据报直接交付目的主机。
优点
  • 减少了 IP 地址的浪费
  • 使网络的组织更加灵活
  • 更便于维护和管理
缺点

减少了能够连接在网络上的主机总数。

例题
  1. 【例4-2】已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0。试求网络地址。

    湖科大 2022 计算机网络期末复习资料_第41张图片

  2. 【例4-3】上例中,若子网掩码改为 255.255.224.0,试求网络地址,讨论所得结果。

    湖科大 2022 计算机网络期末复习资料_第42张图片

不同的子网掩码得出相同的网络地址。 但不同的掩码的效果是不同的。

构成超网/路由聚合(CIDER)

产生原因
  1. B 类地址在 1992 年已分配了近一半,眼看就要在 1994 年 3 月全部分配完毕!
  2. 互联网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。
  3. 整个 IPv4 的地址空间最终将全部耗尽。
定义

无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。是无分类编址方法

表示形式

地址块10.0.0.0/10可简写为10/10,也就是把点分十进制中低位连续的0省略。另一种简化表示方法是在网络前缀的后面加一个星号*,如:
00001010 00*
意思是:在星号*之前是网络前缀,而星号*表示IP地址中的主机号,可以是任意值,

特点
  1. CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。
  2. CIDR使用各种长度的“网络前缀”(network prefix)来代替分类地址中的网络号和子网号。
  3. IP 地址从三级编址(使用子网掩码)又回到了两级编址。
  4. CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。我们只要知道CIDR地址块中的任何一个地址,就可以知道这个地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。
  5. CIDR 地址块中的地址数一定是 2 的整数次幂。
优点

可以更加有效地分配 IPv4 的地址空间,可根据客户的需要分配适当大小的 CIDR 地址块。

CIDR 地址块划分举例

湖科大 2022 计算机网络期末复习资料_第43张图片

这个 ISP 共有 2^6=64 个 C 类网络。如果不采用 CIDR 技术, 则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需 用路由聚合后的 1 个项目 206.0.64.0/18 就能找到该 ISP。

最长前缀匹配
背景

使用 CIDR 时,路由表中的每个项目由“网络 前缀”和“下一跳地址”组成。在查找路由表 时可能会得到不止一个匹配结果。

定义
  • 最长前缀匹配 (longest-prefix matching)/最长匹配/最佳匹配:从匹配结果中选择具有最长网络前缀的路由。
  • 网络前缀越长,其地址块就越小,因而路由就越具体 (more specific) 。
  1. 互联网路由选择协议:内部网关协议(RIP、OSPF);外部网关协议(BGP-3);RP协议中路由器更新白己的路由表的过程;
例题

4-25 一个自治系统有5个局域网,其连接图如图所示。LAN2至LAN5上的主机数分别为:91、150、3和15。该自治系统分配到的IP地址块为30.138.118/23。试给出每一个局域网的地址块(包括前缀)(答案不唯一)。

湖科大 2022 计算机网络期末复习资料_第44张图片

30.138.118/23=30.138.01110110.0。
LAN3有150 台主机,至少分配256个地址。
LAN2有 91 台主机,至少分配128个。
LAN4 有 3 台主机,至少分配8个。
LAN5 有 15 台主机,至少分配32个。
LAN1 连接 3 台路由器,有 3 个IP地址,至少分配4个。

湖科大 2022 计算机网络期末复习资料_第45张图片

局域网 地址块
LAN1 30.138.119.192/29
LAN2 30.138.119.0/25
LAN3 30.138.118.0/24
LAN4 30.138.119.200/29
LAN5 30.138.119.128/26

4-26 一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24。公司的网络布局如图所示。总部共有五个局域网,其中的LAN1~LAN4都连接到路由器R1上,R1再通过LAN5与路由器R2相连。R2和远地的三个部门的局域网LAN6~LAN8通过广域网相连。每一个局域网旁边标明的数字是局域网上的主机数。试给每一个局域网分配一个合适的网络前缀。

湖科大 2022 计算机网络期末复习资料_第46张图片

解答:
50个主机的LAN1需要前缀/26(主机号6位,62个主机号),
30个主机的LAN3需要前缀/27(主机号5位,30个主机号),
两个10个主机的LAN1和LAN4各需要一个前缀/28(主机号4位,14个主机号)。
LAN6~LAN8(加上路由器)各需要一个前缀/27(主机号5位,30个主机号),
3个WAN各有两个端点,各需要一个前缀/30(主机号2位,2个主机号)。
LAN5需要前缀/30(主机号2位,2个主机号),但考虑到以太网上可能还要再接几个主机,故留有余地,可分配一个29(主机号3位,6个主机号)。
本题的解答有很多种,下面给出其中的一种答案(先选择需要较大的网络前缀):
LAN1:192.77.33.0/26
LAN3:192.77.33.64/27 192.77.33.0100 0000
LAN6:192.77.33.96/27 192.77.33.0110 0000
LAN7:192.77.33.128/27 192.77.33.1000 0000
LAN8:192.77.33.160/27 192.77.33.1010 0000
LAN2:192.77.33.192/28 192.77.33.1100 0000
LAN4:192.77.33.208/28 192.77.33.1101 0000
LAN5:192.77.33.224/29 192.77.33.1110 0000(考虑到以太网上可能还要再接几个主机,故留有余地。)
WAN1:192.77.33.232/30 192.77.33.1110 1000
WAN2:192.77.33.236/30 192.77.33.1110 1100
WAN3:192.77.33.240/30 192.77.33.1111 0000

湖科大 2022 计算机网络期末复习资料_第47张图片

4-33 某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:
(1)每一个子网的网络前缀有多长?28位
(2)每一个子网中有多少个地址?2^4^=16个地址
(3)每一个子网的地址是什么?

136.23.12.64=10001000 00010111 00001100 0100000

136.23.12.64/28
136.23.12.80/28
136.23.12.96/28
136.23.12.112/28

(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?

除去主机号为全0的网络地址和全1的广播地址

136.23.12.65/28 136.23.12.78/28
136.23.12.81/28 136.23.12.94/28
136.23.12.97/28 136.23.12.110/28
136.23.12.113/28 136.23.12.126/28

IP数据报的格式

湖科大 2022 计算机网络期末复习资料_第48张图片

首部

首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。

版本

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

首部长度

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

区分服务

占 8 位,用来获得更好的服务。 在旧标准中叫做服务类型,但实际上一直未被使用过。 1998 年这个字段改名为区分服务。 只有在使用区分服务(DiffServ)时,这个字段才起作用。 在一般的情况下都不使用这个字段。

总长度

占 16 位,指首部和数据之和的长度, 单位为字节,因此数据报的最大长度为 65535 字节。若 总长度超过数据链路层的最大传送单元 MTU(Maximum Transfer Unit)则需要分片。

标识(identification)

占16 位。IP 软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

标志(flag)

占 3 位,目前只有前两位有意义。 标志字段的最低位是 MF (More Fragment)。 MF = 1 表示后面“还有分片”。MF = 0 表示最后一个分片。 标志字段中间的一位是 DF (Don’t Fragment) 。 只有当 DF = 0 时才允许分片。

片偏移

占13 位,指出较长的分组在分片后 某片在原分组中的相对位置。 片偏移以 8 个字节为偏移单位。因此每个分片的长度必须是8字节(64位)的整数倍。

例题

一数据报的总长度为 3820 字节,其数据部分的长度为 3800 字节(使用固定首部),需要分片为长度不超过 1420 字节的数据报片。

  • 因固定首部长度为 20 字节,因此每个数据报片的数据部分长度不能超过 1400 字节。

  • 于是分为 3 个数据报片,其数据部分的长度分别为 1400、1400 和 1000 字节。

  • 原始数据报首部被复制为各数据报片的首部, 但必须修改有关字段的值。

  • 分片示意图

    湖科大 2022 计算机网络期末复习资料_第49张图片

  • IP 数据报首部中与分片有关的字段中的数值

    总长度 标识 MF DF 片偏移
    原始数据报 3820 12345 0 0 0
    数据报片1 1420 12345 1 0 0
    数据报片2 1420 12345 1 0 175
    数据报片3 1020 12345 0 0 350
生存时间
定义

占8 位,记为 TTL (Time To Live), 指示数据报在网络中可通过的路由器数的最大值。功能为“跳数限制”。路由器在每次转发数据报之前就把TTL值减1。若 TTL值减小到零,就丢弃这个数据报,不再转发。

功能

可以防止数据报在网络中兜圈子

协议

占8 位,指出此数据报携带的数据使用何种协议, 以便目的主机的 IP 层将数据部分上交给对应的协议进行处理

协议名 ICMP IGMP lP TCP EGP IGP UDP IPv6 ESP OSPF
协议字段值 1 2 4 6 8 9 17 41 50 89
首部检验和

占16 位,只检验数据报的首部, 不检验数据部分。这里不采用 CRC 检验码而采用简单的16 位二进制反码求和算法。

计算规则

湖科大 2022 计算机网络期末复习资料_第50张图片

二进制反码求和规则: 0和0相加是0,0和1相加是1,1和1相加是0但要产生一个进位1,加到下一列。若最高位相加后产生进位,则最后得到的结果要加上溢出的进位 1(可能有多个1)。

湖科大 2022 计算机网络期末复习资料_第51张图片

数据

上层协议格式

IP层转发分组

流程

  • 按主机所在的网络地址来制作路由表。
  • 根据目的网络地址就能确定下一跳路由器,这样做的结果是:
    • IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
    • 只有到达最后一个路由器时,才向目的主机进行直接交付

湖科大 2022 计算机网络期末复习资料_第52张图片

路由器分组转发算法

  1. 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为N。
  2. 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行 (3)。
  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 (4)。
  4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行 (5)。
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行 (6)。
  6. 报告转发分组出错。

IP多播

定义

IP多播(multicast)(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。多播作为一点对多点的通信,是节省网络带宽的有效方法之一。

单播与多播比较

湖科大 2022 计算机网络期末复习资料_第53张图片

多播 IP 地址

  • IP 多播所传送的分组需要使用多播 IP 地址。
  • 在多播数据报的目的地址写入的是多播组的标识符。
  • 多播组的标识符就是 IP 地址中的 D 类地址(多播地址)。
  • 每一个 D 类地址标志一个多播组。
  • 多播地址只能用于目的地址,不能用于源地址。

硬件多播

地址范围

IANA提供的以太网多播地址的范围是:01-00-5E-00-00-0001-00-5E-7F-FF-FF
只有 23位 能用作 多播地址

互联网号码指派管理局IANA拥有的以太网地址块的高24位为00-00-5E,以太网硬件地址字段中的第1字节的最低位为1时即为多播地址,但只分配了一半(23位)给多播,因此高24位为01-00-5E,并且25位为0。

映射规则

由于多播IP地址与以太网硬件地址的映射关系不是唯一的(228:223=32:1),因此收到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。

23bit完全相同的几率已经很小了,这种设计方法只是只是一个折中而已

湖科大 2022 计算机网络期末复习资料_第54张图片

举例

ip多播地址 224.128.64.32 (E0-80-40-20) 和 另一个 ip多播地址 224.0.64.32 (E0-00-40-20)
转换成以太网的硬件多播地址都是 01-00-5E-00-40-20
仍需要目的主机在3层根据ip地址进行过滤

路由选择协议

自治系统

将整个互联网划分为许多较小的自治系统 (Autonomous System,AS),一个自治系统是一个互联网,其最重要的特点 是自治系统有权自主地决定在本系统内采用何种路由选择协议。一个自治系统内的所有网络都属于一个行政单位来管辖。一个自治系统的所有路由器在本自治系统内必须是连通的。

自治系统之间的路由选择也叫做域间路由选择 (interdomain routing),在自治系统内部的路由选择叫做域内路由选择 (intradomain routing) 。

分类

内部网关协议 IGP (Interior Gateway Protocol)

在一个自治系统内部使用的路由选择协议

RIP
定义

路由信息协议 RIP (Routing Information Protocol) 是一种分布式的、基于距离向量算法的路 由选择协议。 要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。

“距离”的定义
  • 从一路由器到直接连接的网络的距离定义为 1。
  • 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。
  • RIP 协议中的“距离” 也称为“跳数”(hop count) ,因为每经过一个路由器,跳数就加 1。
工作流程

湖科大 2022 计算机网络期末复习资料_第55张图片

  • 路由器刚开始工作时,只知道自己到直连网络的距离为1.
  • 每个路由器仅和相邻路由器周期性地交换并更新路由信息。
  • 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛。
特点
  • RIP 认为一个好的路由就是它通过的路由器的 数目少,即“距离短” 。
  • RIP 允许一条路径最多只能包含 15 个路由器。 “距离”的最大值为 16 时即相当于不可达。可见 RIP 只适用于小型互联网。
  • RIP 不能在两个网络之间同时使用多条路由。 RIP 选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。
三个要点
  • 与谁交换信息?(who)
    • 仅和相邻路由器交换信息。
  • 交互什么信息?(what)
    • 交换的信息是当前本路由器所知道的全部信息, 即自己的路由表。
  • 什么时候交互信息?(when)
    • 按固定的时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
优点

实现简单,开销较小。

缺点
  • RIP 限制了网络的规模,它能使用的最大距离为 15 (16 表示不可达)。
  • 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
  • “坏消息传播得慢”,使更新过程的收敛时间过长。
距离向量算法

对每一个相邻路由器发送过来的RIP报文,进行以下步骤:

  1. 对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。每一个项目都有三个关键数据,即:到目的网络N,距离是d,下一跳路由器是X。

    这样做是为了便于进行本路由表的更新。假设从位于地址X的相邻路由器发来的RIP报文的某一个项目是“Net2,3,Y”,意思是“我经过路由器Y到网络Net2的距离是3”,那么本路由器就可推断出:“我经过X到网络Net2的距离应为3+1 = 4”。于是,本路由器就把收到的RIP报文的这一个项目修改为“Net2,4,X",作为下一步和路由表中原有项目进行比较时使用(只有比较后才能知道是否需要更新)。注意:收到的项目中的Y对本路由器是没有用的,因为Y不是本路由器的下一跳路由器地址(是下下一跳)。

  2. 对修改后的RIP报文中的每一个项目,进行以下步骤:

    1. 若原来的路由表中没有目的网络N,则把该项目添加到路由表中。

      表明这是新的目的网络,应当加入到路由表中。例如,本路由表中没有到目的网络Net2的路由,那么在路由表中就要加入新的项目“Net2,4,X”。

    2. 否则(即在路由表中有目的网络N,这时就再查看下一跳路由器地址〉

      1. 若下一跳路由器地址是X,则把收到的项目替换原路由表中的项目。

        要以最新的消息为准。到目的网络的距离有可能增大或减小,但也可能没有改变。例如,不管原来路由表中的项目是“Net2,3,X”还是“Net2,5,X”,都要更新为现在的“Net2,4,X”。

      2. 否则(即这个项目是:到目的网络N,但下一跳路由器不是X)

        1. 若收到的项目中的距离d小于路由表中的距离,则进行更新;

          例如,若路由表中己有项目“Net2,5,P”,就要更新为“Net2,4,X”。因为到网络Net2的距离原来是5,现在减到4,更短了。

        2. 否则什么也不做。

          若距离更大了,显然不应更新。若距离不变,更新后得不到好处,因此也不更新。

  3. 若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为16(距离为16表示不可达)。

  4. 返回。

上面给出的距离向量算法的基础就是 Bellman-Ford 算法(或Ford-Fulkerson算法)。这种算法的要点是这样的:
设是结点A到B的最短路径上的一个结点。若把路径A→B拆成两段路径A→X和X→B,则每一段路径A→X和X→B也都分别是结点A到X和结点X到B的最短路径。

例题

【例4-5】已知路由器R6有表4-9(a)所示的路由表。现在收到相邻路由器R4发来的路由更新信息,如表4-9(b)所示。试更新路由器R6的路由表。

湖科大 2022 计算机网络期末复习资料_第56张图片

  1. 先把表4-9(b)中的距离都加1,并把下一跳路由器都改为R。得出表4-9©。

    湖科大 2022 计算机网络期末复习资料_第57张图片

  2. 把这个表的每一行和表4-9(a)进行比较。
    第一行在表4-9(a)中没有,因此要把这一行添加到表4-9(a)中。
    第二行的Net2在表4-9(a)中有,且下一跳路由器也是R4。因此要更新(距离增大了)。第三行的Net3在表4-9(a)中有,但下一跳路由器不同。于是就要比较距离。新的路由信息的距离是2,小于原来表中的4,因此要更新。
    这样,得出更新后的R的路由表如表4-9(d)所示。

    湖科大 2022 计算机网络期末复习资料_第58张图片

4-37 假定网络中得路由器B的路由表有如下项目。

目的网络 距离 下—跳路由器
N1 7 A
N2 2 c
N6 8 F
N8 4 E
N9 4 F

现在B收到从C发来的路由信息如下表。

目的网络 距离
N2 4
N3 8
N6 4
N8 3
N9 5
  1. 先把B收到的路由信息中距离都加1,并且在后面添加C得新表:
目的网络 距离 下—跳路由器
N2 5 C
N3 9 C
N6 5 C
N8 4 C
N9 6 C
  1. 更新后路由表:
目的网络 距离 下一条路由 备注
N1 7 A 无新信息,不变
N2 5 C 以新信息为准
N3 9 C 原路由表没有目的网络N1,添加进去
N6 5 C 相比于F,选择C为下一跳更短
N8 4 E 下一跳选择E与C距离相同,不变
N9 4 F 选择C为下一跳距离更长,不变。
RIP2报文格式

湖科大 2022 计算机网络期末复习资料_第59张图片

OSPF 协议
定义

开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点在 1989 年开发出来的,是分布式的链路状态协议 。

  • “开放”表明 OSPF 协议不是受某一家厂商控制,而是公开发表的。
  • “最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法 SPF

注意:OSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。

三个要点
  • 与谁交互信息?(who)
    • 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
  • 交互什么信息?(what)
    • 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
  • 什么时候交互信息?(when)
    • 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
特点

OSPF最主要的特征就是使用分布式的链路状态协议(link state protocol),而不是像RIP那样的距离向量协议。和RIP协议相比,OSPF 的三个要点和RIP的都不一样:

  1. 向本自治系统中所有路由器发送信息。这样,最终整个区域中所有的路由器都得到了这个信息的一个副本。

    使用是洪泛法(flooding),路由器通过所有输出端口向所有相邻的路由器发送信息。而每一个相邻路由器又再将此信息发往其所有的相邻路由器(但不再发送给刚刚发来信息的那个路由器)。

    而RIP协议仅仅向自己相邻的几个路由器发送信息。

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

    所谓“链路状态”就是说明本路由器都和哪些路由器相邻°,以及该链路的“度量”(metric)。OSPF将这个“度量”用来表示费用、距离、时延、带宽,等等。这些都由网络管理人员来决定,因此较为灵活。有时为了方便就称这个度量为“代价”。

    而对于RIP协议,发送的信息是:“到所有网络的距离和下一跳路由器”。

  3. 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。

    而RIP不管网络拓扑有无发生变化,路由器之间都要定期交换路由表的信息。

外部网关协议 EGP (External Gateway Protocol)

若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。

IGP与EGP使用环境
不同的原因
  1. 互联网的规模太大,使得自治系统AS之间路由选择非常困难
  2. 自治系统AS之间的路由选择必须考虑有关策略。e.g:政治、经济、安全等
区别
  • 内部网关协议IGP寻找一条最佳路由
  • 外部网关协议EGP(如BGP)寻找一条能够到达目的网络且比较好的路由(不兜圈子)
BGP
定义

外部网关协议(Border Gateway Protocol)是不同自治系统的路由器之间交换路由信息的协议。

BGP 较新版本是 2006 年 1 月发表的 BGP-4 (BGP 第 4 个版本)

特点
  • BGP 协议交换路由信息的结点数量级是自治系 统数的量级,这要比这些自治系统中的网络数少很多。
  • 每一个自治系统中 BGP 发言人(或边界路由器) 的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂。
  • 在 BGP 刚刚运行时,BGP 的邻站是交换整个 的 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
三个要点
  • 与谁交换信息?(who)
    • 仅和相邻BGP发言人交换信息。
  • 交互什么信息?(what)
    • 交换的信息是当前本BGP发言人所知道的全部路径信息。
  • 什么时候交互信息?(when)
    • 按固定的时间间隔交换信息(30秒)。
BGP发言人

湖科大 2022 计算机网络期末复习资料_第60张图片

IPv6

与IPv4的主要变化

  1. 更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。
  2. 扩展的地址层次结构。
  3. 灵活的首部格式。 IPv6 定义了许多可选的扩展首部。
  4. 改进的选项。 IPv6 允许数据报包含有选项的控制信息,其选项放在有效载荷中。
  5. 允许协议继续扩充
  6. 支持即插即用。自动配置,不需要DHCP
  7. 支持资源预分配
  8. 首部改为8字节对齐。首部长度必须是8字节的整数倍

格式

数据报格式

湖科大 2022 计算机网络期末复习资料_第61张图片

首部格式

湖科大 2022 计算机网络期末复习资料_第62张图片

IPv4向IPv6过渡的方法

双协议栈

定义

双协议栈(dual stack)是指在完全过渡到IPv6之前,使一部分主机(或路由器)装有双协议栈:一个IPv4和一个IPv6。因此双协议栈主机(或路由器)既能够和IPv6的系统通信,又能够和IPv4的系统通信。

双协议栈的主机(或路由器)记为IPv6/IPv4,表明它同时具有两种IP地址:一个IPv6地址和一个IPv4地址。

策略

双协议栈主机在和 IPv6主机通信时采用IPv6地址,而和 IPv4主机通信时则采用IPv4地址。双协议栈主机使用域名系统DNS来查询知道目的主机是采用哪一种地址。若DNS返回的是IPv4地址,双协议栈的源主机就使用IPv4地址。但当DNS返回的是IPv6地址,源主机就使用IPv6地址。

举例

图4-49所示的情况是源主机A和目的主机F都使用IPv6,所以A向F发送IPv6数据报,路径是A→B→C→D→E→F。中间B到E这段路径是IPv4网络,路由器B不能向C转发IPv6数据报,因为C只使用IPv4协议。B是IPv6/IPv4路由器,它把IPv6数据报首部转换为IPv4数据报首部后发送给C。C再转发到D。当D转发到IPv4网络的出口路由器E时(E也是IPv6/IPv4路由器),再恢复成原来的IPv6数据报。

注意:Pv6首部中的某些字段无法恢复。例如,原来IPv6首部中的流标号X在最后恢复出的IPv6数据报中只能变为空缺。这种信息的损失是使用首部转换方法所不可避免的。

湖科大 2022 计算机网络期末复习资料_第63张图片

隧道技术隧道技术(tunneling)

策略

在IPv6数据报要进入 IPv4网络时,把 IPv6数据报封装成为IPv4数据报。整个的IPv6数据报变成了IPv4 数据报的数据部分。

举例

IPv4数据报从路由器B经过路由器C和D,传送到E,而原来的IPv6数据报就好像在IPv4网络的隧道中传输,什么都没有变化。当IPv4数据报离开IPv4网络中的隧道时,再把数据部分(即原来的IPv6数据报)交给主机的IPv6协议栈。

图中的一条粗线表示在IPv4网络中好像有一个从B到E的“IPv6隧道”,路由器B是隧道的入口而E是出口。
在隧道中传送的数据报的源地址是B而目的地址是E。
要使双协议栈的主机知道IPv4 数据报里面封装的数据是一个IPv6数据报,就必须把IPv4首部的协议字段的值设置为41(41表示数据报的数据部分是IPv6数据报)。

湖科大 2022 计算机网络期末复习资料_第64张图片

VPN

本地地址与全球地址

本地地址

仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向互联网的管理机构申请。

全球地址

全球唯一的 IP 地址,必须向互联网的管理机构申请。

问题

在内部使用的本地地址就有可能和互联网中某个 IP 地址重合,这样就会出现地址的二义性问题。

解决

RFC 1918 指明了一些专用地址 (private address)也叫做可重用地址 (reusable address)。

专用地址
定义

专用地址只能用作本地地址而不能用作全球地址。在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。

三个专用 IP 地址块
  1. A类,10.0.0.0 到 10.255.255.255,或记为10.0.0.0/8,它又称为 24 位块
  2. B类,172.16.0.0 到 172.31.255.255,或记为172.16.0.0/12,它又称为 20 位块
  3. C类,192.168.0.0 到 192.168.255.255,或记为192.168.0.0/16,它又称为 16 位块
专用网

采用这样的专用 IP 地址的互连网络称为专用互联网或本地互联网,或更简单些,就叫做专用网。

定义

虚拟专用网 VPN (Virtual Private Network):利用公用的互联网作为本机构各专用网之间的 通信载体

  • “专用网”是因为这种网络是为本机构的主机用于机构内部的通信,而不是用于和网络外非本机构的主机通信。
  • “虚拟”表示“好像是”,但实际上并不是, 因为现在并没有真正使用通信专线,而VPN只是在效果上和真正的专用网一样。

构建要求

  1. 如果专用网不同网点之间的通信必须经过公用 的互联网,但又有保密的要求,那么所有通过互联网传送的数据都必须加密
  2. 一个机构要构建自己的 VPN 就必须为它的每一个场所购买专门的硬件和软件,并进行配置, 使每一个场所的 VPN 系统都知道其他场所的地址。

技术实现

隧道技术

要求

VPN连接的每一个场所至少要有一个路由器具有合法的全球IP地址

举例

路由器R1和R2。这两个路由器和互联网的接口地址必须是合法的全球IP地址。路由器R1和R2在专用网内部网络的接口地址则是专用网的本地地址。

湖科大 2022 计算机网络期末复习资料_第65张图片

NAT

定义

网络地址转换 NAT (Network Address Translation) :解决在专用网上使用专用地址的主机如何与互联网上的主机通信(并不需要加密)问题。

要求

  1. 在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT 路由器,它至少有一个有效的外部全球IP地址。
  2. 所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接。

过程

图中给出了 NAT路由器的工作原理。专用网192.168.0.0内所有主机的IP地址都是本地IP地址192.168.x.x。NAT路由器至少要有一个全球IP地址(此处为172.38.1.5),才能和互联网相连。

湖科大 2022 计算机网络期末复习资料_第66张图片

  1. 内部主机 A 用本地地址 IPA 和互联网上主机 B 通信所发送的数据报必须经过 NAT 路由器。
  2. NAT 路由器将数据报的源地址 IPA 转换成全球地址 IPG,并把转换结果记录到NAT地址转换表中,目的地 址 IPB 保持不变,然后发送到互联网。
  3. NAT 路由器收到主机 B 发回的数据报时,知道数据报中的源地址是 IPB 而目的地址是 IPG
  4. 根据 NAT 转换表,NAT 路由器将目的地址 IPG转换为 IPA,转发给最终的内部主机 A。

可以看出,在内部主机与外部主机通信时,在NAT路由器上发生了两次地址转换:

  1. 离开专用网时:替换源地址,将内部地址替换为全球地址;
  2. 进入专用网时:替换目的地址,将全球地址替换为内部地址;

NAT地址转换表示例

方向 字段 旧的IP地址 新的IP地址
源IP地址 192.168.0.3 172.38.1.5
目的IP地址 172.38.1.5 192.168.0.3

多协议标记交换 MPLS (MultiProtocol Label Switching)

“多协议”表示在 MPLS 的上层可以采用多种协议,例如:IP,IPX;可以使用多种数据链路层协议,例如:PPP,以太网,ATM 等。

“标记”是指每个分组被打上一个标记,根据 该标记对分组进行转发。

特点

  1. 支持面向连接的服务质量。
  2. 支持流量工程,平衡网络负载。
  3. 有效地支持虚拟专用网VPN。

优点

每个分组携带一个叫做标记 (label) 的小整数。 当分组到达交换机(即标记交换路由器)时, 交换机读取分组的标记, 并用标记值来检索分组转发表。 这样就比查找路由表来转发分组要快得多。

软件定义网络SDN(Software Defined Network)

特征

  1. 基于流的转发
  2. 数据层面与控制层面分离
  3. 位于数据层面交换机之外的网络控制功能
  4. 可编程的网络

层次

湖科大 2022 计算机网络期末复习资料_第67张图片

第五章 运输层

  1. 为什么需要运输层?

与网络层区别

网络层为主机之间提供逻辑通信,主机的身份标志是 IP 地址

运输层为应用进程之间提供端到端的逻辑通信,进程的身份标志是端口

进程之间的通信

湖科大 2022 计算机网络期末复习资料_第68张图片

  • 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层
  • 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到三层(到网络层)的功能。

功能

  1. 向上面的应用层提供逻辑通信服务。(为应用进程之间提供端到端的逻辑通信)

  2. 端口复用(multiplexing)和分用 (demultiplexing)。

    复用:各个应用进程可以通过运输层将数据传送到网络IP层

    分用:运输层从网络IP层收到应用进程数据后,必须交付给指定的用户进程

  3. 向高层用户屏蔽了下面网络核心的细节 (如网络拓扑、所采用的路由选择协议等), 它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。

端口

定义

协议端口号 (protocol port number),简称端口 (port),也称为进程标识。

作用

  1. 标志主机中的进程
  2. 充当通信的终点。只要把要传送的报文交到目的主机的某一个合适的目的端口, 剩下的工作(即最后交付目的进程)就由 TCP 来完成。
  3. 应用层的各种协议进程与运输实体进行层间交互的地址

规则

  • 端口用一个 16 位端口号进行标志。
  • 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。
  • 在互联网中,不同计算机的相同端口号是没有联系的。

两个计算机中的进程要互相通信,不仅必须知道对方的 IP 地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。

分类

服务器端使用的端口号

  • 熟知端口,数值一般为 0 ~ 1023。

    • 常用熟知端口号(前6个,除了TFTP)

      应用程序 FTP TELNET SMTP DNS TFTP HTTP SNMP SNMP(trap) HTTPS
      熟知端口号 21 23 25 53 69 80 161 162 443
  • 登记端口号,数值为 1024 ~ 49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记, 以防止重复。

客户端使用的端口号

  • 又称为短暂端口号,数值为 49152 ~ 65535,留给客户进程选择暂时使用。
  • 当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。

UDP与TCP

对比

指标 UDP TCP
提供的服务 无连接 面向连接(逻辑连接)
保证可靠和顺序交付
交付 尽力而为地交付 可靠交付
TPDU UDP报文/用户数据报 TCP报文段
处理上层数据 基于报文 基于字节流
首部、资源开销
信息交互方式 半双工 全双工
接收到差错的TPDU 直接丢弃
多播和广播 不支持

运输协议数据单元 TPDU (Transport Protocol Data Unit):两个对等运输实体在通信时传送的数据单位

用户数据报协议 UDP (User Datagram Protocol)

UDP 只在 IP 的数据报服务之上增加了很少一点的功能:复用和分用的功能和差错检测的功能

特点

  1. 无连接,发送数据之前不需要建立连接。因此减少了开销和发送数据之前的时延。

  2. 尽最大努力交付。即不保证可靠交付,因 此主机不需要维持复杂的连接状态表。

  3. 面向报文。UDP 对应用层交下来的报文, 既不合并,也不拆分,而是保留这些报文的边界,一次交付一个完整的报文。

    应用程序必须选择合适大小的报文。

    • 若报文太长,UDP 把它交给 IP 层后,IP 层在传送时可能要进行分片,降低 IP 层的效率。
    • 若报文太短,UDP 把它交给 IP 层后,会使 IP 数据报的首部的相对长度太大,也降低 IP 层的效率。
  4. 没有拥塞控制。因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。 很适合多媒体通信的要求。

  5. 支持一对一、一对多、多对一和多对多的交互通信(半双工)。

  6. 首部开销小。只有 8 个字节,比 TCP 的 20 个字节的首部要短。

首部格式

湖科大 2022 计算机网络期末复习资料_第69张图片

源端口

源端口号在需要对方回信时选用。不需要时可用全0。

目的端口

目的端口号在终点交付报文时必须使用。

长度

UDP用户数据报的长度,其最小值是8(仅有首部)。

检验和
定义

检测UDP用户数据报在传输中是否有错,有错就丢弃。

举例

假定用户数据报的长度是15字节,因此要添加一个全0的字节。

湖科大 2022 计算机网络期末复习资料_第70张图片

伪首部:仅用于计算检验和。在计算检验和时,临时把“伪首部”和 UDP 用户数 据报连接在一起。

例题

5-49 下面是以十六进制格式存储的一个 UDP 首部:
CB84 000D 001C 001C
试问:
(1) 源端口号是什么?
12×163 +11×162 +8×16+4=52100
(2) 目的端口号是什么?
13
(3) 这个用户数据报的总长度是什么?
16+12=28Byte
(4) 数据长度是多少?
28-8=20Byte
(5)这个分组是从客户到服务器还是从服务器到客户?
客户到服务器,因为目的端口号是熟知端口
(6) 客户进程是什么?
从 RFC 867 可以得知,这个客户进程是 Daytime。当 Daytime 服务器收到客户发送的 UDP 用户数据报后,就把现在的日期和时间以 ASCII 码字符串的形式返回给客户。

传输控制协议 TCP (Transmission Control Protocol)

特点

  1. 面向连接

  2. 每一条 TCP 连接只能有两个端点 (endpoint),只能是点对点的(一对一)。

  3. 提供可靠交付的服务。

  4. 提供全双工通信。

  5. 面向字节流。

    流(stream) :流入或流出进程的字节序列。

    面向字节流:虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流。TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。 但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。

    湖科大 2022 计算机网络期末复习资料_第71张图片

    TCP 不关心应用进程一次把多长的报文发送到 TCP 缓存。

    TCP 对连续的字节流进行分段,形成 TCP 报文段。

注意

  • TCP 连接是一条虚连接而不是一条真正的物理连接。
  • TCP 对应用进程一次把多长的报文发送到 TCP 的缓存中是不关心的。
  • TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)。
  • TCP 可把太长的数据块划分短一些再传送,也可等待积累有足够多的字节后再构成报文段发送出去。
  • 同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中。

TCP 的连接

定义

TCP 把连接作为最基本的抽象。每一条 TCP 连接有两个端点。每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。

套接字
定义

套接字 (socket) /插口:是TCP 连接的端点。端口号拼接到 (contatenated with) IP 地址即构成了套接字。

格式

套接字 socket = (IP地址 : 端口号)

可靠传输

工作原理

TCP发送的报文段是交给IP层传送的。但IP层只能提供尽最大努力服务,也就是说,TCP下面的网络所提供的是不可靠的传输。因此,TCP必须采用适当的措施才能使得两个运输层之间的通信变得可靠。

停止等待协议
定义

每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

停止等待协议可以看作是连续ARQ协议的特殊情况:发送窗口和接收窗口都为1的情况,且只需要1比特给报文段编号即可

作用

使用确认和重传机制,可以在不可靠的传输网络上实现可靠的通信。

无差错情况

A 发送分组 M1,发完就暂停发送,等待 B 的确认 (ACK)。B 收到了 M1 向 A 发送 ACK。A 在收到了对 M1 的确认后,再发送下一个分组 M2。

湖科大 2022 计算机网络期末复习资料_第72张图片

优缺点

优点是简单,缺点是信道利用率太低。

信道利用率

湖科大 2022 计算机网络期末复习资料_第73张图片

U = T D T D + R T T + T A U=\dfrac{T_{D}}{T_{D}+RTT+T_{A}} U=TD+RTT+TATD

T D T_{D} TD :A发送分组所需要的时间, T D = 分组长度 数据率 T_{D}=\dfrac{分组长度}{数据率} TD=数据率分组长度

T A T_{A} TA :B发送确认分组所需要的时间

RTT:往返时间

出现差错
  • 这两种情况下,B 都不会发送任何确认信息。

    1. B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做 (不通知 A 收到有差错的分组)。

    2. M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。

      湖科大 2022 计算机网络期末复习资料_第74张图片

  • 解决方法为超时重传

    • A 为每一个已发送的分组都设置了一个超时计时器。
    • A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。
确认丢失

湖科大 2022 计算机网络期末复习资料_第75张图片

  • 出现背景
    • 若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内不能收到确认,但 A 并无法知道:是自己发送的分组出错、丢失了,或者是 B 发送的确认丢失了。
  • A方措施
    • 在超时计时器到期后重传 M1。
  • B方措施
    1. 丢弃这个重复的分组 M1,不向上层交付
    2. 向 A 发送确认。不能认为已经发送过确认就不再发送, 因为 A 之所以重传 M1 就表示 A 没有收到对 M1 的确认(丢失了)。
确认迟到

湖科大 2022 计算机网络期末复习资料_第76张图片

  • 出现背景
    • 传输过程中没有出现差错,但 B 对分组 M1 的确认迟到了。
  • A方措施
    • 在超时计时器到期后重传 M1。
    • A 会收到重复的确认,收下后就丢弃。
  • B方措施
    1. 丢弃这个重复的分组 M1,不向上层交付
    2. 向 A 发送确认。不能认为已经发送过确认就不再发送, 因为 A 之所以重传 M1 就表示 A 没有收到对 M1 的确认(迟到了)。
注意
  1. 在发送完一个分组后,必须暂时保留已发送的分组的副本,以备重发。
  2. 分组和确认分组都必须进行编号
  3. 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
例题

假定在运输层使用停止等待协议。发送方在发送报文段M0后在设定的时间内未收到确认,于是重传M0,但M0又迟迟不能到达接收方。不久,发送方收到了迟到的对M0的确认,于是发送下一个报文段M1,不久就收到了对M1的确认。接着发送方发送新的报文段M0,但这个新的M0在传送过程中丢失了。正巧,一开始就滞留在网络中的M0现在到达接收方。接收方无法分辨M0是旧的。于是收下M0,并发送确认。显然,接收方后来收到的M0是重复的,协议失败了。试画出类似于图5-9所示的双方交换报文段的过程。

湖科大 2022 计算机网络期末复习资料_第77张图片

连续ARQ协议
定义

自动重传请求 ARQ (Automatic Repeat reQuest):重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组。

滑动窗口
  • 发送方维持发送窗口
    • 可连续发送位于发送窗口内的分组,而不需要等待对方的确认。提高信道利用率。
    • 每收到一个确认, 就把发送窗口向前滑动一个分组的位置。
  • 接收方对分组采用累积确认
    • 不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认。表示到这个分组为止的所有分组都已正确收到了。
Go-back-N
  • 出现背景
    • 发送方发送了前 5 个分组,而中间的第 3 个分组丢失了。这时接收方只能对前两个分组 发出确认。发送方无法知道后面3个分组的 落,而只好把后面的3个分组都再重传一次。
  • 定义
    • Go-back-N(回退 N):表示需要再退回来重传已发送过的 N 个分组。
优点

容易实现,即使确认丢失也不必重传。

缺点
  • 不能向发送方反映出接收方已经正确收到的所有分组的信息。
  • 当通信线路质量不好时,连续 ARQ 协议由于需要Go-back-N会带来负面的影响。
以字节为单位的滑动窗口
发送窗口

在没有收到 B 的确认的情况下,A 可以连续把窗口内的数据都发送出去。

发送窗口里面的序号表示允许发送的序号。

步骤
  1. 根据接收方 B 给出的窗口值,发送方 A 构造出自己的发送窗口。

    假定A收到了B发来的确认报文段,其中(接收)窗口是20字节,而确认号是31(这表明B期望收到的下一个序号是31,而序号30为止的数据已经收到了)。根据这两个数据,A就构造出自己的发送窗口(不能超过接收窗口大小)。

    湖科大 2022 计算机网络期末复习资料_第78张图片

    TCP 标准强烈不赞成发送窗口前沿向后收缩。因为很可能发送方在收到这个通知以前已经发送了窗口中的许多数据,现在又要收缩窗口,不让发送这些数据,这样就会产生一些错误。

  2. A发送数据

    假定A发送了序号为31~41共11 个字节的数据。

    湖科大 2022 计算机网络期末复习资料_第79张图片

    P3-P1=A的发送窗口
    P2-P1=已发送但尚未收到确认的字节数
    P3-P2=允许发送但当前尚未发送的字节数(又称为可用窗口有效窗口)

  3. B接收数据并发送确认报文

    1. 数据未按序到达

      假定B收到了序号为32和33的数据,先存下。这些数据没有按序到达,因为序号为31的数据没有收到(也许丢失了,也许滞留在网络中的某处)。请注意,B只能对按序收到的数据中的最高序号给出确认,因此B发送的确认报文段中的确认号仍然是31(即期望收到的序号),而不能是32或33。

    2. 部分已发送数据按序到达

      假定B收到了序号为31的数据,并把序号为31~33的数据交付主机,然后B删除这些数据。接着把接收窗口向前移动3个序号(图5-17),同时给A发送确认,其中窗口值仍为20,但确认号是34。这表明B已经收到了到序号 33为止的数据。A收到B的确认后,就可以把发送窗口向前滑动3个序号,但指针P2不动。可以看出,现在A的可用窗口增大了,可发送的序号范围是42~53。

      湖科大 2022 计算机网络期末复习资料_第80张图片

  4. A 的发送窗口内的序号都已用完, 但还没有再收到确认,必须停止发送。

    A在经过一段时间后(由超时计时器控制)重传这部分数据,重新设置超时计时器,直到收到B的确认为止。如果A收到确认号落在发送窗口内,那么A就可以使发送窗口继续向前滑动,并发送新的数据。

    湖科大 2022 计算机网络期末复习资料_第81张图片

超时重传时间
  • 加权平均往返时间/平滑的(smooth)往返时间 RTTS

    • 第一次测量到 RTT 样本时,RTTS 值就取为所测量到的 RTT 样本值。以后每测量到一个新的 RTT 样本,就按下式重新计算一 次 RTTS

    • 新的RTTS = (1 − α) × (旧的RTTS ) + α × (新的RTT样本)

      0 ≤ α ≤ 1。若 α 很接近于零,表示 RTT 值更新较慢。若选择 α 接近于 1,则表示 RTT 值更新较快。

      RFC 2988 推荐的 α 值为 1/8,即 0.125。

  • RTT 的偏差的加权平均值 RTTD

    • 第一次测量时,RTTD 值取为测量到的 RTT 样本值的一半。在以后的测量中,则使用下式计算加权平均的 RTTD

    • 新的 RTTD = (1 − β) × (旧的RTTD ) + β × |RTTS − 新的 RTT 样本|

      β 是个小于 1 的系数,其推荐值是 1/4,即 0.25

  • 超时重传时间 RTO (Retransmission Time-Out) 应略大于上面得出的加权平均往返时间 RTTS

    • RTO = RTTS + 4 × RTTD
选择确认 SACK
定义

选择确认SACK (Selective ACK) :若收到的报文段无差错,只是未按序号,中间还缺少一些序号的数据,则可只传送缺少的数据而不重传已经正确到达接收方的数据

规定
  1. 要在 TCP 首部的选项中加上“允许 SACK”的选项

  2. 由于首部选项的长度最多只有 40 字节,而指明一个边界就要用掉 4 字节,因此在选项中最多只能指明 4 个字节块的边界信息。

    4个字节块共有8个边界,因而需要用32个字节来描述。另外还需要两个字节。一个字节用来指明是 SACK选项,另一个字节是指明这个选项要占用多少字节。如果要报告五个字节块的边界信息,那么至少需要42个字节。

流量控制

定义

流量控制 (flow control) :让发送方的发送速率不要太快,既要让接收方来得及接收,也不 要使网络发生拥塞。

举例

湖科大 2022 计算机网络期末复习资料_第82张图片

持续计时器

TCP 为每一个连接设有一个持续计时器 (persistence timer) 。只要 TCP 连接的一方收到对方的零窗口通知,就启动该持续计时器。

  • 若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出现在的窗口值。
    • 若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器。
    • 若窗口不是零,则死锁的僵局就可以打破了。

死锁:A 一直等待收到 B 发送的非零窗口的通知,而 B 也一直等待 A 发送的数据。

发送分组时机
  1. TCP 维持一个变量,它等于最大报文段长度 MSS。只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去。
  2. 由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送 (push) 操作。
  3. 发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过 MSS)发送出去。
发送确认报文时机
  1. 让接收方等待一段时间,使得接收缓存已有足够空间容纳一个最长的报文段,
  2. 等到接收缓存已有一半空闲的空间。

只要出现这两种情况之一,接收方就发出确认报文,并向发送方通知当前的窗口大小。

拥塞控制

原理

拥塞 (congestion):在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。

原因

∑对资源需求 > 可用资源

反映
  1. 负载增加,吞吐量反而降低
  2. 由于缺少缓存空间而被丢弃的分组的百分数;
  3. 平均队列长度;
  4. 超时重传的分组数;
  5. 平均分组时延;
  6. 分组时延的标准差

上述这些指标的上升都标志着拥塞的增长。

与流量控制的联系
相同

需抑制发送端发送数据的速率

某些拥塞控制算法向发送端发送控制报文,并告诉发送端,网络已出现麻烦,必须放慢发送速率。

不同
流量控制 拥塞控制
问题侧重点 端到端 全局性
作用 控制点对点通信量 防止过多数据注入网络中
问题产生原因 发送端发送数据的速率过快,
接收端来不及接收。
不明确
示意图

湖科大 2022 计算机网络期末复习资料_第83张图片

拥塞控制算法

此处的拥塞控制算法并未考虑流量控制,认为接收方和发送方的缓存是无限大的。

判断依据
  • 重传定时器超时
    • 现在通信线路的传输质量一般都很好,因传输出差错而丢弃分组的概率是很小的(远小于 1 %)。只要出现了超时,就可以猜想网络可能出现了拥塞。
  • 收到三个相同(重复)的 ACK
    • 个别报文段会在网络中丢失,预示可能会出现拥塞 (实际未发生拥塞),因此可以尽快采取控制措施, 避免拥塞。
慢开始 (slow-start)和拥塞避免 (congestion avoidance)

举例:

湖科大 2022 计算机网络期末复习资料_第84张图片

规则:

  1. 当 TCP 连接进行初始化时,拥塞窗口cwnd=1。

    图中的窗口单位不使用字节而使用报文段。 慢开始门限的初始值设置为 16 个报文段,即 ssthresh = 16。

  2. 发送方每收到一个对新报文段的确认 ACK, 就把拥塞窗口值加 1 倍,然后开始下一轮的传输。拥塞窗口 cwnd 随着传输轮次按指数规律增长。

  3. 当拥塞窗口 cwnd 增长到慢开始门限值 ssthresh 时(图中的点①,此时拥塞窗口 cwnd = 16),就改为执行拥塞避免算法,拥塞窗口按线性规律增长。

  4. 当拥塞窗口 cwnd > 16 时,进入拥塞避免,拥塞窗口每一轮次只加1。

  5. 假设当拥塞窗口 cwnd = 24 时,网络出现了超时(图中的点②),发送方判断为网络拥塞。于是调整门限值 ssthresh = cwnd / 2 = 12,同时设置拥塞窗口 cwnd = 1,进入慢开始阶段。

缺点:

  • 慢开始:每次拥塞窗口都从1开始,下降速度太快,网络性能波动太大。
  • 拥塞避免:认为网络出现大面积超时重传时, 则网络网络拥塞,执行慢开始算法。但是,很多情况下,网络只出现一个小小的分组丢失, 就会引起“小题大做”的结果。
快重传 (fast retransmit)
  • 定义

    发送方只要一连收到三个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传,这样就不会出现因少数几个分组超时,导致发送方误认为出现了网络拥塞。

  • 优点

    可以使整个网络的吞吐量提高约 20%。

  • 举例

    湖科大 2022 计算机网络期末复习资料_第85张图片

快恢复 (fast recovery)
  • 定义

    • 当发送端收到连续三个重复的确认时,由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,而是执行快恢复算法 FR (Fast Recovery) 算法。
  • 规则

    1. 慢开始门限 ssthresh = 当前拥塞窗口 cwnd / 2 ;
    2. 新拥塞窗口 cwnd = 慢开始门限 ssthresh ;
    3. 开始执行拥塞避免算法,使拥塞窗口缓慢地线性增大。
  • 举例

    湖科大 2022 计算机网络期末复习资料_第86张图片

    在图的点④,发送方知道现在只是丢失了个别的报文段。于是不启动慢开始,而是执行快恢复算法。 这时,发送方调整门限值 ssthresh = cwnd / 2 = 8, 同时设置拥塞窗口 cwnd = ssthresh = 8(见图中的点⑤),并开始执行拥塞避免算法。

TCP拥塞控制流程图

四个算法统一使用

湖科大 2022 计算机网络期末复习资料_第87张图片

例题

5-39 TCP 的拥塞窗口 cwnd 大小与传输轮次 n 的关系如表所示:

n 1 2 3 4 5 6 7 8 9 10 11 12 13
cwnd 1 2 4 8 16 32 33 34 35 36 37 38 39
n 14 15 16 17 18 19 20 21 22 23 24 25 26
cwnd 40 41 42 21 22 23 24 25 26 1 2 4 8

(1)试画出如教材中图 5-25 所示的拥塞窗口与传输轮次的关系曲线。

湖科大 2022 计算机网络期末复习资料_第88张图片

(2)指明 TCP 工作在慢开始阶段的时间间隔。
[1, 6] 和 [23, 26]
(3)指明 TCP 工作在拥塞避免阶段的时间间隔。
[6, 16] 和 [17, 22]
(4)在第 16 轮次和第 22 轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?
在第 16 轮次之后发送方通过收到三个重复的确认,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口减半了。
在第 22 轮次之后发送方通过超时,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口下降到 1了。
(5)在第 1 轮次,第 18 轮次和第 24 轮次发送时,门限 ssthresh 分别被设置为多大?
在第 1 轮次发送时,门限 ssthresh 被设置为 32,因为从第 6 轮次起就进入了拥塞避免状态,拥塞窗口每个轮次加 1。
在第 18 轮次发送时,门限 ssthresh 被设置为发生拥塞时拥塞窗口 42 的一半,即 21。
在第 24 轮次发送时,门限 ssthresh 被设置为发生拥塞时拥塞窗口 26 的一半,即 13。
(6)在第几轮次发送出第 70 个报文段?
第 1 轮次发送报文段 1。(cwnd = 1)
第 2 轮次发送报文段 2, 3。(cwnd = 2)
第 3 轮次发送报文段 4 ~ 7。(cwnd = 4)
第 4 轮次发送报文段 8 ~ 15。(cwnd = 8)
第 5 轮次发送报文段 16 ~ 31。(cwnd = 16)
第 6 轮次发送报文段 32 ~ 63。(cwnd = 32)
第 7 轮次发送报文段 64 ~ 96。(cwnd = 33)
因此第 70 报文段在第 7 轮次发送出。
(7)假定在第 26 轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口 cwnd 和门限 ssthresh 应设置为多大?
检测出了报文段的丢失时拥塞窗口 cwnd 是 8,因此拥塞窗口 cwnd 的数值应当减半,等于 4,而门限 ssthresh 应设置为检测出报文段丢失时的拥塞窗口 8 的一半,即 4。

发送窗口的上限值

接收方窗口

接收方窗口rwnd/通知窗口(advertised window)

拥塞窗口

拥塞窗口cwnd

公式

发送窗口的上限值 = Min [rwnd, cwnd]

  • 当 rwnd < cwnd 时,是接收方的接收能力限制发送窗口的最大值。
  • 当 cwnd < rwnd 时,则是网络的拥塞限制发送窗口的最大值。

rwnd 和 cwnd 中数值较小的一个,控制了发送方发送数据的速率。

首部格式

  • TCP 虽然是面向字节流的,但 TCP 传送的数据单元却是报文段。
  • TCP 报文段首部的前 20 个字节是固定的,后面 有 4n 字节是根据需要而增加的选项 (n 是整数)。 因此 TCP 首部的最小长度是 20 字节。

湖科大 2022 计算机网络期末复习资料_第89张图片

源端口和目的端口字段

各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。

序号字段

占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

确认号字段

占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。

数据偏移(即首部长度)

占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。固定首部的数值为5。

保留字段

占 6 位,保留为今后使用,但目前应置为 0。

紧急 URG

当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

确认 ACK

只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。

推送 PSH (PuSH)

接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。

复位 RST (ReSeT)

当 RST = 1 时,表明 TCP 连接中出现 严重差错(如由于主机崩溃或其他原因),必须释放连接,然 后再重新建立运输连接。

同步 SYN

同步 SYN = 1 表示这是一个连接请求或连接接受报文。

终止 FIN (FINish)

用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

窗口字段

占 2 字节,用来让对方设置发送窗口的大小依据,单位为字节。

检验和

占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字 节的伪首部。

紧急指针字段

占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。

  1. TCP连接:TCP套接字(IP地址;端口号);TCP连接(套接字1,套接字2)
  2. TCP报文段的首部格式及其在具体问题中的理解
  3. “四报文挥手”释放连接的理解(注意发送报文段和确认报文段中 seq和 ack之间的关系)。

主动队列管理 AQM

背景
  • 对 TCP 拥塞控制影响最大的就是路由器的分组丢弃策略。
  • 路由器的队列通常都是按照“先进先出”FIFO (First In First Out) 的规则处理到来的分组。
  • 当队列已满时,以后再到达的所有分组(如果能够继续排队,这些分组都将排在队列的尾部) 将都被丢弃。这就叫做尾部丢弃策略 (tail-drop policy)。
定义

主动队列管理 AQM (Active Queue Management)。

主动:不要等到路由器的队列长度已经达到最大值时才不得不丢弃后面到达的分组。这样就太被动了。应当在队列长度达到某个值得警惕的数值时 (即当网络拥塞有了某些拥塞征兆时),就主动丢弃到达的分组。

实现方法

随机早期检测 RED (Random Early Detection)

连接管理

阶段
  1. 连接建立
  2. 数据传送
    1. 超时重传
    2. 流量控制
    3. 拥塞控制
  3. 连接释放
建立连接
定义

TCP 建立连接的过程叫做握手。 握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手(三次握手)。

状态

湖科大 2022 计算机网络期末复习资料_第90张图片

步骤
  1. A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数据字节的序号是 x。①
  2. B 的 TCP 收到连接请求报文段后,如同意,则发回确认。B 在确认报文段中应使 SYN = 1,使 ACK = 1, 其确认号 ack = x + 1,自己选择的序号 seq = y。②
  3. A 收到此报文段后向 B 给出确认,其 ACK = 1, 确认号 ack = y + 1。③
  4. A 的 TCP 通知上层应用进程:TCP连接已经建立。
  5. B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程:TCP 连接已经建立。
连接释放
定义

TCP 释放连接的过程叫做挥手。 握手需要在客户和服务器之间交换四个 TCP 报文段。称之为四报文挥手(四次挥手)。数据传输结束后,通信的双方都可释放连接。

状态

湖科大 2022 计算机网络期末复习资料_第91张图片

步骤
  1. 假设现在 A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。

  2. A 把连接释放报文段首部的 FIN = 1,其序号 seq = u,等待 B 的确认。①

  3. B 发出确认,确认号 ack = u + 1, 而这个报文段自己的序号 seq = v。TCP 服务器进程通知高层应用进程。②

    至此,从 A 到 B 这个方向的连接就释放了,TCP 连接处于半关闭(half-close)状态。

  4. B 若发送数据,A 仍要接收。

  5. 若 B 已经没有要向 A 发送的数据, 其应用进程就通知 TCP 释放连接。在确认报文段中FIN = 1,ACK = 1,序号 seq = w ,确认号 ack = u + 1。③

  6. A 收到连接释放报文段后,必须发出确认。在确认报文段中 ACK = 1,确认号 ack = w + 1, 序号 seq = u + 1。④

  7. TCP 连接必须经过时间等待计时器(TIME-WAIT timer)设置的时间 2MSL 后才真正释放掉。

    时间MSL叫做最长报文段寿命(Maximum Segment Lifetime)

主动关闭连接方需要等待 2MSL才释放连接的原因
  1. 保证A发送的最后一个ACK报文段能够到达 B。这个ACK报文段有可能丢失,因而使处在LAST-ACK状态的B收不到对已发送的FIN + ACK报文段的确认。B会超时重传这个FIN +ACK报文段,而A就能在2MSL时间内收到这个重传的FIN + ACK报文段。接着A重传一次确认,重新启动2MSL计时器。最后,A 和B都正常进入到CLOSED 状态。

    如果A在TIME-WAIT 状态不等待一段时间,而是在发送完ACK报文段后立即释放连接,那么就无法收到B重传的FIN + ACK报文段,因而也不会再发送一次确认报文段。这样,B就无法按照正常步骤进入CLOSED状态。

  2. 防止上一节提到的“已失效的连接请求报文段”出现在本连接中。A在发送完最后一个ACK 报文段后,再经过时间2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。

TCP 的有限状态机
优点

可以更清晰地看出TCP 连接各种状态之间的关系。

格式说明
  • 方框

    TCP 可能具有的状态

  • 方框中的大写英文字符串

    TCP 标准所使用的 TCP 连接状态名

  • 状态之间的箭头

    • 含义

      可能发生的状态变迁

    • 分类

      • 粗实线箭头

        表示对客户进程的正常变迁。

      • 粗虚线箭头

        表示对服务器进程的正常变迁。

      • 细线箭头

        表示异常变迁。

图示

湖科大 2022 计算机网络期末复习资料_第92张图片

例题

5-41 用 TCP 传送 512 字节的数据。设窗口为 100 字节,而 TCP 报文段每次也是传送 100 字节的数据。再设发送端和接收端的起始序号分别选为 100 和 200,试画出类似于教材中图 5-28 的工作示意图。从连接建立阶段到连接释放都要画上。

湖科大 2022 计算机网络期末复习资料_第93张图片

要传送的 512 B 的数据必须划分为 6 个报文段传送,前 5 个报文段各 100 B,最后一个报文段传送 12 B。下图是双方交互的示意图。下面进行简单的解释。

【----- 进行三报文握手 -----】
报文段 #1:A 发起主动打开,发送 SYN 报文段,除以 SYN-SENT 状态,并选择初始序号 seq = 100。B 处于 LISTEN 状态。

报文段 #2:B 确认 A 的 SYN 报文段,因此 ack = 101(是 A 的初始序号加 1)。B选择初始序号 seq = 200。B 进入到 SYN-RCVD 状态。

报文段 #3:A 发送 ACk 报文段来确认报文段 #2,ack = 201(是 B 的初始序号加 1)。A 没有在这个报文段中放入数据。因为 SYN 报文段 #1 消耗了一个序号,因此报文段 #3 的序号是 seq = 101。这样,A 和 B 都进入了 ESTABLISHED 状态。
【----- 三报文握手完成 -----】

【----- 开始数据传送 -----】
报文段 #4:A 发送 100 字节的数据。报文段 #3 是确认报文段,没有数据发送,报文段 #3 并不消耗序号,因此报文段 #4 的序号仍然是 seq = 101。A 在发送数据的同时,还确认 B 的报文段 #2,因此 ack = 201。

报文段 #5:B 确认 A 的报文段 #4。由于收到了从序号 101 到 200 共 100 字节的数据,因此在报文段 #5 中,ack = 201(所期望收到的下一个数据字节的序号)。B 发送的 SYN 报文段 #2 消耗了一个序号,因此报文段 #5 的序号是 seq = 201,比报文段 #2 的序号多了一个序号。在这个报文段中,B 给出了接收窗口 rwnd = 100。

从报文段 #6 到报文段 # 13 都不需要更多的解释。到此为止,A 已经发送了 500 字节 的数据。

报文段 #14:A 发送最后 12 字节的数据,报文段 #14 的序号是 seq = 601。

报文段 #15:B 发送对报文段 #14 的确认。B 收到从序号 601 到 602 共 12 字节的数据。因此,报文段 #15 的确认号是 ack = 613(所期望收到的下一个数据字节的序号)。

从报文段 #5 一直到 报文段 #15,B 一共发送了 6 个确认,都不消耗序号,因此 B 发送的确认报文段 #15 的序号仍然和报文段 #5 的序号一样,即 seq = 201。

【-----数据传送完毕-----】

【-----进行四报文挥手------】
报文段 #16:A 发送 FIN 报文段。前面所发送的数据报文段 #14 已经用掉了序号 601 到 612,因此报文段 #16 序号是 seq = 613。A 进入 FIN-WAIT-1 状态。报文段 #16 的确认号 ack = 202。

报文段 #17:B发送确认报文段,确认号为 614,进入 CLOSE-WAIT 状态。由于确认报文段不消耗序号,因此报文段 #17 的序号仍然和报文段 #15 的一样,即 seq = 201

报文段 #18:B 没有数据要发送,就发送 FIN 报文段 #18,其序号仍然是 seq = 201。这个 FIN 报文会消耗一个报文。

报文段 #19:A 发送最后的确认报文段。报文段 #16 的序号是 613,已经消耗掉了。因此,现在的序号是 seq = 614。但这个确认报文段并不消耗序号。
【-----四报文挥手结束-----】

第六章 应用层

为什么需要应用层?(具体内容)

精确定义应用进程之间的通信规则,即应用层协议(application layer protocol)

DNS

功能

域名系统 DNS (Domain Name System)用于实现域名到IP地址的解析。

  • 名字到 IP 地址的解析是由若干个域名服务器程序完成的。
  • 域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。

域名

定义

任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。

互联网的域名结构

定义
  • 域名采用了层次树状结构的命名方法。

  • 域名的结构由标号序列组成,各标号之间用点隔开:

    … . 三级域名 . 二级域名 . 顶级域名

  • 各标号分别代表不同级别的域名。

举例

湖科大 2022 计算机网络期末复习资料_第94张图片

顶级域名 TLD (Top Level Domain)分类

国家顶级域名 nTLD

如 .cn 表示中国, .us 表示美国, .uk 表示英国,等等。

通用顶级域名 gTLD

如 .com(公司和企业) .net (网络服务机构 .org (非赢利性组织) .edu (美国专用的教育机构) .gov (美国专用的政府部门) .mil (美国专用的军事部门) .int (国际组织)

基础结构域名 (infrastructure domain)

这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名。

域名服务器

区 (zone)

定义

一个域名服务器所负责管辖的(或有权限的)范围

规则
  • 各单位根据具体情况来划分自己管辖范围的区。 但在一个区中的所有节点必须是能够连通的。
  • 每一个区设置相应的权限域名服务器(authoritative name server),用来保存该区中的所有主机的域名到 IP 地址的映射。
  • DNS 服务器的管辖范围不是以“域”为单位, 而是以“区”为单位。
举例
区的不同划分方法

假定abc公司有下属部门x和y,部门x下面又分三个分部门u,v和 w,而 y下面还有其下属部门t。
图(a)表示 abc公司只设一个区abc.com。这时,区 abc.com和域 abc.com指的是同一件事。
图(b)表示 abc公司划分了两个区(大的公司可能要划分多个区):abc.com和 y.abc.com。这两个区都隶属于域abc.com,都各设置了相应的权限域名服务器。不难看出,区是“域”的子集。

湖科大 2022 计算机网络期末复习资料_第95张图片

树状结构的DNS域名服务器

以上图(b)中公司abc划分的两个区为例,给出了DNS域名服务器树状结构图。
这种 DNS域名服务器树状结构图可以更准确地反映出 DNS的分布式结构。
图中的每一个域名服务器都能够进行部分域名到P地址的解析。
当某个 DNS服务器不能进行域名到IP地址的转换时,它就设法找互联网上别的域名服务器进行解析。

湖科大 2022 计算机网络期末复习资料_第96张图片

分类

根域名服务器
定义
  • 根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。
  • 所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。
功能
  • 根域名服务器并不直接把域名直接转换成 IP 地址。
  • 根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器。
顶级域名服务器
定义

顶级域名服务器(即 TLD 服务器)负责管理在该顶级域名服务器注册的所有二级域名。

功能

当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找 的域名服务器的 IP 地址)。

权限域名服务器
定义

负责一个区的域名服务器

功能

当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户, 下一步应当找哪一个权限域名服务器。

本地域名服务器
定义

每一个互联网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。

功能

当一个主机发出 DNS 查询请求时,这个查询请求报文首先发送给本地域名服务器

域名的解析过程

递归查询

湖科大 2022 计算机网络期末复习资料_第97张图片

如果主机所询问的本地域名服务器不知道被查询域名 的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

迭代查询

湖科大 2022 计算机网络期末复习资料_第98张图片

当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询

FTP

定义

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

功能

  • FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
  • FTP 屏蔽了各计算机系统的细节,减少或消除在不同操作系统下处理文件的不兼容性,因而适合于在异构网络中任意计算机之间传送文件。
  • FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。

基本工作原理

  • FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求(21号端口);另外有若干个从属进程,负责处理单个请求。
  • 在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:“控制连接”和“数据连接”。
    • 控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。(服务器端21号端口)
    • 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。(服务器端20号端口)
    • 由于FTP使用了一个分离的控制连接,因此FTP的控制信息是**带外(out of band)**传送的。

湖科大 2022 计算机网络期末复习资料_第99张图片

主进程的工作步骤

  1. 打开熟知端口(端口号为 21),使客户进程能够连接上。
  2. 等待客户进程发出连接请求。
  3. 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止, 但从属进程在运行期间根据需要还可能创建其他一些子进程。
  4. 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。

使用两个不同端口号的好处的优点

  1. 使协议更加简单和更容易实现。
  2. 在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。
  3. 数据连接与控制连接不会发生混乱。

TFTP

定义

TFTP (Trivial File Transfer Protocol) 是一个很小且易于实现的文件传送协议。服务器端熟知端口号69。

  • TFTP 使用客户服务器方式和使用 UDP 数据报, 因此 TFTP 需要有自己的差错改正措施。
  • TFTP 只支持文件传输而不支持交互。
  • TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别

特点

  1. 每次传送的数据 PDU 中有 512 字节的数据, 但最后一次可不足 512 字节。
  2. 数据 PDU 也称为文件块 (block),每个块按序编号,从 1 开始。
  3. 支持 ASCII 码或二进制传送。
  4. 可对文件进行读或写。
  5. 使用很简单的首部。

可靠机制

  • 发送完一个文件块后就等待对方的确认,确认 时应指明所确认的块编号。
  • 发完数据后在规定时间内收不到确认就要重发 数据 PDU。
  • 发送确认 PDU 的一方若在规定时间内收不到下 一个文件块,也要重发确认 PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。

TFTP 的工作很像停止等待协议

TELNET

定义

远程终端协议/终端仿真协议 TELNET 是一个简单的远程终端协议,也是互联网的正式标准。

功能

  • 用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。

  • TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。

    因此TELNET又称为终端仿真协议。

网络虚拟终端 NVT 格式

目的

适应计算机和操作系统的差异

流程

  • 客户软件发送数据时
    • 把用户的击键和命令转换成 NVT 格式,并送交服务器。
    • 服务器软件把收到的数据和命令,从 NVT 格式转换成远地系统所需的格式。
  • 向用户返回数据时
    • 服务器把远地系统的格式转换为 NVT 格式
    • 本地客户软件再从 NVT 格式转换到本地系统所需的格式。

万维网www

定义

万维网 WWW (World Wide Web) 简称web,是一个大规模的、联机式的信息储藏所。是分布式超媒体 (hypermedia) 系统,它是超文本 (hypertext) 系统的扩充。

功能

万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。提供分布式服务。

要解决的四个问题

  1. 怎样标志分布在整个互联网上的万维网文档?-URL
  2. 用什么协议实现万维网上的各种链接?-HTTP
  3. 怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接?-HTML
  4. 怎样使用户能够很方便地找到所需的信息?-搜索引擎

URL

定义

统一资源定位符 URL (Uniform Resource Locator) :标志万维网上的各种文档,使每一个文档在整个互联网的范围内具有唯一的标识符 URL。

格式

由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。

<协议>://<主机>:<端口>/<路径>

<协议>:指出使用什么协议来获取该万维网文档。现在最常用的协议就是http(超文本传送协议HTTP),其次是 ftp(文件传送协议FTP)。
“/”:规定的格式。
<主机>:指出这个万维网文档是在哪一台主机上。这里的<主机>就是指该主机在互联网上的域名。
<端口>和<路径>:有时可省略。

HTTP

定义

超文本传送协议 HTTP (HyperText Transfer Protocol):在万维网客户程序与万维网服务器程序之间进行请求和响应的交互所使用的协议。它使用 TCP 连接进行可靠的传送。从层次的角度看,HTTP 是面向事务的 (transaction-oriented) 应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、 图像等各种多媒体文件)的重要基础。

工作过程

  1. 每个万维网网点都有一个服务器进程,它不断地监听 TCP 的端口 80,以便发现是否有浏览器 向它发出连接建立请求。
  2. 一旦监听到连接建立请求并建立了 TCP 连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。
  3. 释放TCP 连接。

主要特点

  1. HTTP 使用了面向连接的 TCP 作为运输层协议, 保证了数据的可靠传输。
  2. HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。 ◼
  3. HTTP 是面向事务的客户服务器协议。
  4. HTTP 1.0 协议是无状态的 (stateless)。

报文结构

组成
开始行

用于区分是请求报文还是响应报文。
在请求报文中的开始行叫做请求行(Request-Line);
在响应报文中的开始行叫做状态行(Status-Line)。
在开始行的三个字段之间都以空格分隔开,最后的“CR”和“LF”分别代表“回车”和“换行”。

首部行

用来说明浏览器、服务器或报文主体的一些信息。首部可以有好几行,但也可以不使用。在每一个首部行中都有首部字段名和它的值,每一行在结束的地方都要有“回车”和“换行”。整个首部行结束时,还有一空行将首部行和后面的实体主体分开。

实体主体(entity body)

在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段。

请求报文
格式

湖科大 2022 计算机网络期末复习资料_第100张图片

方法
  • 定义

    对所请求的对象进行的操作,决定请求报文的类型

  • 类型

    方法(操作) 意义
    OPTION 请求一些选项的信息
    GET 请求读取由URL所标志的信息
    HEAD 请求读取由URL所标志的信息的首部
    POST 给服务器添加信息(例如,注释)
    PUT 在指明的URL下存储一个文档
    DELETE 删除指明的URL所标志的资源
    TRACE 用来进行环回测试的请求报文
    CONNECT 用于代理服务器
url

所请求的资源的 URL

版本

HTTP 的版本。

举例

GET /dir/index.htm HTTP/1.1 {请求行使用了相对URL}
Host : www.xyz.edu.cn {此行是首部行的开始。这行给出主机的域名}
connection: close {告诉服务器发送完请求的文档后就可释放连接}
User-Agent: Mozilla/5.0 {表明用户代理是使用火狐浏览器Firefox}
Accept-Language: cn {表示用户希望优先得到中文版本的文档}
{请求报文的最后还有一个空行}

响应报文
格式

湖科大 2022 计算机网络期末复习资料_第101张图片

状态码

状态码(Status-Code)都是三位数字的,分为5大类。这5大类的状态码都是以不同的数字开头的。

状态码 含义 举例
1xx 通知信息 请求收到了或正在进行处理
2xx 成功 接受或知道了
3xx 重定向 要完成请求还必须采取进一步的行动
4xx 客户的差错 请求中有错误的语法或不能完成
5xx 服务器的差错 服务器失效无法完成请求
短语

解释状态码的简单短语

举例

HTTP/1.1 301 Moved Permanently {永久性地转移了}
Location: http://www.xyz.edu/ee/index.html {新的URL}
{响应报文的最后还有一个空行}

HTML

超文本标记语言 HTML (HyperText Markup Language) :使万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。

搜索引擎

为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)。

EMAIL

定义

电子邮件(e-mail)是互联网上使用最多的和最受用户欢迎的一种应用。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱(mail box)中,收件人可在自己方便时上网到自己使用的邮件服务器进行读取。这相当于互联网为用户设立了存放邮件的信箱,因此 e-mail 有时也称为“电子信箱”。

发送和接收电子邮件的步骤

  1. 发件人调用 PC 中的用户代理撰写和编辑要发送的邮件。

  2. 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器。

  3. SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。

  4. 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。

  5. 运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。

  6. 收件人在打算收信时,就运行 PC 机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。

    POP3 服务器和 POP3 客户之间的通信是由 POP3 客户发起的。

组成

湖科大 2022 计算机网络期末复习资料_第102张图片

用户代理

定义

用户代理UA (User Agent)/电子邮件客户端软件:用户与电子邮件系统的接口,在大多数情况下它就是运行在用户电脑中的一个程序。用户代理向用户提供一个很友好的接口(目前主要是窗口界面)来发送和接收邮件。

功能

撰写、显示、处理和通信

邮件服务器

功能

发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。

工作方式

邮件服务器按照客户−服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议。

邮件发送协议

SMTP
定义

SMTP(Simple Mail Transfer Protocol) :规定了在两个相互通信的SMTP进程之间应如何交换信息。由于SMTP使用客户服务器方式,因此负责发送邮件的 SMTP进程就是 SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。服务器端熟知端口号25。

阶段
  1. 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP 不使用中间的邮件服务器。
  2. 邮件传送
  3. 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

邮件读取协议

POP3
定义

邮局协议 POP 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。服务器端熟知端口号110。

工作方式

POP 也使用客户–服务器的工作方式。在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中 则运行 POP 服务器程序。

IMAP

目前较新版本为IMAP4。服务器端熟知端口号143。

MIME

背景

SMTP只能传送可打印的7位ASCII 码邮件

定义

互联网邮件扩充MIME (Multipurpose Internet Mail Extensions)在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等)。在 MIME邮件中可同时传送多种类型的数据。这在多媒体通信的环境下是非常有用的。

和 SMTP 的关系

湖科大 2022 计算机网络期末复习资料_第103张图片

DHCP

定义

动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。这种机制允许一台计算机加入新的网络和获取 IP 地址而不用手工参与。

流程

湖科大 2022 计算机网络期末复习资料_第104张图片

  1. DHCP 服务器被动打开 UDP 端口 67, 等待客户端发来的报文。①
  2. 需要 IP 地址的主机在启动时就从 UDP 端口 68 向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。②
  3. 本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文,因此 DHCP 客户可能收到多个 DHCP 提供报文。③
  4. DHCP 服务器先在其数据库中查找该计算机的配置信息。
    1. 若找到,则返回找到的信息。
    2. 若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供报文(DHCPOFFER)
  5. DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文(DHCPREQUEST)。④
  6. 被选择的 DHCP 服务器发送确认报文(DHCPACK),进入已绑定状态。DHCP 客户可开始使用得到的临时 IP 地址了。⑤
  7. DHCP 客户现在要根据服务器提供的租用期 T 设置两个计 时器 T1 和T2,它们的超时时间分别是 0.5T 和 0.875T。 当超时时间到就要请求更新租用期。
  8. 租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST要求更新租用期。⑥
  9. DHCP服务器
    1. 若同意,则发回确认报文 DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器。⑦
    2. 若不同意,则发回否认报文 DHCPNACK。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址(回到步骤 ②)。⑧
    3. 若不响应步骤 ⑥ 的请求报文 DHCPREQUEST,则在租用期过了 87.5%(T2) 时,DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤 ⑥),然后又继续后面的步骤。
  10. DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE即可。⑨

SNMP

网络管理

定义

网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、 配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能, 服务质量等。网络管理常简称为网管。

组成

  1. 管理者 (manager)/管理器

    1. 管理站(硬件)也常称为网络运行中心 NOC(Network Operations Center),是网络管理系统的核心。
    2. 管理程序(软件)在运行时就成为管理进程
  2. 网络管理员 (administrator) 指的是人。

    大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。

  3. 被管设备/网络元素/网元

    1. 网络的每一个被管设备中可能有多个被管对象 (Managed Object)

    2. 在被管设备中也会有一些不能被管的对象。

    3. 代理 (agent)

      • 在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫做网络管理代理程序,或简称为代理

      • 代理程序在管理程序的命令和控制下在被管设备上采取本地的行动。

  4. 网络管理协议,简称为网管协议

    是管理程序和代理程序之间进行通信的规则。

网络管理员利用网管协议通过管理站对网络中的被管设备进行管理。

工作方式

SNMP中的管理程序和代理程序按客户服务器方式工作。管理程序运行SNMP客户程序,而代理程序运行SNMP服务器程序。

流程

管理程序运行 SNMP 客户程序,向某个代理程序发出请求(或命令),代理程序运行 SNMP 服务器程序,返回响应(或执行某个动作)。

组成

SNMP 本身

简单网络管理协议SNMP(Simple Network Management Protocol)定义了管理站和代理之间所交换的分组格式。所交换的分组包含各代理中的对象(变量)名及其状态(值)。SNMP 负责读取和改变这些数值。

管理信息结构 SMI (Structure of Management Information)

作用
  1. 定义了命名被管对象的规则
  2. 定义了被管对象数据类型(包括范围和长度)的通用规则
  3. 定义了在网络上传送的管理数据编码的规则。从而确保网络管理数据的语法和语义的无二义性。

管理信息库 MIB (Management Information Base)

定义

管理信息库 MIB (Management Information Base):被管对象必须维持的可供管理程序读写的若干控制和状态信息。

作用

MIB在被管理的实体中创建了命名对象,并规定了其类型。管理程序使用 MIB 中这些信息的值对网络进行管理(如读取或重新设置这些值)。

网络编程

背景

有一些特定的应用需要互联网的支持进行通信,但这些应用又不能直接使用已经标准化的互联网应用协议,那么我们应当做哪些工作?

系统调用

定义

大多数操作系统使用系统调用 (system call) 的机制在应用程序和操作系统之间传递控制权。

对程序员来说,每一个系统调用和一般程序设计中的函数调用非常相似,只是系统调用是将控制权传递给了操作系统。

多个应用进程使用系统调用的机制

湖科大 2022 计算机网络期末复习资料_第105张图片

步骤

  1. 当某个应用进程启动系统调用时,控制权就从应用进程传递给了系统调用接口。
  2. 此接口再把控制权传递给计算机的操作系统。操作系统把这个调用转给某个内部过程,并执行所请求的操作。
  3. 内部过程一旦执行完毕,控制权就又通过系统调用接口返回给应用进程。

系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口。

实现举例

下面以使用TCP的服务为例介绍几种常用的系统调用

系统调用使用顺序的例子★

湖科大 2022 计算机网络期末复习资料_第106张图片

连接建立阶段
服务器端
  1. 创建套接字,此时它的端口号和 IP 地址都是空的

  2. 调用 bind(绑定)把本地地址绑定到套接字:把熟知端口号和本地 IP 地址填写到已创建的套接字中。

  3. 调用 listen(收听):把套接字设置为被动方式,以便随时接受客户的服务请求。

    UDP 服务器由于只提供无连接服务,不使用 listen 系统调用。

  4. 调用 accept(接受):把远地客户进程发来的连接请求提取出来。

    系统调用 accept 的一个变量就是要指明从哪一个套接字发起的连接。

客户端
  1. 调用socket创建了套接字
  2. 客户端调用bind
    1. 调用:进程使用指定的端口号。
    2. 不调用:由操作系统内核自动分配一个动态端口号(通信结束后由系统收回)。
  3. 客户进程调用connect,以便和远地服务器建立连接(这就是主动打开,相当于客户发出的连接请求)。在 connect系统调用中,客户必须指明远地端点(即远地服务器的IP地址和端口号)。
传送阶段
  • 客户和服务器都在 TCP 连接上使用 send 系统调用传送数据。
    • 客户使用 send 发送请求
    • 服务器使用 send 发送回答。
  • 服务器使用 recv 接收客户用 send 调用发送的请求。
  • 客户在发完请求后用 recv 接收回答。
连接释放阶段

一旦客户或服务器结束使用套接字,就把套接字撤消。这时就调用 close 释放连接和撤销套接字。

API

定义

应用编程接口API (Application Programming Interface):是应用进程的控制权和操作系统的控制权进行转换的一个接口。

由于应用程序在使用系统调用之前要编写一些程序,特别是需要设置系统调用中的许多参数,因此系统调用接口又称为API

功能

API 从程序设计的角度定义了许多标准的系统调用函数。应用进程只要使用标准的系统调用函数就可得到操作系统的服务。

实现

套接字接口

微软公司在其操作系统中采用了套接字接口 API,称之为 Windows Socket。

TLI

AT&T 为其 UNIX 系统 V 定义了一种 API,简 写为 TLI (Transport Layer Interface)。

应用进程通过套接字接入到网络

在讨论网络编程时常常把套接字作为应用进程和运输层协议之间的接口。图中假定了运输层使用TCP协议(若使用UDP协议,情况也是类似的,只是UDP是无连接的。通信的两端仍然可用两个套接字来标志)。现在套接字已成为计算机操作系统内核的一部分。

湖科大 2022 计算机网络期末复习资料_第107张图片

P2P

原理

在 P2P 工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输。相当于有很多分散在各地的媒体服务器向其他用户提供所要下载的音频/视频文件。

优点

  1. P2P方式的最突出特性之一就是它的可扩展性。因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因规模的增大而降低。
  2. 当对等方的数量很大时,采用P2P方式下载大文件,要比传统的客户-服务器方式快得多。
  3. P2P文件分发方式解决了集中式媒体服务器可能出现的瓶颈问题。
  4. P2P方式具有成本上的优势,因为它通常不需要庞大的服务器设施和服务器带宽。

你可能感兴趣的:(湖科大 2022 计算机网络期末复习资料)