通知
  • 关于网站更多信息请加QQ群(1061691290)
  • jpress升级到4.x,显示有些问题,修复中
  • 网站还会持续更新

23考研复试-计算机网络知识点总结

596人浏览 / 0人评论 / | 作者:whisper  | 分类: 计算机网络  | 标签: 计算机网络  | 

作者:whisper

链接:http://qingyu.blue/article/1051

声明:请尊重原作者的劳动,如需转载请注明出处


第一章 计算机网络体系结构

计算机网络概述

计算机网络:就是利用通信设备和线路将地理位置不同的、功能独立的多个计算机系

统互连起来,以功能完善的网络软件(即网络通信协议、信息交换方式、网络操作系统等)

实现网络中资源共享信息传递 的系统

计算机网络的组成

边缘部分 由所有连接在因特网上的主机 组成。这部分是用户直接使用的,用来

进行通信(传送数据、音频或视频)和资源共享

核心部分 由大量网络 和连接这些网络的路由器 组成。这部分是为边缘部分提供

服务的(提供连通性和交换)。

资源子网 通信子网

计算机网络的分类

作用范围

广域网 WAN (Wide Area Network)

局域网 LAN (Local Area Network)

城域网 MAN (Metropolitan Area Network)

个人区域网 PAN (Personal Area Network)

从网络的使用者进行分类

公用网 (public network)

专用网 (private network)

按网络的拓扑结构分类

星形、总线、环形、树形、网形

计算机网络的标准化工作及相关组织

主要组织

(1)IEEE:局域网,无线局域网

(2)ISO:网络参考模型

(3)ITU

标准化四个阶段

1、因特网草案(Internet Draft)

在这个阶段还不是 RFC 文档。

2、建议标准(Proposed Standard)

从这个阶段开始就成为 RFC 文档。

3、草案标准(Draft Standard)

4、因特网标准(Internet Standard)

计算机网络体系结构与参考模型

计算机网络分层结构

计算机网络协议、接口、服务等概念

协议

协议总是指某一层协议,是对同等实体之间的通信制定的有关通信规则约定的集合。

网络协议的三个要素:

(1)语义(Semantics)。

(2)语法(Syntax)。

(3)同步即定时(Timing)。

接口(服务访问点)

同一系统中相邻两层的实体进行交互的地方。

服务(service)

为保证上层对等体之间能相互通信,下层向上层提供的功能

协议是“水平的”,即协议是控制对等实体之间通信的规则。

服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。

ISO/OSI 参考模型和TCP/IP 模型

ISO/OSI 参考模型

image.png

物理层 :通信在信道上传输的原始比特流。

1、用多少伏特电压表示“1”,多少伏特电压表示“0”;一个比特持续多少微秒;

传输是否在两个方向上同时进行;

2、处理机械的、电气的和过程的接口,以及物理层下的物理传输介质问题。

3、物理层的关键技术是信号与接口。

数据链路层 :在网络上沿着网络链路在相邻结点之间移动数据的技术规范。

1、物理层不关心接收和传送的比特流的含意和结构,只能依赖各链路层来产生和识

别帧的边界。

2、帧是一种信息单位,每一帧应该包括一定数量的数据和一些必要的控制信息。

3、控制信息包括同步信息(帧的开始、结束信息)、地址信息、差错控制信息以及流量

控制信息等。

网络层 :确定分组从源端到达目的端的路由。

1、网络层是通信子网的最高层,它的任务是选择合适的路由和交换节点,以透明地

向目的站传输发送站所发送的分组信息,即路由选择是网络层的一项主要工作。

2、网络层传送数据的单位是分组,就是将一个报文分成等长的分组。

传输层 :从会话层接收数据,并且在必要时把它分成较小的单位,传递给网络层,并

确保到达对方的各段信息正确无误。

传输层是真正的从源到目标的“端到端”的层。源端机上的某程序,利用报文头和控

制报文与目标机上的类似程序进行对话。

会话层 :允许不同机器上的用户建立会话关系,提供对某些应用有用的增强服务会话,

可被用于远程登录到分时系统或在两台机器间传递文件等应用中。

管理对话和同步。在数据流中插入校验点。每次网络崩溃后,仅需要重传最后一个校

验点以后的数据。

表示层 :关心的是面向应用的信息的语法和语义。

典型的例子是用一种大家一致同意的标准方法对数据编码。

1、为了让采用不同表示法的计算机之间能进行通信,交换中使用的数据结构可以用

抽象的方式来定义,并且使用标准的编码方式。

2、表示层管理这些抽象数据结构,并且在计算机内部表示法和网络的标准表示法之

间进行转换。

应用层 :括程序执行的功能和操作员执行的功能。在 OSI 环境下,只有应用层是直

接为用户服务的。

1、应用层包括的功能最多,应用层协议很多,例如虚拟终端协议 VTP,电子邮件,

事务处理等。

2、文件传输,电子邮件、远程作业录入、名录查询和其他各种通用和专用的功能。

TCP/IP 模型

image.png

事实上国际标准

互联网络层 :使主机可以把分组发往任何网络,并使分组独立地传向目的地(可能经

由不同的物理网络)

1、到达的顺序和发送的顺序可能不同,因此如需要按顺序发送及接收时,高层必须

对分组排序。

2、定义了标准的分组格式和协议,即IP 协议

3、选择分组路由和避免阻塞是这里主要的设计问题。

传输层 :使源端和目的端主机上的对等实体可以进行通信,和OSI 的传输层类似。

1、传输控制协议TCP。它是一个面向连接的协议,允许从一台机器发出的字节流无

差错地发往互联网上的其他机器。TCP 要处理流量控制。

2、用户数据报协议UDP。它是一个不可靠的、无连接协议,应用于只有一次的客户-

