NET 计算机网络
在计算机网络体系中,传输层扮演着关键角色。它连接物理层、数据链路层与网络层,实现主机间的通信。然而,真正的通信实体是运行在主机上的应用进程。运输层协议,也称端到端协议,其任务是为不同主机上的应用进程提供直接通信服务,主要功能包括服务、逻辑通信、端到端通信等概念。
运输层使用端口号来区分应用层的不同进程,端口号范围在0~65535内,具有本地意义。在TCP/IP体系中,端口号是应用层进程标识的关键。在发送和接收时,通过复用与分用,多个进程可以利用一个运输层协议进行通信。
以DNS查询为例,用户在浏览器输入域名,触发DNS客户端进程发送UDP报文请求,报文中的端口号在49151~65535区间选取未占用值。DNS服务器端进程使用熟知端口号53接收报文,解析请求内容并回复DNS响应报文,将响应封装成UDP报文,返回给客户端。客户端解析响应,获取域名对应的IP地址。
传输层中的UDP与TCP在概念上有显著区别。UDP为无连接协议,不需套接字,提供无连接不可靠传输服务,适用于实时应用。TCP为面向连接,通过“三报文握手”建立连接,提供可靠传输、流量控制与拥塞控制,仅支持一对一通信。
UDP结构简单,支持单播、多播与广播通信,对应用层报文保留边界,提供面向应用报文的无连接服务。而TCP结构复杂,建立可靠信道前需三报文握手,提供面向字节流的可靠传输服务,仅支持单播。
通过比较可知,UDP适用于对实时性要求高的应用,如视频会议、IP电话等,而TCP则适用于需要可靠传输、流量控制与拥塞控制的应用场景,如文件传输、网页浏览等。
多重随机标签