Transmission

TCP,UDP

左心房为你撑大大i 提交于 2020-08-19 16:26:17
TCP协议:全称是Transmission Control Protocol,中文翻译为传输控制协议; 特点:1、需要先建立连接 2 、可靠安全不丢失数据,但速度慢 UDP协议:全称是User Datagram Protocol,中文翻译为用户数据报协议。 特点:1、无需建立连接 2 、不可靠,可能丢失数据,但提升了速度 TCP协议:安全,但速度慢 不能接受任何数据丢失现象 UDP协议:不安全,但速度快。 能接受数据丢失现象,要求速度 TCP协议 1、服务器端(持续开启,先出现) /* * 服务器端必须先编写,先开启 * */ public static void main(String[] args) throws Exception { //1、创建服务器端 ServerSocket ss = new ServerSocket( 10001 ); //2、尝试和客户端进行连接 //如果连接客户端成功,返回一个socket对象 //如果连接客户端失败,返回一个null Socket s = ss.accept(); //这句会阻塞线程 //3、读取客户端发来的信息 InputStream input = s.getInputStream(); //展示控制台 byte [] arr = new byte [ 1024 ]; int len = input.read(arr);

C# Stocket

一世执手 提交于 2020-08-18 12:21:43
介绍   1、TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。   2、UDP(User Data Protocol,用户数据包协议)是与TCP相对应的协议。它属于TCP/IP协议族中的一种。   3、应用层(Application):应用层是一个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业商业应用和互联网应用。   4、传输层(Transport):传输层包括UDP和TCP,UDP几乎不对报文进行检查,而TCP提供传输保证。   5、网络层(NetWork):网络层协议由一系列协议组成,包括ICMP、IGMP、RIP、OSPF、IP(v4、v6)等。   6、链路层(Link):又称为物理数据网络接口层,负责报文传输。 网络4层协议 原理图 端口的分类   1、公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯,明确了某种服务的协议。例如:80端口实际上总是HTTP通讯。   2、注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说许多服务绑定于这些端口

救救孩子吧,到现在还搞不懂TCP的三次握手四次挥手

喜你入骨 提交于 2020-08-17 20:02:08
  前几天发了一个朋友圈,发现暗恋已久的女生给我点了个赞,于是我当晚辗转反侧、彻夜未眠!想着妹子是不是对我有感觉呢?不然怎么会突然给我点赞呢?要不趁机表个白?   于是第二天我在心中模拟了多次表白的话语,连呼吸都反复练习。到了晚上,我拨通了妹子的微信语音,还没等对方开口我就按捺不住内心的想法,开始自说自话,一阵狂乱的表达…足足五分钟一气呵成,一切都是那么自然!   可是在我说完之后却半天都没有等到妹子的回应…过了好一会儿才听到对方的声音:“喂!喂!我这边信号不好,你刚刚在说啥我一句都没听到,我在跟我男朋友逛街呢…”。   我挂断了电话,我也对我这次失败的表白进行了深度的总结!原因就是因为我没有学好TCP!   如果我懂TCP,那我在表白之前至少要先问一句“在吗?”!先建立可靠的连接,确保连接正常才能开始表白!   如果我懂TCP,那我在我说话的过程中需要对方不断的确认,这样才能保证我说的每一句话对方都能听到!这样我才能表白成功!   所以一切都是因为我没有学好TCP,于是我走进了图书馆… 我们先来看下TCP的定义: TCP全称为Transmission Control Protocol(传输控制协议),是一种 面向连接 的、 可靠 的、 基于字节流 的 传输层 通信 协议 。TCP是为了在不可靠的互联网络上提供可靠的 端到端 字节流而专门设计的一个传输协议。  

【Study】 TCP/IP协议 -- 计算机网络概述(01)

不想你离开。 提交于 2020-08-16 03:26:44
一.计算机网络概述篇 1.计算机网络的分类 按网络的作用范围和网络的使用者分类: 2.ISP概念 ISP(Internet Service Provider):网络服务提供商 中国电信、中国移动、中国联通都属于这几种类型。 由主干ISP到地区的ISP连接到对应的地区下的学校、公司。 3.OSI七层模型 “应、表、会、传、网、数、物” OSI在市场化过程中困难重重,TCP/IP在全球范围成功运行,OSI最终并没有成为广为使用的标准模型。(主要原因:专家缺乏实际经验、制定周期过长、模型设计不合理) 4.TCP/IP四层模型(使用更广泛) “应、传、网、网接” 其中 应用层涉及的协议:HTTP、FTP、SMTP、POP3; 传输层涉及的协议:TCP、UDP 网络层涉及的协议:IP 网络接口层涉及的协议:Ethernet、PPP 5.两个计算机互相通讯层次 6.RTT—网络性能指标 使用ping命令可以查看RTT 7.物理层的作用 ①连接不同的物理设备; ②传输比特流; 8.数据链路层的作用 ①封装成帧; ②透明传输; ③差错监测(物理层只管传输比特流,无法控制是否出错) 封装成帧 数据链路层只进行数据的检测,不进行纠正。 9.MTU 最大传输单元:MTU(Maximum Transmission Unit) 数据链路层的数据帧也不是无限大的。数据帧长度受MTU限制。 路径MTU

RTCP实现代码分析

十年热恋 提交于 2020-08-16 01:26:58
场景 RTP over TCP中 RTCP的实现代码 std::string strName = "fengyuzaitu@51.cto"; int nLength = 2 + 2 + 8 + 20 + 4 + 6 + strName.size(); std::string strRTCPBuffer; //对齐四个字节,并且让最后的字符是0x00,保证wireshark抓包最后显示Type: END (0) int nRet = (strName.length() + 2) % 4; if (0 != nRet) { nLength = nLength + 4 - nRet; } else { nLength = nLength + 4; } strRTCPBuffer.resize(nLength); //$+channel strRTCPBuffer[0] = 0x24; strRTCPBuffer[1] = 0x01; //RTCP报文长度,一段是RTCP统计数据内容,一段是RTCP源描述 *(unsigned short*)&strRTCPBuffer[3] = htons(nLength - 4); //Sender Report strRTCPBuffer[4] = (char)(2 << 6); // V=2, P=RC=0 strRTCPBuffer[5] =

【英语竞赛】基础词汇

余生颓废 提交于 2020-08-15 21:38:32
2020.08.10 p47-48 whale vt. 猛揍;使惨败 vi. 捕鲸 n. 鲸;巨大的东西 whip vt. 抽打;搅拌 n. 鞭子;抽打 vi. 抽打;急走 wholly adv. 完全地 wreck n. 失事;残骸;[口]失去健康的人 vt. 破坏(destroy) veteran n. 经验丰富的人; 老兵 /'vet(ə)r(ə)n/ vibrate v. 振动 /vaɪ’breɪt/ volt n. 伏特 voltage 电压 well-being 健康,幸福 well-off 顺利的;富裕的 weary adj. 疲倦的;令人厌烦的(tired) v. 厌烦;疲倦 webcast 网播 2020.08.11 p45-46 trace vt. 追踪,查探;描绘;回溯 n. 痕迹,踪迹 tractor n. 拖拉机;牵引机 trademark n. (注册)商标 transmission n. 传送, 传播 trash vt. 捣坏; 破坏; 弄脏 n. 拙劣的材料,垃圾 tray n. 盘子, 托盘 trifle n. 琐事;少量;蛋糕 vi. 开玩笑/'traɪfl/ trim vt. 修剪,减少,装饰 adj. =slim neat n. 修剪,装饰 triumph n. 胜利 vi. 获胜; 克服/'traɪʌmf/ toll 伤亡人数,损害,通行费

webrtc音频QOS方法二(opus编码器自适应网络参数调整功能)

筅森魡賤 提交于 2020-08-15 16:50:25
一、opus函数调用接口 二、自适应网络调整参数介绍 1、WebRtcOpus_SetBitRate Opus支持码率从6 kbit/s到510 kbit/s的切换功能,以适应这种网络状态。以20ms单帧数据编码为例,下面是各种配置的Opus的比特率最佳点。 2、WebRtcOpus_SetPacketLossRate 动态配置丢包率,是为了动态调整opus FEC的冗余度。opus编码器自带inband FEC冗余算法,增强抗丢包能力。大概使用的是非对称冗余协议。将一些关键信息多次编码重传。 3、WebRtcOpus_EnableFec/DisableFec 开启或者关闭inband FEC功能。 走读opus代码,发现只有silk编码支持inband FEC。函数实现调用栈如下: opus_encode_native ->silk_Encode ->silk_encode_frame_Fxx ->silk_encode_frame_FLP ->silk_LBRR_encode_FLP celt不支持inband FEC。猜测celt是通过改变参考帧长度,来增强抗网络丢包能力。 4、WebRtcOpus_EnableDtx/DisableDtx DTX:Discontinuous Transmission。不同于music场景,在voip场景下,声音不是持续的

Linux之网络管理实战 (1)

你离开我真会死。 提交于 2020-08-14 10:48:50
OSI简介 简介 OSI(Open System Interconnect),即开放式系统互连。 一般都叫OSI参考模型,是ISO组织在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即OSI开放系统互连参考模型。 OSI:7层次结构/功能 应用层 网络服务与最终用户的一个接口。 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 表示层 数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层) 格式有,JPEG、ASCll、EBCDIC、加密格式等 [2] 会话层 建立、管理、终止会话。(在五层模型里面已经合并到了应用层) 对应主机进程,指本地主机与远程主机正在进行的会话 传输层 定义传输数据的协议端口号,以及流控和差错校验。 协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层 网络层 进行逻辑地址寻址,实现不同网络之间的路径选择。 协议有:ICMP IGMP IP(IPV4 IPV6) 数据链路层 建立逻辑连接、进行硬件地址寻址、差错校验 [3] 等功能。(由底层网络定义协议) 将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。 物理层 建立、维护、断开物理连接。(由底层网络定义协议) TCP/IP

