Bootstrap

计算机网络复习整理

计算机网络复习整理

文章目录

第一章 绪论

1、计算机网络的三个发展阶段

  • 从单个网络ARPANET向互联网发展的过程,用TCP/IP协议

  • 三级结构的互联网,主干网、地区网、校园网

  • 多层次ISP结构的互联网。主干ISP、地区ISP、本地ISP

2、因特网的组成:边缘部分和核心部分

边缘部分:由所有连接在互联网上的主机组成。用户直接使用,用来通信和资源共享

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

3、端系统之间两种通信方式

  • 客户-服务器方式(C/S方式):客户是服务的请求方,服务器是服务的提供方。
  • 对等方式(P2P方式):不区分服务请求方、服务提供方,每一个主机既是客户又是服务器

4、三种数据交换方式

  • 电路交换:每一部电话都直接连接到交换机上,交换机使用交换的方法,让电话用户彼此通信。是面向连接的。应用:电话。

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

  • 报文交换

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

  • 分组交换:采用存储转发技术,在发送端将较长的报文划分成较短的、固定长度的数据段,每个数据段前面加上首部构成分组。以分组为数据传输单元,把分组发送到接收端,因为每个分组首部都有目的地址,源地址等控制信息,所有分组交换网中的交换机根据首部的地址信息,可以把分组转发到下一个结点交换机,最后到达目的地。接收端收到分组后剥去首部还原成报文,恢复成原来的报文。

    特点:单个分组(整个报文的一部分)传送到相邻节点,存储下来后查看转发表,转发到下一个节点。

分组交换的要点

  • 报文分组,加首部
  • 路由器存储转发
  • 在目的地合并

5、计算机网络的定义和分类

按作用范围分类:广域网、城域网、局域网、个人区域网。

6、性能指标

速率:数据的传送速率,单位bit/s 或b/s或bps,一秒传送多少二进制数。

带宽:在单位时间内网络中的某信道所能通过的“最高数据率”,单位是 bit/s

吞吐量:在单位时间内通过某个网络(或信道、接口)的数据量。

时延:数据从网络的一端传到另一端所需的时间。从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

发送时延:发送所需时间

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

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

传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)

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

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

对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。 

时延带宽积:以比特为单位的链路长度

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

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

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

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

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

7、网络协议

网络协议:是为进行网络中的数据交换而建立的规则、标准或约定。

网络协议三要素:

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

8、网络的体系结构

请添加图片描述

五层协议功能简述:

物理层:透明的传输比特流

数据链路层:在相邻结点间无差错的进行数据帧的传输

网络层:跨越异构网络实现主机到主机的通信

运输层:实现进程到进程的通信

应用层:为网络用户和应用程序提供各种服务

路由器在转发分组时最高只用到网际层
而没有使用运输层和应用层。 

第二章 物理层

物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。

1、物理层功能

位置:物理层是网络体系结构中的最低层
是连接计算机的具体物理设备吗?×不是
是负责信号传输的具体物理媒体吗?×不是
功能:如何在连接各计算机的传输媒体上传输数据比特流
数据链路层将数据比特流传送给物理层
物理层将比特流按照传输媒体的需要进行编码
然后将信号通过传输媒体传输到下一个节点的物理层
作用:尽可能地屏蔽掉不同传输媒体和通信手段的差异
为数据链路层提供一个统一的数据传输服务

2、物理层的主要任务

主要任务:确定与传输媒体的接口的一些特性。

  • 机械特性 :指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等。
  • 电气特性:指明在接口电缆的各条线上出现的电压的范围。
  • 功能特性:指明某条线上出现的某一电平的电压表示何种意义。
  • 过程特性 :指明对于不同功能的各种可能事件的出现顺序。

3、信道

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

4、通信方式

  • 单向通信(单工通信)——只能有一个方向的通信而没有反方向的交互。
  • 双向交替通信(半双工通信)——通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。
  • 双向同时通信(全双工通信)——通信的双方可以同时发送和接收信息。

