计算机网络复习
第一章 概述
(非考点,有助于第2点的理解)网络背景:三类网络:电信网络、有线电视网络、计算机网络,计算机网络中的代表网络为
Internet
,翻译为因特网
或者互联网
,后者为事实上的标准译名。Internet
是由数量极大的各种计算机网络互联起来的。互联网的重要特点是连通性
和共享
。(考点)计算机网络(简称为网络)由若干结点和连接这些结点的链路组成。
结点可以是计算机、集线器、交换机、路由器等。网络之间可以通过路由器互联起来,这就构成了覆盖面积更大的计算机网络,这样的网络成为
互连网
,也就是网络的网络。网络连接其计算机(主机),互联网连接网络,最大的计算机网络是互联网。
internet
是互连网,一个计算机网络,或者几个计算机网络相互连接的计算机网络。协议不一定使用TCP/IP
。Internet
是互联网或因特网,最大的计算机网络,采用TCP/IP
协议。如图,A、B都是网络(计算机网络),C是互连网,网络的网络。最大的互连网是互联网。
(非考点,但对第4点理解有帮助)互联网的组成:从工作方式上看,划分为边缘部分和核心部分。
(考点)因特网边缘部分的工作方式:端系统之间的通信方式有两种,客户-服务器方式C/S方式和对等方式(P2P方式)
(考点)
C/S
方式中,客户和服务器的特征客户是服务请求方,服务器是服务提供方。他们都使用网络核心部分提供的服务。
客户程序被用户调用后运行,主动向远程服务器发起请求,客户端程序必须知道服务器程序的地址;不需要特殊的硬件和复杂的操作系统。
服务器程序是专门提供某种服务的程序,可同时处理多个远地或本地客户的请求;系统启动后即自动调用并一直不断的运行着,被动的等待并接受来自各地的客户的通信请求。服务端程序不需要知道客户程序的地址;需要强大硬件和高级的操作系统。
(非考点)核心部分中的路由器实现分组交换
(考点)计算机网络的分类
- 按照网络的作用范围进行分类
- 广域网WAN
- 城域网MAN
- 局域网LAN
- 个人局域网PAN
- 按照网络的使用者进行分类
- 公用网
- 专用网
- 接入网AN,既不是边缘部分也不是核心部分,而是把端系统连接到边缘路由器的一个网络。
- 按照网络的作用范围进行分类
(考点)计算机网络的性能
速率
1 bit/s = 1 b/s = 1 bps
1 Mbit/s = 1000 bit/s = 1000 b/s = 1000 bps
k = 1 000 b
M = 1 000 k
G = 1 000 M
T = 1 000 G
P = 1 000 T
E = 1 000 P
Z = 1 000 E
Y = 1 000 Z
带宽:某通道传送数据的能力,表示单位时间内,网络的某信道能通过的
最高数据率
。单位是bit/s
,比特每秒。时延:数据从网络的一端到另一端所需的时间。
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
发送时延:主机或路由器发送数据帧所需要的时间,也就是发送数据帧的第一个比特算起,到该帧的最后一个比特发送完所需要的时间。发生在网络适配器中,与信道长度无关。
$发送时延= \frac{数据帧长度(bit)}{发送速率(bit/s)}$
传播时延:电磁波在信道中传播一定的距离需要花费的时间。与信号发送速率无关,传送距离越远,传播时延越大。
$传播时延= \frac{信道长度(m)}{电磁波在心岛上的传播速率(m/s)}$
处理时延:主机或路由器收到分组,对分组进行处理如分析首部、提取数据部分、差错校验等
排队时延:分组进入路由器,需要进行排队等待处理。通信量大会导致队列溢出分组丢失,此时排队时延无限大。
(考点)协议:为进行网络中的数据交换而建立的规则、标准或约定成为网络协议,简称为协议。由三个要素组成:语法(数据与控制信息的结构或格式)、语义(需要发出何种控制信息,完成何种动作以及做出何种响应)、同步(时间实现顺序的详细说明)。
(考点)计算机网络体系结构:计算机网络的各层及其协议的集合就是网络的体系结构。换句话说,计算机网络的体系结构是这个计算机网络及其构件所应完成的功能的精确定义。体系结构是抽象的,其实现才是具体的,是真正运行的计算机硬件和软件。
五层协议的体系结构:应用层、运输层、网络层、数据链路层、物理层
(考点)实体:任何可发送或接受信息的硬件或软件进程。协议是控制两个对等实体(或多个实体)进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
第三章 数据链路层
- (考点)链路:网络的组成部分之一,是一个结点到相邻结点的一段物理线路(有线或无线),而中间没有其他任何得到交换结点。数据通信是,两台计算机之间的通信路径要经过许多段这样的链路,链路只是一个路径的组成部分。(物理链路)
- (考点)数据链路:需要在一条线路上传输数据时,除了必须有一条物理线路,还需要有一些必要的通信协议来控制这些数据的传输,把实现这些协议的硬件和软件加到链路上,就构成了数据链路。最常用的方法是使用网络适配器(既有硬件也有软件)来实现这些协议。一般的网络适配器包括了数据链路层和物理层这两层的功能。(逻辑链路)
第四章 网络层
计算IP,先列二进制与十进制换算表,以便于换算二进制和十进制
(考点)虚拟互联网络
把不同的网络连接起来,需要使用不同的设备:
物理层使用转发器
数据链路成使用网桥或桥接器
前两种连接,只是把网络扩大了,还是一个网络。
网络层使用路由器
网络层以上使用网关
网关太过复杂,应用较少
因此,当说把两个网络连接起来,指的是使用路由器进行网络互联和路由选择。由于参加互联的计算机网络都采用相同的网际协议IP,因此可以把互联以后的计算机网络看成一个虚拟互联网络。是一个逻辑互联网络,物理网络的异构性是客观存在的,但是利用IP协议是的这些性能各异的网络在网络层上看来好像一个统一的网络。这种网络称之为IP网,如果在这种覆盖全球的IP王的上层使用TCP协议,那么就是互联网(
Internet
)IP地址的组成
(考点)两级IP地址:网络号 + 主机号
IP地址全0表示
this
,本网络(有时候配置允许全部IP访问会配置成0.0.0.0
);只有A类中可能会有IP全0,因此A类网络中网络号要减去这个。主机号全0表示本主机连接到的单个网络地址
主机号全1表示本网络所有主机
- A类:一个字节的网络号,但是只有7位可以使用,第一位为
0
。因此A类网络的网络号一共有$2^7-2$个,减的2,一个是全零;一个是127(01111111),作为本地软件环回测试本主机进程之间的通信,不分配。每个网络的主机号有$2^{24}-2$个。 - B类:两个字节的网络号,但是只有14位可以使用,前两位为
10
。因为128.0.0.0
不分配,所以网络号有$2^{14}-1$个。每个网络的主机号有$2^{16}-2$个 - C类:三个字节的网络号,但是只有21位可以使用,前三位为
110
。因为192.0.0.0
不分配,所以C类网络的网络号一共有$2^{21}-1$个。每个网络的主机号有$2^{8}-2$
(考点)三级IP地址:从主机号借用若干位作为子网号:网络号 + 子网号 + 主机号
借用了几位主机号,这几位的子网掩码就是1。
例如:对于一个B类地址
145.13.0.0
,二进制表示为10010001.00001101.00000000.00000000
不划分子网的情况下,其子网掩码为
11111111.11111111.00000000.00000000
,即255.255.0.0
借用3位主机号划分子网,其子网掩码为
11111111.11111111.11100000.00000000
,即255.255.224.0
此时,有$2^3=8$个子网,每个子网有$2^{13}-2$个主机号,减2是因为全0表示本网络,全1表示本网络全部主机
借用8位主机号划分子网,其子网掩码为
11111111.11111111.11111111.00000000
,即255.255.255.0
此时,有$2^{8}$个子网,每个子网有$2^{8}-2$个主机号,减2是因为全0表示本网络,全1表示本网络全部主机
划分子网会让可用的IP变少,因为每个子网都少两个主机号。
(考点)由目的IP地址与子网掩码如何得到主机的网络地址
给一个IP和子网掩码,可以通过二进制逐位与运算计算出这个IP的网络地址(就是网络号)
- A类:一个字节的网络号,但是只有7位可以使用,第一位为
(考点)多归属主机:一台主机同时连接到两个网络,具有两个IP地址,其网络号不同,该主机被称为多归属主机。(路由器)
(考点)IP地址和硬件地址的区别(图与文字)
硬件地址(物理地址,MAC)是数据链路层和物理层使用的地址,IP地址是网络层和以上各层使用的地址,是逻辑地址。使用IP地址的IP数据报交给数据链路层,就封装成了MAC帧,源地址和目的地址都是MAC地址,写在MAC帧的首部。
(考点)地址解析协议ARP的功能:作用范围是局域网,解决知道IP地址,怎么得到Mac地址的问题。
每台主机存放一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表。如果高速缓存没有,那就广播请求对应IP主机的硬件地址,对应IP主机单播响应,其他IP主机不响应。
(考点)路由表包含的信息:
不划分子网,最主要的是两个信息:(目的网络地址,下一跳地址)
划分子网,包含三个信息:(目的网络地址,子网掩码,下一跳地址)
(考点)划分子网下的路由器分组转发算法(习题4-20)
(考点)距离向量算法(习题4-41,习题4-42)
对于路由器$R_{1}$,收到$R_{2}$发来的RIP报文。首先,假设全盘接受$R_{2}$,也就是说全部都从$R_{2}$走,那么距离就是$R_{2}$表的距离加1。然后再和$R_{1}$原来的表比较,如果从$R_{2}$走确实更好,那就接受。如果不好,或者没区别,那就不接受。如果$R_{2}$有的$R_{1}$没有,也接受。
做题步骤:先把发过来的表距离加1,然后画出新路由表,最后一列写理由。如无新信息,不变;新项目,添加进来;相同的下一跳,更新等。
第五章 运输层
网络层为主机之间提供逻辑通信;运输层为应用进程之间提供端到端的逻辑通信。
(考点)运输层的复用
发送方不同的应用进程可以使用同一个运输层协议传送数据(需要加上适当的首部)。
应用层的所有应用进程都可以通过运输层再传送到网络层。
(考点)运输层的分用
接收方的运输层在剥去报文的首部后,可以把这些数据正确交付目的应用进程。
运输层从网络层收到发送给各应用程序的数据后,必须分别交付指明的各应用进程。
(考点)协议(软件)端口
分用需要能够找到对应的应用进程,不能使用进程号,因为进程号会改变或消失,因此使用协议端口号。把传送的报文交到目的主机合适的目的端口,然后由TCP或UDP进行交付。
端口是应用层的协议进程与运输实体进行层间交互的一种地址。
服务端使用的端口号:熟知端口号或系统端口号(
0~1023
)、登记端口号(1024~49151
)。客户端使用的端口号:
49152~65535
,短暂端口号(考点)套接字
TCP连接的端点,就是套接字。端口号拼接到IP地址,就构成了套接字。
套接字 = socket(IP地址:端口号)
(考点)TCP的主要特点
(1)TCP是面向连接的运输层协议
(2)每一个TCP连接只能有两个端点,每一条TCP连接只能是点对点的
TCP连接 ::= {socket1, socket2} = {(IP1:端口号1), (IP2:端口号2)}
(3)TCP提供可靠交付的服务
(4)TCP提供全双工通信
(5)面向字节流
(考点)TCP报文首部中各组成部分的含义与功能
首部20个字节固定:
源端口和目的端口:各2字节,源端口号和目的端口号,实现分用。
序号:4字节,序号范围是$[0,2^{32}-1]$,到最大之后回到0。面向字节流,每个字节都按顺序编号。序号指的是本报文段所发送的数据的第一个字节的序号。如一个报文段,第一个字节序号为301,最后一个字节序号为400,因此本报文段序号为301,下一个报文段序号为401。
确认号:4字节,是期望收到对方下一个报文段的第一个数据字节的序号。
数据偏移:4位,0.5字节,指出报文段数据起始处距离TCP报文段的起始处有多远。这是因为首部有长度不确定的字段。
保留:6位,以后使用,目前为0
六个控制位:
紧急URG:高优先级数据,如CTRL+C
确认ACK:连接建立后,所有报文段都为1
推送PSH:不等待缓存满了再交付,而是到达就交付。
复位RST:释放连接,再重新建立
同步SYN:连接建立时用来同步序号,SYN=1而ACK=0时,这是一个连接请求报文段。对方同意连接,响应报文为SYN=1,ACK=1。SYN=1表示这是连接请求或者连接接受报文。
终止FIN:释放连接,FIN=1表示发送方数据发送完毕,并要求释放运输连接。
窗口:2字节,窗口值是$[0,2^{16}-1]$的整数,发送本报文段接收窗口,告知对方还能接受多少数据。
校验和:2字节,检验首部和数据。
紧急指针:2字节,紧急数据的字节数
选项:长度可变
(考点)什么是超时重传?什么是流水线传输
超时重传:发送方发送了一段分组,过了一段时间忍仍然没有收到确认,就认为刚才发送的分组丢失了,因而重传前面发送过的分组,这就叫做超时重传。(超时计时器的存在)
流水线传输:不使用低效率的停止等待协议,而是使用流水线传输。发送方连续发送多个分组,不必每发完一个分组就停下来等待对方的确认,这样信道上一直有数据在传送。
(考点)超时重传时间RTO的计算
第一次:$RTT_{S}=RTT$
$新的RTT_{S}=(1- \alpha) \times (旧的RTT_{S}) + \alpha \times(新的RTT样本)$
$\alpha $取0.125
第一次:$RTT_{D}=\frac{RTT}{2}$
$RTT_{D}=(1-\beta) \times (旧的RTT_{D})+ \beta \times \left | RTT_{S} - 新的RTT样本 \right | $
$\beta$取0.25
$RTO=RTT_{S}+4 \times RTT_{D}$
(考点)cwnd,rwnd的含义
rwnd:接受窗口,是接收方告知发送方的接受窗口大小,发送窗口不能大于此数值。
cwnd:拥塞窗口,发送方让自己的发送窗口等于拥塞窗口。
(考点)慢开始和拥塞避免的原理;快重传与快恢复的原理
慢开始:刚开始设置cwnd为1,每收到一个确认(除超时重传的外),cwnd加1。也就是说,没经过一个传播轮次,cwnd翻倍。
拥塞避免:为了防止cwnd增长过大,因为每次都翻倍,因此设置一个慢开始门限ssthresh。
当
cwnd<ssthresh
使用慢开始;当
cwnd=ssthresh
使用慢开始或者拥塞避免;当
cwnd>ssthresh
使用拥塞避免。拥塞避免是,每经过一个轮次,cwnd加1,而不是每收到一个确认就加1。
慢开始是指数级别增长,拥塞避免是线性增长
使用拥塞避免,线性增长,遇到超时后,将门限值ssthresh设置为超时的时候的cwnd的一半,并把cwnd设置为1,重新开始慢开始。
快重传:如果发送方一直收不到确认,就会认为超时。快重传要求接收方立刻确认而不是发送数据捎带确认,如果收到失序数据也要再次发送目前已经收到的重复确认。发送方只要收到3个重复确认(3-ACK),就知道该确认后面的都没有收到,应当立刻进行重传。
快恢复:收到重复确认,因此该确认后面的数据丢失,将门限值ssthresh和cwnd都调整为发生重复确认的时候的cwnd的一半,然后开始拥塞避免算法。
P246习题5-33,P247习题5-39,5-41
第六章 应用层
(考点)域名的结构
域名层次结构:顶级域、二级域、三级域等,每个域名由标号序列组成,标号之间用点隔开。
(考点)域名服务器的分类
根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器
(考点)URL的格式
协议://主机:端口/路径
(考点)FTP主进程的工作步骤
服务器进程:一个主进程,负责接受新的请求;另有若干个从属进程,负责处理单个请求。
主进程:打开熟知端口(21),等待客户进程连接请求。启动从属进程处理客户进程的请求,处理完毕后从属进程结束。回到等待状态。
(考点)HTTP报文的种类
请求报文:从客户端向服务器发送请求报文
响应报文:从服务器到客户的回答
(考点)邮件地址的格式
用户名@邮件服务器的域名
(考点)什么是活动万维网文档
每当浏览器请求一个活动文档,服务器返回一段活动文档程序副本,使该活动文档在浏览器端运行。可与用户交互,连续改变屏幕显示。