正奥网

亚当和夏娃的故事 用亚当和夏娃的故事来解释TCP和UDP行情传输模式的异同

日期:2019-10-09 来源:亚当和夏娃的故事 评论:

[摘要]智喆(INTELLIFEED)行情分发系统,是闪策科技基于中国两大证券交易所低延时行情发布系统,为用户提供公平、高效、高速的行情优化、转发服务的系统。目前,上证所和深交所的Level-2行情数据通过Level-2行情生成引擎生成后,经行情发...……

智喆(INTELLIFEED)行情分发系统,是闪策科技基于中国两大证券交易所低延时行情发布系统,为用户提供公平、高效、高速的行情优化、转发服务的系统。

目前,上证所和深交所的Level-2行情数据通过Level-2行情生成引擎生成后,经行情发布中心发送到信息接收组件,传统第三方信息商经过一层的中转处理后,以TCP(Transmission Control Protocol,传输控制协议)方式转发给客户。

由于TCP点播机制是点到点传输,不能真正支持多个用户同时下载接收数据,效率较低,延迟较高,因此,为了满足用户对数据获取以及带宽使用效率的高要求,闪策科技规划开发了使用UDP(User Datagram Protocol,用户数据报协议)组播转发的智喆行情分发系统。

01

智喆特点和优势

1.接收行情后直接分发,不经过程序的中转清洗处理,效率更高。

2. 将行情通过UDP组播而非TCP分发,支持更多并发客户,高效公平,可扩展性强。

3. 允许投资者按需订阅行情信息,有针对性地对指定股票行情解码,避免了对整个市场行情解码造成的性能损耗,提升了带宽的使用效率。

4. 支持将需要的行情分类发布到指定的组播地址以满足投资者的需求。

5. 具备完善的合规控制,所有行情仅在授权机房内广播。

6. 支持实时查询用户列表、MAC地址、IP地址等信息,并提供详细日志报表

7. 沿用传统行情商的格式发布数据,以确保用户可以在做出尽量少的代码改动的情况下接入智喆系统。

8. 在配置不同组件时,也可同时支持期货交易所行情的接收与转发。

02

基本涵盖交易所发布的各种行情数据

上证所现有:

1.上证所Level-2 行情;

2.固定收益行情;

3.指数通行情;

深交所现有:

1.逐笔委托数据;

2.逐笔成交数据;

3.快照行情数据;

4.指数行情数据;

根据客户需要,可能增加的有:

1.上证所Level-1行情;

2.深交所Level-1行情;

3.上证所股票期权行情。

打完广告,今天我们就来讲讲TCP和UDP到底是什么鬼?

在交换机中有三种通信方式:单播(unicast)、广播(broadcast)、组播(multicast)。

单播解决了点对点通信的需求;

广播是点对多点的通信,其存在两个缺点:

1)只能在同一网段内实现广播;

2)不能指定目的主机,所有网段内的主机都将收到广播报文,存在带宽浪费。

组播也是点对多点的通信,完全克服了广播的两个缺点。组播协议的优势在于当需要将大量相同的数据传输到不同主机时:

1、能节省发送数据的主机的系统资源和带宽;

2、能够有选择地复制给又要求的主机;

3、可以穿越公网广泛传播,而广播则只能在局域网或专门的广播网内部传播;

4、节省网络主干的带宽。

因此组播技术被广泛应用于网络电视、在线直播、远程教育、视频会议等对带宽和数据交互实时性较高的信息服务。

假设亚当需要给夏娃10个野果,否则她会饿死。

连接建立

亚当对着夏娃大喊:爱妃,你听得到吗?(一次握手)

夏娃回应:孩他爹,我听得到!(两次握手)

亚当接着喊:那好,我扔果子给你吃,你接到果子就喊一声,一共十个。(三次握手)

运送货物于是亚当开始扔第一个,夏娃喊收到了一个。

亚当扔第二个,夏娃喊收到两个。

超时重传 ( timeout retransmit)

亚当扔第三个,可是夏娃迟迟没有回音,亚当意识到可能果子落到悬崖了,于是重新扔,夏娃喊收到第三个。

Advertised windowsize = 0

于是亚当连续扔了第四、五、六个,夏娃急了:孩他爹,慢点扔,臣妾忙不过来了…

Advertised windowsize > 0

