软件测试-传输层协议

584 阅读16分钟

一、TCP和UDP协议对比

1、相同点

TCP和UDP同属于传输层,他们的职责相同,都是向各个应用传递数据,他们是为应用提供数据传输服务的。但是他们都是建立在不可靠的IP层,IP层的主要职责是尽最大可能去传递数据。

2、不同特性

image.png

3、不同需求点

TCP:我们需要可靠的连接,甚至可以为此付出一部分开销

UDP:我们需要最大的效率和简单,甚至允许包的混乱

image.png

二、各种协议简写

1、Webrtc:支持网页浏览,语音对话或者视频对话

2、TCP:一种面向连接的、可靠的、基于字节流的传输层通信协议

3、SIP:会话发起协议。用于创建,修改和终止包括视频,语音,即时通信,在线游戏和虚拟现实等多种多媒体元素在内的交互式用户会话

4、H323:H.323工作在局域网,主要针对在网络传输声音,视频,数据会议上的应用。H.323网络元素:终端、多点控制单元、Gateways,Gatekeepers、边框元素和同行的元素(这三个可选,Gatekeepers简单理解就是地址解析,后两个简单理解就是管理域,但不直接管理端点)

5、ONVIF:是一个国际开放型网络视频产品标准网络接口开发论坛,主要是产品的接口进行兼容

6、PSIP:PDT用于移动管理、呼叫控制和网络维护等。pSIP协议还包括pSDP和基于XML的用户数据定义等内容,主要是警用的对讲机,做到跨省市县多级网络管理需求

7、RTP:是一个网络传输协议,说明了在互联网上传递音频和视频的标准数据包格式。用在很多单播应用中(初始涉及为多播)。RTP协议常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是创建在UDP协议上的。

8、CDN:内容分发网络:是指一种透过互联网互相连接的计算机网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、影片、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。

9、SDP:会话描述协议,之后被广泛用于和RTSP以及SIP协同工作,也可被单独用来描述多播会话

10、GB28181:gb28181协议是指支复持对接公安网系统,,指的是公安部提出的视频监控联网系统信息传百输、交换、控制技术要求

三、协议的详细介绍

