[問答] jumbo frame的問題

看板Network作者 (Brian Yang)時間11年前 (2012/10/25 16:00), 編輯推噓0(0013)
留言13則, 3人參與, 最新討論串1/1
Q1: 最近從wireshark看到一個現象 使用FTP上傳資料的時候 會出現大於1500的封包,像是2962 但是client端的MTU是設定在1500 不知道為什麼可以發送出超過1500的封包呢?? client端是Ubuntu 12.04 ftp是win 7上的filezilla ftp server Q2: 當我使用自己的socket將整個封包(IP+TCP+FTP-DATA)包起來 傳送到另一端時候,會打開來再傳給ftp server 因此在ftp server上用wireshark上看到是2962沒錯 但是ftp server卻似乎不收取此封包 會直接發送Dup ACK去重新要封包,直到client將2962拆回1514的大小再retransmit過來 才會接收資料,這讓人非常不解?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.38.126

10/27 11:33, , 1F
Q1,印象中軟硬體支援Jumbo frame好像就可以丟超過1500的封包
10/27 11:33, 1F

10/27 11:35, , 2F
Q2,就是ftp server那台不支援Jumbo frame吧?
10/27 11:35, 2F

10/27 11:36, , 3F
連線要建立的話雙方條件MTU,windows也要一樣,不然要看目的地
10/27 11:36, 3F

10/27 11:37, , 4F
的設定的樣子,source自動去配合調整
10/27 11:37, 4F

10/27 23:39, , 5F
1G的模式下才會有巨大封包
10/27 23:39, 5F

11/08 00:56, , 6F
我說一下目前找到的答案~PC如果有開GSO,為了增加
11/08 00:56, 6F

11/08 00:57, , 7F
throughput..上層會包超過1514的封包往NIC送,NIC會自
11/08 00:57, 7F

11/08 00:57, , 8F
動幫你切成1514送到實體線路上,因為wireshark是在資料
11/08 00:57, 8F

11/08 00:58, , 9F
送進NIC前抓取,所以會看到超過1514的封包
11/08 00:58, 9F

11/08 00:59, , 10F
至於在收端如果有開啟GRO,NIC就會將收進來的封包資料
11/08 00:59, 10F

11/08 01:00, , 11F
組成大一點的資料再往上層送,同樣也是為了增加through
11/08 01:00, 11F

11/08 01:02, , 12F
put,至於Q2是有開啟jumbo的,只是不知道TCP為什麼不肯
11/08 01:02, 12F

11/08 01:02, , 13F
吃這個大於1514的資料就是了,還在找答案
11/08 01:02, 13F
文章代碼(AID): #1GYF6ch4 (Network)