请教个问题:当IP数据包小于46字节时为啥网卡没有自动填充
根据IEEE标准,如果以太网帧小于64字节(IP数据包小于46字节),必须自动填充到最小帧长。
可是我在Fedora 15下面用sendto方法送出的一个43字节的UDP数据包,用ethereal抓的结果却是没有填充。是不是我的网卡要做什么设置才行?
期待高手指教!
No. Time Source Destination Protocol Info size
1 12:23:45.607414 192.168.18.137 192.168.18.1 UDP Source port: 5001 Destination port: 5001 57
Frame 1 (57 bytes on wire, 57 bytes captured)
Arrival Time: Aug 7, 2011 12:23:45.607414000
Time delta from previous packet: 0.000000000 seconds
Time since reference or first frame: 0.000000000 seconds
Frame Number: 1
Packet Length: 57 bytes
Capture Length: 57 bytes
Protocols in frame: eth:ip:udp:cpfi:data
Ethernet II, Src: 00:0c:29:0e:b2:89, Dst: 00:50:56:c0:00:08
Destination: 00:50:56:c0:00:08 (Vmware_c0:00:08)
Source: 00:0c:29:0e:b2:89 (Vmware_0e:b2:89)
Type: IP (0x0800) <----这里没有padding/trailer
Internet Protocol, Src Addr: 192.168.18.137 (192.168.18.137), Dst Addr: 192.168.18.1 (192.168.18.1)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 43 <---------总长度43byte
Identification: 0x0000 (0)
Flags: 0x04 (Don't Fragment)
0... = Reserved bit: Not set
.1.. = Don't fragment: Set
..0. = More fragments: Not set