1、TCP(Transmission Control Protocol ):传输控制协议 一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认信息(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失并进行重传。TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和。

2、UDP(User Datagram Protocol):用户数据包协议 UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法

3、WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写, 一个支持网页浏览器进行实时语音对话或视频对话的API

4、SIP协议:会话发起协议(Session Initiation Protocol,缩写SIP) 作为标准被提议用于创建,修改和终止包括视频,语音,即时通信,在线游戏和虚拟现实等多种多媒体元素在内的交互式用户会话。SIP与H.323一样,是用于VoIP最主要的信令协议之一

SIP的设计目标之一是提供类似公用交换电话网(PSTN)中调用处理功能的扩展集。在这个扩展集中,实现类似日常电话的操作:拨号,振铃,回铃音或者忙音,只是实现方式和术语有所不同。

SIP也实现了许多七号信令系统(SS7)中更高级的调用处理功能,尽管这两个协议相差很远。SS7是一个高度集中处理的协议,其特点表现为高复杂度的中心网络结构和无智能的哑终端(传统的电话机)。SIP则是一个点对点协议,所以它只需要一个相对简单的(因此也高度可扩展的)核心网络,而将处理工作下放给连接在网络边缘的智能端点(装有硬件或软件的终端设备)。SIP的许多功能在端点中实现,这与传统的SS7将其在网络核心设备实现的作法大异其趣。

尽管有许多其它的VoIP信号协议存在,SIP的特点在于它的支持者植根于IP团体而不是电信产业。SIP最初由IETF标准化和管理,而H.323VoIP协议则从传统上与ITU有着更多的联系。尽管如此,这两个组织对两个协议在某些方面都相互认可。

SIP与许多其它的协议协同工作,仅仅涉及通信会话的信令部分(control message)。SIP报文内容发送会话描述协议(SDP),SDP协议描述了会话所使用流媒体细节,如:使用哪个IP端口,采用哪种编解码器等等。SIP的一个典型用途是:SIP“会话”传输一些简单的经过报文的实时传输协议流。RTP本身才是语音或视频的载体。

SIP同HTTP相似并采用了后者的一些设计原则:SIP报文是人类可读的,并且也是采取请求-应答的流程。SIP的倡导者宣称它比H.323简单。但是,有些人则保留地认为尽管SIP的原始目标很简单,现在它已经演变得跟H.323一样复杂了。SIP借用了许多HTTP状态码,如常见的'404 not found'。

SIP网络单元

用户代理(User Agent) SIP用户代理是一个SIP逻辑网络端点,用于创建、发送、接收SIP消息并管理一个SIP会话。SIP用户代理又可分为用户代理客户端UAC(User Agent Client)和用户代理服务端UAS(User Agent Server)。UAC创建并发送SIP请求,UAS接收处理SIP请求,发送SIP响应。

代理服务器(Proxy)

SIP代理服务器(PROXY)在网络上位于SIP UAC和UAS之间,用于帮助UAC和UAS间的消息路由。PROXY也可以执行路由策略控制(比如,检查SIP消息的合法性,确认消息是否允许被路由)。PROXY在转发SIP消息时,可能根据需要修改SIP消息的某些部分。 注册服务器(Register)

SIP注册服务器用于接收SIP注册请求,并保存发送注册请求的UA的位置信息

5、协议族 H.323是一个系统的规范,它使用多个ITU-T和IETF协议。H.323系统的核心是:

· H.225.0 注册(Registration),同意(Admission)和状态(Status, 简称RAS),这是一个H.323终端和Gatekeeper之间提供地址解析和准入控制服务。

· H.225.0调用信令,这是两个H.323实体之间的任何使用,以创建沟通。

· H.245的控制协议的多媒体通信(multimedia communication),它描述的消息和程序,用于能力交换,打开和关闭逻辑通道音频,视频和数据,控制和适应症。

· 实时传输协议(RTP),这是用于发送或接收任何两个实体之间的多媒体信息(语音,视频或文本)

许多H.323系统还实现了在各个定义的其他协议ITU-T建议提供补充服务支持。

· H.235系列介绍,包括信令和媒体的安全范围内的H.323安全。

· H.239描述了双流使用的视频会议,视频直播,其他静止图像。

· H.450系列介绍各种辅助服务。

· H.460系列的定义,可能是由一个端点或Gatekeeper来实现选择性扩展,包括ITU-T建议书, H.460.17 , H.460.18,和 H.460.19网络地址转换(NAT)/防火墙(FW)穿越。

除了这些ITU-T建议,H.323还实现各种IETF 的RFC, 为媒体传输和媒体打包,包括实时传输协议 (RTP)。

H.323网络元素

终端

终端(Terminals)在H.323网络里是最基本的要素,因为这些设备,用户通常会遇到。他们可能会在一个简单的IP电话(IP phone)或一个功能强大的high-definition视频会议系统的形式存在。 H.323终端里面是一些被称为协议堆栈(Protocol stack),实现H.323系统中定义的功能。 协议栈将包括ITU - T的建议 H.225.0和H.245,以及RTP或以上描述的其他协议中定义的基本协议的运行情况。

图1中,描绘了一个提供支持语音、视频和各种形式的数据通信的完整复杂堆栈。在现实中,大多数的H.323系统不会实现这么多种的功能,但是这个堆栈的布局逻辑对于理解这些协议的关系很有帮助。

多点控制单元

多点控制单元 (MCU)是负责管理多点会议,并称为两个逻辑实体组成的多点控制器( MC )和多点处理器(MP)。在更实际的术语,MCU不像今天在PSTN中使用的会议桥(conference bridges)。然而,最显著的区别是H.323的MCU的可能是能够在除了传统的会议桥进行正常的音频混合,视频混合或切换。一些MCU还提供多点数据协作功能。这意味着终端用户的是,放入一个 H.323 MCU进行视频通话,用户可能会看到会议的所有其他参与者,而不是只听到他们的声音。

Gateways

网关设备,使H.323网络和其他网络,如PSTN或ISDN网络,之间的沟通。 如果在对话中的一方是利用一个终端,是不是一个 H.323终端,然后调用必须通过一个网关,以使双方的沟通。

Gatekeepers

Gatekeeper在H.323网络终端是一个可选组件,Gatekeeper和MCU包提供了多项服务。这些服务包括端点注册、地址解析、接入控制、用户验证,等等。看门人运行的各项职能,地址解析是最重要的,因为它能使两个端点接触没有任何端点知道对方的其他端点的IP地址。

Gatekeepers可能被设计成工作在两个信令模式之一,即“直接路由”和“gatekeeper routed”模式。直接路由模式是最有效和最广泛部署的的的模式。在这种模式下,端点使用RAS协议,以了解远程端点的IP地址和一个电话是直接创建与远程设备。在Gatekeeper routed模式下,调用信令要经由gatekeeper确认通过。 而后者需要Gatekeeper有更多的处理能力,这也给Gatekeeper在调用和能力提供辅助服务,代表端点的完全控制。

H.323端点使用RAS协议,沟通与把关。 同样,gatekeeper使用RAS与其他gatekeeper沟通。

注册到一个endpoint守在H.323的端点的集合被称为一个“zone”。这种设备的集合并不一定必须有一个相关的物理拓扑。相反,一个区域可能是完全合乎逻辑的,是由网络管理员任意定义。

Gatekeeper有能力邻居一起,使调用解决区域之间可能发生。 周边方便使用的拨号计划, 作为全球拨号计划。 拨号计划促进“跨区域”拨号,以便在不同的区域中的两个端点,仍然可以互相沟通。 边框元素和同行的元素

边界元素(Border Elements)和同行元素(Peer Elements)类似Gatekeeper, 都是可选实体,但不直接管理端点(endpoint),并提供一些RAS协议中未描述的服务。边框或同行元素的作用是通过了一个“管理域”(administrative domain)定义。

管理域是所有区域的集合,服务提供商的控制下的一个人或组织。在服务提供商网络中可能有数百或数以千计的网关设备、电话、视频终端,或其他H.323网络元素。

image.png

5、onvif

开放型网络视频接口论坛(英语:Open Network Video Interface Forum,简称ONVIF)是一个国际开放型网络视频产品标准网络接口开发论坛,由安讯士Axis Communications、博世Bosch Security Systems和索尼Sony于2008年成立并获得迅速发展。当前,该组织共有九家公司提供14种互相兼容的产品,其成员已增长至103个,包括12家正式会员、13家核心会员和78家用互会员。ONVIF在2008年11月发布了它的标准草案第一版

PDT系统间互联应基于全IP软交换技术,且满足以下需求:

· PDT系统间的用户移动性管理主要包括漫游登记/去登记、跨系统鉴权、遥晕/复活漫游用户、遥毙漫游用户和用户组管理功能。
· PDT系统间的呼叫控制功能主要包括单呼、组呼、PTT授权、越区切换、讲话方身份识别等。
· PDT系统间的数据业务包括跨系统短消息、状态信息和卫星定位信息。
· 跨系统动态重组功能。
· 为保证系统间语音传输质量,链路最大传输时延要求小于50毫秒,传输抖动要求小于20毫秒,每话路带宽要求不小于32kbps。
· 跨系统组呼呼叫建立时间要求不大于500毫秒。

6、PDT系统间互联架构

PDT系统之间的互联采用完全对等的系统互联架构。为满足中国警用“部”、“省”、“地、市”、“县”多级网络管理需求,将扁平状的IP网分为虚拟的多级互联管理系统。具体参见GA/T 1056-2013。

PDT系统间互联协议采用分层结构:

image.png

PDT系统间互联控制协议

PDT系统间互联控制使用pSIP协议,用于移动管理、呼叫控制和网络维护等。pSIP协议还包括pSDP和基于XML的用户数据定义等内容,基本语法规则参见YD/T 1522.1-2006。  

PDT系统间互联语音使用RTP协议,其中:

· RTP头的格式参见RFC  3550 RTP携带的媒体信息格式的描述参见RFC  3551
· 通过RTP头扩展可携带无线空口语音的LC、PI和EMS等信息;
· PDT系统必须具备透传带信道编码的空口语音信息能力

7、CDN

内容分发网络(英语:Content Delivery Network或Content Distribution Network,缩写:CDN)

一种透过互联网互相连接的计算机网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、影片、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。 内容分发网络的总承载量可以比单一骨干最大的带宽还要大。这使得内容分发网络可以承载的用户数量比起传统单一服务器多。也就是说,若把有100Gbps处理能力的服务器放在只有10Gbps带宽的数据中心,则亦只能发挥出10Gbps的承载量。但如果放到十个有10Gbps的地点,整个系统的承载量就可以到10*10Gbps。

同时,将服务器放到不同地点,可以减少互连的流量,进而降低带宽成本。 对于TCP传输而言,TCP的速度(throughput)会受到延迟时间(latency)与数据包漏失率(packet loss)影响。为了改善这些负面因素,内容分发网络通常会指派较近、较顺畅的服务器节点将数据传输给用户。虽然距离并不是绝对因素,但这么做可以尽可能提高性能,用户将会觉得比较顺畅。这使得一些比较高带宽的应用(传输高清画质的影片)更容易推动。

内容分发网络另外一个好处在于有异地备援。当某个服务器故障时,系统将会调用其他邻近地区的服务器服务,进而提供接近100%的可靠度。 除此之外,内容分发网络提供给服务提供者更多的控制权。提供服务的人可以针对客户、地区,或是其他因子调整。

8、RTP协议:

实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议

RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。用在很多单播应用中。RTP协议常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是创建在UDP协议上的。

9、SDP协议

会话描述协议(Session Description Protocol或简写SDP)描述的是流媒体的初始化参数。

SDP最初的时候是会话发布协议(Session Announcement Protocol或简写SAP)的一个部件,之后被广泛用于和RTSP以及SIP协同工作,也可被单独用来描述多播会话

新媒体平台广泛使用SDP协议来描述及交换媒体会话信息