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)
restricted to connections arriving on one local interface:
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
- Spring '12