服务器模式的请求-应答查询,以及快速递交比准确递交更重要的应用程序,如传输语音或

影像。

应用层 。它包含所有的高层协议。

文件传输协议(FTP)

电子邮件协议(SMTP)

邮局协议(POP)

域名服务DNS 用于把主机名映射到网络地址

HTTP 协议,用于在万维网(WWW)上获取主页等

五层协议的体系结构-事实模型

image.png

第二章 物理层

通信基础

信道、信号、带宽、码元、波特、速率、信源与信宿等基本概念

(1)信道 :向某一个方向传送信息的媒体。

(2)信号 :数据的电磁或电气表现。

(3)带宽 :媒介中信号可使用的最高频率和最低频率之差,或者说是频带的宽度,

Hz;

另一定义是信道中数据的传送速率,bps。

(4)码元 :在使用时间域(简称时域)的波形表示数字信号时,代表不同离散数值

的基本波形。

(5)波特 :单位时间内传输的码元数。

(6)比特率 :单位时间内传输的比特数。

(7)信源

(8)信宿

计算机网络的性能计算

速率 带宽

时延(delay 或 latency) 传输时延 传播时延 排队时延 处理时延

image.png

奈奎斯特定理与香农定理

奈奎斯特(Nyquist)无噪声下的码元速率极限值B 与信道带宽H 的关系:

最大数据传输率B=2×H (Baud)波特

奈奎斯特公式--无噪信道传输能力公式

image.png

H 为信道的带宽,即信道传输上、下限频率的差值,单位为Hz;

N 为一个码元所取的离散值个数。

香农公式--带噪信道容量公式

image.png

S 为信号功率,N 为噪声功率,S/N 为信噪比,

通常把信噪比表示成10lg(S/N)分贝(dB)

S/N=100

10lg(100)=20dB

编码与调制

调幅(AM):振幅随基带数字信号而变化。

调频(FM): 频率随基带数字信号而变化。

调相(PM) :初始相位随基带数字信号而变化。

编码 归零 非归零

曼彻斯特编码(Manchester)(看中间)

由低电平跳变到高电平时,就表示数字信号1;每位由高电平跳变到低电平时,就表

示数字信号0。

image.png

差分曼彻斯特编码(看边缘)

每个时钟周期的中间都有一次电平跳变,这个跳变做同步之用。

每个时钟周期的起始处:跳变则说明该比特是0,不跳变则说明该比特是1

image.png

电路交换、报文交换与分组交换

电路交换

电路建立:在传输任何数据之前,要先经过呼叫过程建立一条端到端的电路。

数据传输:电路建立以后,数据就可以从一端发送到另一端在整个数据传输过程中,所建立的电路必须始终保持连接状态。

电路拆除:数据传输结束后,由某一方发出拆除请求,然后逐节拆除到对方节点。

报文交换

报文交换方式的数据传输单位是报文

报文是站点一次性要发送的数据块,长度不限且可变

报文必须附加目的地址,网络节点根据报文上的目的地址信息,把报文发送到下一个节点,逐节点地转送。

报文采用存储转发机制 ,每个节点收到整个报文并检查无误后,就暂存这个报文,然后利用路由信息找出下一个节点的地址,再把整个报文传送给下一个节点。

端与端之间无需先通过呼叫建立连接。

分组交换

分组交换是报文交换的一种改进

报文分成若干个分组,每个分组的长度有一个上限

分组可以存储到内存中,提高了交换速度。

首部

因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分。

主机:为用户进行信息处理的,并且可以和其他主机通过网络交换信息。

路由器:用来转发分组的,即分组交换。

数据报与虚电路(网络层服务)

虚电路 :面向连接的通信方式

建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源。

如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点。

数据报服务

1、网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

2、网络在发送分组时不需要先建立连接。每一个分组( 数据报)独立发送,与其前

后的分组无关(不进行编号)。

3、网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不

按序到达终点),当然也不保证分组传送的时限。

image.png

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

传输介质

双绞线、同轴电缆、光纤与无线传输介质

双绞线

屏蔽双绞线 STP (Shielded Twisted Pair)

无屏蔽双绞线 UTP (Unshielded Twisted Pair)

同轴电缆

50欧 同轴电缆

75欧 同轴电缆

image.png

光缆

多模光纤与单模光纤-大容量、长距离和抗干扰

短波通信主要是靠电离层的反射,但通信质量较差。

微波在空间主要是直线传播。

地面微波接力通信

卫星通信 --GPS 北斗

无线局域网 WIFI 常用

3G 4G 5G 常用

物理层接口的特性

描述为确定与传输媒体的接口的一些特性:

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

等等。

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

功能特性 指明某条线上出现的某一电平的电压表示何种意义。

过程特性 指明对于不同功能的各种可能事件的出现顺序。

物理层设备

中继器

不进行路由选择,也不进行分组过滤的物理层连网设备

集线器

本质上集线器就是一个多端口中继器,星型连网拓扑

集线器的以太网在逻辑上仍然是一个总线网,各个工作站使用的还是CSMA/CD 协议,共享逻辑上的总线及其带宽。

集线器连接的设备处于同一个广播域和冲突域

第三章 数据链路层

数据链路层的功能

链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点

链路管理、帧同步、

流量控制、差错控制、

数据和控制信息分开、

透明传输和寻址。

组帧framing

封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。

确定帧的界限。首部和尾部作用是帧定界。

用控制字符进行帧定界

解决透明传输问题

1、发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。

2、字节填充或字符填充——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。

如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。

当接收端收到连续的两个转义字符时,就删除其中前面的一个。

字符填充 零比特填充

差错控制

检错编码

循环冗余检验

帧检验序列 FCS

在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。