于是亚当坐下休息,爱妃又开始叫了:继续扔吧。

亚当开始扔第七个,夏娃喊收到七个。

亚当和夏娃的故事 用亚当和夏娃的故事来解释TCP和UDP行情传输模式的异同

在亚当与夏娃的故事里,无限无意识与大无之间的创造性的关系再一次得到描绘。

因为亚当是无知的,所以知识树上的禁果非常吸引他,虽然他最先是犹豫的。禁果包含了善与恶的知识,对立的两面;它包含了意识,对意识和无意识的知识。

莱奥·麦卡雷最著名的作品大多是讲述婚姻中矛盾的喜剧,其中充满机智的对话、奔放的情感、直白的宗教狂热,还有一点点性爱场景,他脑中满是各种没法被实现的想法。制作人霍华德·休斯的退出让他揭露好莱坞的作品被束之高阁。

在亚当与夏娃的故事里,无限无意识与大无之间的创造性的关系再一次得到描绘。

在美赫巴巴的著作《神曰》里,亚当的这个想认识自己的欲望被称作原始心血来潮(Lahar),“我是谁?”《神曰》被题献给蛇,幻相,因为没有那个蛇,亚当就不会获得意识(同一个蛇被印度教徒称作Shesh Nag)。

关闭连接终于亚当扔完了,亚当喊:爱妃,果子扔完了,寡人去忙别的了。

夏娃回复:好的,我也休息一下,再见!

亚当:再见!

以上的过程类似TCP连接的过程,是不是效率非常慢呢。

接下来再看看什么是UDP连接?

连接建立

亚当对着夏娃大喊:爱妃,你听得到吗?

夏娃回应:孩他爹,我听得到!

亚当接着喊:那好,我扔果子给你吃,你接一下啊。

运送货物

于是亚当开始扔果子

一个、两个、三个…

运送结束

十个扔完。

但最终扔到对方山头到底有几个,亚当没有底,也许有的果子落到悬崖了,但是这个效率高啊,可以连续扔,以前扔10个果子需要一分钟,现在只需要20秒。

大家是不是发现UDP模式下,亚当并不知道夏娃是否收到了果子,但是请不用担心,在局域网内组播的模式下,数据丢包率较小,且通过修改优化服务器参数,可最大限度地避免或减少丢包现象。

看完这个故事,我们再来梳理下TCP和UDP是如何工作的。

TCP是这样工作的:

建立连接阶段

(1)双方在传输用户数据之前,需要探测对方是否工作;

(2)探测工作主要通过三次握手(SYN/ACK)与确认;

(3)双方就将要传输数据原点的编号(ISN)交换意见;

(4)双方就各自的仓库大小(Window Size)交换意见;

数据传输阶段

(5)TCP每次发送包裹之前,都要观察对方仓库的剩余空间,连续发送包裹的数量不能大于对方仓库的剩余空间;

(6)每发送一个TCP报文,保留一份copy,需要为该TCP报文启动一个闹钟;

(7)接收方接收到TCP报文,需要确认ACK;

(8)如果TCP报文的闹钟响了,而却没有对方的确认,将留存的copy重新发送出去,直到被确认;

(9)如果一直没有收到确认,将一直重传,直到达到重传次数上限,而释放(Reset)连接;

(10)如果检测到有丢包的发生,会减小发送的速率;

断开连接阶段

(11)TCP的连接是双向的管道,当一方决定不再发送数据,并且自己发送的数据全部得到确认,可以选择主动关闭(FIN)去向的管道;

(12)接收方无论自己是否愿意,必须确认FIN;

(13)如果主动关闭方的FIN没有在闹钟响之前得到确认,将会重传,直到被确认为止;

(14)被动响应方如果有数据需要继续传输,可以继续在单向的管道里继续传输数据;

(15)如果数据也传输完毕,可以关闭(FIN)来向的管道;

(16)同样主动关闭方必须确认对方的关闭连接信号FIN;

(17)被动响应方进入closed状态,释放的端口号可以立即使用;

(18)主动关闭方,则进入time_wait状态,逗留时间为2MSL (Maximum Segment Life),一旦超时退出,则进入closed状态,端口号资源释放;

UDP连接则是这个样子的

发送方

