1、基本概念
功能
(1)传输层提供进程和进程之间的逻辑通信(网络层提供主机和主机之间的通信)
(2)复用和分用
复用:应用层所有的应用进程都可以通过传输层再传输到网络层
分用:传输层从网络层收到数据后交付指明的应用进程
(3)传输层对收到的报文进行差错检测
协议
TCP(面向连接的传输控制协议):可靠,面向连接,时延大,适用于大文件
UDP(无连接的用户数据报协议):不可靠,无连接,时延小,适用于小文件
寻址与端口
逻辑端口/软件端口:是传输层的SAP,标识主机中的应用进程;
端口号:只有本地意义,不同计算机的相同端口没有联系
端口号分类:
服务端:熟知端口号(0~1023)、登记端口号
客户端:在进程运行时动态选择
套接字:(主机IP地址,端口号)
2、 UDP协议
无连接,不保证可靠交付。
面向报文,适合一次性传输少量数据的网络应用,如果太大,网络层需要分片。
无拥塞控制,适合很多实时应用(IP电话,视频会议)。
UDP首部开销小,8B,TCP为20B。
3、TCP协议
面向字节流
(1)!!!TCP报文段首部
(2)TCP连接管理
三个阶段:连接建立 -> 数据传送 -> 连接释放
采用:客户/服务器方式 --- 主动发起连接的叫客户,被动等待连接建立的是服务器
!!!三次握手(连接建立):
!!!四次握手(连接释放):
(3)TCP可靠传输
TCP实现可靠传输机制:校验(增加伪首部,和UDP一样)、序号、确认、重传(冗余ACK)
(4)TCP流量控制(控制发送方发送速率)
发送窗口取接收窗口和拥塞窗口的最小值。
【接收窗口】:接收方根据接收缓存设置的值,并告知发送方,反映接收方的容量
【拥塞窗口】:发送方根据自己估算的网络拥塞程度而设置的窗口值,反应网络当前容量。
避免出现双方都在等待的局面(类似于死锁),TCP发送方设置一个计时器,到时间则发送一个0窗口作为探测,若接收到发送许可则发送,若不允许发送,则继续重新设置一个计时器。
(5)TCP拥塞控制 (全局性)
慢开始和拥塞避免
快重传和快恢复