网络端口(包括TCP端口和UDP端口)的作用、定义、分类,以及在视频监控和流媒体通信中的定义

目                    录

一、什么地方会用到网络端口?

二、端口的定义和作用

(一)TCP协议和UDP协议

(二)端口的定义

(三)在TCP/IP体系中,端口(TCP和UDP)的作用

(四)使用端口进行网络通信

三、端口的分类

(一)端口分配方式

(二)TCP/IP的端口号分配

(1)公认端口(Well Known Ports):

(2)注册端口(Registered Ports):

(3)动态和/或私有端口(Dynamic and/or Private Ports):

四、常见的端口号

四、视频监控和流媒体通信中的端口号


一、什么地方会用到网络端口?

我们经常在浏览器的地址、或一些命令行栏输入如下一些URL(统一资源定位符)

编号

URL

描述

1

http://10.2.2.2:23000

访问IP为10.2.2.2,端口为23000的网页

2

rtsp://192.1.3.33:5546

访问IP为10.2.2.2,端口为5546提供的RTSP流

3

telnet 166.3.2.1 2329

访问166.3.2.1上tcp端口2329提供的服务

4

rtmp://123.45.22.33:8080

访问IP为123.45.22.33,端口为8080提供的RTMP流

5

http://vidist.cn

访问域名为vidisit.cn的web网站,端口80

6

https://vt.vidisit.cn:2800

访问域名为vt.vidisit.cn的web网站,端口2800

这些url 都是为了访问一些服务,这些服务是有某个服务器提供。同时可能会输入如下URL:

http://192.168.1.8/crm/index.php?pageto_module=Home&pageto_action=index

http://121.37.68.30:26558/realv/index-auto.html?cid=32050100001310000212

rtsp://192.1.3.33:5546/devid=3205010000131

这些也代表着特定的意义。我们可以看出,我们要访问网络资源,除了要输入IP地址以外,我们还需要一个端口、以及一些协议的名称,比如HTTP、RTSP、RTMP、TELNET等等。这里面说的端口是TCP或者UDP的端口,这些协议一般都属于应用层协议,都是基于TCP和UDP的,或者说是在传输层以上的应用层协议。

基于TCP/IP的各种应用层协议非常多,我们这里就不再详细描述了,我们这里主要谈谈网络端口。

二、端口的定义和作用

(一)TCP协议和UDP协议

TCPTransmission Control Protocol)协议,意为传输控制协议。

UDPUser Datagram Protocol)协议,意为用户数据报协议。

TCPUDP协议在TCP/IP五层协议中都位于传输层,负责在网络中传输数据。具体来说,它们都提供了数据传输的端到端服务,并使用端口号来标识发送和接收数据的源应用程序。

TCPUDP协议在数据传输方式和服务质量方面存在显著差异。TCP协议提供面向连接的、可靠的数据传输服务。它使用端口号来标识不同的应用程序,以便在网络中正确地路由和传输数据。TCP协议通过确认机制、重传机制、流量控制和拥塞控制等机制来保证数据传输的可靠性和效率。而UDP协议则是一种无连接的、尽最大努力的数据传输协议,不保证数据传输的可靠性和顺序,适用于对实时性要求较高的应用,如流媒体、VoIP等。

(二)端口的定义

        在TCP/IP协议中,端口号是一个16位的整数,用于标识网络进程。端口号的主要作用是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层的哪个进程。从这种意义上讲,端口是用来标志应用层的进程。每个端口号只被一个进程占用,但一个进程可以绑定多个端口号。

        在因特网中,不同计算机的相同端口号是没有联系的,端口的作用是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层的哪个进程。

        如果把IP地址比作一栋大楼,端口就是这栋大楼的房间,一个IP地址的端口可以有65536(即:256×256)个,端口是通过端口号来标记的,端口号只有整数,范围是从0 65535256×256)。可以理解为这个这栋大楼有65536个房间。

         网络层(IP层)接收到网络数据以后,根据端口号,分发给各个应用层APP。类似,快递到达大楼后,大楼传达室根据目的地址上面的具体房间号,分发给大楼里面的不同的房间(大楼入住单位),图示如下:

