TCP/IP
忆常
这个世界唯一不会变化的就是变化!
展开
-
UDP报文传输的差错控制
了解TCP/IP协议的人都知道TCP协议是可靠传输的,而UDP协议是不可靠传输。“可靠传输”大家基本上可以达成共识,就是协议确保数据正确到达目标机器;但是“不可靠传输”可能就存在争议了,到底是不保证数据到达?还是不保证数据正确?又或者是两者都不保证?原创 2011-04-29 14:54:00 · 10966 阅读 · 0 评论 -
TCP报文到达确认(ACK)机制
TCP所传输的数据的编号不是以报文段来进行编号的,而是将整个传输数据分成单个的字节流,并将每个字节流进行编号。一个TCP数据包中包括多个字节流的数据,而且每个TCP数据报中的数据大小并不一样。在建立TCP连接的三次握手过程中,通信双方各自已确定了初始的序号x和y,TCP每次传送的原创 2011-07-14 15:29:53 · 43545 阅读 · 9 评论 -
关闭TCP连接的学问
从TCP协议角度来看,一个已建立的TCP连接有两种关闭方式,一种是正常关闭,即四次挥手关闭连接;还有一种则是异常关闭,我们通常称之为连接重置(RESET)。 首先说一下正常关闭时四次挥手的状态变迁,关闭连接的主动方状态变迁是FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT,而关闭连接的被动方的状态变迁是CLOSE_WAIT->LAST_ACK->TIME_WAI原创 2011-07-11 23:41:34 · 8589 阅读 · 0 评论 -
socket 10106问题解决日记
很久没写博客了,这两天解决了一个创建套接字(SOCKET)失败,错误码为10106的问题。部分从事网络编程的朋友也遇到过类似问题,大多数都可以通过重装系统解决。这次我想研究一下10106产生的根本原因,给大家解决类似问题,提供另外一种思路。【环境】WIN7,64位系统【现象】CAD2006平台程序不能联网,其他程序没有问题【错误原因】创建SOCKET原创 2013-08-29 11:41:38 · 12750 阅读 · 0 评论 -
深入剖析TCP协议的send与recv
一、 滑动窗口的概念 TCP数据包的TCP头部有一个window字段,它主要是用来告诉对方自己能接收多大的数据(注意只有TCP包中的数据部分占用这个空间),这个字段在通信双方建立连接时协商确定,并且在通信过程中不断更新,故取名为滑动窗口。有了这个字段,数据发送方就知原创 2011-07-13 16:48:34 · 14305 阅读 · 2 评论