KCP协议:从TCP到UDP家族QUIC/KCP/ENET】的更多相关文章

行文前先安利下<再深谈TCP/IP三步握手&四步挥手原理及衍生问题-长文解剖IP >.<再谈UDP协议-浅入理解深度记忆> KCP协议科普 KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果. 纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,以 callback的方式提供给 KCP. 连时钟都需要外部传递进来,内部不会有任何一次系统调用.本文传输协议之…
TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.TCP/IP协议集包括应用层,传输层,网络层,网络访问层.其中应用层包括:超文本传输协议(HTTP):万维网的基本协议.   文件传输(TFT…
转载地址:https://blog.csdn.net/qq_34988624/article/details/85856848 1.为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样.计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用.只有把它们联合起来,电脑才会发挥出它最大的潜力.于是人们就想方设法的用电线把电脑连接到了一起. 但是简单的…
socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIXDomain Socket.虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包.计算校验和.维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程.这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的.UNIX Domain…
运输层简介 运输层的通信实体不再是主机,而是主机中的进程.运输层的通信是一台主机的进程和另一台主机的进程进行数据交换. 运输层作用 运输层向上层的应用层提供通信服务 运输层为进程提供端到端的通信 运输层协议 传输控制协议(TCP):面向连接的可靠传输协议 用户数据报协议(UDP):无连接的不可靠协议 应用层对UDP和TCP的使用 应用 应用层协议 运输层协议 域名解析 DNS UDP 文件传送 TFTP(简单文件传送协议) UDP 万维网 HTTP TCP 电子邮件 SMTP TCP 文件传送…
TCP/IP协议: 传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是Internet最基本.最广泛的协议.它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准.它的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求 UDP: 用户数据报协议(User Datagram Protocol).UDP协议是一个面向无连接的协议.传输数据时,不需要…
软件开发架构 什么是软件开发架构 1.软件架构是一个系统的草图. 2.软件架构描述的对象是直接构成系统的抽象组件. 3.各个组件之间的连接则明确和相对细致地描述组件之间的通讯. 4.在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象. 5.在面向对象领域中,组件之间的连接通常用接口来实现. 总结:软件架构是软件系统的基础结构,这个结构中包含了软件的元素,元素间的关系,元素及其关系的属性. CS架构模式 CS(Client/Server):客户端----服务器结构.C/S结构在技术…
1) TCP是Transfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议.通过TCP协议传输,得到的是一个顺序的无差错的数据流.发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作.[这是一种典型的服务端与客户端进行交互的模型] T…
1. UDP 1.1 发送方式(如何发送) 面向无连接. 无状态服务. 不保证不丢失,不保证按顺序到达. 1.2 发送形式(发送的是什么) 基于数据报. 一个一个的发送,一个一个的接收. 1.3 使用场景 a. 需要资源少,网络情况较好的内网,或者对于丢包不敏感的应用: b. 不需要建立一对一连接,可以广播的应用: c.处理速度快,时延低的场景: 2. TCP 2.1 发送方式(如何发送) 面向连接.在通信之前,先建立连接.建立连接就是为了在客户端和服务端维护连接而建立一定的数据结构来维护双方交…
有句话叫做一流企业定标准.二流企业做品牌.三流企业卖技术.四流企业做产品.Google 似乎在冲着一流企业的目标迈进.去年,Google 已经从以 SPDY 为基础的 HTTP 协议 16年 来的首个更新 HTTP/2正式定稿中尝到了甜头.最近 Google 又开始考虑更进一步,用改进版的 UDP 协议 QUIC 给 web 提速.根据它近日公布的性能评估,这一融合了 UDP 与 TCP 优势的协议似乎提升效果明显. QUIC 是 Quick UDP Internet Connection 的简…
WeTest 导读 云真机已经支持手机端的画面投影.云真机实时操作,对延迟的要求比远程视频对话的要求更高(100ms以内).在无线网络下,如何更实时.更可靠的传输视频流就成了一个挑战.通过websocket.RTMP.UDP的比较,最后选择了可靠的UDP协议KCP来进行实时音视频的传输. 1 简介 KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果.纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在上一篇博客中我详细介绍了809协议的内容.809协议规范了通信的报文,通信的规则等,但是并没限制通信使用的传输协议.这里,我将分别介绍利用TCP和UDP传输协议来实现的809协议对接的方法. 2.TCP和UDP的介绍 TCP协议和UDP协议均是面向传输层的一种协议.而我们常说的HTTP协议则是面向应用层的一种协议. 我们常说的TCP/IP协议,则是一个协议簇…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在上一篇博客中我详细介绍了809协议的内容.809协议规范了通信的报文,通信的规则等,但是并没限制通信使用的传输协议.这里,我将分别介绍利用TCP和UDP传输协议来实现的809协议对接的方法. 2.TCP和UDP的介绍 TCP协议和UDP协议均是面向传输层的一种协议.而我们常说的HTTP协议则是面向应用层的一种协议. 我们常说的TCP/IP协议,则是一个协议簇…
ISO/OSI的网络模型架构 TCP/IP参考模型的层次结果 以太网头部结构 以太网属于数据链路层, 属于最基本的协议结构 IP协议 IP协议为TCP, UDP, ICMP提供最基本的数据传输通路 ICMP协议 ICMP协议用于传递差错信息, 时间, 回显, 网络信息等报文数据, ICMP在IP报文中的位置为: 通过ICMP协议, 判断局域网的某台机器是否在线的文章: linux:C语言通过ICMP局域网内部主机是否存活:http://www.cnblogs.com/diligenceday/p…
kcp协议是传输层的一个具有可靠性的传输层ARQ协议.它的设计是为了解决在网络拥堵情况下tcp协议的网络速度慢的问题.kcp力求在保证可靠性的情况下提高传输速度.kcp协议的关注点主要在控制数据的可靠性和提高传输速度上面,因此kcp没有规定下层传输协议,一般用udp作为下层传输协议,kcp层协议的数据包在udp数据报文的基础上增加控制头.当用户数据很大,大于一个udp包能承担的范围时(大于mss),kcp会将用户数据分片存储在多个kcp包中.因此每个kcp包称为一个分片. 为了提供可靠性,kcp…
[-] 可能的用途 选择通讯协议 协议的设置 确定计算机的名称 TCP 连接初步 接受多个连接请求 UDP 初步 关于 Bind 方法   利用 WinSock 控件可以与远程计算机建立连接,并通过用户数据文报协议 (UDP)或者传输控制协议 (TCP)进行数据交换.这两种协议都可以用来创建客户与服务器应用程序.与 Timer 控件类似,WinSock 控件在运行时是不可见的. 可能的用途 创建收集用户信息的客户端应用程序,并将收集的信息发送到某中央服务器. 创建一个服务器应用程序,作为多个用户…
IP:网络层协议: TCP和UDP:传输层协议: HTTP:应用层协议: SOCKET:TCP/IP网络的API. TCP/IP代表传输控制协议/网际协议,指的是一系列协议. TCP和UDP使用IP协议从一个网络传送数据包到另一个网络.把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口.TCP和UDP是高速公路上的"卡车",它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等.       TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议.虽…
TCP Transmission Control Protocol,传输控制协议,传输层通信协议. 采用“带重传的肯定确认”(Positive Acknowledge with Retransmission)技术实现数据传输服务的可靠性. 超时重传:如果发送端实体在合理的往返时延(RTT)内未收到ACK确认,则假定数据包已丢失并重传: TCP用一个校验和函数来检验数据是否有错误,在发送和接收时均要计算校验和: MD5认证对数据进行加密: TCP采用滑动窗口机制提高网络吞吐量.同时解决端到端的流量…
OSI 七层模型 我们一般使用的网络数据传输由下而上共有七层,分别为物理层.数据链路层.网络层.传输层.会话层.表示层.应用层,也被依次称为 OSI 第一层.第二层.⋯⋯. 第七层. 如下图: 各层功能简介 1.物理层(Physical Layer) 物理层位于 OSI 参考模型的最低层,它直接面向原始比特流的传输.为了实现原始比特流的物理传输,物理层必须解决好包括传输介质.信道类型.数据与信号之间的转换.信号传输中的衰减和噪声等在内的一系列问题.另外,物理层标准要给出关于物理接口的机械. 电气…
原文出处: 碧雪轩的博客 TCP   HTTP   UDP: 都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务. TCP   HTTP   UDP三者的关系: TCP/IP是个协议组,可分为四个层次:网络接口层.网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议. 因此,HTTP本身就是一个协议,是…
网络编程 网络模型 *OSI参考模型 *Tcp/IP参考模型 网络通读要素 *IP地址 *端口号 *传输协议 1.找到对方Ip 2.数据要发送到对方指定的的应用程序上,为了标识这些应用程序,所经给这些网络应用程序都用数字进行标识. 为了方便称呼这个数字,叫做端口,逻辑端口.0-65535任选.0-1024端口被系统所用.mysql:3306 web:80 tomcat:8080 ftp:21 远程:3389 端口只能有一个,不能相互冲突 3.定义通信规则,这个通讯规则. 检测网卡是否出问题,可以…
总结 : 通过学习 TCP/IP 基础, 并总结相关笔记 和 绘制思维导图 到博客上, 对 TCP/IP 框架有了大致了解, 之后开始详细学习数据链路层的各种细节协议, 并作出笔记; 博客地址 : http://blog.csdn.net/shulianghan/article/details/40045487 一. TCP/IP 分层 思维导图 : TCP / IP 四层简介 : -- 应用层 : Telnet, FTP, SMTP, SNMP, DNS, URI, HTML, HTTP 等协…
TCP   HTTP   UDP: 都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务. TCP   HTTP   UDP三者的关系: TCP/IP是个协议组,可分为四个层次:网络接口层.网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议. 因此,HTTP本身就是一个协议,是从Web服务器传输超文本到…
一.先来一个讲TCP.UDP和HTTP关系的 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议. 因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议. 2.HTTP协议是建立在请求/响应模型上的. 首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器, 请求…
TCP和UDP基本原理 传输层的主要任务就是建立应用程序间的端到端连接,并且为数据传输提供可靠或不可靠的通信服务,TCP/IP协议族的传输层协议主要包括TCP和UDP ,TCP是面向连接的可靠的传输层协议,它支持在不可靠网络上实现面向连接的可靠的数据传输 ,UDP是无连接的传输协议,主要用于在相对可靠的网络上的数据传输,或用于对延迟较敏感的应用等. 1.传输层的作用 a>.提供面向连接或无连接的服务 b>.维护连接状态 c>.对应用层数据进行分段和封装 d>.实现多路复用 e>…
OSI为Open System Interconnection的缩写,意为开放式系统互联,国际标准化组织(ISO,International Organization for Standardization)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架. ①  物理层:包括对连接到网络上的设备描述其各种机械的.电气的.功能的规定(给予电气特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0) 数据传送单位:比特流bit 典型设备:中继器.集线…
一.TCP/UDP,SOCKET,HTTP,FTP简析   TCP/IP是个协议组(主要解决数据如何在网络中传输),可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议 传输层:TCP协议与UDP协议 应用层:FTP.HTTP.TELNET.SMTP.DNS等协议  HTTP是应用层协议,主要解决如何包装数据,其传输都是被包装成TCP协议传输.可以用SOCKET实现HTTP. SOCKET是对TCP/IP协议的封装,Socket本身并…
一.计算机网络 1.什么是计算机网络:把分布在不同地理位置的计算机与专门的网络设备用通信线路互相连成一个规模大.功能强的系统,从而使众多计算机可以方便地互相传递信息.共享软件.硬件.数据信息等.简单来说,计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的的集合,它是计算机技术和通信技术相结合的产物.  2.计算机网络的功能  a.数据通信  b.资源共享  c.提高系统的可靠性  d.分布式网络处理和负载均衡 3.计算机网络的组成  1.通信子网:由网卡.线缆.集线器.中继器.交换机.…
IP:网络层协议: TCP和UDP:传输层协议: HTTP:应用层协议: SOCKET:TCP/IP网络的API. TCP/IP代表传输控制协议/网际协议,指的是一系列协议. TCP和UDP使用IP协议从一个网络传送数据包到另一个网络.把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口.TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等. TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议.虽然TCP和UDP都是用…
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.下面将介绍DNS分别在什么情况下使用这两种协议. TCP与UDP简介    TCP是一种面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协议.UDP---用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务. TCP与UDP的区别    UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同.TCP协议中包含了专门的…