(三)TCP/IP体系中,端口(TCP和UDP)的作用

        归纳一下,在TCP/IP协议中,主要是TCPUDP用到了端口号。端口的作用主要有两个:

  1. 标识应用程序:每个端口号都是唯一的,可以用来标识运行在计算机上的应用程序。当数据包在网络中传输时,目的端口号可以告诉操作系统应该将数据包发送到哪个应用程序。
  2. 实现多任务处理:通过使用端口号,一台计算机可以同时运行多个应用程序,并正确地处理进入和离开的数据包。每个应用程序可以绑定到一个特定的端口号,这样就可以通过不同的端口号来区分不同应用程序的数据包。

(四)使用端口进行网络通信

        在TCP/IP中,不管是TCP还是UDP,它们都是通过源端口号和目的端口号来标识不同的应用程序,并使用这些端口号来传输数据达到网络通信的目的。当网络中的数据到达目的主机时,操作系统的网络协议栈会根据数据中的目的端口号将数据送到相应的应用程序。这样,不同的应用程序就可以通过不同的端口来接收和发送数据,实现网络通信。

         UDP为例,UDP进行数据通信的过程可以简要描述如下:

  1. 创建套接字socket:首先,在UDP通信中,需要创建一个套接字socket。这个套接字用于在本地主机上标识一个通信端点。
  2. 绑定端口:接下来,需要将套接字绑定到一个特定的端口上。这个端口用于标识发送和接收数据的进程。端口号是一个16位的整数,范围从0到65535(一般不用一些预留的端口)。
  3. 发送数据:一旦套接字被绑定到端口上,就可以使用这个套接字发送数据了。UDP发送数据时,会将数据封装成UDP数据报,并加上源端口号和目的端口号,然后发送到目的主机。
  4. 接收数据:在目的主机上,如果某个进程绑定了一个相同的端口号,它就可以接收数据了。当UDP数据报到达目的主机时,操作系统的网络协议栈会根据目的端口号将数据报送到相应的应用程序。
  5. 关闭套接字socket:当通信完成后,需要关闭套接字以释放资源。

总的来说,端口号在TCP/IP协议中起到了标识和区分不同应用程序的重要作用,使得网络通信能够高效、有序地进行。

三、端口的分类

(一)端口分配方式

        一般情况下,端口号有两种基本分配方式:

        第一种叫全局分配,这是一种集中分配方式,由一个公认权威的顶级机构根据用户需要进行统一分配,并将结果公布于众,

        第二种是本地分配,又称动态连接,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统调用,将自己和该端口连接起来(也称为binding,绑定)。

        TCP/IP端口号的分配综合了以上两种方式,将端口号分为两部分,

  1. 保留端口,以全局方式分配给服务进程。每一个标准服务器都拥有一个全局公认的端口(叫周知端口),即使在不同的机器上,其端口号也相同。
  2. 自由端口,也就是剩余的为端口,以本地方式进行分配。

TCPUDP规定,小于256的端口才能作为保留端口。

(二)TCP/IP的端口号分配

(1)公认端口(Well Known Ports):

        从01023,它们紧密绑定(binding)于一些特点服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

      0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描:使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。

(2)已注册端口(Registered Ports):

        从102449151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

(3)动态和/或私有端口(Dynamic and/or Private Ports):

        从4915265535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUNRPC端口从32768开始。

四、常见的端口号

TCP/IP协议中有很多已知的端口号,这些端口号被分配给不同的应用程序和服务。以下是一些常见的端口号及其对应的服务(这只是一部分常见端口,实际上有更多端口号):

  • HTTP(超文本传输协议):默认端口号为80,用于Web浏览器和Web服务器之间的通信。
  • HTTPS(安全超文本传输协议):默认端口号为443,用于加密的Web浏览器和Web服务器之间的通信。
  • FTP(文件传输协议):默认端口号为21,用于文件传输服务。
  • TFTP(小型文件传输协议),默认端口号为69,用于文件传输服务。
  • TELNET:默认端口号为23,用于远程登录到其他计算机或设备。
  • SMTP(简单邮件传输协议):默认端口号为25,用于电子邮件传输。
  • POP3(Email协议版本3):默认端口号为110,用于接收电子邮件。
  • IMAP(Internet邮件访问协议):默认端口号为143,用于访问和管理电子邮件。
  • DNS(域名系统):默认端口号为53,用于域名解析服务。
  • SSH(安全shell协议):默认端口号为22,用于安全的远程登录和执行命令。
  • SNMP(简单网络管理协议):默认端口号为161和162,用于网络设备管理和监控。
  • NTP(网络时间协议):默认端口号为123,用于时间同步服务。
  • DHCP(动态主机配置协议):默认端口号为67和68,用于自动分配IP地址和其他网络配置信息。

        随着时间的推移,新的应用程序和服务可能会出现,并且可能会分配新的端口号。个人可以根据您的具体需求和兴趣,查找相关的文档和资源来获取所需的端口号信息。