循环冗余检验 CRC 和帧检验序列 FCS 并不等同。

CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。

FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法

仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。

“无差错接受”是指:

“凡是接受的帧(即不包括丢弃的帧),都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。

“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)

纠错编码

汉明码

流量控制与可靠传输机制

流量控制、可靠传输与滑动窗口机制

停止-等待协议

image.png

在发送完一个分组后,必须暂时保留已发送的分组的副本。

分组和确认分组都必须进行编号。

超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。

image.png

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

重传机制和序号机制

这种可靠传输协议常称为自动重传请求ARQ (Automatic Repeat reQuest)。

ARQ 表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。

信道利用率

停止等待协议的优点是简单

流水线传输

发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。

image.png

后退N 帧协议(GBN)

如果发送方发送了前 5 个分组,而中间的第 3 个分组丢失了。

这时接收方只能对前两个分组发出确认。

发送方把后面的三个分组都再重传一次。

叫做 Go-back-N(回退 N),表示需要再退回来重传已发送过的 N 个分组。

累积确认

接收方一般采用累积确认的方式。

即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,

这样就表示:到这个分组为止的所有分组都已正确收到了。

累积确认优点是:

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

缺点是:

不能向发送方反映出接收方已经正确收到的所有分组的信息。

选择重传协议(SR)

当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。

一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。

累计确认不适用

(1)滑动窗口变量设置

①发送端设立一个变量,称为发送窗口,用SWS(Send Window Size)

②接收端设立一个变量,称为接收窗口,用RWS(Receive Window Size )来表示,表示能够接收帧的序号的上限。

目的是能够重复使用有限的序号列。

③发送窗口的大小(SWS)表示在没有收到确认帧的情况下,发送端最多可以发送的帧的个数(停止等待协议中SWS=1)。

(2)发送窗口的规则:

①发送窗口内的帧是允许发送的帧,而不考虑有没有收到确认。发送窗口右侧所有的帧都是不允许发送的帧。

②每发送完一个帧,允许发送的帧数就减1。但发送窗口的位置不变。

③如果所允许发送的帧数都发送完了,但还没有收到任何确认,那么就不能再发送任何帧了。

④发送端每收到对一个帧的确认,发送窗口就向前(即向右方)滑动一个帧的位置。

(3)接收窗口大小(RWS)

①表示能够接收帧的序号的上限。规定了哪些序号的帧可以接收,哪些不能,也就说只有当收到的帧的序号落在接收窗口内才允许接收该数据帧(停止等待协议中RWS=1) 。

②为了减少开销,连续ARQ 协议还规定接收端不必每收到一个正确的数据帧就发送一个确认帧,而是可以收到连续几个正确帧后,才对最后一个数据帧发确认信息。

累积确认机制

③为了减少开销,也可采用捎带确认方法。

双工通信

④对某一数据帧的确认就表明该数据帧和这以前所有的数据帧均已正确无误地收到了。

这样做可以使接收端少发一些确认帧,因而减少了开销。

⑤接收窗口大小可以根据需要设定,

RWS=1,表示一次只能接收一个帧;

RWS=SWS,可以将发送端发出的帧全部接收;

RWS>SWS,没有意义 。

(3)接收窗口的规则:

①只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。

②每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时向发送端发送对该帧的确认。

③接收窗口移动了,发送窗口才能够向前移动。

(4)发送窗口的最大值

n 个比特对序号编码

序号 0--- 2^n -1

退后N 帧 发送窗口大小 (2^n)-1

选择重传 发送窗口大小 2^(n-1)

介质访问控制

信道划分介质访问控制

复用(multiplexing)是通信技术中的基本概念。

image.png

频分复用 FDM(Frequency Division Multiplexing)

时分复用TDM(Time Division Multiplexing)

波分复用 WDM(Wavelength Division Multiplexing)

波分复用就是光的频分复用。

码分复用 CDM(Code Division Multiplexing)

码分多址 CDMA(Code Division Multiple Access)。

各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。

这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。

每一个比特时间划分为 m 个短的间隔,称为码片(chip)。

码片序列(chip sequence)

每个站被指派一个唯一的 m bit 码片序列。

如发送比特 1 ,则发送自己的 m bit 码片序列。

如发送比特 0 ,则发送该码片序列的二进制反码。

CDMA 的重要特点

每个站分配的码片序列不仅必须各不相同,并且还必须互相正交(orthogonal)。

在实用的系统中是使用伪随机码序列。

随机访问介质访问控制

ALOHA 协议

是用户有帧即可发送,采用冲突监听与随机重发机制.这样的系统是竞争系统(contention system)。

帧长统一,但两帧冲突或重叠,则会被破坏,因此效率不高。

在泊松分布条件下,每个帧时间为尝试发送次数G=0.5 时,信道吞吐量S=0.184,只能用原信道吞吐量的18.4%。

载波监听多路访问(CSMA)

当一个站点要发送数据前,需要先监听总线。

如果总线上没有其他站点的发送信号存在,即总线是空闲的,则该站点发送数据;

如果总线上有其他站点的发送信号存在,即总线是忙的,则需要等待一段时间间隔后再重新监听总线,再根据总线的忙、闲情况决定是否发送数据。

CSMA/CD 协议

以太网是将许多计算机都连接到一根总线上。连接方法既简单又可靠,因为总线上没有有源器件。

以太网的广播方式发送

总线上的每一个工作的计算机都能检测到 B 发送的数据信号。

由于只有计算机 D 的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数据帧。

