TCP IP Illustrated

Unfortunately most apis dont provide a way to do this

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: cal IP address of server. The server application never sees the connection request - the rejection is done by the kernel's TCP module, based on the local IP address specified by the application. Restricting Foreign IP Address In Section 11.12 we saw that a UDP server can normally specify the foreign IP address and foreign port, in addition to specifying the local IP address and local port. The interface functions shown in RFC 793 allow a server doing a passive open to have either a fully specified foreign socket (to wait for a particular client to issue an active open) or a unspecified foreign socket (to wait for any client). Unfortunately, most APIs don't provide a way to do this. The server must leave the foreign socket unspecified, wait for the connection to arrive, and then examine the IP address and port number of the client. Figure 18.22 summarizes the three types of address bindings that a TCP server can establish for itself. In all cases, lport is the server's well-known port and localIP must be the IP address of a local interface. The ordering of the three rows in the table is the order that the TCP module applies when trying to determine which local end point receives an incoming connection request. The most specific binding (the first row, if supported) is tried first, and the least specific (the last row with both IP addresses wild-carded) is tried last. Local Address Foreign Address Description file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tcp_conn.htm (30 of 37) [12/09/2001 14.47.16] Chapter 18. TCP Connection Establishment and Termination restricted to one client (normally not supported) localIP.lport foreignIP.fport restricted to connections arriving on one local interface: localIP.lport *.* localIP *.lport ** receives all connections sent to lport Figure 18.22 Specification of local and foreign IP addresses and port number for TCP server. Incoming Connection Request Queue A concurrent server invokes a new process to handle eac...
View Full Document

Ask a homework question - tutors are online