参考文献: 慕课网<计算机网络原理>课程
1. 传输层服务和协议
1.1 服务
1.简单介绍
2.对比网络层
- 网络层: 提供主机之间的逻辑通信机制
- 传输层: 提供应用进程之间的逻辑通信机制
位于网络层之上
依赖于网络层服务
对网络层服务进行增强
1.2 协议
1.两种协议
2.多路复用和多路分用
- 多路分用 =>接收端有多个socket进程,通过传输层后分别发送给对应的客户端进程
- 多路复用=>发送端有多个socket进程,在传输层为每块数据封装上头部信息,然后交给网络层
- 分用如何工作?
- 无连接多路分用
- 面向链接多路分用
3.无连接传输协议 UDP
1.简介
2.用途
3.UDP校验和(checksum)
4.可靠数据传输
1.简单了解
2.可靠数据传输协议
- Rdt 2.0
停–等协议
发送方 发送信息,然后等待 返回ACK无错误,NAK错误重新发送
接收方 判断是否有错,有错然后返回NAK,无错ACK
- Rdt 2.1
如果ACK/NAK消息发送错误/被破坏
- Rdt 2.2
- 就是在ACK里面加控制信息
- Rdt 3.0
- 信道丢失? 2.0版本就不能用了
- 缺点: 性能差
- 如何提高性能, 在等待的时间,可以多发几个,一起等待
- 改进之—流水线机制
- 改进之—滑动窗口协议
- GBN(Go-Back-N)协议
GBN的缺陷
重传错误后面的分组, 重复了
- Selective Repeat协议
- 多了一个接收方的窗口,然后有一个窗口尺寸,会把错误的分组信息单独传给发送方,然后发送方再单独发送错误的分组
示例
5. 面向连接传输协议(TCP)
1.简介
2.序列号和ACK
3.TCP可靠数据传输
- 设置超时时间
大于RTT
测量RTT的平均值
EstimatedRTT 估计值 SampleRTT平均值
- TCP发送方事件
- 快速重传机制
4.TCP流量控制
- 发送方可以发送一个很小的段去判断是否可以继续发送
5.TCP连接管理
-3次握手
1.客户主机向服务器发送 SYN 报文段,不携带任何数据,SYN标志位(询问是否可以建立链接),初始序列号
2.服务器收到SYN报文段, 服务器会分配缓存, 初始序列号
3.客户端收到SYNACK, 意思就是我收到了你同意我建立链接的报文段, 然后回复ACK,服务器接收到ACK,链接关闭
6. 拥塞控制问题
1.定义
2.拥塞的成因和代价
- 成因
- 发送的分组大于带宽
- 发送的分组大于路由器缓存
- 发送方有很多个
- 多跳
- 超时/重传
- 代价
3.拥塞控制 - 发送方观察分组是否丢失或时延,然后调整自己的发送速率
- ATM ABR
由接收方把拥塞信息发送给发送方
- 案列
7.TCP的拥塞控制
1.控制发送速率
- 接收方通过超时或者重复的ACK判断是否拥塞,然后调整发送速率
2.线性的加,乘性的减
3.TCP慢启动:SS - 指数型增长
4.如何判断使用线性还是指数性增长
5.如何检测拥塞
6.TCP性能