
TCP实现
文章平均质量分 78
Yaho0912
这个作者很懒,什么都没留下…
展开
-
TCP重传定时器
//本文主要介绍linux内核中TCP的重传定时器机制:用到的源代码是2.6.38//一个tcp连接中,如果一方过了rto时间内都没收到对方的ACK,会触发重传并调用tcp_write_timer定时器处理函数//其中RTO表示重传时间,RTO是动态计算的,需要考虑到当前的重传次数。//tcp_write_timer调用tcp_retransmit_timer重传处理函数,后者会调用t原创 2014-10-23 17:28:28 · 1853 阅读 · 0 评论 -
TCP延迟确认定时器
TCP延迟确认定时器:TCP延迟确认定时器是指在一个TCP连接中,当一方收到另一端的数据之后,并不是立马返回ACK进行确认。而是等待200ms(在linux-2.6.38内核实现中应该是400ms),如果这段时间内有新的数据要发往对方,本地将ACK和数据封装在一个数据包中,称作捎带确认机制。没有新数据的话也要将ACK发给对方。这样做减少了一次数据传输带来的消耗,但是在另一方面增加了延迟。可原创 2014-10-23 20:37:35 · 1525 阅读 · 0 评论 -
TCP中的inet_hashinfo介绍
inet_hashinfo:这是一个类型为tcp_hashinfo的全局变量,保存当前系统的各种状态的tcp_sock(包括established,listen和bind).内核初始化调用tcp_init函数时会对该变量进行初始化.结构为:struct inet_hashinfo { struct inet_ehash_bucket *ehash; //establ原创 2014-10-26 15:29:12 · 2813 阅读 · 1 评论 -
linux中TCP的socket、bind、listen、connect和accept的实现
socket:原创 2014-10-30 21:35:50 · 8215 阅读 · 0 评论 -
TCP中的send函数---tcp_sendmsg函数的实现
当应用层程序调用send发送数据之后,相应系统调用为sys_sendmsg,在socket文件系统中,该调用指向inet_sendmsg。而再对于TCP协议,inet_sendmsg指向tcp_sendmsg函数,所以tcp的发送函数接口是tcp_sendmsg。该函数首先对sock加锁防止下半段中断访问,对于阻塞的发送模式还需设置超时时间。原创 2014-10-31 15:29:03 · 4953 阅读 · 0 评论