Linux操作系统之网络实战1

孤人 提交于 2020-08-14 08:34:24
一、osi简介 1、osi Open System Interconnection 开放系统互联模型, 2、开放式系统互联 ① 国际标准化组织(ISO)制定 ② 定义了不同计算机互联的标准 ③ 设计和描述,计算机网络通信的框架 全世界网络通信的工作分为7层 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 制定OSI的优势 开放 厂商兼容性 易于理解、学习 模块化工程 故障排除 2、OSI:7层次结构/功能 ① 应用层 应用程序用户的信息产生的原始数据 (QQ/YY/爱奇艺/吃鸡) ② 表示层 对数据进行加工,什么格式,是否压缩,是否加密 (快速传递 安全传递 鸡毛信 ) ③ 会话层 保持会话通道/全双工/半双工 (身份信息 电话/对讲机) ④ 传输层 对数据进行分段 重组 端口号 (传输效率) ⑤ 网络层 封装IP地址 寻址 路由 (总目标,全球地址) ⑥ 数据链路层 MAC地址,局域网 (分段目标,局部地址、邮递员) ⑦ 物理层 使用传输介质传输比特流 ( 电流/光/无线信号/4G/5G) 3、TCP/IP:5层结构/功能 TCP/IP: Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议 5层结构是把应用层表示层会话层组合到一起形成了应用层。其余部分和7层结构一样。 4、TCP/IP:4层结构/功能

