首先,选择你希望服务器使用的通讯协议。 在本章第一节将介绍可用的协议以及各自优缺点。 下面一节将解释使用那些协议的典型设置及如何在你的服务器上运行。 ---- 协议 Git 可以使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议。 新版本的 HTTP 协议一般被称为“智能” HTTP 协议,旧版本的一般被称为“哑” HTTP 协议。 我们先了解一下新的“智能” HTTP 协议。 哑(Dumb) HTTP 协议 如果服务器没有提供智能 HTTP 协议的服务,Git 客户端会尝试使用更简单的“哑” HTTP 协议。 最后,与 HTTP/S 协议、Git 协议及本地协议一样,SSH 协议很高效,在传输前也会尽量压缩数据。 缺点 SSH 协议的缺点在于你不能通过他实现匿名访问。
实时互动直播系统必须使用UDP作为数据传输的协议,为什么一定是UDP。 假如我们使用TCP协议作为数据传输的协议,在极端网络情况下,TCP为了保证传输的可靠性,就会进入“发送->确认;超时->重发”的反复过程。 基于上面的原因,实时直播系统的数据传输协议必须是UDP。 RTP协议: ? RTCP协议 在使用RTP协议传输协议的时候,难免会发生丢包、抖动的问题: 网络质量引起的丢包; 数据传输过程中超过了带宽限制引起的丢包; 信号干扰引起的丢包; WebRTC在处理各种情况下的丢包情况都会有相应的处理策略
Vite学习指南,基于腾讯云Webify部署项目。
Websocket协议 基于TCP全双工协议,即可以从客户端向服务器端发送请求,也可以从服务器端主动向客户端发送消息。 HTTP协议只能从客户端向服务器发送请求,服务器端收到请求后,做出响应,发送给客户端 Websocket和HTTP都是基于TCP协议的,所以使用抓包工具可以抓到websocket的数据 抓包 F12 Fiddler Charles Wireshark Tcpdump HTTP协议簇:http、https协议。 https=http+ssl数据加密传输 websocket:ws,wss协议。 WebSocket Single Write Sampler 相当于http中的request 向服务器发起信息 WebSocket request-response Sampler 发送请求 同时获取响应信息 MQ协议
1、ARP协议简介 在《IP协议》中我们讲解了IP地址相关内容,IP协议中包含了目的IP地址和源IP地址,但是当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的 在OSI模型中ARP协议属于链路层;而在TCP/IP模型中,ARP协议属于网络层。ARP协议数据哪一层,不同的资料有不同的说法,这里不作重点讨论。 2、ARP协议结构 之前的文章《以太网数据包结构》可以看出图表示ARP协议的数据结构。 ? 这里先看一下典型的ARP包的组成结构。 ? 接下来的两个单字节长度的字段,称为硬件地址长度和协议地址长度,它们分别指出硬件地址和协议地址的长度,长度单位为字节。 在ARP协议包中留出硬件地址长度字段和协议地址长度字段可以使得ARP协议在任何网络中被使用,而不仅仅只在以太网中。
这些服务器都有自己的IP地址,并使用DNS协议(DNS protocol)进行通信。DNS协议主要基于UDP,是应用层协议(这也是我们见到的第一个应用层协议)。 ? 在整个DNS查询过程中,无论是重新定向还是最终取得对应关系,都是用户计算机和DNS服务器使用DNS协议通信。用户计算机根据DNS服务器的反馈,依次与下一层的DNS服务器建立通信。
rmtp协议和flv协议都是直播领域常用到的协议。 rtmp协议是网络流协议,是应用层协议,传输层用的是tcp,具有低延时的特性。 rtmp协议规定,播放一个流媒体有两个前提步骤:第一步,建立一个网络连接;第二步,建立一个网络流。其中,网络连接代表服务器端应用程序和客户端之间基础的连通关系。网络流代表了发送多媒体数据的通道。 播放一个rtmp协议的流媒体需要经过以下几个步骤:握手,建立连接,建立流,播放。rtmp连接都是以握手作为开始的。 协议总结如图: image.png flv协议:flv全称是flash video。是一种网络视频格式,用作流媒体视频格式。封装了音视频数据。 协议总结如图: image.png
---- HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。 HTTP和HTTPS均是由TCP协议封装而来,在进行http协议和https协议时,需要进行 三次握手和四次挥手 SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议 HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。 GET 获取当前主机该路径下的数据 HTTP/1.1是http协议的版本号 2. 特别是,如果没有使用SSL/TLS这样的传输层安全的协议,那么以明文传输的密钥和口令很容易被拦截。该方案也同样没有对服务器返回的信息提供保护。
MESI 协议 基于写失效(Write Invalidate) 如果某个 CPU 核心 写入一个 Cache Line,则会广播一个失效请求告诉所有其他的 CPU 核心。 参考:https://zh.wikipedia.org/wiki/MESI协议 by 斯武丶风晴 https://my.oschina.net/langxSpirit
tcp协议 TCP(Transmission Control Protocol)可靠的、面向连接的协议(eg:打电话)、传输效率低全双工通信(发送缓存& TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN+ACK[1],并最终对对方的 SYN 执行 ACK 确认。 通常情况是,客户执行主动关闭,但是某些协议,例如,HTTP/1.0却由服务器执行主动关闭。 tcp和udp的对比 TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。 UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。
那我们来粗略的看下 TCP 协议和 UDP 协议的优势和劣势吧 ---- UDP 协议 UDP(User Datagram Protocol),目标是在传输层提供直接发送报文(Datagram)的能力。 UDP 协议不会帮助拆分数据,它的目标只有一个,就是发送报文。 额,既然是直接发送报文, 为什么不直接调用 IP 协议呢? 如果裸发数据,IP 协议不香吗? ? IP 层不能区分应用,导致哪怕是在 IP 协议上进行简单封装,也需要单独一个协议。这就构成了 UDP 协议的市场空间。 目的差异 首先,这两个协议的目的不同:TCP 协议的核心目标是提供可靠的网络传输,而 UDP 的目标是在提供报文交换能力基础上尽可能地简化协议轻装上阵。 ---- 2. ---- 总结 这里针对 UDP 协议的内容进行了探讨, 互联网协议群的传输层大体过了一遍。协议对于我们来说是非常重要的,协议的制定让所有参与者一致、有序地工作。 学习协议的设计,对工作非常有帮助。
(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。 HTTP和HTTPS均是由TCP协议封装而来,在进行http协议和https协议时,需要进行 三次握手和四次挥手 SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议 HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。 GET 获取当前主机该路径下的数据 HTTP/1.1是http协议的版本号 2. 相关文章:HTTP协议详解(真的很经典)
概况 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。 ---- HTTP协议 HTTP协议详解之URL http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的 HTTPS协议概述 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer,基于SSL的HTTP协议)使用了HTTP协议,但HTTPS使用不同于 http的连接很简单,是无状态的 ,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 ,要比http协议安全。 HTTPS解决的问题: 1、信任主机的问题。
4. record 协议 record协议做应用数据的对称加密传输,占据一个TLS连接的绝大多数流量,因此,先看看record协议 图片来自网络: ? Record 协议 — 从应用层接受数据,并且做: 分片,逆向是重组 生成序列号,为每个数据块生成唯一编号,防止被重放或被重排序 压缩,可选步骤,使用握手协议协商出的压缩算法做压缩 加密,使用握手协议协商出来的 TLS协议版本,例如 TLS 1.2 version 是 { 3, 3 } length字段 : 即长度,tls协议规定length必须小于 214,一般我们不希望length过长,因为解密方需要收完整个 type字段 : ,用来标识当前record是4种协议中的哪一种, record压缩 : TLS协议定义了可选的压缩,但是,由于压缩导致了 2012 年被爆出[CRIME攻击,BREACH攻击] 链接 ,所以TLS协议规定使用 2.MAC-then-Encrypt,即先计算MAC,然后把 “明文+MAC” 再加密(块加密或者流加密)的方式,做流加密+MAC,和块加密+MAC。
前面我们认识了两个常用文本类的 RPC 协议,对于陌生人之间的沟通,用 NBA、CBA 这样的缩略语,会使得协议约定非常不方便。 如何解决协议约定问题? 接下来我们还是来看 RPC 的三大问题,其中注册发现问题已经通过注册中心解决了。我们下面就来看协议约定问题。 例如,原来要定义一个协议文件,然后通过这个文件生成客户端和服务端的 Stub,才能进行相互调用,这样使得修改就会不方便。Hessian2 不需要定义这个协议文件,而是自描述的。 原来有协议文件的场景,有点儿像两个人事先约定好,0 表示方法 add,然后后面会传两个数。 在上面的架构中,如果使用二进制的方式进行序列化,虽然不用协议文件来生成 Stub,但是对于接口的定义,以及传的对象 DTO,还是需要共享 JAR。
而时代在进步,ONC RPC 逐渐因为各种问题被替代,SOAP 协议就是替代者之一。 其次,协议修改不灵活。 传输协议问题 我们先解决第一个,传输协议的问题。 基于 XML 的最著名的通信协议就是SOAP了,全称简单对象访问协议(Simple Object Access Protocol)。 协议约定问题 接下来我们解决第二个问题,就是双方的协议约定是什么样的? 小结 原来的二进制 RPC 有很多缺点,格式要求严格,修改过于复杂,不面向对象,于是产生了基于文本的调用方式——基于 XML 的 SOAP; SOAP 有三大要素:协议约定用 WSDL、传输协议用 HTTP
如,今天有几个同事在针对高防CDN问题讨论的时,谈到WebSocket协议,那么一些非技术人员不知道WebSocket协议,WS协议和WSS协议原理及关系,今天就简单分享下。 WebSocket协议是html5的一种通信协议,该协议兼容我们常用的浏览器。例如Chrome、 Firefox、IE等。 WS协议和WSS协议两个均是WebSocket协议的SCHEM,两者一个是非安全的,一个是安全的。也是统一的资源标志符。就好比HTTP协议和HTTPS协议的差别。 最后墨者安全再说下WebSocket协议的特点:建立在 TCP 协议之上,服务端实现容易;与 HTTP 协议有良好的兼容性,握手时不容易被屏蔽,可以通过各种 HTTP 代理服务器;数据轻量,实时通讯;可以发送文本和二进制数据 因此WebSocket协议的出现,为很多人解决了关于扩展以及兼容性协议的烦恼问题。
modbus协议和电总协议的初步认知 在如今计算机网络高速发展,通讯、控制技术逐步成熟的大背景下,如何高效实现智能设备从现场到控制、管理各个阶层是具有重大意义的,为了更加便捷和统一的对基于现场总线的智能设备进行控制 (如基于RS232总线和RS485总线),工业领域制订了通用协议。 在本文中,主要讲述一下个人关于在工业控制领域中的部分电子控制器的通用语言(即协议)的理解。 目前我们经常使用到的两类通用协议是modbus协议和电总协议,下面分别就两种协议各自的特点进行相关研究,包括各种校验以及数据包格式等,在此并未讲述关于数据格式,如字节等知识,只是单纯的协议描述; 无论是电总协议还是 modbus协议 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。
不同的传输层协议(以及更多的应用层协议)正是我们使用“网”的不同方式的体现。 ? 网络分层的“艺术”观点 传输层最重要的协议为TCP协议和UDP协议。这两者使用“网”的方式走了两个极端。 两个协议的对比非常有趣。TCP协议复杂,但传输可靠。UDP协议简单,但传输不可靠。其他的各个传输层协议在某种程度上都是这两个协议的折中。我们先来看传输层协议中比较简单的UDP协议。 你可以将UDP协议看作IP协议暴露在传输层的一个接口。 那么,我们为什么不直接使用IP协议而要额外增加一个UDP协议呢? 一个重要的原因是IP协议中并没有端口(port)的概念。IP协议进行的是IP地址到IP地址的传输,这意味者两台计算机之间的对话。 我们进一步了解了UDP协议。如果已经掌握了IP协议,那么UDP协议就没有任何困难可言,它只是IP协议暴露在传输层上的接口。
RTSP协议转换RTMP直播协议 RTSP协议也是广泛使用的直播/点播流媒体协议,以前的项目里实现了一个RTSP协议转换RTMP直播协议的程序,为的是可以接收远端设备或服务器的多路RTSP直播数据, 实时转换为RTMP直播协议,推送到NginxRtmp等RTMP服务器,可以在PC上实现flash观看RTSP直播源(比如IPCAM)的需求,也能通过Nginx的HLS协议转换,在手机上观看。 要点分析 首先,程序的主要目的,是从多路RTSP输入源中提取AAC编码的音频和H.264编码视频数据,并生成RTMP数据包,然后组装RTMP推送协议,并发往RTMP服务器。 设计思路 根据上面分析的要点,首先要选择RTSP直播协议的读取。我们不需要从零做起,网络上有很多和RTSP相关的开源项目可以使用或借鉴,我选择了Live555。 第4和第5点,可以参照我之前的文章“RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播”的技术方法,来加以实现。
云 HDFS(CHDFS)为您提供标准 HDFS 访问协议,您无需更改现有代码,即可使用高可用、高可靠、多维度安全、分层命名空间的分布式文件系统。 只需几分钟,您就可以在云端创建和挂载 CHDFS,来实现您大数据存储需求。随着业务需求的变化,您可以实时扩展或缩减存储资源,CHDFS 存储空间无上限,满足您海量大数据存储与分析业务需求。
扫码关注云+社区
领取腾讯云代金券