WebRTC 通信原理

WebRTC 通信原理,第1张

在不同的网络环境(带有摄像头/麦克风多媒体设备)中,为两个浏览器实现点对点实时视频/语音通信有什么困难

1、了解对方的媒体格式、支持的最大分辨率和其他媒体信息?

2、要了解彼此的网络,就有可能找到一条通信链路?

3、两个终端还没有建立连接时,如何交换“媒体信息”和“网络信息”呢
为了保证两端都有正确的编码和解码,最简单的方法就是取它们的交集H264

注:有一种特殊的协议叫做Session Description protocol (SDP),可以用来描述上述信息 。

在webrtc中,参与视频通信的双方必须首先交换SDP信息,这样双方才能了解基本的SDP交换过程。
同样,在复杂的网络环境中,要在两端之间建立连接,必须有一个双方都可以访问的链路。
从图中可以看出,他们可以使用公用网段192沟通。

在web brtc通信过程中,这些与网络相关的信息也必须进行交换,以找到共同的交集。这个过程也被称为“网络协商”。
两个终端还没有建立连接时,如何交换“媒体信息”和“网络信息”呢

此时,所谓信号服务器信号服务器应该出现:
如上图所示,两个浏览器可以抽象的上层一层信令服务器(可以是一个或多个,根据实际的应用程序中,如果两个浏览器可以访问公共网络环境,如公共如果没有公共网络环境中,您可以设置一组服务器两端,即信号服务器A和信号服务器B,但这两套信令服务器必须能够相互通信),在信令服务器的帮助下,可以实现上述SDP信息和网络信息的交换。
交换SDP的过程大致如图所示:
1 Amy(假设一个人的名字)通过setLocalDescription方法保存自己的SDP信息,然后通过offer方法发送给信令服务器。

2 信息服务器将Amy的SDP转发给另一端的Bob(另一个虚构的名字),Bob将首先调用setremotedescription来保存Amy的SDP。

3然后Bob调用setLocalDescription方法来保存他的SDP,然后使用answer方法通过信令服务器将他的SDP发送给Amy

4 Amy收到Bob的SDP后,调用setRemoteDescription进行保存,双方完成SDP交换,找到交集。如果他们能达成协议,他们就可以建立一个p2p连接并开始通信。
但现实往往是残酷的。在中国的网络环境下,据统计,至少有一半的网络不能直接连接。我个人认为根本原因是:在互联网发展的早期,绝大多数IP4地址资源都被国外所占据。当轮到中国等发展中国家使用IP地址时,大多数计算机没有公网IP地址,只能通过路由器和交换机进行NAT转换,相当一部分NAT是对称的。基本上,没有办法播放它。在这种情况下,您只能使用前一节提到的转向服务器进行转移。此外,在视频对话框中,通常会有房间(或组)的概念,用来隔离一些服务。这部分逻辑也在信号服务器中实现。对端、信令服务器、stun/转接服务器后,整个1对1实时视频通信顺序图如下:
主要流程如下:

1 双方首先调用getUserMedia打开本地摄像头

2 向信令服务器发送apply_join请求以加入房间

3信令服务器通知我成功加入(joined),同时向其他人广播加入消息(other_joined)

4 第二个端开始创建peerConnection连接

5 PeerB创建报价,同时将SDP保存到本地机器(setLocalDescription),并通过信令服务器将SDP传递给peerA

6 在setLocalDescription之后,PeerB将异步触发“候选网络链接”的集合,这大致决定了它自己所有的NAT映射通过Stun退出。如果Stun返回的NAT是“对称的”,它将基本上无法穿透。再次通过Turn得到中继应答地址,并通过信令服务器将网络候选链接信息发送给peerA(即:启动网络协商)

7 peerA收到peerB的SDP后,开始响应(createAnswer),仍然通过信令服务器将SDP发送给peerB

8 同时,peerA也会开始收集网络候选链路,并通过信令服务器(即网络协商)将自己的网络信息发送给peerB。

通过这种方式,peerA和peerB相互交换了媒体信息和网络信息。如果他们能达成一致(即找到交叉点),他们就能开始沟通。

req是一个方法的返回,是一个ajax方式的请求服务器的方法的返回
GNT三相的意思
INT指数据库中常用函数中的"取整函数常用来判别一个数能否被另一个数整除
INIT标示符在gcc编译器中指定将该函数置于内核的特定区域。在内核完成自身
初始化之后,就试图释放这个特定区域。实际上,内核中存在两个这样的区域,
textinit和datainit—第一个是代码初始化使用的,另外一个是数据初始化使用的(
可以在进程间共享的代码和字符串常量之类的“文本(Text)”是在可执行程序中的“纯
区域”中使用的一个术语)。另外你也可以看到__initfunc和__initdata标志,前者和
__init类似,标志初始化专用代码,后者则标志初始化专用数据。
SMI是字幕文件

ping是一个DOS命令,一般用于检测网络通或不通 ,也叫时延,其值越大,速度越慢。
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所
希望的ICMP echo (ICMP回声应答)。
它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。
ping指的是端对端连通,通常用来作为可用性的检查, 但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保护你的电脑。