将用户数据打包,填入收件人地址(目的IP)、收件人姓名(目的端口号)、发件人地址(源IP)、发件人姓名(源端口号),然后就扔到邮筒(Internet)里去了。

接收方

接收方UDP如同传达室的老同志,看看包裹上的姓名(目的端口号),打个电话或发个消息通知用户(应用程序)前来取走。

传达室老同志每次收到一件包裹,是否需要确认?不需要!

那UDP包裹的发送方难道就没有办法知道包裹是否到达?既然UDP这个层次不提供消息确认,那就让接收方用户来确认不就OK了吗?

接收方再发一个UDP包裹,包裹里写着:“亲爱的,粉红色包裹已收到,谢谢”。

所以,基于UDP组播技术收听行情可以更加高效、快速和公平。

智喆行情分发系统,安利给大家!新产品上线期间,智喆推出断崖价,此价仅是近期有,懂的速来撩。

参考资料:

《用亚当和夏娃的故事,来解释一下传输协议》,作者车小胖,原文链接http://daily.zhihu.com/story/9028124

《【分享吧】基于UDP组播技术的行情》,作者叶枫,原文链接

https://mp.weixin.qq.com/s?src=11×tamp=1553576936&ver=1507&signature=hcS*wJUO23iXgMsn462OXMRvPw60U31dPlPvm-WiMLtteIdyk7LTfuJHHSZ7AOGCZbl1kFZgh2RrLJRYll6MwkPTQRh2eKCh6tTgKEQknC7OAFrmZuUsrt8NAk*HKGRZ&new=1

夏娃和亚当的传说 夏娃还给亚当吃了

蛇代表着幻相,而幻相,虽然不真却令人信服。幻相自身没有实质,但大无却很容易被它影响,它是那个说服夏娃去诱惑亚当、刺激娲坤氏去要孩子的蛇。知识树上的果子代表着通过诱惑(夏娃的引诱力)来制造欲望的事物。伊甸园即神的超越超越状态,潜在于本初之前的一切万物(亚当、夏娃和蛇)的原始状态。

他还构想过马可·波罗( Marco polo)的传记片以及一部由其好友希区柯克饰演凶手的恐怖电影。不过,麦卡雷推荐起来热情最高的剧本是他和讽刺作家辛克菜·刘易斯( SinclairLewis)共同创作的《亚当和夏娃》。当时,麦卡雷希望詹姆斯·斯图尔特( James Stewart)和英格丽·褒曼能出演这个改编自《圣经》的故事。消息传出之后,一位大牌默片明星来到他的办公室,表示愿意出演夏娃。

“我确实在筹备新版的《亚当和夏娃》,”麦卡雷告诉她,“但是要启用新的演员阵容。”制作人们热情不高。不过,1955年,精疲力竭的褒曼表示麦卡雷还在游说她出演夏娃——这次演对手戏的是约翰·韦恩( John Wayne)!

起初,亚当和夏娃赤身裸体,意思是他们没有业相,但离开业相,就不会有意识的发展。夏娃渴望亚当,亚当渴望知识之果。离开“欲知的渴望”,亚当就不能证悟自己,果子乃是他对知识的欲望的起因。随着他吃果子并感到业相的掌控,他渴望更多的。在漫长的进化、转世和内化过程中认识大我,是需要时间的。亚当那边的犹豫不决是欲望的心血来潮在海洋里的骚动,这发生在任何的显现之前。在希伯来和基督教传统中,这个故事被说成是亚当在吃了禁果之后,被一个愤怒的神抛出了乐园;但它的意义却丢失了。事实上,无限的无意识走出了超越超越并进入造物界,这是因为它自己的欲望——要获得意识的欲望。神的发怒相当于撒瓦斯瓦被娲坤氏弄醒时所爆发的怒火。

在伊斯兰教传统里,也讲了同样的故事,但其中却是撒旦(而非夏娃)引诱阿丹(亚当)吃禁麦,因此神把阿丹赶出乐园。亚当是第一个人,正是他第一个证得自己是神(亚当就是那个淘气的小鸡,他吃尽错误的东西,直到吞掉自己)。夏娃跟随亚当走出了乐园,她跟出来,因为她是他的影子(正如气体跟随小鸡)。

您至少需要输入5个字

相关内容

编辑精选

copyright © 2017 https://www.zabeng.com 正奥网 版权所有