端口号及UDP介绍 端口号1.端口号定义2.根据端口号识别应用3.通过 IP 地址、端口号、协议号进行通信识别4.端口号如何确定a.标准既定的端口号b.时序分配法 5.端口号与协议 UDP1.UDP的特点2.UDP的用途
端口号 1.端口号定义
数据链路和IP中的地址,分别指的是MAC地址和IP地址。前者用来识别同一链路中不同的计算机,后者用来识别TCP/IP网络中互连的主机和路由器。
端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。
2.根据端口号识别应用
一台计算机上同时可以运行多个程序。
传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。
3.通过 IP 地址、端口号、协议号进行通信识别
仅凭目标端口识别某一个通信是远远不够的。
TCP/IP或UDP/IP通信中通常采用5个信息来识别一个通信。
分别是“源IP地址”、“目标IP地址”、“协议号”、”源端口号”、“目标端口号”。
只要其中某一项不同,则被认为是其他通信。
4.端口号如何确定 a.标准既定的端口号
是一种静态方法。指每个应用程序都有其指定的端口号。但并不是说可以随意使用任何一个端口号。每个端口号都有其对应的使用目的。
HTTP、TELNET、FTP等广为使用的应用协议中所使用的端口号就是固定的。这些端口号也被称之为知名端口号。
知名端口号一般由0到1023的数字分配而成。应用程序应该避免使用知名端口号进行既定目的之外的通信,以免产生冲突。
除知名端口号之外,还有一些端口号也被正式注册。它们分布在1024到49151的数字之间。不过,这些端口号可用于任何通信用途。
b.时序分配法
使用时序分配法,服务端有必要确定监听端口号,但是接受服务的客户端没必要确定端口号。
在这种方法下,客户端应用程序可以完全不用自己设置端口号,而全权交给操作系统进行分配。操作系统可以为每个应用程序分配互不冲突的端口号。
根据这种动态分配端口号的机制,即使是同一个客户端程序发起的多个TCP连接,识别这些通信连接的5部分数字也不会全部相同。
动态分配的端口号取值范围在49152到65535之间。
5.端口号与协议
端口号由其使用的传输层协议决定。因此,不同的传输协议可以使用相同的端口号。
端口号上的处理是根据每个传输协议的不同而进行的。
数据到达IP层后,会先检查IP首部中的协议号,再传给相应协议的模块。
即使是同一个端口号,由于传输协议是各自独立地进行处理,因此相互之间不会受到影响。
那些知名端口号与传输层协议并无关系,只要端口一致都将分配同一种程序进行处理。
目前来看,由于HTIP通信必须使用TCP, 因此UDP的80端口并未投入使用。
注:具有代表性的知名端口号,可查看《图解TCPIP》6.2端口号小节。
UDP 1.UDP的特点
1.UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。
2.即使是出现网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的行为。
3.传输途中即使出现丢包,UDP也不负责重发。甚至当出现包的到达顺序乱掉时也没有纠正的功能。
4.如果需要上述细节控制,那么不得不交由采用UDP的应用程序去处理。
5.需要用户充分考虑好上层协议类型并制作相应的应用程序。 可以说,UDP按照“制作程序的那些用户的指示行事”。
2.UDP的用途
UDP常用于一下方面:
1.包总量较少的通信DNS、SNMP等)
2.视频、音频等多媒体通信(即时通信)
3.限定于LAN等特定网络中的应用通信
4.广播通信(广播、多播)