MindMap Gallery 第五章-传输层
计算机网络部分详细思维导图,传输层提供端到端的通信(进程与进程),本图适合计算机相关专业期末复习,考研学习等。
Edited at 2023-10-11 11:47:46Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
第五章-传输层
1. 传输层提供的服务
I. 传输层的功能
1. 提供端到端的通信(进程与进程)
2. 复用和分用
i. 复用
发送方不同的应用进程都可以使用同一传输层协议传输数据
ii. 分用
接收方在剥去报文首部后能够把这些数据正确交付给目的应用进程
3. 为收到的报文进行差错检测(首部和数据部分)
网络层只检查首部
4. 提供两种不同的传输协议
TCP
面向连接
UDP
面向非连接
II. 传输层的寻址与端口
1. 端口与端口号
传输层服务访问点(TSAP)
标识进程
16位
只具有本地意义
属于软件端口
(硬件端口是不同硬件设备进行交互的接口)
软件端口是应用进程与传输层实体进行层间交互的地址
类别
服务端端口号
熟知端口
0~1023
由IANA(互联网地址指派机构)指派
所有用户都知道
常用
FTP
21
TELNET
23
SMTP
25
DNS
53
TFTP
69
HTTP
80
SNMP
161
登记端口
1024~49151
提供给没有熟知端口的应用进程使用,但必须在IANA登记
客户端端口号
49152~65535
仅在客户进程运行时才动态地选择
结束后可分配给其他进程使用
2. 套接字
用来标识哪一个主机的哪一个进程在参与通信
结构
a. 主机IP
b. 端口号
III. 无连接和面向连接服务
TCP
进行流量控制和拥塞控制
不提供广播和组播服务
适用场合
可靠性高
FTP
HTTP
TNLNET
UDP
还提供多路复用和数据错误检查
适用场合
实时性要求高的场合
TFTP
DNS
SNMP
RTP(实时传输协议)
网络层只能提供一种服务(数据报或虚电路)
2. UDP
1. 特点
“尽最大努力交互”
1. 不保证报文按序达到
2. 不保证报文准确到达
3. 不保证不重复交付
4. 不故意丢弃数据报
(通过首部校验和)检测出IP数据报首部出现差错时直接丢弃
当接受方发现目的端口号不正确时直接丢弃报文,并由ICMP发送“端口不可达”报文给源方
面向报文
UDP数据报基本单位
2. 优点
1. 无需建立连接
没有建立连接的时延
2. 无连接状态
可以支持更多的活动客户机
3. 分组首部开销小
8B的首部开销
4. 应用层可以更好地控制要发送的数据和发送时间
3. 首部格式
源端口(16位)
不需要全置0
目的端口(16位)
长度(16位)
包括首部和数据
最小值是8B(仅有首部)
校验和(16位)
可选字段
有错就丢弃
可全置0
首部和数据部分全校验
4. UDP校验
校验前,在UDP数据报前添加12B的伪首部;校验和则按这个临时的UDP数据报计算;但不发送
特点
既检查源端口,目的端口和数据部分,又检查IP数据报的源IP和目的IP
方法
二进制反码运算求和再取反
(与IP一致)
接收方接收无错时结果全为1
注意事项
1. 若UDP数据部分长度不是偶数字节,则需填入一个全0字节。但此字节不发送
2. 校验出错:既可以丢弃,也可以交付给上层,但须附上错误报告
3. TCP协议
I. 特点
面向连接
全双工
只能是一对一的
保证数据无差错,不丢失,不重复且有序到达
面向字节流
II. TCP报文段
固定首部
20B
字段
1. 源端口和目的端口(16位)
复用分用
2. 序号字段(4B)
为每一个字节的数据编上序号
序号字段的值指的是本报文段所发送数据的第一个字节
3. 确认号字段(4B)
期望对方发送的下一个报文段的第一个字节
4. 数据偏移(首部长度,4位)
指TCP数据开始部分距离TCP报文段起始部分的长度
以4B 为单位
5. 保留字段(6位)
6. 紧急位(2B)
URG=1:表示有紧急数据,应尽快发送(高优先级数据)
7. 确认位
TCP规定,连接建立后所有传送的报文的ACK=1
8. 推送位
当接收到PSH=1的报文时,不必等整个缓存都填满,立即交付给进程
9. 复位位
RST=1时表示TCP连接出现严重差错
10. 同步位
SYN=1表示这是一个连接请求(SYN=1;ACK=0)或连接接收报文
11. 终止位
释放连接
12. 窗口字段(2B)
指现在允许对方发送的数据量
13. 校验和
包括首部和数据两部分
计算时同UDP一样,需要加上12B的伪首部
14. 紧急指针字段(2B)
本报文中紧急数据共有多少字节(放最前面)
15. 选项字段
最大报文长度(MSS):TCP数据部分的最大长度
16. 填充字段
使TCP首部长度是4B的整数倍
III. TCP连接管理
I. TCP的建立(要要吗)
i. SYN=1,seq=x
消耗序号
C->S
ii. SYN=1,ACK=1,seq=y,ack=x 1
消耗序号
S->C
iii. ACK=1,seq=x 1,ack=y 1
(携带数据就消耗序号)
C->S
II. TCP的连接释放
i. FIN=1,seq=u
消耗一个序列号
C->S
ii. ACK=1,seq=v,ack=u 1
不携带数据,不消耗序列号
S->C
iii. FIN=1,ACK=1,seq=w,ack=u 1
消耗一个序列号
S->C
iv. ACK=1,seq=u 1,ack=w 1
C->S
v. 此时TCP连接仍未释放,必须经过时间等待计时器2MSL后,客户机才进入连接关闭状态。连接释放的最短时间为1.5RTT
III. 注意事项
ACK,SYN,FIN全都等于1
IV. TCP可靠传输
1. 序号
保证数据有序交付给应用层
序号建立在传送的字节之上,而不是报文之上
每个字节都有一个编号;序号字段的值则是本报文段所发送的数据的第一个字节的序号
2. 确认
期望收到对方的下一个报文段的第一个字节序号
采用累积确认机制
只确认数据流中至第一个丢失字节为止的序号
3. 重传
i. 超时
每发一个报文,就为其设置一计数器。时间到了未收到确认就重传
RTT
报文段发出直至收到确认的时间
基于超时计时器的需求
RTTs
加权平均往返时延
计算公式
第一次测量到的RTT样本时,RTTs就取测量的RTT样本
新的RTTs=(1-α)×旧的RTTs α×新的RTT样本
RTO
超时重传时间
计算公式
第一次测量时,RTTd取测量到的RTT的一半
新的RTTd=(1-β)×旧的RTTd β×abs(新的RTTs-新的RTT样本)
RTO =RTTs 4×RTTd
ii. 冗余ACK
TCP规定每当比期望值大的失序报文到达时接收方就发送一个冗余ACK
TCP发送方收到对同一个报文段的3个冗余ACK时,就可以认为跟在这个被确认报文段之后的报文段已经丢失了。就马上重传当前编号后一个报文段(快重传),不必等待超时计数器满
V. 流量控制与拥塞控制
1. 流量控制
匹配发送方与接收方的速率
基于滑动窗口
端到端的
窗口大小可以动态变化
接收方控制发送方的速率
2. 拥塞控制
i. 目的和特点
防止过多的数据注入网络
是一个全局性的过程,涉及所有的主机和路由器
发送方自己决定发送速率
ii. 过程
两种窗口
接收窗口(rwnd)
接收方放在首部的的窗口字段通知发送方
拥塞窗口(cwnd)
发送方根据自己估算的网络拥塞程度而设置的窗口值
swnd=min[rwnd,cwnd]
接收方有足够的缓存空间,因而swnd由网络的拥塞程度决定,可认为swnd=cwnd
两种算法
1.慢开始算法
“指数增加”
初始时swnd=1(MSS为单位),然后以2的倍数每轮增加
慢开始门限(ssthresh)
当swnd>=ssthresh(swnd不能跃过ssthresh的值)时执行拥塞避免算法
2.拥塞避免算法
“线性增加”
当swnd>=ssthresh时,swnd以1为公差每轮增加
注意事项
当某一时刻发生超时了,说明说明网络非常拥塞了
无论是在慢开始阶段还是拥塞避免阶段:超时就将ssthresh=当前swnd的一半;swnd=1。然后执行慢开始算法
两种改进
快重传
当发送方收到3冗余ACK时,直接重传尚未接收的报文,而不必等待到重传计时器满
快恢复
重传过后,直接将ssthresh=当前swnd的一半;也将swnd=当前swnd的一半
执行拥塞避免算法