TCP
- 点对点
- 一个发送方,一个接收方
- 可靠的,按序的字节流
- 流水线机制
- TCP拥塞控制和流量控制机制
- 设置窗口大小
- 发送方/接收方缓存
- 全双工
- 面向连接
- 通信双方在发送数据之前必须建立连接
- 连接状态只在连接的两端中维护,在沿途节点中并不维护
- TCP连接包括:两台主机上的缓存,连接状态变量,socket等
- 流量控制机制
触发重传的事件
- 超时
- 收到重复ACK
TCP流量控制
- 接收方为TCP连接分配buffer
- 速度匹配机制
TCP连接管理
- TCP sender和 receiver在传输数据前需要建立连接
- 初始化TCP变量
- Client:连接发起者
- Server:等待客户连接请求
- Three way handshake
- Client host sends TCP SYN segment to server
- specifies initial seq
- no data
- Server host receivers SYN, replies with SYNACK segment
- server allocates buffers
- specifies server initial seq
- client receives SYNACK, replies with ACK segment, which may contain data
- Client host sends TCP SYN segment to server
- Four way handwave
- Client host sends TCP FIN(controls segment) to server
- Server host receives FIN and replies ACK, then close the connection and sends FIN to client host
- Client receives FIN, replies ACK, At the same time, Client will be waitting state. If Client receives another FIN, it will resend ACK to server
- Server host receives ACK, Connection close.
TCP拥塞控制
拥塞(congestion):太多发送主机发送了太多数据或者发送速度太快,以至于网络无法处理。表现为:分组丢失,分组延迟过大。
端到端拥塞控制
- 网络层不需要显式的提供支持
- 端系统通过观察loss,delay等网络行为判断是否发生拥塞
- TCP采用这种方法
网络辅助的拥塞控制
- 路由器向发送方显式地反馈网络拥塞信息
- 简单的拥塞指示:SNA,DECbit,TCP/IP
- 指示发送方应该采取何种速率
传输层总结
- 传输层服务的基本原理
- 复用/解复用
- 可靠数据传输
- 流量控制
- 拥塞控制
- Internet的传输层
- UCP
- TCP