TCP/IP的一个很诡异的问题(图片传输)
在使用ZLG/IP和UCTCP/IP的过程中遇到下面这个很诡异的问题:同样的WEB页,使用ZLG/IP实现一个简单的WEB页面,可以正常看到图片显示,但在使用UCTCP/IP时可以显示网页但图片却显示不出来。
通过用OmniPeek抓包对比,并未发现异常。两个协议栈测试N次,UCTCP/IP就是不能正常显示图片。以下是抓包数据,请高手们帮忙解疑。
一、使用ZLG/IP正常显示图片的数据包:
zlg/ip 数据包ourdev_468396.gif(文件大小:900K,只有400K以内的图片才能直接显示) (原文件名:zlg1.gif)
下面是 HTTP的图片的头信息和图片数据的数据包清单:
(1)HTTP的图片的头信息:
Packet Info
Packet Number: 25
Flags: 0x00000000
Status: 0x00000000
Packet Length: 227
Timestamp: 15:24:20.764496000 08/07/2009
Ethernet Header
Destination: 00:24:8C:7A:A9:F5
Source: 52:54:4C:19:F7:42
Protocol Type: 0x0800IP
IP Header - Internet Protocol Datagram
Version: 4
Header Length: 5(20 bytes)
Differentiated Services:%00000000
0000 00.. Default
.... ..00 Not-ECT
Total Length: 209
Identifier: 22
Fragmentation Flags:%010
0.. Reserved
.1. Do Not Fragment
..0 Last Fragment
Fragment Offset: 0(0 bytes)
Time To Live: 128
Protocol: 6TCP - Transmission Control Protocol
Header Checksum: 0x77DE
Source IP Address: 192.168.0.174
Dest. IP Address: 192.168.0.52
TCP - Transport Control Protocol
Source Port: 80http
Destination Port: 1998x25-svc-port
Sequence Number: 32452
Ack Number: 1576274426
TCP Offset: 5(20 bytes)
Reserved: %0000
TCP Flags: %00011000...AP...
0... .... (No Congestion Window Reduction)
.0.. .... (No ECN-Echo)
..0. .... (No Urgent pointer)
...1 .... Ack
.... 1... Push
.... .0.. (No Reset)
.... ..0. (No SYN)
.... ...0 (No FIN)
Window: 1460
TCP Checksum: 0xC579
Urgent Pointer: 0
No TCP Options
HTTP - Hyper Text Transfer Protocol
HTTP Version: HTTP/1.0
HTTP Status: 200
HTTP Reason: OK<CR><LF>
Date: Mon, 24 Nov 2003 01:24:17 GMT<CR><LF>
Server: microHttp/1.0 Zlgmcu Corporation<CR><LF>
Accept-Ranges: bytes<CR><LF>
Connection: Keep-Close<CR><LF>
Content-Type: image/bmp<CR><LF><CR><LF>
FCS - Frame Check Sequence
FCS: 0xDCC474F9Calculated
(2)图片传输的数据包:
Packet Info
Packet Number: 27
Flags: 0x00000000
Status: 0x00000000
Packet Length: 500
Timestamp: 15:24:20.964443000 08/07/2009
Ethernet Header
Destination: 00:24:8C:7A:A9:F5
Source: 52:54:4C:19:F7:42
Protocol Type: 0x0800IP
IP Header - Internet Protocol Datagram
Version: 4
Header Length: 5(20 bytes)
Differentiated Services:%00000000
0000 00.. Default
.... ..00 Not-ECT
Total Length: 482
Identifier: 23
Fragmentation Flags:%010
0.. Reserved
.1. Do Not Fragment
..0 Last Fragment
Fragment Offset: 0(0 bytes)
Time To Live: 128
Protocol: 6TCP - Transmission Control Protocol
Header Checksum: 0x76CC
Source IP Address: 192.168.0.174
Dest. IP Address: 192.168.0.52
TCP - Transport Control Protocol
Source Port: 80http
Destination Port: 1998x25-svc-port
Sequence Number: 32621
Ack Number: 1576274426
TCP Offset: 5(20 bytes)
Reserved: %0000
TCP Flags: %00011000...AP...
0... .... (No Congestion Window Reduction)
.0.. .... (No ECN-Echo)
..0. .... (No Urgent pointer)
...1 .... Ack
.... 1... Push
.... .0.. (No Reset)
.... ..0. (No SYN)
.... ...0 (No FIN)
Window: 1460
TCP Checksum: 0x5179
Urgent Pointer: 0
No TCP Options
HTTP - Hyper Text Transfer Protocol
Continuation of existing HTTP stream
Binary Data:
BM........v...(.42 4D B6 01 00 00 00 00 00 00 76 00 00 00 28 00
................00 00 1A 00 00 00 14 00 00 00 01 00 04 00 00 00
..@.............00 00 40 01 00 00 C4 0E 00 00 C4 0E 00 00 00 00
................00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80
................00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80
................00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF
................00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF
................00 00 FF FF FF 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
..............f.FF FF FF 00 00 00 FF FF FF FF FF FF FF F6 66 FF
...............oFF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF 6F
.........ffoo.ffFF FF FF 00 00 00 FF FF FF 66 66 6F 6F FF 66 66
............o...FF FF FF 00 00 00 FF FF FF F6 FF FF 6F F6 FF F6
..........o.o...FF FF FF 00 00 00 FF FF FF FF 6F FF 6F F6 FF F6
................FF FF FF 00 00 00 FF FF FF FF F6 FF F6 F6 FF FF
o..........o..o.6F FF FF 00 00 00 FF FF FF FF FF 6F F6 FF 6F FF
o.........ff...f6F FF FF 00 00 00 FF FF FF F6 66 66 F6 FF F6 66
o............o..6F FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF
.............o..FF FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF
.............o..FF FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
.......... FF FF FF 00 00 00 00 00 00 00
FCS - Frame Check Sequence
FCS: 0xC06BDBAACalculated
以上是使用ZLG/IP传输,截到的数据包,浏览器收到以上数据包就可以正常地完整地显示一个带背景图片的简单页面。
二、使用UCTCP/IP不能显示图片的数据包:
uctcp/ip 数据包ourdev_468397.gif(文件大小:537K,只有400K以内的图片才能直接显示) (原文件名:uctcp1.gif)
下面是 HTTP的图片的头信息和图片数据的数据包清单:
(1)HTTP的图片的头信息:
Packet Info
Packet Number: 15
Flags: 0x00000000
Status: 0x00000000
Packet Length: 228
Timestamp: 15:29:57.295196000 08/07/2009
Ethernet Header
Destination: 00:24:8C:7A:A9:F5
Source: 00:50:C2:25:61:34Ieee Registration Authority:25:61:34
Protocol Type: 0x0800IP
IP Header - Internet Protocol Datagram
Version: 4
Header Length: 5(20 bytes)
Differentiated Services:%00000000
0000 00.. Default
.... ..00 Not-ECT
Total Length: 210
Identifier: 7
Fragmentation Flags:%000
0.. Reserved
.0. May Fragment
..0 Last Fragment
Fragment Offset: 0(0 bytes)
Time To Live: 128
Protocol: 6TCP - Transmission Control Protocol
Header Checksum: 0xB7EC
Source IP Address: 192.168.0.174
Dest. IP Address: 192.168.0.52
TCP - Transport Control Protocol
Source Port: 80http
Destination Port: 2094nbx-au
Sequence Number: 70528
Ack Number: 1782436267
TCP Offset: 5(20 bytes)
Reserved: %0000
TCP Flags: %00011000...AP...
0... .... (No Congestion Window Reduction)
.0.. .... (No ECN-Echo)
..0. .... (No Urgent pointer)
...1 .... Ack
.... 1... Push
.... .0.. (No Reset)
.... ..0. (No SYN)
.... ...0 (No FIN)
Window: 3778
TCP Checksum: 0x5353
Urgent Pointer: 0
No TCP Options
HTTP - Hyper Text Transfer Protocol
HTTP Version: HTTP/1.0
HTTP Status: 200
HTTP Reason: OK<CR><LF>
Date: Mon, 24 Nov 2003 01:24:17 GMT<CR><LF>
Server: microHttp/1.0 Zlgmcu Corporation<CR><LF>
Accept-Ranges: bytes<CR><LF>
Connection: Keep-Close<CR><LF>
Content-Type: image/bmp<CR><LF><CR><LF><NUL>
FCS - Frame Check Sequence
FCS: 0x3F3DB3CFCalculated
(2)图片传输的数据包:
Packet Info
Packet Number: 16
Flags: 0x00000000
Status: 0x00000000
Packet Length: 500
Timestamp: 15:29:57.299183000 08/07/2009
Ethernet Header
Destination: 00:24:8C:7A:A9:F5
Source: 00:50:C2:25:61:34Ieee Registration Authority:25:61:34
Protocol Type: 0x0800IP
IP Header - Internet Protocol Datagram
Version: 4
Header Length: 5(20 bytes)
Differentiated Services:%00000000
0000 00.. Default
.... ..00 Not-ECT
Total Length: 482
Identifier: 8
Fragmentation Flags:%000
0.. Reserved
.0. May Fragment
..0 Last Fragment
Fragment Offset: 0(0 bytes)
Time To Live: 128
Protocol: 6TCP - Transmission Control Protocol
Header Checksum: 0xB6DB
Source IP Address: 192.168.0.174
Dest. IP Address: 192.168.0.52
TCP - Transport Control Protocol
Source Port: 80http
Destination Port: 2094nbx-au
Sequence Number: 70698
Ack Number: 1782436267
TCP Offset: 5(20 bytes)
Reserved: %0000
TCP Flags: %00011001...AP..F
0... .... (No Congestion Window Reduction)
.0.. .... (No ECN-Echo)
..0. .... (No Urgent pointer)
...1 .... Ack
.... 1... Push
.... .0.. (No Reset)
.... ..0. (No SYN)
.... ...1 FIN
Window: 3778
TCP Checksum: 0xDF51
Urgent Pointer: 0
No TCP Options
HTTP - Hyper Text Transfer Protocol
Continuation of existing HTTP stream
Binary Data:
BM........v...(.42 4D B6 01 00 00 00 00 00 00 76 00 00 00 28 00
................00 00 1A 00 00 00 14 00 00 00 01 00 04 00 00 00
..@.............00 00 40 01 00 00 C4 0E 00 00 C4 0E 00 00 00 00
................00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80
................00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80
................00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF
................00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF
................00 00 FF FF FF 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
..............f.FF FF FF 00 00 00 FF FF FF FF FF FF FF F6 66 FF
...............oFF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF 6F
.........ffoo.ffFF FF FF 00 00 00 FF FF FF 66 66 6F 6F FF 66 66
............o...FF FF FF 00 00 00 FF FF FF F6 FF FF 6F F6 FF F6
..........o.o...FF FF FF 00 00 00 FF FF FF FF 6F FF 6F F6 FF F6
................FF FF FF 00 00 00 FF FF FF FF F6 FF F6 F6 FF FF
o..........o..o.6F FF FF 00 00 00 FF FF FF FF FF 6F F6 FF 6F FF
o.........ff...f6F FF FF 00 00 00 FF FF FF F6 66 66 F6 FF F6 66
o............o..6F FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF
.............o..FF FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF
.............o..FF FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
................FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF
.......... FF FF FF 00 00 00 00 00 00 00
FCS - Frame Check Sequence
FCS: 0xAC53E1C3Calculated
以上为UC/TCPIP发送一个简单页面的数据包,经过分析数据包,其实可以看到发送到浏览器端的HTTP的信息头以及图片的数据都是一样的,但是使用ZLG/IP的就可以看到图片,而使用UCTCP/IP测试N次都显示不出图片,我试了多次单机对单机测试同样收不到图片。
不知道是怎么回事,请各路高手给指点指点吧。
2009-08-07 PM 自己顶一下
这里发的格式不太清楚,换个地址
http://blog.csdn.net/pigeon0411/archive/2009/08/07/4422954.aspx
页:
[1]