默默的一块石头
发布时间:2020-10-20 21:39:19
1.tcp_v4_rcv()/* * From tcp_input.c */int tcp_v4_rcv(struct sk_buff *skb){ sk = __inet_lookup_skb(&tcp_hashinfo, skb, th->source, th->dest); if (!sk) goto no_tcp_socket; if (!sock_owned_by_user(sk)) { { if (!tcp_prequeue(sk, skb)) --------recv情况(1) ret = tcp_v4_do_rcv(sk, .........【阅读全文】
发布时间:2020-08-31 16:15:39
1.tcp_init_xmit_timers()void tcp_init_xmit_timers(struct sock *sk){ inet_csk_init_xmit_timers(sk, &tcp_write_timer, &tcp_delack_timer, &tcp_keepalive_timer);}2.tcp_write_timer()static void tcp_write_timer(unsigned long data){ if (!sock_owned_by_user(sk)) { tcp_write_timer_handler(s.........【阅读全文】
发布时间:2020-08-25 20:36:18
void tcp_rcv_established(struct sock *sk, struct sk_buff *skb, const struct tcphdr *th, unsigned int len){ /* * Standard slow path. */ if (!tcp_validate_incoming(sk, skb, th, 1)) return;step5: if (tcp_ack(sk, skb, FLAG_SLOWPATH | FLAG_UPDATE_TS_RECENT) < 0) goto discard; tcp_rcv_rtt_.........【阅读全文】
发布时间:2020-08-19 11:46:02
http://chinaunix.net/uid-24683784-id-5384077.htmlPS:下面通过wireshark抓包工具看看SACK的选项中的block。 PACK#26PACK#27PACK#28 PACK#29 &.........【阅读全文】
发布时间:2020-08-19 11:08:59
The TCP SACK panic Selective acknowledgment (SACK) 是TCP裡面用到的一個機制,幫助減少丟包重傳導致的擁塞。網路的這一端點就可以利用這個機制,來告訴對端自己收到了哪部分資料,然後對端就知道只需要傳送缺失的這部分資料即可。不過,最近在Linux的SACK實現裡面發現了一個bu,可能會被遠端.........【阅读全文】