5、常用的编码方式

  • 不归零制:正电平代表 1,负电平代表 0。

  • 归零制:正脉冲代表 1,负脉冲代表 0。

  • 曼彻斯特编码:位周期中心的向上跳变代表 0,位周期中心的向下跳变代表 1。但也可反过来定义。

  • 差分曼彻斯特编码:在每一位的中心处始终都有跳变。位开始边界有跳变代表 0,而位开始边界没有跳变代表 1。请添加图片描述

    曼彻斯特编码和差分曼彻斯特编码具有自同步能力
    

6、基本带通调制方法

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

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

  • 调相(PM) :载波的初始相位随基带数字信号而变化

7、信噪比

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

信噪比(dB) = 10log10(S/N)    (dB) 

当 S/N = 10 时,信噪比为 10 dB,而当 S/N = 1000时,信噪比为 30 dB。

8、香农公式

信道的极限信息传输速率 C 可表达为:
		C = W log2(1+S/N)    (bit/s) 
其中:	W 为信道的带宽(以 Hz 为单位);
		S 为信道内所传信号的平均功率;
		N 为信道内部的高斯噪声功率。

9、奈氏准则

在带宽为W(Hz)的低通信道中,若不考虑噪声影响,则码元传输的最高速率是2W(码元/秒)。

10、传输媒体

引导型传输媒体:电磁波被导引沿着固体媒体(铜线或光纤)传播。

  • 双绞线:制作为网线
  • 同轴电缆:传输较高速率的数据
  • 光纤:光纤通信的传输媒体

非引导型传输媒体:自由空间。电磁波的传输常称为无线传输

  • 无线电波
  • 微波
  • 红外
  • 可见光

11、复用

复用:允许用户使用一个共享信道进行通信,降低成本,提高利用率。

频分复用:频分复用的所有用户在同样的时间占用不同的带宽资源。

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

波分复用:光的频分复用。使用一根光纤来同时传输多个光载波信号。

码分复用:用户可以在同样的时间使用相同的频带进行通信。

码分复用:
内积结果为1,发送比特1
内积结果为-1,发送比特0
内积结果为0,无发送
应用:

频分复用:模拟传输系统,

时分复用:数字传输系统

波分复用:在光纤上的频分复用

码分复用:无线介质

12、数字传输系统

脉码调制PCM

北美的24路PCM(简称为 T1)
欧洲的 30 路 PCM(简称为 E1)
我国采用的是欧洲的 E1 标准。
E1 的速率是 2.048 Mbit/s,而 T1 的速率是 1.544 Mbit/s。

第三章 数据链路层

数据链路层:在相邻两个结点之间,保证可靠传输,要使用链路层协议

三个问题

封装成帧:在一段数据前后分别添加首部和尾部,构成帧,确定帧的界限。

透明传输:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC” (其十六进制编码是 1B)。
接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

差错控制:循环冗余检验CRC

仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受 .
不是可靠传输
凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。
要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。

数据链路层三个问题为什么必须加以解决

  • 帧定界是分组交换的必然要求

  • 透明传输避免消息符号与帧定界符号相混淆

  • 差错检测防止差错的无效数据帧浪费后续路由上的传输和处理资源

PPP协议

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

帧格式

PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。
标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110)。
地址字段 A 只置为 0xFF。地址字段实际上并不起作用。
控制字段 C 通常置为 0x03。
PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

字符填充

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

零比特填充

PPP 协议用在 SONET/SDH 链路时,使用同步传输(一连串的比特连续传送)。这时 PPP 协议采用零比特填充方法来实现透明传输。
在发送端,只要发现有 5 个连续 1,则立即填入一个 0
接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。

以太网的 MAC 层

请添加图片描述

集线器:接收信号,进行放大,广播,是物理层设备。

网桥,交换机,工作在数据链路层。

以太网交换机:学习源地址,建立地址表,过滤本地帧,转发异地帧,广播未知帧

CSMA/CD协议

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

多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。

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

