计算机网络重要知识点总结(期末复习笔记)
目录
- 前言
- 1. 奈式准则与香农定律(物理层)
- 奈式准则
- 香农定律
- 2. 差错检测(链路层)
- 奇偶校验
- 循环冗余校验(CRC)
- 3. 信道多路访问(链路层)
- 码分多路复用(CDMA)
- 载波侦听多路访问碰撞检测(CSMA/CD)
- 4. 物理地址(MAC)与地址解析(ARP)
- 5. 信道利用率(链路层)
- 6. 路由选择算法(网络层)
- 距离向量路由选择算法
- 开放最短路径优先(OSPF)
- 7. IP 数据报(网络层)
- 首部结构
- 数据分片
- 8. IP 地址(网络层)
- 表示
- 网络地址转换(NAT)
- 路由表与路由聚合
- 9. IPV6(网络层)
- 10. 滑动窗口(链路,传输层)
- 停止-等待
- 后退 N 步
- 选择重传
- 窗口大小规约
- 10. TCP 拥塞控制(传输层)
- 11. TCP 时序,连接管理(传输层)
- 数据交付时序
- 三次握手
- 四次挥手
- 12. DNS 域名解析(应用层)
- 13. 持续 HTTP 与并行 TCP
- 非持续 HTTP
- 持续 HTTP
- 例题(持续 HTTP)
- 并行 TCP
- 例题(并行 TCP)
前言
寄算机网络:
换!
1. 奈式准则与香农定律(物理层)
奈式准则
奈式准则告诉我们在 理想无噪声 的情况下,如果信号的频率是 W,码元的总数为 V,那么最大的信号传输速率为:
2Wlog2V(单位为b/s)2W\log_2^V \ {} \ (单位为 b /s) 2Wlog2V (单位为b/s)
解读如下:信息以模拟信号(正弦波)的形式在物理信道上面传输,假设信号的频率是 W Hz,奈奎斯特告诉我们,需要用 严格大于 2W 的频率对信号进行采样才能保证无损,原因如下:
再来看公式,根据上面的分析:
因为采样的频率是 2W,那么我们每秒可以获得 2W 个离散的码元的值
如果有 V 种码元,最少需要用 log2V\log_2^Vlog2V 个 bit 来表示一种码元,故每一个码元能传输的 bit 数目就是 log2V\log_2^Vlog2V
于是最终的信道速率等于二者乘积(每秒传输的码元数目 x 每个码元携带的比特数目)
这里假设有 8 种码元,比如 8 个离散的电平值,比如 0 伏特,1 伏特,一直到 7 伏特,就可以用二进制来表示这些离散的电平值:
电平值(伏特) | 二进制表示 |
---|---|
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
于是每个码元携带的 bit 数就为: log2V\log_2^Vlog2V
注:
奈氏准则只规定了最大的数据传输速率
实际传输速率不能超过理论值
香农定律
香农定律在 有噪声 的信道上规定了信号的最大传输速率为:
Wlog2(1+SN)W\log_2^{(1+\frac{S}{N})} Wlog2(1+NS)
其中参数 SN\frac{S}{N}NS 为信噪比,如果没有单位,一般题目直接给出
注:
如果给出的信噪比是以 db(分贝)为单位,那么需要求解 SN\frac{S}{N}NS,不能直接使用 :
信噪比(db)=10log10SN信噪比(db) = 10 \log_{10}^{\frac{S}{N}} 信噪比(db)=10log10NS
所以计算香农定律中的最大信号传输速率,需要分两步:
- 如果信噪比以 db 的单位给出,需要从信噪比中解出 SN\frac{S}{N}NS
- 将 SN\frac{S}{N}NS 带入公式 Wlog2(1+SN)W\log_2^{(1+\frac{S}{N})}Wlog2(1+NS) 计算最大传输速率
注:
在有噪声的信道上必须同时考虑奈氏准则与香浓定律,取二者的最小值作为信道传输速率的最大值:
2. 差错检测(链路层)
奇偶校验
数据一共 n bit,有效数据 n-1 bit,使用 1 bit 作为校验位,使得总共 n bit 中:
- 奇校验:1 的个数为奇数
- 偶校验:1 的个数为偶数
奇偶校验比较简单,但有可能发生了偶数 bit 的错误却检测不出来,检错率为 50%
循环冗余校验(CRC)
循环冗余校验较为复杂,但是检错能力更强。
首先约定一个校验码和一个阶数,假设最高阶数 r=3r=3r=3,校验码为 100110011001
注:
阶数为 r,校验码 bit 数目为 r+1
此外,校验码是发送方接收方共同知晓的
然后将 rrr 比特的全 0 数据拼接到源数据后面,假设源数据为 101001101001101001,这里取 r=3r=3r=3 那么最终拼接后的数据为:
101001000101001 \ 000 101001 000
然后利用校验码,对拼接后的数据进行模二除法(异或),得到余数:
最终的余数为 001001001,那么发送时,就把他拼接在源数据 101001101001101001 的后面,最终待发送的数据如下:
101001001101001 \ 001 101001 001
接收端利用同样的校验码,对 101001001101001 \ 001101001 001 进行模二除法(异或),如果得到的数据是 0,那么校验通过,否则校验失败
3. 信道多路访问(链路层)
将多路信号在单一信道上面传输。
码分多路复用(CDMA)
为每个站点分配一个码片序列号,形如 000110110001101100011011,根据码片序列,将 0 写成 -1 就可以获得编码向量:
A=(−1,−1,−1,+1,+1,−1,+1,+1)A = (-1,-1,-1,+1,+1,-1,+1,+1) A=(−1,−1,−1,+1,+1,−1,+1,+1)
如果码片序列 取反码 ,即 111001001110010011100100 然后再将 0 替换为 -1 就可以得到反编码向量:
A‾=(+1,+1,+1,−1,−1,+1,−1,−1)\overline{A} = (+1,+1,+1,-1,-1,+1,-1,-1) A=(+1,+1,+1,−1,−1,+1,−1,−1)
其中向量 AAA 和 A‾\overline{A}A 有 3 个特征:
- 不同设备之间的向量相互正交,即 A⋅B=0A \cdot B=0A⋅B=0
- 相同设备之间的向量,规格化内积为 1,即 1m⋅A⋅A=1\frac{1}{m}\cdot A\cdot A=1m1⋅A⋅A=1
- 相同设备之间的向量和反向量,规格化内积为 -1,即 1m⋅A⋅A‾=−1\frac{1}{m}\cdot A\cdot \overline{A}=-1m1⋅A⋅A=−1
注:
其中 m 是向量的维数
如果设备 A 要发送比特数据 1,那就向信道提交向量 AAA,如果要发送比特数据 0,那就提交向量 A‾\overline{A}A,对于 B 设备同理
假设现在 A 设备发送 1 比特,提交了 AAA,与此同时 B 设备发送 0 比特,提交了 B‾\overline{B}B,那么信道上面的数据为他们提交的数据的叠加:
S=A+B‾S = A + \overline{B} S=A+B
接收方利用每个站点的向量,和信道上的数据 SSS 做规格化内积得到数据。 如果要获取 A 站点的数据,那么有:
DataA=A⋅S=1m⋅A⋅(A+B‾)=1+0=1Data_A = A \cdot S = \frac{1}{m}\cdot A \cdot (A + \overline{B}) = 1 + 0 = 1 DataA=A⋅S=m1⋅A⋅(A+B)=1+0=1
结果是 1,说明 A 站点发送的数据是比特 1,如果是负一,说明发送的是比特 0,对于 B 站点也是一样:
DataB=B⋅S=1m⋅B⋅(A+B‾)=0+−1=−1Data_B = B \cdot S = \frac{1}{m}\cdot B \cdot (A + \overline{B}) = 0 + -1 = -1 DataB=B⋅S=m1⋅B⋅(A+B)=0+−1=−1
得到 -1 说明 B 站点发送的是 0 比特
注:
此处牢记向量的两条性质:
- 和自己人内积,结果是有效数据
- 和别的站点的向量内积,结果是 0
例子:
载波侦听多路访问碰撞检测(CSMA/CD)
在发送之前检测信道是否忙,如果不忙就发送信息,相比于传统的 CSMA 算法,多个碰撞检测机制,即发送的时候一旦检测到碰撞,就停止发射
因为是边听边发,要求发送时间足够长,否则还没来得及检测碰撞,就发送结束了。所以 CSMA/CD 将 过短的帧视为碰撞的无效帧 丢弃
注:
以太网规定最短帧长为 64 字节
那么发送时间最短能到多少呢?假设最极限的情况,A 给 B 发数据,A 的数据到 B 的门口了,B 也开始发数据,此时 A 发送的帧被撞碎,返回 A,经过了一来一回,所以最迟 2τ2\tau2τ 的时间可以检测到碰撞:
其中 τ\tauτ 为单向传播时延。
发送数据后最迟经过 2τ2\tau2τ 的时间就可以知道是否发送碰撞,如果 2τ2\tau2τ 时间内没有碰撞,之后都不会有碰撞了(CSMA/CD 的机制)
假设最短帧长为 LLL,数据传输速率为 V传输V_{传输}V传输,站点距离为 SSS,数据传播速率为 V传播V_{传播}V传播,那么有:
LV传输>2SV传播\frac{L}{V_{传输}}>\frac{2S}{V_{传播}} V传输L>V传播2S
如果在发送时不幸发生碰撞,那么应该等待一段随机的时间再发送。
CSMA/CD 中,碰撞发生时,由算法决定等待的时间长短。首先确定基本退避时间为往返时延 2τ2\tau2τ
然后确定这是第几次发生碰撞(或者说重传次数),设这个次数为 k,按照常理,发生碰撞的次数越多,越应该等待更长的时间再发送。此外, k 不宜过大否则等待时间太长,于是 k 取值为:
k=min(重传次数,10)k=\min(重传次数,10) k=min(重传次数,10)
最后从集合 [0,1,2,3,...,2k−1][0,1, 2, 3,...,2^k-1][0,1,2,3,...,2k−1] 中选取一个数字,乘以基本退避时间 2τ2\tau2τ,就是最终发生碰撞的等待时间。这个策略叫做 二进制指数退避算法
4. 物理地址(MAC)与地址解析(ARP)
物理地址(MAC 地址)是硬件网卡出厂自带的地址,6 字节,不可更改。所以交换机转发一个以太网帧最短的转发时延就是:
t转发=6字节V传输速率t_{转发}=\frac{6 字节}{V_{传输速率}} t转发=V传输速率6字节
在链路层发送数据帧的时候要包含源目物理地址,如果发送之前不清楚物理地址,那么就需要 ARP 协议查询。
通过 广播 询问目的 IP 地址对应的 MAC 地址,发现目的主机之后,目的主机 单播 一条回复
5. 信道利用率(链路层)
约定从第一个帧发送开始,到收到第一个帧的回复,这段时间叫做一个周期。而信道利用率是指一个周期中,发送帧的时间的占比。信道利用率越高,说明交换机在越勤奋的干活。
如果仅考虑传输时延和传播时延,那么一个周期的时间分为两部分:传输和传播。假设传输一个帧需要 T 时间,而在一个周期内传送了 n 个帧,那么信道利用率为:
利用率=nTRTT+T利用率=\frac{nT}{RTT+T} 利用率=RTT+TnT
以 n=3 为例:
例题:
解:
6. 路由选择算法(网络层)
距离向量路由选择算法
其实就是一个简单的 dp,假设 dis(A,B)dis(A, B)dis(A,B) 表示 A 到 B 节点的距离,有如下的拓扑:
那么:
dis(A,B)=min(dis(A,B),dis(A,C)+dis(C,B))dis(A, B) = \min(dis(A, B), \ dis(A, C) + dis(C, B)) dis(A,B)=min(dis(A,B), dis(A,C)+dis(C,B))
该算法是分布式的,每个节点一有更新,就广播自己的 所有路由信息 (整个路由表)给 邻居 节点
注:
RIP 算法是该算法的一个实现
开放最短路径优先(OSPF)
直接发送整个路由表信息,在大规模网络时收敛慢,于是 OSPF 只发送 邻居节点 的链路状态,但是这些报文通过泛洪(类似 BFS 一层一层)的方式传播到 所有 节点
因为每次只需要传递邻居的信息,该信息的规模和网络规模无关,于是 OSPF 能够在较大的网络也能收敛
7. IP 数据报(网络层)
首部结构
首部 定长部分 固定 20 字节,其中比较重要的部分有:
- 首部长度:变长首部的长度,以 4 字节为单位,最多可长到 60 字节
- 总长度:首部加上数据部分的总长度,以 1 字节为单位
- 片偏移:IP 数据报分片偏移,以 8 字节为单位
数据分片
因为链路层最大传输单元(MTU)为 1500 字节,而 IP 数据报的长度不能超过 1500,于是需要对 IP 数据报的 数据部分 进行分片
下面是一个分片的例子,假设有长度为 4000 字节的 IP 数据报需要发送,首部按照标准情况为 20 字节,那么需要对 3980 字节的数据进行分片。
因为 MTU 是 1500,那么每个 IP 包包头为 20,故最大数据为 1480 字节,分片情况如下:
注:
这里 0~1479 其实包含了第一段的 1480 个字节,因为是从 0 开始数数的
这一点和数组下标有点类似,要注意
8. IP 地址(网络层)
表示
四字节,采用点分十进制表示。一个 IP 地址由两部分组成,第一部分是网络号,第二部分是主机号。
其中主机号不能为全 0 或者全 1,全 0 的主机号表示该网段本身,全 1 的主机号表示广播地址
对于标准的 IP 地址有 4 种类别,他们的网络号和主机号都是固定的,分别为 ABCD 类地址。其中 D 类地址用作多播,此外 127.0.0.1 用作本机环回口:
A 类地址的网络号有 8 bit,其中全 0 的不能用,那么一共有 1~126 一共 126 个网络,而主机号有 24 bit,可以表示 224−22^{24}-2224−2 个主机
B 类地址网络号前两位固定为 10,可变的有 14 位,有 214−12^{14}-1214−1 个网络可用,减一是因为 128.0 不可指派
C 类地址前三位固定位 110,可变的位有 21 位,有 221−12^{21}-1221−1 个网络可用,减一是因为 192.0.0 不可指派
网络地址转换(NAT)
将专用网络地址转换为公共地址,让多个主机共享同一出口 IP 地址,从而增加主机的数目,是 IP 地址用完了的一种妥协方式。
对于每类地址,都有一部分网段被用来保留做私有地址,粗字体为网络号:
- A 类地址:10.0.0.0 ~ 10.255.255.255,分出一个网段
- B 类地址:172.16.0.0 ~ 172.31.255.255,分出 16 个网段
- C 类地址:192.168.0.0 ~ 192.168.255.255,分出 256 个网段
边界路由器通过 端口号 区分私有网络内部的设备,代价是网络层要动上层传输层的东西(端口号),违反了协议的约定
注:
私有地址不经转换直接出现在公网上,那么直接丢弃数据包
路由表与路由聚合
路由器维护路由表,保存路由信息。包括目的地址和下一跳地址。在收到新分组的时候先检查目的 IP 地址,如果在路由表中有对应项目,那么转发之
如果有多条匹配的项目,选最长的匹配,因为网络号越长,越精确。例子:深圳市南山区,和深圳市南山区深圳大学沧海校区致腾楼
例子:
按照掩码取目的地址 132.19.237.5 的 网络号 然后将取出来的网络号和路由表中的项目进行对比。R3 的网络号不同不匹配,而 R1 和 R2 都是能够匹配上的,但是此时根据 最长匹配原则 应该选 R2,因为 R2 的网络号更长更精确
因为路由表允许存在多条路由,假设网段 A 分了三个子网 B,C,D,而通往 B,C,D 的三个路由条目都从同一出口转发,那么可以将这三个路由条目合并。
例子:有三条路由:
- 去深圳大学沧海校区致腾楼,走南海大道
- 去深圳大学沧海校区饭堂,走南海大道
- 去深圳大学沧海校区理工楼,走南海大道
路由合并后:
- 去深圳大学沧海校区,走南海大道
题目:
选取最长的公共网络号,作为聚合后的网段号即可:
所以聚合后的网络号占 8 + 8 + 5 = 21 位,即 172.18.10000000.0,即 172.18.128.0/21
9. IPV6(网络层)
注意压缩规则即可。压缩只能用一次,并且保证最大压缩:
10. 滑动窗口(链路,传输层)
注:
链路层的滑动窗口和传输层规则一致
通过确认和超时重传机制保证数据的可靠性。维护两个窗口值:
- 发送窗口:还能发送多少个分组
- 接收窗口:还能接收多少个分组
如果接收到一个对窗口 最左侧 的分组的确认,那么发送窗口向右滑动一位:
发送窗口为 0 表示所有分组均已发送,但是未被确认,此时不能再发送新分组。如果已经发送的分组迟迟没被确认,定时器超时只会会进行重传
停止-等待
在收到确认之前,不允许发送新分组,即 串行 的发送。
发送窗口为 1,接收窗口为 1
后退 N 步
允许一次发送很多分组,但是接收方 按顺序接收 数据。一旦丢包,要重新从 最早丢失 的分组开始,重传它和它之后的 N 个分组
发送窗口为 N,接收窗口为 1
接收窗口为 1 保证了按序收取分组,但是一旦失序,代价很大
选择重传
发送窗口为 N,接收窗口为 N,不按照顺序接收分组,如果收到失序分组,先缓存起来,直到组成有序的分组序列再提交给上层。并且发送端只需要选择性地重传那些没有被确认的分组,所以叫选择重传
同时采用 累计确认 机制,收到 ack N,表示所有序号小于等于 N 的帧都已经被确认
接收窗口为 N,发送窗口为 N
更加详细的例子:
窗口大小规约
公式如下:
发送窗口长度+接收窗口长度≤序号空间的分组数目发送窗口长度+接收窗口长度\le 序号空间的分组数目 发送窗口长度+接收窗口长度≤序号空间的分组数目
假设用 n 比特表示序号空间,那么可以表示 2n2^n2n 个分组,于是有:
发送窗口长度+接收窗口长度≤2n发送窗口长度+接收窗口长度\le 2^n 发送窗口长度+接收窗口长度≤2n
否则无法分辨重传的分组和新的分组
例:
发送窗口 = 3,接收窗口 = 2,序号范围 0 ~ 3,一共 4 个分组
发送方传输 0,1,2 分组,但是分组 2 的 ack 丢失了,于是窗口从 [0, 1, 2] 滑动到 [2, 3, 0],注意序号的循环使用
接收端成功接收到 0,1,2 分组,接收窗口滑动到 [3, 0]
此时发送方发送 0 号分组(新分组),接收方无法判断这个 0 是因为 ack 0 丢失导致的 重传 分组(因为接收方不保证 ack 一定传到到)还是因为发送窗口滑动而发送的 新的 分组
如图:
10. TCP 拥塞控制(传输层)
流量控制是接收方对于发送方的,而拥塞控制是发送方自发地针对整个网络,调整自己的发送速率。
规定拥塞窗口为当前周期(传输回合,或者说 RTT)内,能发送的字节数目,如果和流量控制一起,那么:
发送窗口=min(接收窗口,拥塞窗口)发送窗口=\min(接收窗口,拥塞窗口) 发送窗口=min(接收窗口,拥塞窗口)
首先确定基本发送数据的长度 MSS,初始拥塞窗口为 1 MSS,每次收到 ack,拥塞窗口翻倍,如果拥塞窗口超过阈值大小,那么此时应该线性增加,每次增加 1 MSS,而不是翻倍,这个过程叫做慢启动:
如果此时出现三个冗余 ACK 说明网络轻度拥塞, 此时拥塞窗口变为原拥塞窗口的一半,阈值也变为原拥塞窗口的一半 。此时直接开始线性增长:
如果超时,说明网络严重拥塞,此时应该将 拥塞窗口调整为 1,重新开始慢启动,同时阈值变为原拥塞窗口的一半 ,如图:
总结:
- 不管发生严重还是轻度的丢包事件,阈值都变为原拥塞窗口的一半
- 收到三个冗余 ack 轻度丢包,此时拥塞窗口减半
- 超时,说明严重丢包,此时拥塞窗口变为 1 重新开始慢启动
例题1:
答案:7
例题2(流量+拥塞):
答案:5 个 RTT,25 ms,注意 发送窗口=min(接收窗口,拥塞窗口)发送窗口=\min(接收窗口,拥塞窗口)发送窗口=min(接收窗口,拥塞窗口)
画表,把每个 RTT 前后拥塞窗口的变换写出来就不容易错
11. TCP 时序,连接管理(传输层)
数据交付时序
在数据传输时,关注两个字段:
- seq:本报文端所发送的第一个字节的序号
- ack:期望收到对方下一个报文段的第一个数据字节的序号
当前报文的 seq 号,永远要等于上一个报文的 ack 号
牢记这一点就能做题。
注:
在握手和挥手的时候,上一个报文没有给出 ack,那么此时 seq 就任取
解答:
三次握手
TCP 建立连接时,需要三次握手机制:
- 首先客户端发送 SYN 标志位为 1 的请求连接报文,此时客户端发送的 seq 为 x
- 服务端发送 SYN,ACK 标志位为 1 的应答,此时服务端发送的 seq 为 y,ack 为 x+1
- 客户端发送 ACK 标志位为 1 的应答,此时客户端发送的 seq 为 x+1,ack 为 y+1,同时这个 ACK 要捎带数据
注:
对于 2 中
注意客户端的 SYN 报文不带数据,但是消耗一个序号
于是服务端返回 ack 就期待的下一个序号是 x+1
再注:
对于 3 中
首先回应上一个报文的期待(ack=x+1),本次的 seq 就为 x+1
如果 ACK 带数据那么就消耗一个序号,所以 seq 是 y+1,一般都是捎带确认,第三次就直接来数据了
捎带确认机制例题:
答:4000
因为是捎带确认,第一个数据报的 seq 就是 1001,而最后一个 FIN 的 seq 是 5001,说明在 FIN 之前,对最后一个数据的应答报文中,ack 是 5001,故说明 1001 ~ 5000 的数据都已经收齐,即 4000 字节的数据:
四次挥手
TCP 是全双工通信,所以要分两步断开连接:
- 断开【客户端 --> 服务端】的通信
- 断开【服务端 --> 客户端】的通信
所以需要四次挥手:
- 客户端发送 FIN 报文,seq=u
- 服务端回复 ACK 报文,seq=v,ack=u+1,表示断开【客户端 --> 服务端】
- 客户端不能再有任何包发送给服务端了,但服务端可能还有数据发送,发送结束的时候,服务端发送 FIN ACK 报文,seq=w,ack=u+1
- 客户端收到 FIN ACK 报文,回复 ACK 报文,seq=u+1,ack=w+1,表示断开【服务端 --> 客户端】,然后等待 2MSL 最长报文寿命,然后关闭
12. DNS 域名解析(应用层)
给 IP 地址一个好记的标志。无需记忆 IP 地址,只需要根据域名查询对应主机的 IP 地址,DNS 服务提供了这种功能
查询分两种,迭代和递归:
13. 持续 HTTP 与并行 TCP
非持续 HTTP
在使用 http 请求 web 文件对象的时候,首先要建立 TCP 连接,因为 HTTP 基于 TCP 连接:
第一个 RTT 是建立 TCP 连接必须的,而第二个 RTT 是 http 请求和 http 应答的花费
注:
这里第三次握手直接附带了 http 请求
所以只用一个 RTT 就够了
此外, TCP 的连接用完就丢了。所以每传输一个新文件,都要重新建立 TCP 连接,开销大。非持续 HTTP 对于 n 个文件就需要的总时间为:
n∗(2∗RTT+T传输)n * (2 * RTT + T_{传输}) n∗(2∗RTT+T传输)
持续 HTTP
建立 TCP 连接之后保持,后续的文件传送都基于第一次建立的 TCP 连接:
传送 n 个文件需要的时间是:
RTT+n∗(RTT+T传输)RTT + n * (RTT+T_{传输}) RTT+n∗(RTT+T传输)
例题(持续 HTTP)
在如下条件下,请计算分别采用非持续连接方式和持续连接方式请求一个Web页面所需要的时间。题目条件如下:
- 测试的客户端与服务器之间往返时延RTT平均值为150 ms,一个Gif对象的平均发送时延为35 ms
- 一个Web页面中包含10个Gif图片,Web页面的基本HTML文件、HTTP请求报文、TCP握手报文大小忽略不计
- TCP三次握手的第三步中捎带一个HTTP请求
- 使用非流水线方式
注:
这里必须先拿到网页的 HTML 文件,才能请求后续的 gif 图片
使用非持续 HTTP 连接:
t=RTT+RTT+10∗(2∗RTT+T传输)=300+3350=3650t=RTT+RTT+10*(2*RTT+T_{传输})=300+3350=3650 t=RTT+RTT+10∗(2∗RTT+T传输)=300+3350=3650
第一个 RTT 是建立 TCP 连接,第二个 RTT 是请求 HTML 文档,之后的 10 个 gif 传输,对于每个 gif 都要先建立 TCP 连接再请求
使用持续 HTTP 连接:
t=RTT+RTT+10∗(RTT+T传输)=300+1850=2150t = RTT+RTT+10*(RTT+T_{传输}) = 300 + 1850 = 2150 t=RTT+RTT+10∗(RTT+T传输)=300+1850=2150
并行 TCP
如果建立多个 TCP 连接,同时传输文件,效率会更加高。和持续 、 非持续 HTTP 排列组合,一共有 4 种情况,做题要小心
以持续 HTTP 和 5 个并行的 TCP 连接为例,传输 8 个文件:
假设 k 个 TCP 连接并行所以需要的轮次数目 r 为:
r=n/k+1=8/5+1=2r = n / k +1=8/5+1=2 r=n/k+1=8/5+1=2
所以总时间:
t=RTT+r∗(RTT+T传输)t=RTT+r*(RTT+T_{传输}) t=RTT+r∗(RTT+T传输)
例题(并行 TCP)
注意因为先要请求到 HTML 页面文件,才能请求别的文件,所以比起上文的公式,这里要一个额外的 RTT
计算机网络重要知识点总结(期末复习笔记)相关推荐
- 电子科技大学操作系统期末复习笔记(二):进程与并发控制
目录 前言 进程管理 进程基本知识 程序的顺序执行 前趋图 程序的并发执行 并发程序 进程的定义和特征 进程的特征和状态 操作系统内核 定义 功能 原语 原子操作的实现 操作系统控制结构 进程控制块P ...
- 【期末复习笔记】知识产权法——著作权、专利法、商标权
[期末复习笔记]知识产权法 著作权 著作权法不予以保护的客体 著作权的归属 著作权的内容 著作人身权 著作财产权 著作权的取得方式:自动取得 著作权的保护期限: 邻接权 表演者权 表演者义务 表演者权 ...
- 【Python数据分析与可视化】期末复习笔记整理(不挂科)
[Python数据分析与可视化]期末复习笔记 1. 数据分析与可视化概述 对比 概念 常用工具 Python常用类库 Jupyter notebook中的常用快捷方式 2. Python编程基础 co ...
- RFID原理及应用期末复习笔记 | 1.RFID概述【完结✿✿ヽ(°▽°)ノ✿】
系列索引:RFID原理及应用期末复习笔记 | 快速索引 RFID是博主大三下的一门专业课,因为疫情缩短学期进程提前结课,所以期末考试也来的更早,这里就简单记录一下自己复习时的一些笔记,也给后来的学弟学 ...
- 南邮部分期末复习笔记汇总@tou
README 知识库链接:tou/njupt-cst-notes 这个知识库存放了部分我在 NJUPT-CST 专业就读期间的期末复习笔记,这一部分公开的语雀笔记是我众多笔记中总结的还算 OK 的,仅 ...
- 奇异矩阵能lu分解条件_矩阵分析-期末复习笔记(上)
(复习笔记,可能有点乱.夹杂着乱七八糟的英文,因为要用英文考试.) (如果有误请一定要和我说!祝我final考个好成绩-) 目录: 特征值,特征向量,相似 (Eigenvalues, eigenvec ...
- 数理统计期末复习笔记(一)
数理统计期末复习笔记 主要内容: 数据压缩,点估计,假设检验,区间检验 Reference: Statistical Inference, Casella&Berger Chapter 6 D ...
- 【期末复习】北京邮电大学《数字内容安全》课程期末复习笔记(5. 社交媒体安全)
[相关链接] [期末复习]北京邮电大学<数字内容安全>课程期末复习笔记(1. 绪论) [期末复习]北京邮电大学<数字内容安全>课程期末复习笔记(2. 信息隐藏与数字水印) [期 ...
- 抽样调查理论与方法期末复习笔记
第3章 简单随机抽样 均方误差=方差+偏倚的平方 3.5某林场共有1000公顷林地,随机布设了50块面积为0.06公顷的方形样地,测得这50块样本地的平均木材蓄积量为9m3,标准差为1.63m3. ...
- 2021/06/29计算机视觉期末复习笔记整理
计算机视觉期末复习笔记整理 引言 我的复习参考 期末考试考题回忆 PPT对应中文笔记整理 参考的几篇博客的笔记 引言 刚结束可能是我学生时代最后一场考试了,orz热乎着,记录一下. 这门课是学校新开的 ...
最新文章
- sql 纵向求和_sql列统计求和
- 摩拜联合微信全国免押金骑行 这样的CP组合可以多来一点
- C#操作Excel数据增删改查(转)
- python中easygui有几种_一、Python 模块EasyGui详细介绍
- Linux Polkit 中的pkexec 组件存在的本地权限提升漏洞(CVE-2021-4034)修复方法及centos6和centos7的安装包
- 随想录(canvas学习)
- l开头的英文车标是什么车_行业冷知识 | 为什么汽车品牌都喜欢用动物做车标?...
- myeclipse6.5集成freemaker
- 自学python考哪些证书-学Python能挣多少钱?哪些人适合学Python?
- js 中 的时间类和 setTimeout 和setInterval
- BBS论坛管理系统软件建模实验
- 2021苹果最新供应链名单公布
- (转)原子时代来临-Intel革命性Atom透析
- 听听那冷雨 -- 余光中
- NNDL 实验五 前馈神经网络(2)自动梯度计算 优化问题
- 如何成为一个优秀的数据分析师?
- 世界上最顶尖的技术都在哪些国家?
- 七年级计算机教案模板范文,七年级信息技术论文大纲模板 七年级信息技术论文提纲怎样写...
- Python : 7-6 三天打鱼两天晒网 (15 分)
- ArcGIS 字段值替换
热门文章
- Python+uiautomator2手机UI自动化测试实战
- 用Java实现简单画板
- 手把手教你自制U盘重装win10系统专业版(纯净版)+激活【图文教程】
- 21、关于破解点触的验证码
- Cause: java.sql.SQLExceptioValue ‘0000-00-00 00:00:00‘ can not be represented as java.sql.Timestamp
- Houdini图文笔记:VEX知识点小结(一)
- AI+智能服务机器人应用基础【学习报告】
- Sketchup 程序自动化(二)Ruby 基础、单位转换
- 醉眼看花花也醉,冷眼观世世亦冷
- MyBatis SQL里的大于号、小于号