有服务器设置了,关闭显示,还可以节约电力。
清bios可以解决,不建议这么做。
另外你有几个显卡,多个的话都试试,先接扳带的,其实那也可以看是咋设 置的,
有的设置是进桌面那会才看见显示,

要解释路由器的概念,首先要介绍什么是路由。所谓“路由”,是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这种行为动作的机器,它的英文名称为Router。 路由器的基本功能如下:
第一,网络互连:路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信;
第二,数据处理:提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能;
第三,网络管理:路由器提供包括路由器配置管理、性能管理、容错管理和流量控制等功能。
简单的讲,路由器主要有以下几种功能:
第一,网络互连,路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信;
第二,数据处理,提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能;
第三,网络管理,路由器提供包括配置管理、性能管理、容错管理和流量控制等功能。
为了完成“路由”的工作,在路由器中保存着各种传输路径的相关数据--路由表(Routing Table),供路由选择时使用。路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。在路由器中涉及到两个有关地址的名字概念,那就是:静态路由表和动态路由表。由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。动态(Dynamic)路由表是路由器根据网络系统的运行情况而自动调整的路由表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。
为了简单地说明路由器的工作原理,现在我们假设有这样一个简单的网络。如图所示,A、B、C、D四个网络通过路由器连接在一起。
现在我们来看一下在如图所示网络环境下路由器又是如何发挥其路由、数据转发作用的。现假设网络A中一个用户A1要向C网络中的C3用户发送一个请求信号时,信号传递的步骤如下:
第1步:用户A1将目的用户C3的地址C3,连同数据信息以数据帧的形式通过集线器或交换机以广播的形式发送给同一网络中的所有节点,当路由器A5端口侦听到这个地址后,分析得知所发目的节点不是本网段的,需要路由转发,就把数据帧接收下来。
第2步:路由器A5端口接收到用户A1的数据帧后,先从报头中取出目的用户C3的IP地址,并根据路由表计算出发往用户C3的最佳路径。因为从分析得知到C3的网络ID号与路由器的C5网络ID号相同,所以由路由器的A5端口直接发向路由器的C5端口应是信号传递的最佳途经。
第3步:路由器的C5端口再次取出目的用户C3的IP地址,找出C3的IP地址中的主机ID号,如果在网络中有交换机则可先发给交换机,由交换机根据MAC地址表找出具体的网络节点位置;如果没有交换机设备则根据其IP地址中的主机ID直接把数据帧发送给用户C3,这样一个完整的数据通信转发过程也完成了。
从上面可以看出,不管网络有多么复杂,路由器其实所作的工作就是这么几步,所以整个路由器的工作原理基本都差不多。当然在实际的网络中还远比上图所示的要复杂许多,实际的步骤也不会像上述那么简单,但总的过程是这样的。
服务器是指管理和传输信息的一种计算机系统。
服务器是一种高性能计算机,作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。我们与外界日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在“组织”和“领导”这些设备。
它是网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络 *** 作系统的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。
服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。尤其是随着信息技术的进步,网络的作用越来越明显,对自己信息系统的数据处理能力、安全性等的要求也越来越高,如果您在进行电子商务的过程中被黑客窃走密码、损失关键商业数据;如果您在自动取款机上不能正常的存取,您应该考虑在这些设备系统的幕后指挥者————服务器,而不是埋怨工作人员的素质和其他客观条件的限制。
目前,按照体系架构来区分,服务器主要分为两类:
ISC(精简指令集)架构服务器:这是使用RISC芯片并且主要采用UNIX *** 作系统的服务器,如Sun公司的SPARC、HP公司的PA-RISC、DEC的Alpha芯片、SGI公司的MIPS等。
IA架构服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或与其兼容的处理器芯片的服务器,如联想的万全系列、HP的Netserver系列服务器等。
从当前的网络发展状况看,以“小、巧、稳”为特点的IA架构的PC服务器得到了更为广泛的应用。

服务器带宽是在给定时间内可以传输的数据量。它相当于一条路,需要通过的数据相当于其中的车辆。如果道路狭窄,车辆通过所需的时间会相对较慢,这也是带宽会在一定程度上影响网页的打开速度的原因。

如果把带宽比作自来水管,带宽实际上就是水管的流量,而流量就是流出的水的总量。带宽影响主机的访问速度,网络带宽的大小对于访问量大的网站尤为重要。

扩展资料

不同类型的平台需要不同的带宽,带宽分配不足会导致网络瘫痪、网速卡和下载速度慢。如果带宽太大,资源将被浪费,经济成本将非常高。

比如社区类平台是一种交互性较强的类型,用户是要在社区进行信息发布、讨论和聊天等互动的。因此,对于带宽的稳定性要求是最高的。针对这类平台,我们推荐的是大家选择独享类型的带宽,大小为20到50M之间即可。

对于游戏类平台,游戏本身是对带宽的要求不会有很高,但是需要保障游戏的画质和流畅度,以及不断增长的用户访问量,就需要对带宽的稳定性有很高的要求。在这里,我们为大家推荐的是独享带宽50M到100M。根据用户访问人数的增多,在进行带宽的升级即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12779517.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-27
下一篇2025-08-27

发表评论

登录后才能评论

评论列表(0条)

    保存