免费医疗网站模板,工信部网站域名备案信息查询,瀑布流网站后台,django网站开发实例源码文章目录 运输层端口号的分类端口号与应用程序的关联应用举例发送方的复用和接收方的分用 运输层端口号的分类
端口号只具有本地意义#xff0c;即端口号只是为了标识本计算机网络协议栈应用层中的各应用进程。在因特网中不同计算机中的相同端口号是没有关系的#xff0c;即… 文章目录 运输层端口号的分类端口号与应用程序的关联应用举例发送方的复用和接收方的分用 运输层端口号的分类
端口号只具有本地意义即端口号只是为了标识本计算机网络协议栈应用层中的各应用进程。在因特网中不同计算机中的相同端口号是没有关系的即相互独立。另外TCP和UDP端口号之间也是没有关系的。 熟知端口号0 - 1023 这些端口号被分配给一些最常用的网络服务和应用程序。它们是由互联网号码分配机构IANA预先分配和定义的。 例如HTTP 协议使用端口号 80HTTPS 协议使用端口号 443FTP 协议使用端口号 21控制连接和 20数据连接SSH 协议使用端口号 22SMTP简单邮件传输协议使用端口号 25 等。这些熟知端口号使得不同的网络服务在全球范围内能够被统一识别和使用。 登记端口号1024 - 49151 这些端口号通常用于不太常见的网络服务或者用户自定义的应用程序。如果一个应用程序想要使用这个范围内的端口号一般需要向 IANA 进行登记。不过在实际应用中很多应用程序在这个范围内使用端口号时并没有严格地进行登记。例如一些企业内部开发的特定业务应用程序可能会使用这个范围内的端口号来进行通信。 客户端口号49152 - 65535 这些端口号主要是由客户端程序在发起通信时随机选择使用的。当客户端与服务器进行通信时客户端会从这个范围内选择一个端口号来标识自己的应用程序进程。例如当使用客户端软件如即时通讯软件与服务器进行通信时客户端软件会随机从这个范围内选择一个端口号用于接收服务器发送过来的消息。
端口号与应用程序的关联
应用程序在开发过程中或者安装配置时会指定使用特定的端口号来进行通信。对于服务器端应用程序通常会绑定到一个固定的端口号如将 Web 服务器绑定到 80 或 443 端口这样客户端就可以通过这个已知的端口号来访问服务器。
对于客户端应用程序在与服务器通信时会动态地从客户端口号范围中选择一个端口号。当服务器发送数据返回给客户端时就根据这个端口号来找到对应的客户端应用程序。例如在一个网络通信场景中服务器通过 IP 地址找到客户端主机然后通过客户端选择的端口号找到对应的客户端应用程序来交付数据。
应用举例 用户在浏览器中输入网址用户在 PC 上打开浏览器并在地址栏中输入 www.porttest.net。 发送DNS查询请求用户的 PCIP 地址为 192.168.0.1向 DNS 服务器IP地址为 192.168.0.2发送 UDP 数据包。该数据包的源端口是 49152目的端口是 53DNS 默认端口。数据包中的内容是询问 www.porttest.net 对应的 IP 地址是什么 DNS服务器处理请求DNS 服务器收到请求后查找 www.porttest.net 对应的IP地址。 DNS响应DNS 服务器将找到的结果 www.porttest.net 对应的 IP 地址是192.168.0.3封装成 UDP 数据包返回给用户的 PC。这个数据包的源端口是 53目的端口是 49152。 用户PC接收DNS响应用户的 PC 接收到 DNS 响应得知 www.porttest.net 对应的IP地址是 192.168.0.3。 建立TCP连接用户的 PC 使用 HTTP 协议与 Web 服务器IP地址为 192.168.0.3建立 TCP 连接。 获取网页内容用户的 PC 从 Web 服务器下载网页内容并显示在浏览器中。
在这个过程中涉及到的主要组件包括 DNS服务器用于将域名转换为IP地址。 Web服务器提供网站内容的服务。 交换机负责在网络中转发数据包。 用户PC运行浏览器软件发出请求并接收响应。
发送方的复用和接收方的分用 复用: 在发送方多个高层协议如 UDP、TCP的数据被复用到同一个 IP 数据报中。 分用: 在接收方根据 IP 数据报的目的端口将数据分发到相应的高层协议如 UDP、TCP。 发送方 应用层: 应用程序生成应用报文。传输层: UDP: 将应用报文封装成 UDP 数据报添加源端口和目的端口。TCP: 将应用报文封装成 TCP 段添加源端口和目的端口。 网络层: IP 协议将 UD P或 TCP 数据封装成IP数据报添加源 IP 地址和目的 IP 地址。链路层: 数据链路层将 IP 数据报封装成帧进行物理传输。 接收方 链路层: 接收帧并提取 IP 数据报。网络层: 解析 IP 数据报根据目的端口确定是 UDP 还是 TCP。传输层: UDP: 分离 UDP 数据报传递给相应应用程序。TCP: 分离 TCP 段传递给相应应用程序。 应用层: 应用程序接收应用报文。
TCP/IP体系结构应用层常用协议所使用的运输层协议和熟知端口号。OSPF报文并不使用运输层的UDP或TCP进行封装而是直接使用网际层的IP进行封装。