IP Source Address Selection, Routing and Outbound Interface Selection, IP Load Spreading, Interface Groups and IPMP (IP Multipathing)
Last updated on JANUARY 03, 2018
Applies to:Solaris Operating System - Version 8 6/00 U1 to 10 9/10 U9 [Release 8.0 to 10.0]
This document describes how IP source address selection is accomplished with and without IP MultiPathing (IPMP). It is applicable to the behaviour in Solaris 8, and so may or may not be applicable in earlier or later versions of Solaris. Differences after Solaris 9 are noted, but may not all be accounted for. Please use the "add comments" link to provide feedback and corrections.
Typical questions which this document answers are:
1. Why am I not seeing true IP load spreading from my IPMP configured Network Interface cards (NICs)?
2. How is it that my application data arrives at my Solaris system on one interface but leaves with a different IP address?
3. A connection through my firewall to my Solaris system fails because my application data arrives inbound to the Solaris system on one interface but leaves with a different IP address. Why does it do that?
Initiator - The network node which initiates a connection (usually the client).
Respondent - The network node which responds to a connection (usually the server)
Inbound Connection - The connection experienced as a respondent
Outbound Connection - The connection experienced as an initiator
Inbound Datagram - An inbound datagram as part of either an inbound or outbound connection
Outbound Datagram - An outbound datagram as part of either an inbound or outbound connection
Connection - Strictly speaking, a connection is an entity within the TCP protocol, as TCP is the only connection oriented transport protocol. Data within a TCP connection are considered part of a data stream, as each protocol data unit is related in terms of sequencing. This is different from UDP (User Datagram Protocol), which is a datagram based transport layer protocol with no sequence numbering. However, for the sake of simplicity, the term connection is used more generally here to cover both.
Additional important background
Each IP datagram should have a source IP address and a destination IP address.
Source address selection is about determination of the source IP address to use for outbound IP datagrams on a Solaris system with multiple IP addresses, particularly where there are multiple interfaces with multiple IP address on the same IP subnet. The source address that is selected can cause problems where the source address selection behaviour is unexpected.
Destination based routing is used to determine the next hop gateway and/or the outbound interface which should be used to transmit an outbound IP datagram. The IRE cache, which caches routing decisions already made, plays a key role here as it is consulted first, before the routing table. When an outbound interface is selected, interface groups come into play to determine which actual interface to use as do load spreading algorithms.
This document describes much of this functionality.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms