- 博客(4)
- 收藏
- 关注
原创 tcp中RACK算法
RACK即recent ack,表示根据最新的(s)ack来做丢包判断,是google去年新提出的一个丢包检测算法,目前主要用于解决尾部丢包和二次重传的问题,但是它应该可以FACK,dupACK并驾齐驱,理解起来也比较直观。以下分析是基于linux-4.5内核版本基本思想如果数据包p1在p2之前发送,没有收到p1的确认,当收到p2的SACK后,推断p1丢了。算法每一个s
2016-12-28 10:53:54
5302
原创 tcp_sendmsg函数实现分析
Tcp_sendmsg主要负责把数据从用户空间拷贝到内核空间,然后根据MSS分段,放入到SKB中,调用tcp_push发送出去。大部分代码都是在找应该把数据复制到哪里去。int tcp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t size){ struct iovec *iov; st
2016-12-19 16:59:26
1646
原创 Forword RTO(F-RTO)算法
简介主要目的是为了检测由RTO偏小引起的伪RTO。主要算法是:当重传定时器超时后,记这时候的snd.nxt为highmark。然后看收到的两个确认是否符合这个要求:ack > snd.una && ack FRTO先重传第一个未被确认的包,并且在收到第一个确认后做如下判断:a. 如果这个ack确认了新的数据但是序列号小于highmark,那么再发2个新的数据包,等收到第二个确认再来
2016-12-15 17:13:06
1302
原创 配置FTP服务器——passive mode
配置FTP服务器的一个问题1. 环境服务器:debian6.0 vsftpd,客户端:Ubuntu10.04,系统自带的ftp客户端2. 问题在客户端登录时,输入ls,提示“500 Illegal port command ftp: bind: Address already in use”报错3. 解决方法使用ftp的passive模式,ftp -p server_ip4. 原因分析a. ftp
2016-05-01 14:42:47
5843
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人