1.运输层概述
小结
2.运输层端口号,复用与分用的概念
端口号
复用和分用
小结
3.UDP和TCP对比
1.无连接的UDP和面向连接的TCP
2.UDP支持单播,多播以及广播,TCP仅支持单播
3.UDP是面向应用报文的,TCP是面向字节流的
4.UDP无连接,不可靠,TCP面向连接,可靠
5.首部报文对比
小结
4.TCP流量控制
练习
5.TCP的拥塞控制
慢开始
拥塞避免
总结
6.超时重传时间的选择
往返时间RTT样本(针对超时重传)
7.TCP可靠传输的实现
练习
小结
8.TCP的运输连接管理
8.2TCP的连接建立
三次握手主要解决的问题
三次握手
1.> A 是TCP客户进程, B是TCP服务进程。最初的TCP进程都处于closed状态。 注意:在本例中:A主动打开连接,B被动打开连接
-
- A的TCP客户进程也是首先创建传输控制模块TCB,
- 然后在打算建立TCP连接时,向B发出请求报文字段,
- 这时首部的同步位SYN=1;
- 初始序号seq =x;
TCP规定:SYN=1的报文段不能携带数据,但要消耗掉一个序号,这时TCP客户进程进入 SYN-SENT(同步已发送状态) 。
3.B收到连接后,如果同意建立连接,则向A发送确认。再确认报文段中应把SYN和ACK位都为1,确认号ack=x+1;同时也为自己选择一个初始序号seq=y; 注意:seq=y的报文段不能携带数据,但要消耗掉一个序号,这时TCP客户进程进入 SYN-RCVD(同步收到) 。 TCP客户收到B的确认后,还要向B给出确认。确认报文段ACK置为1,确认号 ack=y+1; 注意:普通报文段可以携带数据,但如果不携带数据则不消耗序号。在这种情况下,下一个数据报文段的序号仍是seq =x+1; 这时,TCP连接已经建立,A进入ESTABISHED状态 著名的三次握手就这么每秒的完成了
不知道两次可以可以呢?
不可以,这是为了防止已失效的连接请求报文段突然有传到了B,造成资源浪费
8.3TCP的连接释放
2. 3. 4.
为什么要等待两分钟
1,为了保证A发送的最后一个ACK报文段能够到达B.
2,为了防止上文中提到的“已失效的请求报文段”出现在本连接中。
保活计时器
8.4
TCP报文段的首部格式
|