傳送緩衝區sk wmem queued

2022-04-13 20:33:34 字數 944 閱讀 4835

sk_wmem_queued是目前傳送緩衝區的量

tcp_trim_head 把這快記憶體給去掉,

什麼時候會加入到記憶體裡呢?__tcp_add_write_queue_tail,

skb裡的記憶體是啥?

是如何確認傳送緩衝區的,傳送緩衝區 sk_wmem_free_skb 當接收到了ack之後,整個skb就可以被釋放掉了,所以在整個記憶體被傳送出去之前,這些都是有可能的。所以為了

tcp_ack+0x1742/0x18b0

tcp_rcv_established+0x224/0x6d0

tcp_v4_do_rcv+0x129/0x210

__release_sock+0x5a/0x100

release_sock+0x30/0x90

tcp_sendmsg+0x11f/0xea0

? _raw_spin_unlock_irqrestore+0xe/0x10

inet_sendmsg+0x65/0xa0

sock_sendmsg+0x35/0x40

sock_write_iter+0x7b/0xd0

__vfs_write+0xc4/0x120

vfs_write+0xb8/0x1b0

sys_write+0x46/0xb0

entry_syscall_64_fastpath+0x13/0x94

end write

所以基本可以確認,所謂的傳送緩衝區,其實就是一系列的skb!!!!udp協議應該傳送出去就結束了。

所以,說白了,傳送緩衝區就說明了,我這個sock能用到記憶體的最大的數量。

不對啊,收到了ack還是不能說明我這個緩衝。。。oh, my gosh,這裡是傳送快取,是可以放棄的,剛才誤以為是接收快取了,ok,所以乙個sock的記憶體都是有乙個最大值的。那麼下面就是乙個很嚴肅的話題了,就是傳送緩衝區,滑動視窗都是什麼關係

套接字的接受緩衝區及傳送緩衝區

1.套接字的接受緩衝區及傳送緩衝區 net.ipv4.tcp rmem 這個引數定義了tcp接收緩衝 用於tcp接收滑動視窗 的最小值 預設值 最大值 net.ipv4.tcp wmem 這個引數定義了tcp傳送緩衝 用於tcp傳送滑動視窗 的最小值 預設值 最大值 netdev max backl...

UDP寫緩衝區(傳送緩衝區)分析

最近,碰到udp是否有寫緩衝區的疑問,對於應用,如下圖linux手冊中有設定udp傳送緩衝區相關屬性,也明確提到了send buffer的概念 那這是否意味著udp是有傳送緩衝區的嗎?我們再看一下 unix network programming 書中所述,這本書的作者權威性我就不多說了吧,在國內高...

socket 接收和傳送緩衝區

問題產生 在進行客戶端向服務端傳送資料時,每次傳送一定數量資料後傳送端就等不到send函式的返回,導致程式一直卡死在send函式。通過抓包發現 傳送端傳送過快而接收端處理速度過慢,導致快速傳送一定量資料後wireshark顯示傳送端傳送資料有window full提醒,幾次之後接收端會傳送zero ...