LearnOpenSolaris
Networking
What's New for Networking
Crossbow brings network virtualization and network resource management to OpenSolaris
Project Crossbow represents the culmination of 8 years of effort in modernizing the network software stack. The stack has been thoroughly redesigned to incorporate network virtualization, network resource management, and to extract the maximum performance potential from the latest generation network interface chips.
» Learn more
IP Multipathing
IP Multipathing (IPMP) provides network high availability and network load spreading facilities integrated into OpenSolaris.
High Availability Networking
It is very common for Sun systems to be deployed in mission critical environments. In those environments, the last thing desired would be for the critical application to fail because of something trivial- a network cable was inadertently pulled, or a port failed. Even if systems are protected against faults by setting up High Availability (HA) configurations for automatic failover there is a cost. Failover for large systems is a major event and a network cable problem is an easily avoidable failure. The solution is to provide redundancy for important network connections through IPMP. Whether the configuration is an HA clustered node, or a system running applications considered important to the enterprise, it makes operational sense to safeguard the network connections by using IP Multipathing. IPMP will protect against port, network interface, switch, or cable failures. IPMP has a very high adoption rates among Sun's largest customers. Yet customers with smaller Solaris or OpenSolaris deployments may not be aware of this facility or believe this is too complex to implement. For OpenSolaris 2009.06, IPMP, which dates from Solaris 8, receives a thorough updating to accomplish many goals- including making it much easier to administer. As a service that is bundled with OpenSolaris and offers a straightforward mechanism to provide redundancy for a variety of networking failures, IPMP deployment should be considered as part of a solution for any configuration where a network outage could not be tolerated.
IPMP provides transparent redundancy for IP level communications between the application running on a system, and the first router in the communication path to the outside network. Networking is, by its very nature, a high availibility environment once a packet reaches the first (properly functioning) router with multiple external connections. IPMP allows creating multiple paths to that first hop router so that port, NIC, cable or switch failures will not impact any connections. Conceptually IPMP allows separating an IP address from a pool of underlying IP interfaces. For High Availability (HA) applications IPMP will assign one of the interfaces to the IP address and continuously monitor the underlying interfaces to ensure a connection is maintained. If IPMP detects that the IP interface being used has failed it will use an alternate working IP interface. Applications do not need to be aware they are running on a system managed by IPMP.
IPMP can also be used to trigger full system failovers. For example, the current IPMP implementation is the underlying technology used by the Sun Storage 7000 Unified Storage Systems for HA configurations. IPMP can also be used to simplify maintenance. As long as cabled properly, it would be straightforward to remove a network interface card without impacting system operation.
IP Communication Load Spreading
A lesser known aspect of IPMP improves utilization of network resources by offering the ability to load spread IP communication over multiple physical network connections. As for the situation above, IPMP allows associating one IP address with multiple underlying IP interfaces, but unlike in the HA situation, for load spreading purposes all those functioning interfaces will be used for traffic.
There is often confusion between IPMP load spreading and link level aggregation. See this table for a full comparison of the two approaches.
As mentioned, configuring IPMP is more straightforward with the latest release. For backward compatibility, Solaris 10 configuration compatibility is supported.
Other benefits center around better interoperability between IPMP's IP addresses and commands that operate on IP addresses.
- • snoop can be used for debug purposes.
- • IPFilter rules can be configured as for regular IP addresses.
- • Observability is improved through the new ipmpstat(1M) command.
» Documentation
» Blog
» OpenSolaris Project Page
Socket Enhancements
Improved sockets performance
Applications that use the socket framework on OpenSolaris 2009.06 should experience improved performance due to underlying changes that reduce STREAMS overhead. Compatibility with the previous implementation is maintained.
Pluggable sockets simplify customizations
Developers can now easily and dynamically add new socket types to expand the networking capabilities of the system through the pluggable sockets facility.
Simplify kernel-network programming for kernel developers
OpenSolaris now has a socket API for network programming in the kernel. Example kernel components that use this facility include CIFS, iSCSI, etc. This API is similar to the user level socket API which makes it very simple to implement networking in kernel modules and drivers.
» Short presentation from engineering about the project (8 min.)
» OpenSolaris.org project page
IP Observability
Improved visibility of local networking traffic
The IP Observability project provides the capabilities for administrators and developers to observe traffic local to a system using the same tools (e.g. snoop) that are used for observing external-bound traffic. This includes observing Solaris Container to Container traffic within a system or packets that travel on a loopback interface.