![](https://csdnimg.cn/release/download_crawler_static/86363279/bg3.jpg)
将信息送回 TCP 层,TCP 层便将它们向下传送到 IP 层,设备驱动程序和物理介质,最后到
接收方。
面向连接的服务(例如 Telnet、FTP、rlogin、X Windows 和 SMTP)需要高度的可靠性,所以
它们使用了 TCP。DNS 在某些情况下使用 TCP(发送和接收域名数据库),但使用 UDP 传送
有关单个主机的信息。
UDP
UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息,由于通讯不需要
连接,所以可以实现广播发送。
UDP 通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求
程序员编程验证。
UDP 与 TCP 位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP 不被应用于那
些使用虚电路的面向连接的服务,UDP 主要用于那些面向查询---应答的服务,例如 NFS。相
对于 FTP 或 Telnet,这些服务需要交换的信息量较小。使用 UDP 的服务包括 NTP(网络时间
协议)和 DNS(DNS 也使用 TCP),包总量较少的通信(DNS、SNMP 等);2.视频、音频等多
媒体通信(即时通信);3.限定于 LAN 等特定网络中的应用通信;4.广播通信(广播、多
播)。
常用 QQ,就是一个以 UDP 为主,TCP 为辅的通讯协议。
TCP 和 UDP 的优缺点
无法简单地、绝对地去做比较:TCP 用于在传输层有必要实现可靠传输的情况;而在一方面,
UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。TCP 和 UDP 应该
根据应用的目的按需使用。
端口号
数据链路和 IP 中的地址,分别指的是 MAC 地址和 IP 地址。前者用来识别同一链路中不
同的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。在传输层也有这种类似于
地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因
此,它也被称为程序地址。
一台计算机上同时可以运行多个程序。传输层协议正是利用这些端口号识别本机中正在进行
通信的应用程序,并准确地将数据传输。
端口号的确定
� 标准既定的端口号:这种方法也叫静态方法。它是指每个应用程序都有其指定的端
口号。但并不是说可以随意使用任何一个端口号。例如 HTTP、FTP、TELNET 等广为
使用的应用协议中所使用的端口号就是固定的。这些端口号被称为知名端口号,分
布在 0~1023 之间;除知名端口号之外,还有一些端口号被正式注册,它们分布在
1024~49151 之间,不过这些端口号可用于任何通信用途。
� 时序分配法:服务器有必要确定监听端口号,但是接受服务的客户端没必要确定端
口号。在这种方法下,客户端应用程序完全可以不用自己设置端口号,而全权交给