计算机网络 - 传输层
多路复用/分用(传输层)

UDP多路复用/分用:使用二元组(D-IP, D-Port)

TCP多路复用/分用:使用四元组(S-IP, S-Port, D-IP, D-Port)

Rdt2.0 FSM(有限状态机)规约
可能产生位的错误 0 弄成1、1弄成 0

发送方应对,ACK、NAK破坏的包
rdt2.1加入序列号保证消息不被重复处理

收到ACK 的时候,处理下一个消息,序号+1.
接收方应对,ACK、NAK破坏的包

rdt2.2 移除NAK
接收方当消息处理失败时,重发上次的ACK及序号

rdt3.0 分组会丢失




Go-Back-N

Selective Repeat


正确的数学约束关系
2^k ≥ 2N
即:
Ns + Nr ≤ 2^k / 2 = N_max
2N ≤ 2^k
N ≤ 2^(k-1)其中:
k:序列号的比特数2^k:序列号空间大小N:发送窗口大小(发送方和接收方窗口一般相等)Ns:发送窗口大小Nr:接收窗口大小(SR中常设置Ns = Nr = N)
| k(序号比特) | 序列号空间大小(2^k) | 最大窗口大小(N ≤) |
|---|---|---|
| 3 | 8 | 4 |
| 4 | 16 | 8 |
| 5 | 32 | 16 |
TCP结构


- 表示:Host A 发出了数据
'C',这是它第 42 号字节。 - 同时 ACK = 79:它告诉 B:“我已经收到你发来的数据到第 78 字节了,下一个我要的是第 79 字节。”
- B 发出的数据字节号是 79(这是 B 发送方向的字节号)
- ACK = 43:B 告诉 A:“我收到了你发来的第 42 字节(就是‘C’),现在我等的是第 43 个字节。”
- Host A 的下一个字节是 43(它已完成前面42)
- 它 ACK = 80,表示它已收到 B 发来的字节到第 79,下一字节是 80。
TCP创建和关闭连接
创建

关闭



所有内容来自,保留所有课程著作权限。文档仅限学习使用。
如有侵权联系 whalefallcl@icloud.com
https://www.icourse163.org/learn/HIT-154005?tid=1474180488#/learn/announce
协议
本作品代码部分采用 Apache 2.0协议 进行许可。遵循许可的前提下,你可以自由地对代码进行修改,再发布,可以将代码用作商业用途。但要求你:
- 署名:在原有代码和衍生代码中,保留原作者署名及代码来源信息。
- 保留许可证:在原有代码和衍生代码中,保留Apache 2.0协议文件。
- 署名:应在使用本文档的全部或部分内容时候,注明原作者及来源信息。
- 非商业性使用:不得用于商业出版或其他任何带有商业性质的行为。如需商业使用,请联系作者。
- 相同方式共享的条件:在本文档基础上演绎、修改的作品,应当继续以知识共享署名 4.0国际许可协议进行许可。