计算机网络
文章平均质量分 56
pipi糖
这个作者很懒,什么都没留下…
展开
-
Nagle算法
Nagle算法TCP是基于流的传输协议,在Rlogin和Telnet传输中会出现只有一个字节数据(载荷数据)的TCP数据包。IP(20)+TCP(20+)+载荷数据构成三层传输报文,若载荷数据只有几个字节,这会造成头重脚轻,显然是不合理的,也未能有效的利用报文资源。Nagle算法基本思路就是,在发送缓冲区中的数据大小不足一个MSS时,要求TCP连接上最多只能有一个未被确认的小分组,在该分组的确认到达之前不能发送其他的小分组。。数据在发送端被缓存并超过MSS,此时使用连续ARQ协议,意思就是可以连续发出若原创 2021-04-23 22:04:59 · 1610 阅读 · 0 评论 -
TCP流量控制和拥塞控制
为了提高信道的利用率TCP协议不使用停止等待协议,而是使用连续ARQ协议,意思就是可以连续发出若干个分组然后等待确认,而不是发送一个分组就停止并等待该分组的确认。连续ARQ(Automatic Repeat reQuest)协议在滑动窗口协议得到了应用。。 滑动窗口协议(Sliding Window Protocol),属于TCP协议的一种应用,用于网络数据传输时的流量控制,可以用来避免网络拥塞(拥塞控制)和接受端来不及接受的情况(流量控制)发生。该协议允许发送方在停止并等待确认前发送多个数据分组。原创 2021-04-17 21:46:51 · 1065 阅读 · 0 评论 -
TCP粘包/拆包的产生原因和解决办法
TCP底层不了解应用层数据的含义,它会根据TCP缓冲区的实际情况进行包的划分,所以业务上认为,一个完整的包(应用层数据)可能被TCP拆分为多个包进行发送,也可能把多个小包封装成一个大的数据包进行发送,这就是所谓的TCP粘包和拆包问题。出现粘包的原因是多方面的,可能是来自发送方,也可能是来自接收方。拆包和粘包是在socket编程中经常出现的情况,在socket通讯过程中,如果通讯的一端一次性连续发送多条数据包,tcp协议会将多个完整的消息(应用层数据)打包成一个tcp报文发送出去,这就是所谓的粘包。而如果通原创 2021-04-13 21:13:32 · 4497 阅读 · 1 评论 -
网络字节序和主机字节序
主机字节序就是自己的主机内部,内存中数据的处理方式(不同的CPU具有不同的字节序类型),可以分为两种:1. 大端字节序(big-endian)按照内存的增长方向,将高序字节存储在起始地址;最符合人的思维的字节序 , 因为地址低位存储值的低位 ,地址高位存储值的高位。2. 小端字节序(little-endian)按照内存的增长方向,将低序字节存储在起始地址;最直观的字节序,因为地址低位存储值的高位 ,地址高位存储值的低位。// 内存中双字 0x01020304(DWORD...原创 2021-04-13 21:36:53 · 386 阅读 · 1 评论