文章目录
运输层
- 运输层向上面的应用层提供通信服务,属于面向通信部分的最高层,同时也是用户功能中的最低层
- 网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信
- 功能:复用和分用
功能
复用:发送方不同的应用程序都可以使用同一个运输层协议传送数据
分用:接收方的运输层在剥去报文的首部后能够把这些数据正确的交付到目的应用进程
运输层端口
- 当运输层收到IP层交上来的报文时,就能够根据首部的目的端口号把数据交付给应用层的目的应用进程
- 两个计算机中的进程要互相通信,不仅必须要知道对方的IP地址(找到对方的计算机),还要知道对方的端口号(为了找到对方计算机中的应用进程)
- 分类:
(1)服务器端使用的端口号
UDP(用户数据报协议,user datagram protocol)
UDP特点
1)UDP是无连接的。发送数据前不需要建立连接
2)UDP尽最大努力交付。不保证可靠交付
3)UDP是面向报文的。
4)UDP没有拥塞控制。网络出现的拥塞不会使源主机的发送效率降低
5)UDP支持一对一、一对多、多对一、多对多的交互通信
6)UDP首部开销小,只有8个字节,比TCP的20个字节的首部要短
UDP首部
根据首部目的端口,吧UDP数据报通过相应端口上交到最后的应用过程。
TCP(传输控制协议,transmission control protocol)
TCP特点
1)TCP是面向连接的运输层协议
2)每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
3)TCP提供可靠支付的服务
4)TCP提供全双工服务
5)面向字节流。
“流”指的是流入到进程或从进程流出的字节序列
报文发送方式
- TCP对应用进程一次把多长的报文发送到TCP的缓存中是不关心的。
- 如果应用进程传送到TCP缓存的数据块太长,TCP就可以把他划分成短一些再传送,如果应用进程一次发送的字节太短,TCP也可以等待积累有足够多 的字节后在构成报文段发送出去。
TCP连接
每一条TCP连接有两个端点,TCP连接的端点叫做套接字(socket)或插口
socket
- 端口号拼接到IP地址即构成套接字,
- 每一条 TCP连接唯一的被通信两端的两个端点(两个套接字)所确定
socket=(IP地址:端口号)
TCP连接 ::={socket1,socket2}={(IP1,:port1),(IP2:port2)}
TCP报文段首部(重要)
TCP传送的数据单元是报文段
首部的前20个字节是固定的(最小长度是20字节&