默默的一块石头
发布时间: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,可能會被遠端.........