四、视频监控和流媒体通信中的端口号

在网络视频监控和流媒体通信中,通常会使用以下常见的端口号:

  1. HTTP(超文本传输协议):参考上一章节。
  2. HTTPS(安全超文本传输协议):参考上一章节。
  3. RTSP(实时流协议):用于实时传输音频和视频数据,默认端口号为554。
  4. RTP(实时传输协议):用于实时传输音频和视频数据,通常与RTSP一起使用,默认端口号为5004或5005。
  5. SIP(会话初始协议):用于建立和管理音视频通话,默认端口号为5060。
  6. SNMP(简单网络管理协议):参考上一章节。
  7. TFTP(小型文件传输协议):参考上一章节。
  8. GB28181:GB28181协议可使用TCP和UDP协议进行音视频传输,端口号通常为默认的50000左右。对于控制命令、注册等交互性请求,通常会通过HTTP或者TCP的方式进行通信,其端口号需要平台方和设备方提前约定,比如有的采用5060,有的采用7060。可以参考以前的文章:国标GB28181对接的时候如何配置服务端口和本地端口
  9. RTMP(Real Time Messaging Protocol):默认端口号是1935。RTMP是一种用于实时传输音频、视频和数据的协议,通常用于流媒体和实时应用程序。在使用RTMP进行通信时,需要在服务器和客户端之间建立连接,并使用特定的端口号进行数据传输。默认情况下,RTMP使用端口号1935。但是,具体的端口号可能会因应用程序和部署环境的不同而有所变化。因此,在实际使用中,应该根据具体情况进行配置和调整。
  10. HLSHTTP 实时流协议):HLS基于HTTP的流媒体传输协议,端口号为8080。
  11. WebRTCWeb实时通信):WebRTC是一个实时通信协议,其默认端口号为8080。
  12. FLVFlash视频):由于FLV由Adobe公司出品,其本身并未像HLS或RTMP一样建立网络服务,但其可以被用于流媒体传输。FLV协议本身并不使用端口号,而是通过HTTP或RTMP等协议进行传输。

这些端口号被广泛应用于网络视频监控领域的不同组件和协议中。对于需要安全传输的视频监控数据,可能会使用加密的协议和端口号,以确保数据的安全性和隐私保护。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用GPTs+Actions自动获取第三方数据

目录 安装插件与GPT对话联网插件首先,创建GPTs。 Voxscript 官网:https://voxscript.awt.icu/index.htmlOpenAI Schema:https://voxscript.awt.icu/swagger/v1/swagger.yamlServer URL: servers: url: https://voxscript.awt.icu安装插件 要使用这个插件&

干洗店洗鞋店小程序核心功能有哪些?

在繁忙的生活中,我们的鞋子常常承载着风尘仆仆的故事。而洗鞋小程序,就是那个让您的鞋子焕然一新的魔法师。通过这个小程序,您可以在线预约、支付,查询洗鞋订单,并与洗鞋店铺进行互动,轻松享受专业的洗鞋服…

HarmonyOS4.0系统性深入开发12 卡片数据交互说明

卡片数据交互说明 ArkTS卡片框架提供了updateForm()接口和requestForm()接口主动触发卡片的页面刷新。 接口是否系统能力约束updateForm否1. 提供方调用。2. 提供方仅允许刷新自己的卡片,其他提供方的卡片无法刷新。requestForm是1. 使用方调用。2. 仅允许刷新添加…

数字图像处理(3)——频域图像增强

🔥博客主页:是dream 🚀系列专栏:深度学习环境搭建、环境配置问题解决、自然语言处理、语音信号处理、项目开发 💘每日语录:贤才,难进易出;庸才,易进易初出;…

Character Controller Smooth

流畅的角色控制器 Unity的FPS解决方案! 它是一种具有非常平滑运动和多种设置的解决方案: - 移动和跳跃 - 坐的能力 - 侧翻角度 - 不平整表面的处理 - 惯性守恒 - 重力 - 与物理物体的碰撞。 - 支持没有家长控制的平台 此解决方案适用于那些需要角色控制器…

Jmeter的安装与快速使用(做并发测试)

