日常工作中,关于网络。有一句很经典的话:这个IP能ping通,网络没问题,一定是你们的设备(软件)有问题。排除了线路、设备等问题,还有可能就是网络端口没能互通,那么什么是网络端口呢?(后附结论)
在网络技术中,端口(Port)大致有两种意思:
一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。
二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。
protocol port(协议端口):操作系统中通信的端点,与IP地址及通信协议关联,用来获取相应的网络服务。
举例:IP地址相当于学校食堂,而端口就是食堂里面售卖不同菜系的窗口
按照端口号,端口可分类三大类(一般指TCP端口和UDP端口):
公认端口(Well Known Ports):范围从0到1023。这些端口紧密绑定于一些服务,通常用于明确的协议通讯,例如80端口用于HTTP通讯。
注册端口(Registered Ports):范围从1024到49151。这些端口松散地绑定于一些服务,许多服务可以绑定在这些端口上,通常用于动态端口分配。
动态/私有端口(Dynamic and/or Private Ports):范围从49152到65535。理论上不应为服务分配这些端口,但实际上机器通常从1024起分配动态端口,有些特殊情况下,如SUN的RPC端口从32768开始。
端口协议号描述HTTP80用于Web浏览器与网站之间的通信,传输超文本标记语言(HTML)页面。HTTP协议定义了Internet浏览器和网站之间的通信格式。FTP 21
用于文件传输协议,客户端和服务器之间传输文件。FTP以明文形式发送数据,并提供匿名访问选项SSH22SSH或Secure Shell协议用于在远程计算机上执行操作,使用加密技术确保通信安全。Telnet23用于远程登录,但数据未加密,通常在局域网内使用。SMTP25用于电子邮件传输,是最早的电子邮件传输协议端口DNS53用于域名解析,DNS服务器使用UDP和TCP端口53进行通信POP3110用于邮件协议,将邮件从远程服务器检索到本地客户端DHCP67和68用于动态主机配置协议,服务器使用端口67,客户端使用端口68。
回到开头的问题,因为ping使用的是ICMP协议,属于IP协议,工作在网络层。而端口号,是传输层的内容,ping通完全不能等于网络通。