1、为什么要有传输层
IP层只能将数据传输到对方的主机,IP数据报的首部明确地标志了这两个主机的ip地址,但实质上通信的真正端点并不是两个主机,而是两个主机上运行的进程
2、复用与分用
这两个概念实际上是体现在一个主机中的多个应用进程可以同时和另一个主机上的多个应用进程通信
复用:在发送方的主机上的不同的应用进程可以使用同一个传输层协议传送数据,当然需要加上适当的首部字段。
分用:在接收方的传输层在剥去报文的首部字段后,能够把这些数据正确的交付给应用进程
3、简述TCP、UDP
UDP:传送数据之前不需要先建立连接,远地主机的运输层在收到UDP报文后不需要给出任何确认,虽然UDP不提供可靠交付,但在某些情况下,UDP却是一种最有效的工作方式
TCP:提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后还要释放连接,TCP不提供广播或多播服务,由于TCP要提供可靠的、面向连接的传输服务,因此不可避免的增加了许多开销。
4、TCP、UDP区别
UDP:
- 无连接,在发送数据之前不需要先建立连接,因此可以减少开销和发送数据之前的时延。
- 不保障可靠交付
- 面向报文,就是说对上层传递下来的报文,在添加首部后就向下交付给IP层,对报文既不合并也不拆分,而是保留报文的边界
- 没有拥塞控制,即使网络出现拥塞也不会使源主机的发送速率降低
- 支持一对一、一对多、多对一、多对多通信
- 首部开销小,只有8个字节,TCP要20个
TCP:
- 面向连接
- 点对点传输
- 提供可靠交付,无差错、不丢失、不重复、按序到达
- 全双工通信
- 面向字节流