06 2011 档案

Notes On TCP/IPv1 CH.20
摘要:1. 对于TCP的延迟确认机制,在TCP收到一个报文,如果这是没有启用延迟确认,那么标记打开,等待是否在若干时间内(200ms)是否有数据发送可以捎带ACK;如果延迟确认已经在启用,那么就关闭这个机制, 直接发送ACK.利用滑动窗口协议,ACK是可以累积发送的.(Page.277)2. 在发送了最后一个数据后关闭连接,有一定机会看到FIN和PSH同时打开,既说明SYN, FIN, PSH, RST是可以同时打开的,也说明在TCP连接终止时,主动关闭的一方发送的FIN可以由最后的报文捎带.(Page.279)3. TCP的滑动窗口可以关闭(收到ACK,并且窗口值减少量等于ACK确认的报文的长度和 阅读全文

posted @ 2011-06-21 21:05 Qwertycen 阅读(219) 评论(0) 推荐(0)

Notes on TCP/IPv1 Ch.19
摘要:1. 在一般情况下,Rlogin和Telnet都是每按下一个键,就发送这个按键的消息(数据部分长度为1的TCP报文).(Page.263)2. 当TCP收到一个报文,不会立刻发送ACK以确定这个报文,而是等待一定的时间,期望上层应用在这段时间内有数据需要发送,以方便捎带上这个ACK(捎带ACK和确认号不额外增加数据),这个等待时间不是固定的,一般上限为200ms. (Page.265)3. 与connect时重传SYN的机制相似,ACK的延后发送实际上并不是由时间决定,而是在TCP内部一个每200ms触发一次的计时器决定的.在计时器超时触发之前,TCP等待上层应用数据以捎带ACK,当计时器触发 阅读全文

posted @ 2011-06-13 22:06 Qwertycen 阅读(208) 评论(0) 推荐(0)

Notes On TCP/IPv1 Ch.18
摘要:0.貌似在Linux下的tcpdump的输出和TCP/IPv1中所描述的输出有出入,但是tcpdump手册上面的说法也和TCP/IPv1的一样.1. 在tcpdump的输出中,S, F, P, R分别对应SYN, FIN, PSH,RST是个标志位被打开,而"."则表示这四个标志位没有被打开.这四个标志位在一般情况下同时只有一个会被打开.(Page.230)2. 在tcpdump的输出中,只有在S, F,R被打开or报文中数据部分长度不为0的情况下,序号才会被输出,而序号后跟随的括号内的值是这个报文的数据部分的长度.(Page.231)3. 一个链接建立时选择的ISN(in 阅读全文

posted @ 2011-06-11 17:40 Qwertycen 阅读(338) 评论(0) 推荐(0)

Linux下SO_REUSEADDR于TCP/IPv1中的差异
摘要:TCP/IPv1 老矣! Richard 的去世, 使得这部经典一直无人更新, 虽然书中对IPv4下TCP/IP协议有着清晰的描述, 但是互联网技术日新月异, 一些老的技术不断被改善, 更新以及被取代, 但是书本留在94年成书后就没有任何改变了, 完全没有涉及LINUX和IPv6等等. 回归正题. 在Linux下socket API中的socket选项SO_REUSEADDR完全不同于TCP/IPv1中描述(那么就应该不同与大部分UNIX下的功能). 首先说明本文中IP相同的定义: 除了一般意义上的相同, 通配IP(也就是INADDR_ANY, 或者*)和任何IP相同. 在UDP下: 1. . 阅读全文

posted @ 2011-06-11 17:28 Qwertycen 阅读(1927) 评论(0) 推荐(0)

gnome的环境变量个人设置
摘要:Ubuntu下的alt+F2和win下的win+r类似, 都是用来输入程序名启动程序的, 例如输入gvim启动gvim, 输入firefox启动firefox, 等等. 但是有些时候某些程序名非常的长, 例如chrome的为google-chrome, 终端为gnome-terminal.虽然很多时候都会自动提示, 但是键入超过4个字符去启动一个程序已经不会比用鼠标去打开快了. 于是就想自己自定义这些程序名, 例如google-chrome定为chr, gnome-terminal定为ter, gcacltool定为calc. 开始的时候直接在PATH下的路径直接建立这些符号链接, 但是感觉. 阅读全文

posted @ 2011-06-10 20:05 Qwertycen 阅读(985) 评论(0) 推荐(0)

导航