常见协议:
应用层:负责向用户提供应用程序,比如HTTP、FTP、Telnet、DNS、SMTP等。
传输层:负责对报文进行分组和重组,并以TCP或UDP协议格式封装报文。
UDP
应用场景:
如果对实时性要求高和高速传输的场合下需要使用UDP,某些实时性要求高的场景,在可靠性要求较低,追求效率的情况下应该使用UDP。如QQ语音、QQ视频、电话会议。
特点:
- 面向无连接
- 有单播,多播,广播的功能
- UDP是面向报文的
- 不可靠性
- 不提供阻塞控制
- 头部开销小,传输数据报文时是很高效的。
机制
- 在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了
- 在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作
TCP
应用场景:
如果需要传输大量数据且对可靠性要求高的情况下应该使用TCP,如QQ文件传输,邮箱,浏览器(这是HTTP,底层是TCP)。
特点:
- 面向连接
- 仅支持单播传输
- 可靠传输
- 提供拥塞控制
- TCP提供全双工通信