2012-07-23 35 views
0

是否有几个套接字可以通过不同的协议,UDP,TCP,RAW等链接到一个接口(即以太网端口),所以如果一个数据包通过以太网发送,它会被只有正确的插座。同一接口的多种协议

回答

1

我想你是在谈论插座 和以太网端口时使用的端口号之间的关系。

A Socket (TCP/UDP) Works in the Transport Layer. 
A port number comes here in the Layer and this is not the Ethernet port. 

You can have a TCP Socket bound to say port 88 as well as a UDP Socket bound to port 
88. 
You may also have raw sockets, which can directly use the IP Headers. 
This may require root/administrative priviledge. 

Here seems you need to decode the IP packets and get to the specific protocol 
on top it. 
(There is a field in the IP header called Protocol which mentions which 
upper layer protocol the packet belongs to) 
So there can be several sockets, which finally get the data from your ethernet port. 

请参考以下链接的一些基本概念,

http://en.wikipedia.org/wiki/Network_socket

http://en.wikipedia.org/wiki/Raw_socket

http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frzab6%2Fhowdosockets.htm