主机A需要给主机B传输一份10GB的数据,从应用层上可以做哪些传输优化从TCP上可以做哪些传输优化
这题有难度哦。
如果传数据无外乎TCP/UDP协议,或者自己写。但是一般比较方便都是直接用socket调用。
如果小数据这个题目就不难了,但是10G的大数据,又要求优化,这就要对网络协议非常了解才行。
一般下载软件 迅雷 /各种快车 为什么都用UDP传数据,但是他们发送命令,建连又会使用TCP,有没有人想想为什么?
了解了这个,在谈TCP优化,其实就能找到点了。
我们先说UDP ,只管发,不管你是否收到,又接收方判断接收是否完整,又上层协议控制是否需要重传。
说TCP,TCP协议负责可靠的传输,那么,每发送数据包的时候就要有应答,比如我发1个数据包,你应答了一个,我发了2个数据包,你应答了2个,我发四个数据包,你应答了4个,我发8个,你不应答8个,我就要减少发送了。这部分可以参考TCP的慢启动和滑动窗口。
是不是可以做优化呢?
现在开始说这个题目的考点或者意图。
首先,讲TCP深入的书,都会讲的长肥管道。不清楚的可以自行百度。如果不清楚这个,影响都这个题目的理解。
也就是这个通道的带宽很大,是不是应该很快就传完呢?不是,UDP可以,TCP不行,因为什么,就因为这个应答机制。
我发送完我要等,等对方的应答,如果对方不应答,我就要等超时,如果这个通道的 RTT很长,那么悲催了,本身慢启动,再加等应答,你会发现,10G的通道,在RTT很大的时候,用TCP协议传输,很难将带宽用满。这个是最关键的优化点,如果能解决这个问题,必须改造协议,改造应答机制,这样才是优化到点子上。
看起来这个题目像老师的作业,或者论述,要注意自己思考哈~
计算机网络 第四版 写的很清楚,我就不多细说了,其他的你自己查书,补充。
【主机A需要给主机B传输一份10GB的数据,从应用层上可以做哪些传输优化从TCP上可以做哪些传输优化】 相关参考长肥管道_百度百科
■网友
泻药。也没说清楚应用状况。和用迅雷下一个10G的数据有什么区别?服务器端搞个Web服务器算了。客户端做一个多线程下载,利用HTTP断点续传的协议,加一个Range头就可以了。TCP这么底层的东西还需要怎么优化,操作系统的API,最多改一改Socket的参数。如果用HTTP服务器就不需要管了,不然还得自己搞应用层协议,自己写一个服务器。另外,网络小菜鸟。
■网友
10GB量级的数据传输,肯定不是LAN上传输,lan上不是问题。在WAN上传输数据,TCP hold不住的,需要采用udp来替代tcp传输。
推荐阅读
- [夫妻]夫妻二人烤红薯致一氧化碳中毒 医生提醒:冬季要给生命留条缝
- 关于用phpfsocket 写Post, 模拟http 报文怎样写入要传输的处理数据
- 怎样看待2018年深圳杯C题的1T数据
- linux 应用层可以使用DMA进行数据传输吗
- 蔚来|孙宇晨:要给贾跃亭平反,当年他犯了两个错误
- 孩子|包括冬天!!!再不看就晚了千万不要给孩子穿保暖内衣
- 移动通信发展下去会到极限么当传输信息越来越大需要带宽越来越大以后咋办顺便求说说以后的发展趋势
- 跳出传统思维,怎样尽量减少在线视频传输耗费的网络带宽和流量
- 老人退休“收入高”, 子女还需要给赡养费吗?
- 大公司、中型公司是自己建机房还是用第三方的云主机呢
