网络端口(包括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.rhkb.cn/news/233186.html

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

相关文章

SSM框架学习笔记01 | 注解开发

文章目录 1. 注解形式定义bean2.纯注解开发3.bean管理4. 依赖注入5. 第三方bean管理总结 1. 注解形式定义bean Compoenet ControllerServiceRepository 配合代码块 <context:component-scan /> 使用 2.纯注解开发 Configuration ComponentScan AnnotationConfigApplicati…

k8s笔记1- 初步认识k8s

k8s简介&#xff1a; kubernetes&#xff0c;俗称k8是&#xff0c;用于自动部署&#xff0c;扩缩和管理容器化应用程序的开源系统&#xff0c;它将组成应用程序的容器&#xff0c;组合成逻辑单元&#xff0c;便于管理和服务发现。 k8s的作用 自动化上线和回滚、存储编排…

加工制造EUV极紫外光刻机的钼/硅反射镜的方法与技术

EUV光刻机使用的反射镜材质是具有极高精度的钼/硅反射镜。这是因为几乎所有材料对13.5nm的EUV都强烈吸收&#xff0c;故EUV光刻机不能采用DUV那样的透镜&#xff0c;只能采用反射式光学系统。又因为EUV波长与晶格参数接近&#xff0c;很容易发生衍射&#xff0c;反射率也很低&a…

vue3 指令详解

系列文章目录 TypeScript 从入门到进阶专栏 文章目录 系列文章目录前言一、v-model &#xff08;双向绑定功能&#xff09;二、v-bind(用于将一个或多个属性绑定到元素的属性或组件的 prop)三、v-if、v-else、v-else-if(用于根据条件选择性地渲染元素)四、v-show&#xff08;根…

iview table 表格合并行鼠标悬停时的高亮显示

背景&#xff1a; Iview里面的表格没有提供鼠标移入移出的事件。 而且当开启鼠标悬浮高亮的时候会显示异常&#xff0c;并没有高亮合并后的整行&#xff0c;还是高亮子行。 高亮前&#xff1a; 高亮异常情况&#xff1a; 解决后&#xff1a; 解决方案&#xff1a; 一、思路&…

leetcode“位运算”——只出现一次的数字

只出现一次的数字i&#xff1a; https://leetcode.cn/problems/single-number/ 给你一个非空整数数组 nums&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现一次的元素。 class Solution { public:int singleNumber(vector<i…

RedisTemplate序列化

SpringBoot整合Redis&#xff0c;配置RedisTemplate序列化。如果使用StringRedisTemplate&#xff0c;那么不需要配置序列化&#xff0c;但是StringRedisTemplate只能存储简单的String类型数据&#xff0c;如图&#xff1a; 如果使用StringRedisTemplate存储一个常规对象&#…

4《数据结构》

文章目录 绪论逻辑结构存储结构【物理结构】顺序和链式存储区别顺序表和数组区别数组和链表的区别链表结点概念链表为空条件链表文章http://t.csdnimg.cn/dssVK二叉树B树B树【MYSQL索引默认数据结构】B树和B树区别冒泡排序插排选排快排 绪论 数据结构&#xff1a;研究非数值计…

构建高效PythonWeb:GraphQL+Sanic

1.1 简介&#xff1a;在当今快速发展的技术时代&#xff0c;Web应用的性能和灵活性变得越来越重要。在众多技术中&#xff0c;GraphQL和Sanic以其独特的优势脱颖而出。GraphQL&#xff0c;作为一个强大的数据查询语言&#xff0c;为前端和后端之间的通信提供了极大的灵活性。而…

GPT实战系列-简单聊聊LangChain

GPT实战系列-简单聊聊LangChain LLM大模型相关文章&#xff1a; GPT实战系列-ChatGLM3本地部署CUDA111080Ti显卡24G实战方案 GPT实战系列-Baichuan2本地化部署实战方案 GPT实战系列-大话LLM大模型训练 GPT实战系列-探究GPT等大模型的文本生成 GPT实战系列-Baichuan2等大模…

GPT在地学、GIS、气象、农业、生态、环境等领域中的应用教程

详情点击链接&#xff1a;GPT在地学、GIS、气象、农业、生态、环境等领域中的应用教程 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的算法构架与底层逻辑 3)大模型的强大功能与应用场景 4)国内外经典大模型&#xff08;ChatGPT、LLaMA、Gemini、DA…

杨中科 ASP.NET MVC

ASP.NET Core 入门 什么是ASP.NET CORE 1、ASP.NET Core是.NET中做Web开发的框架 2、ASP.NET Core MVC 传统MVC项目&#xff0c;前后端都做在一起 3、ASP.NET Core Web API: 前后端分离、多端开发。(是属于MVC中的一部分) 4、ASPNET Core MVC其实包含Web API&#xff0c;不过…

Excelize 入选“2023开源创新榜”优秀开源项目

近日&#xff0c;由中国科协科学技术传播中心、中国计算机学会、中国通信学会、中国科学院软件研究所共同主办&#xff0c;CSDN 承办的 2023 开源创新榜专家评审会在国家科技传播中心成功举办。Excelize 电子表格文档开源基础库入选“2023开源创新榜”优秀开源项目。 评审委员…

实现在一个文件夹中找到特定名称特点格式的文件

当你要在一个文件夹中查找特定名称和格式的文件时&#xff0c;你可以使用 Python 的 os 和 fnmatch 模块。以下是一个简单的脚本示例&#xff0c;它可以在指定目录中查找文件&#xff1a; import os import fnmatchdef find_files(directory, pattern):"""在指…

突破技术边界:R与jsonlite库探秘www.snapchat.com的数据之旅

概述 Snapchat是一款流行的社交媒体应用&#xff0c;它允许用户发送和接收带有滤镜和贴纸的照片和视频&#xff0c;以及创建和观看故事和发现内容。Snapchat的数据是非常有价值的&#xff0c;因为它可以反映用户的行为、偏好和趋势。然而&#xff0c;Snapchat的数据并不容易获…

【React系列】Portals、Fragment

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) Portals 某些情况下&#xff0c;我们希望渲染的内容独立于父组件&#xff0c;甚至是独立于当前挂载到的DOM元素中&am…