其他所有的计算机(A, C 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。

具有广播特性的总线上实现了一对一的通信。

为了通信的简便以太网采取了两种重要的措施

1、采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。

2、以太网对发送的数据帧不进行编号,也不要求对方发回确认。

这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。

以太网提供的服务

1、以太网提供的服务是不可靠的交付,即尽最大努力的交付。

2、当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。

3、如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

载波监听多点接入/碰撞检测CSMA/CD

CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。

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

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

总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。

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

当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。

当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。

在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。

每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

B 若在 A 发送的信息到达 B 之前发送自己的帧(因为这时 B 的载波监听检测不到A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。

碰撞的结果是两个帧都变得无用。

电磁波在总线上的有限传播速率的影响

当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。

A 向 B 发出的信息,要经过一定的时间后才能传送到 B。

传播时延对载波监听的影响

image.png

使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。

每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。

这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

最先发送数据帧的站,在发送数据帧后至多经过时间 2τ (两倍的端到端往返时延)

就可知道发送的数据帧是否遭受了碰撞。

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

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

争用期的长度

以太网取 51.2 μs 为争用期的长度。

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

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

100Mbps 64B 5.12 μs

最短有效帧长

如果发生冲突,就一定是在发送的前 64 字节之内。

由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。

以太网规定了最短有效帧长为 64 字节 ,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。

一般情况的计算方法

长度为L 带宽为C 传播速率为 D

碰撞窗口 2*(L/D)

最短有效帧长= 2xCx (L/D)

D=200 000km/s

二进制指数类型退避算法

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

确定基本退避时间,一般是取为争用期 2τ。

定义重传次数 k ,k ≤ 10,即

k = Min[重传次数, 10]

从整数集合[0,1,…, (2^k -1)]中随机地取出一个数,记为 r。

重传所需的时延就是 r 倍的基本退避时间。

当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

CSMA/CD 协议的要点

(1) 准备发送。但在发送之前,必须先检测信道。

(2) 检测信道。若检测到信道忙,则不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在 96 比特时间内信道保持空闲(保证了帧间最小间隔),就发送帧。

(3) 检查碰撞。在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:

①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到 (1)。

②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待 r 倍 512 比特时间后,返回到步骤 (2),继续检测信道。但若重传达 16 次仍不能成功,则停止重传而向上报错。

CSMA/CA 协议

无线局域网不能简单地搬用 CSMA/CD 协议。这里主要有两个原因:

1、“碰撞检测”要求一个站点在发送本站数据的同时,还必须不间断地检测信道,但接收到的信号强度往往会远远小于发送信号的强度,在无线局域网的设备中要实现这种功能就花费过大。

2、即使能够实现碰撞检测的功能,并且在发送数据时检测到信道是空闲的时候,在接收端仍然有可能发生碰撞。

这种未能检测出媒体上已存在的信号的问题叫做隐蔽站问题(hidden station problem)

image.png

其实 B 向 A 发送数据并不影响 C 向 D 发送数据

这就是暴露站问题(exposed station problem)

image.png

B 向 A 发送数据,而 C 又想和 D 通信。

C 检测到媒体上有信号,于是就不敢向 D 发送数据。

无线局域网不能使用 CSMA/CD,而只能使用改进的 CSMA 协议。

改进的办法是把 CSMA 增加一个碰撞避免(Collision Avoidance)功能。

802.11 使用 CSMA/CA 协议。

同时,还增加使用停止等待协议。

下面的略了吧,几天不看看不太懂了,略过了

CSMA/CA 协议的原理

欲发送数据的站先检测信道。
在 802.11 标准中规定了在物理层的空中接口进行物理层的载波监听。
通过收到的相对信号强度是否超过一定的门限数值就可判定是否有其他的移动站在信道上发送数据。
当源站发送它的第一个 MAC 帧时,若检测到信道空闲,则在等待一段时间 DIFS 后就可发送。
为什么信道空闲还要再等待 ?
这是考虑到可能有其他的站有高优先级的帧要发送。
如有,就要让高优先级帧先发送。
假定没有高优先级帧要发送
源站发送了自己的数据帧。

目的站若正确收到此帧,则经过时间间隔 SIFS 后,向源站发送确认帧 ACK。
若源站在规定时间内没有收到确认帧 ACK(由重传计时器控制这段时间),就必须重传此帧,直到收到确认为止,
或者经过若干次的重传失败后放弃发送。

争用窗口

信道从忙态变为空闲时,任何一个站要发送数据帧时,不仅都必须等待一个 DIFS 的间隔,而且还要进入争用窗口,并计算随机退避时间以便再次重新试图接入到信道。
在信道从忙态转为空闲时,各站就要执行退避算法。
减少了发生碰撞的概率。

802.11 使用二进制指数退避算法。

退避计时器

CSMA/CA 算法归纳

(1) 若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待时间 DIFS 后,就发送整个数据帧。
(2) 否则,站点执行 CSMA/CA 协议的退避算法。一旦检测到信道忙,就冻结退避计时器。只要信道空闲,退避计时器就进行倒计时。
(3) 当退避计时器时间减少到零时(这时信道只可能是空闲的),站点就发送整个的帧并等待确认。
(4) 发送站若收到确认,就知道已发送的帧被目的站正确收到了。这时如果要发送第二帧,就要从上面的步骤 (2) 开始,执行 CSMA/CA 协议的退避算法,随机选定一段退避时间。若源站在规定时间内没有收到确认帧 ACK(由重传计时器控制这段时间),就必须重传此帧(再次使用 CSMA/CA 协议争用接入信道),直到收到确认为止,或者经过若干次的重传失败后放弃发送。

对信道进行预约

RTS 帧 CTS 帧

802.11 帧共有三种类型:控制帧、数据帧和管理帧。

轮询访问介质访问控制:令牌传递协议

控制令牌是另一种传输媒体访问控制方法。
按照所有站点共同理解和遵守的规则,从一个站点到另一个站点传递控制令牌

局域网

局域网的基本概念和体系结构

局域网最主要的特点是:
网络为一个单位(家庭)所拥有,且地理范围和站点数目均有限。

以太网与IEEE 802.3

DIX Ethernet V2 是第一个局域网规约。
IEEE 的 802.3 标准。

数据链路层的两个子层-802 委员会

逻辑链路控制 LLC (Logical Link Control)子层
媒体接入控制 MAC (Medium Access Control)子层

48 位的 MAC 地址

MAC 帧 最小长度 64 字节  18 字节的首部和尾部 = 数据字段的最小长度

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

无效的 MAC 帧

1、数据字段的长度与长度字段的值不一致;
2、数据字段的长度不在 46 ~ 1500 字节之间。
3、有效的 MAC 帧长度不在 64 ~ 1518 字节之间。

高速以太网

速率达到或超过 100 Mb/s 的以太网称为高速以太网。

在双绞线上传送 100 Mb/s 基带信号的星型拓扑以太网,仍使用 IEEE 802.3 的CSMA/CD 协议。

100BASE-T 以太网又称为快速以太网(Fast Ethernet)。
可在全双工方式下工作而无冲突发生。因此,不使用 CSMA/CD 协议。

三种不同的物理层标准

100BASE-TX
使用 2 对 UTP 5 类线或屏蔽双绞线 STP。
100BASE-FX
使用 2 对光纤。
100BASE-T4
使用 4 对 UTP 3 类线或 5 类线。

吉比特以太网

1000BASE-X 基于光纤通道的物理层:
1000BASE-SX SX 表示短波长
1000BASE-LX LX 表示长波长
1000BASE-CX CX 表示铜线
1000BASE-T
使用 4 对 5 类线 UTP
10 吉比特以太网
10 吉比特以太网还保留了 802.3 标准规定的以太网最小和最大帧长,便于升级。
10 吉比特以太网只工作在全双工方式,因此没有争用问题,也不使用 CSMA/CD 协议。

IEEE 802.11

令牌环网的基本原理

使用一个标记沿着环循环。当一个站要发送帧时,需等待空标记通过,然后将它改为忙标记。

广域网

广域网的基本概念

通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络

PPP 协议-字符

现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。

HDLC 协议-比特

HDLC 是通用的数据链路控制协议,在开始建立数据链路时,允许选用特定的操作方式。
所谓操作方式,通俗地讲就是某站点是以主站点方式操作还是以从站方式操作,或者是二者兼备。

命令帧 响应帧

轮询技术

数据链路层设备

网桥

在数据链路层扩展局域网是使用网桥。
网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。

网桥具有过滤帧的功能。

当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC地址,然后再确定将该帧转发到哪一个接口

可互连不同物理层、不同 MAC 子层和不同速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网。

网桥使各网段成为隔离开的碰撞域

广播风暴

网桥应当按照以下自学习算法处理收到的帧和建立转发表

1、若从 A 发出的帧从接口 x 进入了某网桥,那么从这个接口出发沿相反方向一定可把一个帧传送到 A。
2、网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为转发表中的一个项目。
在建立转发表时是把帧首部中的源地址写在“地址”这一栏的下面。
在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入接口当作转发接口。

网桥在转发表中登记以下三个信息
地址和接口,进入该网桥的时间。
这是因为以太网的拓扑可能经常会发生变化,站点也可能会更换适配器(这就改变了站点的地址)。
另外,以太网上的工作站并非总是接通电源的。
把每个帧到达网桥的时间登记下来,就可以在转发表中只保留网络拓扑的最新状态信息。
使得网桥中的转发表能反映当前网络的最新拓扑状态。

网桥的自学习和转发帧的步骤归纳

1、网桥收到一帧后先进行自学习。
2、查找转发表中与收到帧的源地址有无相匹配的项目。

3、如没有,就在转发表中增加一个项目(源地址、进入的接口和时间)。
4、如有,则把原有的项目进行更新。
转发帧。查找转发表中与收到帧的目的地址有无相匹配的项目
1、如没有,则通过所有其他接口(但进入网桥的接口除外)按进行转发。
2、如有,则按转发表中给出的接口进行转发。
3、若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这时不需要经过网桥进行转发)。

局域网交换机及其工作原理

以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层。

独占传输媒体的带宽 交换机的最大优点。

交换机自学习和转发帧的步骤归纳

交换机收到一帧后先进行自学习。查找交换表中与收到帧的源地址有无相匹配的项目。
如没有,就在交换表中增加一个项目(源地址、进入的接口和有效时间)。
如有,则把原有的项目进行更新(进入的接口或有效时间)。
转发帧。查找表中与收到帧的目的地址有无相匹配的项目。
如没有,则向所有其他接口(进入的接口除外)转发。
如有,则按交换表中给出的接口进行转发。
若交换表中给出的接口就是该帧进入交换机的接口,则应丢弃这个帧(因为这时不需要经过交换机进行转发)。

转发技术

直通式交换
存储转发式(主流交换方式)
碎片隔离方式

第四章 网络层

网络层的功能

异构网络互联

路由与转发

默认路由(default route)

分组转发算法

(1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
(2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。

(3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。

拥塞控制

分组交换采用尽最大努力交付,
开环控制
闭环控制

路由算法

静态路由和动态路由

路由算法

距离矢量路由算法

RIP, BGP

链路状态路由算法

OSPF

层次路由

IPv4

IPv4 分组

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

image.png

IPv4 地址与NAT

IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符

IP 地址的编址方法

网络号 net-id host-id 两级的 IP 地址

image.png

IP 地址的使用范围

image.png

A 类 全零,全1,127.0.0.0
B 类 128.0
C 类 192.0.0

image.png

路由器 多归属主机(multihomed host)

本地地址 全球地址

RFC 1918 指明了一些专用地址 (private address)。专用地址只能用作本地地址而不能用作全球地址。

在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。
三个专用 IP 地址块:
(1) 10.0.0.0 到 10.255.255.255
A 类,或记为10.0.0.0/8,它又称为24 位块
(2) 172.16.0.0 到 172.31.255.255
B 类,或记为172.16.0.0/12,它又称为20 位块
(3) 192.168.0.0 到 192.168.255.255
C 类,或记为192.168.0.0/16,它又称为16 位块

网络地址转换 NAT (Network Address Translation)

网络地址转换的过程
可以看出,在内部主机与外部主机通信时,在NAT 路由器上发生了两次地址转换:
离开专用网时:替换源地址,将内部地址替换为全球地址;
进入专用网时:替换目的地址,将全球地址替换为内部地址;

NAT 地址转换表举例

image.png

网络地址与端口号转换 NAPT

为了更加有效地利用 NAT 路由器上的全球IP 地址,现在常用的 NAT 转换表把传输层的端口号也利用上。

使用端口号的 NAT 叫作网络地址与端口号转换NAPT (Network Address and Port Translation),而不使用端口号的 NAT 就叫作传统的 NAT (traditional NAT)。

NAPT 地址转换表举例

image.png

子网划分与子网掩码、CIDR

从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。

子网号 subnet-id

划分子网后 IP 地址就变成了三级结构

子网掩码

子网划分方法

有固定长度子网和变长子网两种子网划分方法。
在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的。

在划分子网的情况下路由器转发分组的算法

(1) 从收到的分组的首部提取目的 IP 地址 D。
(2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和 相应的网络地址匹配。若匹配,则将分组直接交付。 否则就是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D 的特定主机路由,则将 分组传送给指明的下一跳路由器;否则,执行(4)。
(4) 对路由表中的每一行的子网掩码和 D 逐位相“与”, 若其结果与该行的目的网络地址匹配,则将分组传送 给该行指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则将分组传送给路由表 中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。

无分类编址 CIDR

正式名字是无分类域间路由选择 CIDR (Classless Inter-Domain Routing)

CIDR 使用各种长度的“网络前缀”(network - prefix)来代替分类地址中的网络号和子网号。

CIDR 还使用“斜线记法”(slash notation),它又称为CIDR 记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。

路由聚集/聚合(route aggregation)

一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。
路由聚合也称为构成超网(supernetting)。
CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。

CIDR 记法的其他形式

最长前缀匹配

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

最长前缀匹配(longest-prefix matching)。

网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。
最长前缀匹配又称为最长匹配或最佳匹配。

ARP 协议、DHCP 协议与ICMP 协议

地址解析协议 ARP(Address Resolution Protocol)
动态主机配置协议 DHCP
网络控制报文协议 ICMP(Internet Control Message Protocol)

不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。

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

网络控制报文协议 ICMP
为了提高 IP 数据报交付成功的机会,在网络层使用了网络控制报文协议 ICMP(Internet Control Message Protocol)。
ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。

IPv6

从计算机本身发展以及从因特网规模和网络传输速率来看,现在 IPv4 已很不适用。最主要的问题就是 32 位的 IP 地址不够用。

要解决 IP 地址耗尽的问题的措施:

1、采用无类别编址 CIDR,使 IP 地址的分配更加合理。
2、采用网络地址转换 NAT 方法以节省全球 IP 地址。
3、采用具有更大地址空间的新版本的 IP 协议 IPv6。

IPv6 的主要特点

IPv6 将首部长度变为固定的 40 字节,称为基本首部(base header)。

在基本首部的后面允许有零个或多个扩展首部。

所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或净负荷。

IPv6 地址

IPv6 数据报的目的地址可以是以下三种基本类型地址之一:

(1) 单播(unicast) 单播就是传统的点对点通信。
(2) 多播(multicast) 多播是一点对多点的通信。
(3) 任播(anycast) 这是 IPv6 增加的一种类型。

任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

冒号十六进制记法

零压缩(zero compression)

特殊地址

未指明地址 环回地址 前缀为 0000 0000 的地址

路由协议

自治系统
RIP OSPF BGP

自治系统

域内路由与域间路由

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

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

目前这类路由选择协议使用得最多,
如 RIP 和 OSPF 协议。

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

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

在外部网关协议中目前使用最多的是 BGP-4。

自治系统之间的路由选择也叫做
域间路由选择(interdomain routing),
在自治系统内部的路由选择叫做
域内路由选择(intradomain routing)
因特网的路由选择协议
内部网关协议 IGP:
具体的协议有多种,如 RIP 和 OSPF 等。
外部网关协议 EGP:
目前使用的协议就是 BGP。

RIP 路由协议

距离向量的路由选择协议

从一路由器到直接连接的网络的距离定义为 1。

RIP 允许一条路径最多只能包含 15 个路由器。
“距离”的最大值为16 时即相当于不可达。

RIP 只适用于小型互联网。

RIP 协议的三个要点

1、仅和相邻路由器交换信息。
2、交换的信息是当前本路由器所知道的全部信息,即自己的路由表。

3、按固定的时间间隔交换路由信息,例如,每隔 30 秒。

距离向量算法

(1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X ,并把所有的“距离”字段的值加 1。
(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:
若项目中的目的网络不在路由表中,则把该项目加到路由表中。
否则
若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。
否则
若收到项目中的距离小于路由表中的距离,则进行更新,
否则,什么也不做。
(3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16 表示不可达)。
(4) 返回。

好消息传播得快,而坏消息传播得慢。网络出故障的传播时间往往需要较长的时间(例如数分钟)。这是 RIP 的一个主要缺点。

OSPF 路由协议

链路状态协议

1、向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
2、发送的信息就是与本路由器相邻的所有路由器的链路状态,这只是路由器所知道的部分信息。
“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。
3、只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。

OSPF 的区域(area)

为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。

OSPF 直接用 IP 数据报传送
OSPF 不用 UDP 而是直接用 IP 数据报传送。
OSPF 构成的数据报很短。减少路由的通信量。

OSPF 的五种分组类型

类型1,问候(Hello)分组:用来维持和发现邻站的可达性。
类型2,数据库描述(Database Description)分组:向邻站发送链路数据库的摘要信息。
类型3,链路状态请求(Link State Request)分组:请求发送链路数据库的详细信息。
类型4,链路状态更新(Link State Update)分组:用洪泛法对全网更新链路状态。
类型5,链路状态确认(Link State Acknowledgment)分组:对链路更新分组的确认。

OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态

BGP 路由协议

BGP 是不同自治系统的路由器之间交换路由信息的协议

BGP 发言人(BGP speaker)

BGP 交换路由信息

BGP-4 共使用四种报文

(1) 打开(OPEN)报文,用来与相邻的另一个BGP 发言人建立关系。
(2) 更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤消的多条路由。
(3) 保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系。
(4) 通知(NOTIFICATION)报文,用来发送检测到的差错

IP 组播

组播的概念

IP 组播地址

移动IP

移动IP 的概念

Mobile IP 是为了满足移动节点在移动中保持其连接性而设计的。
移动IP 技术是指移动用户可跨网络随意移动和漫游,不用修改计算机原来的IP 地址,同时,继续享有原网络中一切权限。
简单地说,移动IP 就是实现网络全方位的移动或者漫游。

移动代理(Mobility Agent) 归属代理 归属地址(Home Address) 转交地址 位置注册(Registration) 代理发现(Agent Discovery) 隧道技术(Tunneling)

移动IP 的通信过程

(1)移动IP 系统中的归属代理和外区代理不停地向网上发送代理通告(AgentAdvertisement)消息。
(2)接到这些消息的移动结点,知道环境中有归属代理和外区代理的存在,并确定自己是在归属网还是在外区网上。
(3)如果移动结点收到的是归属代理发来的消息,则说明自己仍在归属网上,此时,不启动移动功能。
(4)当移动结点检测到它移到外区网,它从外区网处获取一个临时的IP 地址,即转交地址。
(5)然后移动结点向归属代理注册,表明自己已离开归属网,把所获的关联地址通知归属代理。归属代理可以随时获取移动结点的当前位置信息。
(6)注册完毕后,当通信端要向移动结点发送报文时,他使用移动结点的固定IP 地址。报文将被路由到移动结点的归属网,并被归属代理截获。归属代理将该报文封装,通过隧道将报文发送到移动结点所在的外区网。

网络层设备

路由器的组成和功能

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。

下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止。

路由表与路由转发

“转发”(forwarding)就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。
“路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。

路由表是根据路由选择算法得出的。而转发表是从路由表得出的。
在讨论路由选择的原理时,往往不去区分转发表和路由表的区别

第五章 传输层

传输层提供的服务

从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。

网络边缘部分的主机的协议栈才有传输层,
网络核心部分中的路由器在转发分组时都只用到下三层的功能。

应用进程之间的通信又称为端到端的通信。

传输层的功能

1、传输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。
2、传输层还要对收到的报文进行差错检测

传输层需要有两种不同的传输协议

面向连接的 TCP
无连接的 UDP

传输层寻址与端口

端口号简称为端口(port)

TCP /UDP 的端口

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

三类端口

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

登记端口号,数值为1024~49151
客户端口号或短暂端口号,数值为49152~65535,留给客户进程选择暂时使用。动态端口号

无连接服务与面向连接服务

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

TCP 是 TCP 报文段(segment)
UDP 是 UDP 报文或用户数据报。

UDP 协议

UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。

首部开销小,只有 8 个字节。

接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文

UDP 数据报

UDP 校验

把“伪首部”和 UDP 用户数据报连接在一起。伪首部仅仅是为了计算检验和。

TCP 协议

TCP 是面向连接的传输层协议。

TCP 提供全双工通信

面向字节流

TCP 可把太长的数据块划分短一些再传送。
TCP 也可等待积累有足够多的字节后再构成报文段发送出去

TCP 连接管理

传输连接就有三个阶段
连接建立、数据传送和连接释放。

客户(client) 服务器(server)

连接建立

image.png

连接释放

image.png

TCP 可靠传输

1、TCP 连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。
2、TCP 的可靠传输机制用字节的序号进行控制。
3、TCP 所有的确认都是基于序号而不是基于报文段。

4、TCP 两端的四个窗口经常处于动态变化之中。
5、TCP 连接的往返时间 RTT 也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。

TCP 要求接收方必须有累积确认的功能,这样可以减小传输开销。

加权平均往返时间

超时重传时间 RTO

Karn 算法

修正的 Karn 算法

TCP 流量控制和拥塞控制

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

拥塞控制与流量控制的关系

1、拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。
2、拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
3、流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制。
4、流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

拥塞控制方法-慢开始和拥塞避免

1、发送方:拥塞窗口 cwnd (congestion window)的状态变量。
2、拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。
3、发送方让自己的发送窗口等于拥塞窗口。如再考虑到接收方的接收能力,则发送窗口还可能小于拥塞窗口。
4、发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数。

慢开始算法的原理

1、在主机刚刚开始发送报文段时可先设置拥塞窗口 cwnd = 1,即设置为一个最大报文段 MSS 的数值。

2、在每收到一个对新的报文段的确认后,将拥塞窗口加 1,即增加一个 MSS 的数值。
3、用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以使分组注入到网络的速率更加合理。
发送方每收到一个对新报文段的确认(重传的不算在内)就使 cwnd 加 1。

传输轮次(transmission round)
使用慢开始算法后,每经过一个传输轮次,拥塞窗口 cwnd 就加倍。
一个传输轮次所经历的时间其实就是往返时间 RTT。
“传输轮次”更加强调:把拥塞窗口 cwnd 所允许发送的报文段都连续发送出去,并收到了对已发送的最后一个字节的确认。
例如,拥塞窗口 cwnd = 4,这时的往返时间 RTT 就是发送方连续发送 4 个报文段,并收到这 4 个报文段的确认,总共经历的时间。

设置慢开始门限状态变量ssthresh
慢开始门限 ssthresh 的用法如下:
当 cwnd < ssthresh 时,使用慢开始算法。
当 cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法。
当 cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。

拥塞避免算法的思路是让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT就把发送方的拥塞窗口 cwnd 加 1,而不是加倍,使拥塞窗口 cwnd 按线性规律缓慢增长。

当网络出现拥塞时

1、无论在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(其根据就是没有按时收到确认),就要把慢开始门限 ssthresh 设置为出现拥塞时的发送方窗口值的一半(但不能小于2)。
2、把拥塞窗口 cwnd 重新设置为 1,执行慢开始算法。

当 TCP 连接进行初始化时,将拥塞窗口置为 1。图中的窗口单位不使用字节而使用报文段。慢开始门限的初始值设置为 16 个报文段,即 ssthresh = 16。

乘法减小

1、“乘法减小“是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。
2、当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。

加法增大

“加法增大”是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd 增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。

快重传和快恢复

快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认。这样做可以让发送方及早知道有报文段没有到达接收方。
发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。

不难看出,快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。

快恢复算法

(1) 当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门ssthresh 减半。但接下去不执行慢开始算法。
(2)由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,即拥塞窗口 cwnd 现在不设置为 1,而是设置为慢开始门限 ssthresh 减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。

发送窗口的上限值

发送方的发送窗口的上限值应当取为接收方窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个,即应按以下公式确定:
发送窗口的上限值 = Min [rwnd, cwnd]
当 rwnd < cwnd 时,是接收方的接收能力限制发送窗口的最大值。
当 cwnd < rwnd 时,则是网络的拥塞限制发送窗口的最大值。

第六章 应用层

网络应用模型

在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:

客户服务器方式(C/S 方式)即Client/Server 方式

对等方式(P2P 方式)即 Peer-to-Peer 方式

DNS 系统

域名到IP 地址的解析系统

层次域名空间

域名服务器

一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。

域名服务器有以下四种类型

1、根域名服务器
2、顶级域名服务器
3、权限域名服务器
4、本地域名服务器

不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。

顶级域名服务器

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

权限域名服务器

负责一个区的域名服务器

本地域名服务器

本地域名服务器对域名系统非常重要。
当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。

提高域名服务器的可靠性

DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。
当主域名服务器出故障时,辅助域名服务器可以保证 DNS 的查询工作不会中断。
主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。
保证了数据的一致性。

域名解析过程

主机向本地域名服务器的查询一般都是采用递归查询

本地域名服务器向根域名服务器的查询通常是采用迭代查询

本地域名服务器采用迭代查询

image.png

本地域名服务器采用递归查询(比较少用)

image.png

FTP

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

FTP 协议的工作原理

FTP 的服务器进程由两大部分组成:

1、一个主进程,负责接受新的请求;
2、若干个从属进程,负责处理单个请求。

主进程的工作步骤如下

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

控制连接与数据连接

两个不同的端口号

21-当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。
20-服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。
数据连接与控制连接不会发生混乱。

电子邮件

发送邮件的协议:SMTP
读取邮件的协议:POP3

MIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),
使用 MIME 可在邮件中同时传送多种类型的数据。

电子邮件系统的组成结构

用户代理 UA (User Agent)

用户代理 UA 就是用户与电子邮件系统的接口,是电子邮件客户端软件。

SMTP 协议与POP3 协议

SMTP 通信的三个阶段

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

POP 也使用客户服务器的工作方式

POP 协议则是用户从目的邮件服务器上读取邮件所使用的协议

电子邮件格式与MIME

RFC 822 只规定了邮件内容中的首部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。

MIME 概述

MIME 并没有改动 SMTP 或取代它。
MIME 的意图是继续使用目前的[RFC 822]格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。

内容传送编码 内容类型

基于万维网的电子邮件

电子邮件从 A 发送到网易邮件服务器使用 HTTP 协议。
两个邮件服务器之间的传送使用 SMTP。
邮件从新浪邮件服务器传送到 B 是使用 HTTP 协议。

万维网电子邮件的好处:只要能够找到上网的计算机,打开任何一种浏览器就可以非常方便地收发电子邮件。

WWW

WWW 的概念与组成结构

万维网以客户服务器方式工作。

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

在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。

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

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

HTTP 协议

从层次的角度看,HTTP 是面向事务的(transaction-oriented)应用层协议,
是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。

HTTP 的主要特点

1、HTTP 是面向事务的客户服务器协议。
2、HTTP 1.0 协议是无状态的(stateless)。
3、HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。

持续连接

HTTP/1.1 协议使用持续连接。
万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。
这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。
目前一些流行的浏览器的默认设置就是使用 HTTP/1.1。

持续连接的两种工作方式

非流水线方式 流水线方式

HTTP 的报文结构

请求报文——从客户向服务器发送请求报文。
响应报文——从服务器到客户的回答。

HTTP 的报文结构(请求报文)

image.png


亲爱的读者:有时间可以点赞评论一下

点赞(2) 打赏

全部评论

还没有评论!