一、TCP和UDP的对比
- TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前,不需要建立连接。
- TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
- TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,是实时视频会议等)
- 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
- TCP首部开销20字节;UDP首部开销小,只有8个字节
- TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
二、端口号
1.认识端口
计算机领域分为硬件领域和软件领域,在硬件领域中,端口又被称作接口,如常见的USB接口、网卡接口等;在软件领域中,端口一般是指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和基本输入输出缓冲区。 在网络技术中,端口还有其他含义,一种是物理意义上的端口,如集线器、交换机、路由器等连接设备,用于连接其他的网络设备的接口,常见的有RJ-45端口、Serial端口;另一种是逻辑意义上的端口,一般指TCP/IP协议中的端口,范围是0~65 535(256*256-1)。
2.端口号作用
一带拥有IP地址的主机可以提供许多服务,比如Web服务,FTP服务,SMTP服务等等。这些服务完全可以通过一个IP地址来实现,那么主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的网络服务的,端口提供了一种网络通道。服务器一般都是通过知名端口号来识别的。例如,对于每一个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传输协议)服务器的UDP端口号都是69。