1、了解 JMeter是一款开源的性能测试工具,它主要用于模拟多种负载条件下的应用程序或服务器的性能和功能。JMeter可以发送不同类型的请求,如HTTP、HTTPS、FTP、SOAP、REST等,并且可以模拟多种负载类型,例如并发用户、线程组、定时…

正则表达式 详解,10分钟学会

大家好,欢迎来到停止重构的频道。 本期我们讨论正则表达式。 正则表达式是一种用于匹配和操作文本的工具,常用于文本查找、文本替换、校验文本格式等场景。 正则表达式不仅是写代码时才会使用,在平常使用的很多文本编辑软件,都…

关于Python里xlwings库对Excel表格的操作(二十五)

这篇小笔记主要记录如何【如何使用xlwings库的“Chart”类创建一个新图表】。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; (2…

案例分享:Qt多国语言输入法软键盘

若该文为原创文章,转载请注明出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135346374 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…

aspose通过开始和结束位置关键词截取word另存为新文件

关键词匹配实体类: Data EqualsAndHashCode(callSuper false) public class TextConfig implements Serializable {private static final long serialVersionUID 1L;/*** 开始关键词,多个逗号分隔*/private String textStart ;/*** 结束关键词&#x…

【操作系统xv6】学习记录4 -CPU上下文:进程上下文、线程上下文、中断上下文

什么是cpu上下文 CPU 寄存器和程序计数器就是 CPU 上下文,因为它们都是 CPU 在运行任何任务前,必须的依赖环境。 什么是 CPU 上下文切换 先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后…

Flutter+Go_Router+Fluent_Ui仿阿里网盘桌面软件开发跨平台实战-买就送仿小米app开发

Flutter是谷歌公司开发的一款开源、免费的UI框架,可以让我们快速的在Android和iOS上构建高质量App。它最大的特点就是跨平台、以及高性能。 目前 Flutter 已经支持 iOS、Android、Web、Windows、macOS、Linux 的跨平台开发。 Flutter官方介绍,目前Flutte…

ubuntu系统没有网络图标的解决办法

参考文章:https://blog.csdn.net/qq_56922632/article/details/132309643 1. 执行关闭网络服务的命令,关闭网络服务sudo service NetworkManager stop2. 删除网络的状态文件sudo rm /var/lib/NetworkManager/NetworkManager.state3. 修改网络的配置文件sudo vi /etc…

冒泡排序-排序算法

前言 如果有6个人站成一排,要将他们按从矮到高的顺序排列。你可能有多种方式来完成。但是如果其中有一个人特别高,比他身边的人高,在队伍中特别明显,你可以轻易看出那个最高的需要和身边的人交换位置,这是冒泡排序的核…

二叉树的前序遍历 、二叉树的最大深度、平衡二叉树、二叉树遍历【LeetCode刷题日志】

目录 一、二叉树的前序遍历 方法一:全局变量记录节点个数 方法二:传址调用记录节点个数 二、二叉树的最大深度 三、平衡二叉树 四、二叉树遍历 一、二叉树的前序遍历 方法一:全局变量记录节点个数 计算树的节点数: 函数TreeSize用于…

案例086:基于微信小程序的影院选座系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

履机乘变,轻舟便楫:源启分布式PaaS深度赋能企业级技术平台建设

导语 源启分布式PaaS平台围绕应用视角为用户提供应用运行的全生命周期管控能力,提供注册中心、服务路由、网关、服务治理等中间件技术支持,实现应用之间的联通,解决客户多厂商产品不兼容、产品组合不可选择、孤岛效应等问题,满足…

ros2 基础学习12 分布式通信

智能机器人的功能繁多,全都放在一个计算机里,经常会遇到计算能力不够、处理出现卡顿等情况,如果可以将这些任务拆解,分配到多个计算机中运行岂不是可以减轻压力? 这就是分布式系统,可以实现多计算平台上的任…

android开发百度地图api实现定位图标随手机方向转动

该功能的实现依赖于手机中的传感器元件如陀螺仪、加速度计等,具体开发详见android的官方开发文档: 传感器概览 | Android 开发者 | Android Developershttps://developer.android.com/guide/topics/sensors/sensors_overview?hlzh-cn要自定义一个传…

Hive学习(13)lag和lead函数取偏移量

hive里面lag函数 在数据处理和分析中,窗口函数是一种重要的技术,用于在数据集中执行聚合和分析操作。Hive作为一种大数据处理框架,也提供了窗口函数的支持。在Hive中,Lag函数是一种常用的窗口函数,可以用于计算前一行…