先听后说,边说边听,冲突停止,等待重发

要点
(1) 准备发送。但在发送之前,必须先检测信道。
(2) 检测信道。若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在 96 比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
(3) 检查碰撞。在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到 (1)。
②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待 r 倍 512 比特时间后,返回到步骤 (2),继续检测信道。但若重传达 16 次仍不能成功,则停止重传而向上报错。

第四章 网络层

面向连接的虚电路服务:逻辑上的连接,存储转发方式,可靠传输

无连接的数据报服务:每个分组携带地址,可以选择不同的路径。

中间设备

物理层中继系统:转发器 (repeater)。集线器
数据链路层中继系统:网桥 或 桥接器 (bridge)。
网络层中继系统:路由器 (router)。
网桥和路由器的混合物:桥路器 (brouter)。
网络层以上的中继系统:网关 (gateway)。 

网际协议IP

请添加图片描述

A类地址:1-126
B类地址:128.1-191.255
C类地址:192.0.1-223.255.255
主机号 全0代表网络地址,全1代表广播地址
D类地址只能作目的地址

地址解析协议ARP

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

IP数据报的格式

请添加图片描述

首部最少20个字节,最多60个字节

分片

请添加图片描述
请添加图片描述
分片题目
网络能够传送的最大数据长度为1500B,数据部分长度1500-20=1480B

划分子网

从主机号借用若干个位作为子网号

ip地址变为:网络号,子网号,主机号

子网掩码:网络号,子网号全1,主机号全0

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

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

无分类编址CIDR

网络前缀,主机号

CIDR 记法的其他形式

10.0.0.0/10 可简写为 10/10,也就是把点分十进制中低位连续的 0 省略。

10.0.0.0/10 隐含地指出 IP 地址 10.0.0.0 的掩码是 255.192.0.0。

网络前缀的后面加一个星号 * 的表示方法,如 00001010 00*,在星号 * 之前是网络前缀,而星号 * 表示 IP 地址中的主机号,可以是任意值

路由聚合/构造超网

最长前缀匹配,前缀越长越匹配

网际控制报文协议 ICMP

ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。

请添加图片描述

ping

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

路由信息协议RIP

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

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

距离向量算法

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

请添加图片描述

请添加图片描述

开放最短路径优先 OSPF

  • “开放”表明 OSPF 协议不是受某一家厂商控制,而是公开发表的。
  • “最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法 SPF
  • 采用分布式的链路状态协议 (link state protocol)。

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

  • OSPF 的更新过程收敛得快是其重要优点
  • OSPF 不用 UDP 而是直接用 IP 数据报传送。
  • 当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。
  • OSPF 没有“坏消息传播得慢”的问题

IPV6

IPv6 数据报的目的地址可以是以下三种基本类型地址之一:
(1) 单播 (unicast):传统的点对点通信。
(2) 多播 (multicast):一点对多点的通信。
(3) 任播 (anycast):这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

在IPv6中,每个地址占 128 位

IPv6 使用冒号十六进制记法

每个 16 位的值用十六进制值表示,各值之间用冒号分隔。例如:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF

在十六进制记法中,允许把数字前面的0省略。例如把0000中的前三个0省略,写成1个0。

冒号十六进制记法可以允许零压缩 (zero compression),即一连串连续的零可以为一对冒号所取代。
FF05:0:0:0:0:0:0:B3 可压缩为:
FF05::B3
注意:在任一地址中只能使用一次零压缩。

IP 多播

目的:更好的支持一对多通信。

多播路由选择实际上就是要找出以源主机为根结点的多播转发树。

第五章 运输层

运输层的主要功能:在通信双方的运输实体之间建立端到端的可靠的逻辑连接。

运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。

只有位于网络边缘部分的主机的协议栈才有运输层

网络核心部分中的路由器在转发分组时都只用到下三层的功能。

网络层与运输层的区别

  • 网络层是为主机之间提供逻辑通信
  • 而运输层为应用进程之间提供端到端的逻辑通信。

分用和复用