Web探索之旅 | 第三部分第三课:协议

浪尽此生 提交于 2020-08-14 06:53:38
>作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。 转载请注明出处。 原文: https://www.jianshu.com/p/a3069dd0a016 > 《Web探索之旅》 全系列 内容简介 前言 TCP 和 UDP 协议 HTTP,HTTPS,FTP 和 SMTP 总结 第四部分预告 1. 前言 之前的课 Web探索之旅 | 第三部分第二课:IP地址和域名 中,我们学习了 Client-Server 模型的客户端语言和服务器语言。 客户端语言有 HTML,CSS 和 JavaScript。 服务器语言有 PHP,Java,Python,Ruby,C#,还有新兴的 Go 语言(Google 推出的很强大的编程语言)。 不过,要使得 Web 中这么多机器之间能够相互通信,例如客户机 A 对服务器 E 说:“你好,请发送 baidu.com 这个网页给我”,是不能借助客户端或服务器语言的。这些语言只能为我们的网页服务。 那 Web 中的各个机器之间如何对话呢? 打个比方,电脑 A 对电脑 B 说:“您叫什么名字?”(电脑 A 说中文)。电脑 B 回答:“I beg your pardon?”(电脑 B 说英语,这句话的意思是“您说什么?”),那么这两台电脑因为语言不通,将会无法交流。 同样的,Web 中的各个机器,需要讲同一种语言,才能相互交流。 因此,IT