传输层的主要功能
- 传输层为应用进程之间提供端到端的逻辑通信
- 传输层要对收到的报文进行差错检测
- 传输层提供面向连接和无连接的服务
UDP协议
特点
- UDP是无连接的,即发送数据之前不建立连接
- UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制
- UDP是面向报文的。没有拥塞控制,很适合多媒体通信的需求
- UDP支持一对一、一对多、多对多的交互通信
- UDP首部开销小,只有8个字节
首部
加入网络层首部的部分信息组成伪首部,以凑够20个字节来计算检验和。
TCP协议
端口用一个16位的端口号进行标志。端口号只具有本地意义,为了标记本主机各应用进程。不同计算机的相同端口号没有联系。 (IP地址 : 端口号)=(套接字socket),socket是TCP连接的端点。
特点
- TCP是面向连接的传输层协议
- 每一条TCP连接只能有两个端点,每一条TCP连接是点对点的
- TCP提供可靠交付的服务
- TCP提供全双工通信
- TCP面向字节流
首部
- 源端口和目的端口:端口号
- 序号:本报文段所发送的数据的第一个字节的在整个要传送的字节流的序号。例如序号为301,则该数据的第一个字节为整个字节流的第301个字节。
- 确认号:期望收到对方下一个报文段的第一个数据字节的序号
- 数据偏移:TCP报文段的首部长度,以4字节为计算单位,所以首部最长为60字节。
- 紧急URG:告诉系统此报文段中有紧急数据,应尽快发送,而不要按原来的排队顺序来传送。当URG置为1时,发送应用进程就告诉发送方的TCP有紧急数据要传送。
- 确认ACK:当ACK = 1时确认号字段才有效,当ACK = 0时确认号无效
- 推送PSH:发送方TCP把PSH置为1,并立即创建一个报文段发送出去。接收方TCP收到PSH=1的报文段,就尽快地交付接收应用进程。
- 复位RST:当RST=1时,表名TCP连接中出现了严重错误,必须释放连接,然后再重新建立传输连接。
- 同步SYN:在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1和ACK=1,因此SYN置为1就表示这是一个连接请求或连接接受报文。
- 终止FIN:用来释放一个连接。当FIN=1时,表明此报文段的发送发的数据已发送完毕,并要求释放运输连接。
- 窗口:发送本报文段的一方的接受窗口大小。
- 检验和:检验和字段检验的范围包括首部和数据这两部分。
- 紧急指针:紧急指针仅在URG=1时才有意义,它指出本报文段中的紧急数据的字节数。
停止等待协议
- 停止等待ARQ协议:优点是简单,缺点是信道利用率低
- 连续ARQ协议:连续发送多个分组,可以获得很高的信道利用率。但需要维持发送窗口。
拥塞控制
慢开始算法。拥塞避免把拥塞窗口控制为按线性增长,使网络比较不容易出现拥塞。 快重传算法。
传输连接管理
- 连接建立:三次握手
- 数据传送
- 连接释放
传输层协议与应用层协议的关系
- http=TCP+80
- https=TCP+443
- SQL=TCP+1433
- POP3=TCP+110
|