热门回答:
在网络的世界里。有两个很重要的概念。一个是IP地址。一个是端口。根据IP地址可以找到互相通信的终端。根据端口可以找到互相通信的应用程序。也就是不同的端口号对应不同的应用程序。
端口的作用
一个IP地址标识了一台主机。而一台主机可以提供多种服务。比如web服务、ftp服务、远程桌面等。如何区分不同的服务呢。显示只靠IP地址是不行的。IP地址与服务是一对多的关系。这时就需要端口号进行区分了。
比如我们访问今日头条网站。浏览器使用一个大于1024的随机端口。通过DNS获取到今日头条的网站的IP地址。访问web服务的80端口。下图显示了TCP报文的格式。其中前两个字段就是源端口号和目的端口号。
端口的分类
端口号是个整数。范围从0到65535(2^16-1)。分为周知端口和动态端口。
1)周知端口。周知端口就是众所周知的端口。有些是约定俗成的。范围从0~1023。比如常见的www为80。ftp为21、telnet为23、dns为53等等。
2)动态端口。一般不用于固定分配给某种服务。范围从1024到65535。是动态分配的。当系统的某个进程或者应用需要通信时。主机从可用的端口号中分配一个供其使用。程序关闭时。同时释放所占用的端口号。
综上所述。IP地址用于唯一标识一台主机。端口号(Port)用于唯一标识不同的应用程序或进程。(源IP地址。源端口号。目的IP地址。目的端口号)四元组用于一个通信过程。
如果觉得对你有帮助。可以多多点赞哦。也可以随手点个关注哦。谢谢。
其他观点:
我们说在计算机网络中IP地址是用来标识一个通信实体的。这样网络中的计算机主机通信时才能相互找到对方。那么同一台主机上同时可以运行多个应用程序。这个时候就需要采用端口号来进行识别了。因此。端口号有时候也可被称为程序地址。比如FTP服务端口号21。SSH服务端口号22。HTTP服务端口号80同时运行。传输层协议正是利用这些端口号来识别本机中正在进行通信的应用程序。并准确地将数据进行传输。
TCP/IP或UDP/IP通信中通常采用5个信息来识别一个通信。它们是源IP地址、目标IP地址、协议号、源端口号和目的端口号。只要某一项不同。则被认为是其他通信。例如一台主机上打开浏览器同时访问两个服务器上不同的页面就是两个不同的通信。如下图1和2的通信。主机A为客户端IP地址172.20.100.34访问远程服务器172.20.100.32。它们的目标端口号相同都是80。但是源端口不同分别为2001和2002。1和3的目标端口号和源端口号完全相同。但是它们各自的源IP地址不同。此外。还有一种情况图中并未列出。那就是IP地址和端口完全都相同。只有协议号(表示上层是TCP或UDP的一种编号)不同。这种情况下也会认为是两个不同的通信。
在实际进行通信时。需要事先确定端口号。与IP地址一样。端口号也不是随意使用的。而是按照一定的规定进行分配。端口的分配标准主要有知名端口和动态端口。
知名端口
它是指每个应用程序都有其指定的端口号。并不是说可以随意使用任何一个端口号。例如。HTTP、TELNET、FTP等广泛使用的应用协议中所使用的端口号就是固定的。这些端口号也被称之为知名端口号。知名端口号一般由0到1023的数字分配而成。应用程序应该避免使用知名端口号进行既定目的之外的通信。以免产生冲突。如下图列出了一些TCP和UDP具有代表性的知名端口号。
动态端口
动态分配是指当一个系统进程或应用程序进程需要网络通信时。它向主机申请一个端口。主机从可用的端口号中分配一个供它使用。当这个进程关闭时。同时也就释放了所占用的端口号。服务端有必要确定监听端口号。但是接受服务的客户端没必要确定端口号。在这种情况下。客户端应用程序可以完全不用自己设置端口号。而全权交给操作系统进行分配。操作系统可以为每个应用程序分配互不冲突的端口号。动态端口的范围是从1024到65535。之所以称为动态端口。是因为它一般不固定分配某种服务。而是动态分配。
如何查看端口号
我们可以在windows电脑的dos窗口使用netstat命令查看到本机与远程主机建立通信会话所采用的端口号。
以上就是以上就是我对这个问题的解答了。关于更多IT相关知识欢迎大家关注。谢谢!
其他观点:
感谢邀请。本人有多年IT从业经验。希望以下回答能帮到你。
一、端口定义
端口是指接口电路中的一些寄存器。这些寄存器分别用来存放数据信息、控制信息和状态信息。相应的端口分别称为数据端口、控制端口和状态端口。
电脑运行的系统程序。其实就像一个闭合的圆圈。但是电脑是为人服务的。他需要接受一些指令。并且要按照指令调整系统功能来工作。于是系统程序设计者。就把这个圆圈截成好多段。这些线段接口就叫端口(通俗讲是断口。就是中断)。系统运行到这些端口时。一看端口是否打开或关闭。如果关闭。就是绳子接通了。系统往下运行。如果端口是打开的。系统就得到命令。有外部数据输入。接受外部数据并执 行。
(一)什么是TCP端口?
TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议。
由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中。它完成第四层传输层所指定的功能。UDP是同一层内另一个重要的传输协议。
(二)什么是UDP端口?
UDP:UDP是ISO参考模型中一种无连接的传输层协议。提供面向事务的简单不可靠信息传送服务。 UDP 协议基本上是IP协议与上层协议的接口。
UDP协议适用端口分辨运行在同一台设备上的多个应用程序。
二、端口作用
我们知道。一台拥有IP地址的主机可以提供许多服务。比如Web服务、FTP服务、SMTP服务等。这些服务完全可以通过1个IP地址来实现。那么。主机是怎样区分不同的网络服务呢?显然不能只靠IP地址。因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。
需要注意的是。端口并不是一一对应的。比如你的电脑作为客户机访 问一台WWW服务器时。WWW服务器使用“80”端口与你的电脑通信。但你的电脑则可能使用“3457”这样的端口。
(一)动态端口(Dynamic Ports)
动态端口的范围是从1024到65535。之所以称为动态端口。是因为它 一般不固定分配某种服务。而是动态分配。动态分配是指当一个系统进程或应用
程序进程需要网络通信时。它向主机申请一个端口。主机从可用的端口号中分配 一个供它使用。当这个进程关闭时。同时也就释放了所占用的端口号。
(二)端口在入侵中的作用
有人曾经把服务器比作房子。而把端口比作通向不同房间(服务)的门。如果不考虑细节的话。这是一个不错的比喻。入侵者要占领这间房子。势必要破门而入(物理入侵另说)。那么对于入侵者来说。了解房子开了几扇门。都是什么样的门。门后面有什么东西就显得至关重要。
入侵者通常会用扫描器对目标主机的端口进行扫描。以确定哪些端口是开放的。从开放的端口。入侵者可以知道目标主机大致提供了哪些服务。进而猜测可能存在的漏洞。因此对端口的扫描可以帮助我们更好的了解目标主机。而对于管理员。扫描本机的开放端口也是做好安全防范的第一步。
(三)面向连接服务和无连接服务
可以先了解面向连接和无连接协议。面向连接服务的主要特点有:面向连接服务要经过三个阶段:数据传输前。先建立连接。连接建立后再传输数据。数据传送完后。释放连接。面向连接服务。确保数据传送的次序和传输的可靠性。无连接服务的特点是:无连接服务只有传输数据阶段。消除了除数据通信外的其它开销。只要发送实体是活跃的。无须接收实体也是活跃的。它的优点是灵活方便、迅速。特别适合于传送少量零星的报文。但无连接服务不能防止报文的丢失、重复或失序。
区分\"面向连接服务\"和\"无连接服务\"的概念 区分特别简单。形象的例子是:打电话和写信。两个人如果要通电话。必须先建立连接--拨号。等待应答后才能相互传递信息。最后还要释放连接--挂电话。
写信就没有那么复杂了。地址姓名填好以后直接往邮筒一扔。收信人就能收到。
TCP/IP协议在网络层是无连接的(数据包只管往网上发。如何传输和到达以及是否到达由网络设备来管理)。而\"端口\"。是传输层的内容。
是面向连接的。协议里面低于1024的端口都有确切的定义。它们对应着因特网上常见的一些服务。
三、端口分类
(一)常见的服务划分
划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。
网络中可以被命名和寻址的通信端口是操作系统的一种可分配资源。由网络OSI(开放系统互联参考模型。七层协议可知。传输层与网络层最大的区别是传输层提供进程通信能力。网络通信的最终地址不仅包括主机地址。还包括可描述进程的某种标识。
所以TCP/IP协议提出的协议端口。可以认为是网络通信进程的一种标识符。
应用程序(调入内存运行后一般称为:进程)通过系统调用与某端口建立连接(binding。绑定)后。传输层传给该端口的数据都被相应的进程所接收。相应进程发给传输层的数据都从该端口输出。在TCP/IP协议的实现中。端口操作类似于一般的I/O操作。进程获取一个端口。相当于获取本地唯一的I/O文件。可以用一般的读写方式访问类似于文件描述符。每个端口都拥有一个叫端口号的整数描述符。用来区别不同的端口。
由于TCP/IP传输层的TCP和UDP两个协议是两个完全独立的软件模块。因此各自的端口号也相互独立。
如TCP有一个255号端口。UDP也可以有一个255号端口。两者并不冲突。端口号有两种基本分配方式:
第一种叫全局分配这是一种集中分配方式。由一个公认权威的中央机构根据用户需要进行统一分配。并将结果公布于众。
第二种是本地分配。又称动态连接。即进程需要访问传输层服务时。向本地操作系统提出申请。操作系统返回本地唯一的端口号。进程再通过合适的系统调用。将自己和该端口连接起来(binding。绑定)。
TCP/IP端口号的分配综合了以上两种方式。将端口号分为两部分。少量的作为保留端口。以全局方式分配给服务进程。
每一个标准服务器都拥有一个全局公认的端口叫周知端口。即使在不同的机器上。其端口号也相同。剩余的为自由端口。以本地方式进行分配。
TCP和UDP规定。小于256的端口才能作为保留端口。
(二)按端口号可分为3大类
(1)公认端口(WellKnownPorts):从0到1023。它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。
例如:80端口实际上总是HTTP通讯。
(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口。这些端口同样用于许多其它目的。
例如:许多系统处理动态端口从1024左右开始。
(3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上。不应为服务分配这些端口。实际上。机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.wangchuang8.com/140575.html,转载请说明来源于:网创推广网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系进行处理。分享目的仅供大家学习与参考,不代表本站立场。
评论(2)
端口,端口号,地址,分配,协议,进程,通信,应用程序,主机,动态
没想到大家都对什么是端口?到底是做什么的呢?感兴趣,不过这这篇解答确实也是太好了
在网络的世界里。有两个很重要的概念。一个是IP地址。一个是端口。根据IP地址可以找到互相通信的终端。根据端口可以找到互相