1.1 传输层功能
- 提供进程与进程之间的逻辑通信
- 收到报文进行差错检测
- 两种协议(TCP/UDP)
1.2 TCP协议
面向连接的传输控制协议,可靠,时延大,适用于传输大文件。
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点
TCP交付可靠,无差错,不丢失,不重复按序到达。
TCP提供全双工通信。
1.3 UDP协议
无连接的数据报协议,不可靠,时延小,适用于小文件传输。
1.4 TCP三次握手
客户端发送连接请求报文段,不携带应用数据, SYN=1,SEQ=X(随机)
服务器端为该TCP连接分配缓存和变量并向客户端返回确认报文段,允许连接,不懈怠应用数据。 SYN=1,ACK = 1,SEQ=Y ACK = X+1
客户端为该TCP连接分配缓存与变量并向服务器端返回确认的确认,可以携带数据
1.5 TCP四次挥手
参与一条TCP连接的两个进程的任何一方都可以中止连接,连接结束后,主机中的资源(缓存与变量)将被释放
- 过程
- 客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接。 FIN=1,SEQ=u
- 服务器端回送一个确认报文段。客户到服务器这个方向的连接就释放了半关闭状态 ACK = 1, SEQ=u, ACK=u+1
- 服务器端发送完数据,就发送连接释放报文段,主动关闭TCP连接。 FIN =1 ,ACK=1,SEQ=W,ACK=u+1
- 客户端回送一个确认报文段,再等待时间统计器设置的2MSL(最长报文寿命)后,连接彻底关闭。
1.6 可靠传输
保证接收方进程从缓存区中读出的字节流与发送与发出的字节流是相同的。
1.7 流量控制
让对反慢点发,要让接受方来得及接受,TCP利用滑动窗口机制实现流量控制。