分用:接收方剥去报文首部后能够正确地将数据发送给应用进程

复用:发送方的不同的应用进程可以使用同一运输层协议

TCP/IP 的运输层有两个主要协议:
(1) 用户数据报协议 UDP (User Datagram Protocol)
(2) 传输控制协议 TCP (Transmission Control Protocol)

TCP 传送的数据单位协议是 TCP 报文段(segment)。
UDP 传送的数据单位协议是 UDP 报文或用户数据报。

软件端口与硬件端口

在协议栈层间的抽象的协议端口是软件端口。
路由器或交换机上的端口是硬件端口。
硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。

端口号

端口用一个 16 位端口号进行标志。
端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。

(1) 服务器端使用的端口号
熟知端口,数值一般为 0~1023。
登记端口号,数值为 1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。
(2) 客户端使用的端口号
又称为短暂端口号,数值为 49152~65535,留给客户进程选择暂时使用。
当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。

请添加图片描述

SMTP:简单邮件传送协议

FTP(file transfer protocol)文件传输协议

TELNET(terminal NETwork)远程登录

HTTP(hypertext transfer protocol)超文本传输协议

HTTPS(secure hypertext transfer protocol)安全文本传输协议

RPC 远程过程调用协议

DNS (domain name system)域名系统

TFTP(trivial file transfer protocol)简单文件传输协议

SNMP简单网络管理协议

UDP

主要特点

(1) UDP 是无连接的,发送数据之前不需要建立连接,,因此减少了开销和发送数据之前的时延。
(2) UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
(3) UDP 是面向报文的。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP 一次交付一个完整的报文。
(4) UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很适合多媒体通信的要求。

(5) UDP 支持一对一、一对多、多对一和多对多的交互通信。
(6) UDP 的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短。

请添加图片描述
请添加图片描述

伪首部仅仅是为了计算检验和

请添加图片描述

TCP

主要特点

  • TCP 是面向连接的运输层协议。
  • 每一条 TCP 连接只能有两个端点 (endpoint),每一条 TCP 连接只能是点对点的(一对一)。
  • TCP 提供可靠交付的服务。
  • TCP 提供全双工通信。
  • 面向字节流

TCP 面向流的概念

TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。
但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。

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

TCP 连接的端点叫做套接字 (socket) 或插口。

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

每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定

TCP 连接 ::= {socket1, socket2} 
           = {(IP1: port1),(IP2: port2)} 

停止等待协议

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

自动重传请求 ARQ

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

连续 ARQ 协议

位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。

连续 ARQ 协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

累积确认

即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了。

TCP 首部的最小长度是 20 字节

请添加图片描述

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

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

流量控制

让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

请添加图片描述

TCP拥塞控制算法

慢开始 (slow-start)

由小到大逐渐增大拥塞窗口数值

拥塞避免 (congestion avoidance)

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

快重传 (fast retransmit)

采用快重传FR (Fast Retransmission) 算法可以让发送方尽早知道发生了个别报文段的丢失。
快重传 算法首先要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。

发送方只要一连收到三个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传(即“快重传”),这样就不会出现超时,发送方也不就会误认为出现了网络拥塞。

快恢复 (fast recovery)

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

慢开始:发送窗口由小到大逐渐增加
拥塞避免:每经过一个RTT拥塞窗口加一
快重传:当连续接收到三个相同的确认回复,立即重传
快恢复:将门限制数值减半,拥塞窗口的值和门限值相同执行拥塞避免算法

TCP连接

传送TCP报文有三个阶段:连接建立、数据传送、连接释放。

TCP连接的建立采用客户服务器方式。
主动发起连接建立的应用进程叫做客户(client),
被动等待连接建立的应用进程叫做服务器(server)。

TCP 建立连接的过程叫做握手。
握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手。
采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误。

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

第六章 应用层

应用层的具体内容就是规定应用进程在通信时所遵循的协议。

域名系统 DNS

DNS:udp 53号端口

域名服务器

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

顶级域名 TLD(Top Level Domain)

