
计算机网络
文章平均质量分 59
hexiecs
Follow my heart.
展开
-
TCP服务和首部
服务应用程序会被TCP分割成数据段,而UDP不分割。TCP有超时重传和确认如果检验和出错将丢弃IP数据包可能会失序或者重复,所以TCP会处理滑动窗口来进行流量控制对字节流的内容不做任何解释首部tcp首部如果不带可选字段,为20字节 16位的源端口号和目的端口号以及ip数据报首部的源和目的ip地址用来唯一表示一对主机。序号标识这个报文段的第一个数据字节,确认序号表示希望对端发送的数原创 2017-01-11 12:56:30 · 263 阅读 · 0 评论 -
TCP连接建立和终止小结
TCP连接建立(三次握手)如图: 1. 请求端发送一个SYN到服务器的相应端口,以及初始序号ISN 2. 服务器发送包含服务器的初始序号的SYN作为应答,同时确认序号设置为客户的ISN+1 3. 客户将确认序号设置为服务器的ISN+1最大报文段长度(MSS)连接建立时,连接的双方都要通告各自的MSS。当建立一个连接时,每一方都有通告它期望接收的MSS选项。如果一方不接收来自另一方的MSS原创 2017-01-11 12:57:31 · 336 阅读 · 0 评论 -
TCP的成块数据流
TCP的成块数据流正常数据流通常使用隔一个报文段确认的策略。即当一个报文段被处理时,连接被标记为产生一个经受时延的确认。如果时延定时器溢出前,下一个报文段被处理完,那么(两个报文段的)确认立刻被发送。 使用TCP的滑动窗口协议时,接收方不必确认每一个收到的分组。在TCP中,ACK是累积的——它们表示接收方已经正确收到了一直到确认序号减1的所有字节。滑动窗口如图: 提供的窗口即接收方通告的窗口,当原创 2017-01-11 14:02:26 · 327 阅读 · 0 评论 -
TCP的数据传输小结
TCP的交互数据流交互式输入通常每一个交互按键都会产生一个数据分组,也就是说,每次从客户传到服务器的是一个字节的按键(而不是每次一行)经受时延的确认通常TCP在接受到数据时并不立即发送ACK;相反,它推迟发送,以便将ACK与需要沿该方向发送的数据一起发送。绝大多数实现采用的时延为200ms,也就是说,TCP将以最大200ms的时延等待是否有数据一起发送 TCP使用了一个200ms的定时器,该定时器原创 2017-01-11 14:03:07 · 458 阅读 · 0 评论 -
在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ubuntu 主要是照着这个网站来做在Ubuntu下创建虚拟机其中的难点也就是这个网站没有讲到的部分是在Ubuntu下创建虚拟机。 主要参考了: https://my.oschina.net/kelvin原创 2017-01-11 10:17:00 · 2370 阅读 · 0 评论 -
终止TCP连接时close()和shutdown()的区别
shutdown可以指定在某个方向上终止连接,通过指定标志:SHUT_RD, SHUT_WR, SHUT_RDWR。比如指定SHUT_WR后可以继续读数据,但不能写入了。而close是两个方向上终止连接。close会将描述符的引用计数减一,如果引用计数变为0就关闭描述符,发送FIN。而shutdown不管引用计数,直接发送FIN终止连接。所以在多线程下操作同一个socket描述符下,一个线程调用s原创 2017-10-29 22:02:57 · 3190 阅读 · 0 评论