《路由与交换技术》---简答题

1、什么是STP&#xff1f;解决什么问题&#xff1f; STP代表生成树协议&#xff08;Spanning Tree Protocol&#xff09;。它是用于在计算机网络中解决环路问题的一种协议。 STP的主要目标是消除环路&#xff0c;保持网络的稳定性和可靠性&#xff0c;同时提供冗余路径以实现网…

matlab如何标定相机内外参和畸变参数

关于内外参矩阵和畸变矩阵可以学习 https://blog.csdn.net/qq_30815237/article/details/87530011?spm1001.2014.3001.5506 在APP中找到 camera Calibrator 点击 Add Images&#xff0c;导入拍照图片。标定20张左右就够了&#xff0c;然后角度变一下&#xff0c;但不需要变太…

【一】使用vue-cli创建vue3的helloworld项目

不再推荐使用vue-cli命令创建vue3的项目&#xff0c;vue-cli 是 Vue 早期推出的一款脚手架&#xff0c;使用 webpack 创建 Vue 项目。后期推荐使用 create-vue&#xff0c;create-vue 是 Vue3 的专用脚手架&#xff0c;使用 vite 创建 Vue3 的项目(关注【二】使用create-vue创建…

Android RecyleView 使用 Gilde 加载图片引发的卡顿问题

Glide 是一个用于 Android 的图片加载和缓存库。它可以帮助开发者快速、高效地加载网络图片、本地文件和视频帧&#xff0c;并且能够自动缓存图片数据&#xff0c;减少网络请求。Glide 具有良好的性能和易用的 API&#xff0c;支持常见的图片加载需求&#xff0c;例如图片压缩、…