看板 Network 關於我們 聯絡資訊
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
odami:Q1,印象中軟硬體支援Jumbo frame好像就可以丟超過1500的封包 10/27 11:33
odami:Q2,就是ftp server那台不支援Jumbo frame吧? 10/27 11:35
odami:連線要建立的話雙方條件MTU,windows也要一樣,不然要看目的地 10/27 11:36
odami:的設定的樣子,source自動去配合調整 10/27 11:37
pojicoffee:1G的模式下才會有巨大封包 10/27 23:39
madoka0201:我說一下目前找到的答案~PC如果有開GSO,為了增加 11/08 00:56
madoka0201:throughput..上層會包超過1514的封包往NIC送,NIC會自 11/08 00:57
madoka0201:動幫你切成1514送到實體線路上,因為wireshark是在資料 11/08 00:57
madoka0201:送進NIC前抓取,所以會看到超過1514的封包 11/08 00:58
madoka0201:至於在收端如果有開啟GRO,NIC就會將收進來的封包資料 11/08 00:59
madoka0201:組成大一點的資料再往上層送,同樣也是為了增加through 11/08 01:00
madoka0201:put,至於Q2是有開啟jumbo的,只是不知道TCP為什麼不肯 11/08 01:02
madoka0201:吃這個大於1514的資料就是了,還在找答案 11/08 01:02