
linux
文章平均质量分 78
noma_hwang
这个作者很懒,什么都没留下…
展开
-
配置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 · 5846 阅读 · 0 评论 -
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 · 1649 阅读 · 0 评论 -
Forword RTO(F-RTO)算法
简介主要目的是为了检测由RTO偏小引起的伪RTO。主要算法是:当重传定时器超时后,记这时候的snd.nxt为highmark。然后看收到的两个确认是否符合这个要求:ack > snd.una && ack FRTO先重传第一个未被确认的包,并且在收到第一个确认后做如下判断:a. 如果这个ack确认了新的数据但是序列号小于highmark,那么再发2个新的数据包,等收到第二个确认再来原创 2016-12-15 17:13:06 · 1305 阅读 · 0 评论 -
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 · 5307 阅读 · 0 评论