(1) 国家顶级域名 nTLD
.cn 表示中国,
.us 表示美国,
.uk 表示英国,等等。

(2) 通用顶级域名 gTLD
最早的顶级域名是:
.com (公司和企业)
.net (网络服务机构)
.org (非赢利性组织)
.edu (美国专用的教育机构)
.gov (美国专用的政府部门)
.mil (美国专用的军事部门)
.int (国际组织)

(3) 基础结构域名 (infrastructure domain)
这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名。

新增加了下列的通用顶级域名

.aero (航空运输企业)
.biz (公司和企业)
.cat (加泰隆人的语言和文化团体)
.coop (合作团体)
.info (各种情况)
.jobs (人力资源管理者)
.mobi (移动产品与服务的用户和提供者)
.museum (博物馆)
.name (个人)
.pro (有证书的专业人员)
.travel (旅游业)

请添加图片描述

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

域名服务器类型

  • 根域名服务器

    所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。

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

  • 顶级域名服务器

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

  • 权限域名服务器

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

  • 本地域名服务器

    本地域名服务器对域名系统非常重要。
    当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。
    每一个互联网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,
    这种域名服务器有时也称为默认域名服务器。

域名的解析过程

主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。
请添加图片描述

文件传送协议 FTP (File Transfer Protocol)

特点

文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。
FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

请添加图片描述

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

控制连接:TCP 20号端口
数据连接:TCP 21号端口

简单文件传送协议 TFTP

udp 熟知端口号69

远程终端协议 TELNET

tcp 的23号端口

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

万维网 WWW

万维网是一个大规模的、联机式的信息储藏所。

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

超文本传输协议HTTP

TCP的80端口

HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。

URL

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

HTTP 的主要特点

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

HTTP/1.1 协议使用持续连接 (persistent connection)。

HTTP 有两类报文:
请求报文——从客户向服务器发送请求报文。
响应报文——从服务器到客户的回答。
由于 HTTP 是面向正文的 (text-oriented),因此在报文中的每一个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。

状态码

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

简单网络管理协议SNMP

SNMP 的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。

SNMP 使用无连接的 UDP,因此在网络上传送 SNMP 报文的开销较小。但 UDP 不保证可靠交付。
在运行代理程序的服务器端用熟知端口 161 来接收 get 或 set 报文和发送响应报文(与熟知端口通信的客户端使用临时端口)。
运行管理程序的客户端则使用熟知端口 162 来接收来自各代理的 trap 报文。

SNMP 的操作只有两种基本的管理功能:
“读”操作,用 get 报文来检测各被管对象的状况;
“写”操作,用 set 报文来改变各被管对象的状况。
SNMP 的这些功能通过探询操作来实现。

邮件传输协议SMTP

TCP的25号端口

发邮件SMTP,读邮件POP3 和 IMAP

主要特点

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

HTTP/1.1 协议使用持续连接 (persistent connection)。

HTTP 有两类报文:
请求报文——从客户向服务器发送请求报文。
响应报文——从服务器到客户的回答。
由于 HTTP 是面向正文的 (text-oriented),因此在报文中的每一个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。

状态码

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

简单网络管理协议SNMP

SNMP 的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。

SNMP 使用无连接的 UDP,因此在网络上传送 SNMP 报文的开销较小。但 UDP 不保证可靠交付。
在运行代理程序的服务器端用熟知端口 161 来接收 get 或 set 报文和发送响应报文(与熟知端口通信的客户端使用临时端口)。
运行管理程序的客户端则使用熟知端口 162 来接收来自各代理的 trap 报文。

SNMP 的操作只有两种基本的管理功能:
“读”操作,用 get 报文来检测各被管对象的状况;
“写”操作,用 set 报文来改变各被管对象的状况。
SNMP 的这些功能通过探询操作来实现。

邮件传输协议SMTP

TCP的25号端口

发邮件SMTP,读邮件POP3 和 IMAP

笔记文件可下载:
计算机网络复习整理

;