Source routing
In computer networking, source routing, also called path addressing, allows a sender of a packet to partially or completely specify the route the packet takes through the network.[1] In contrast, in non-source routing protocols, routers in the network determine the path based on the packet's destination.
Source routing allows easier troubleshooting, improved traceroute, and enables a node to discover all the possible routes to a host. It does not allow a source to directly manage network performance by forcing packets to travel over one path to prevent congestion on another.
Many high-performance interconnects including Myrinet, Quadrics,[2] IEEE 1355, and SpaceWire support source routing.
Internet Protocol
In the Internet Protocol, two header options are available which are rarely used: "strict source and record route" (SSRR) and "loose source and record route" (LSRR).[3] Because of security concerns, packets marked LSRR are frequently blocked on the Internet. If not blocked, LSRR can allow an attacker to spoof its address but still successfully receive response packets.[4]
Software-defined networking
Software-defined networking can also be enhanced when source routing is used in the forwarding plane. Studies have shown significant improvements in convergence times as a result of the reduced state that must be distributed by the controller into the network.[5][6]
Myrinet
When using source routing with Myrinet, the sender of the packet prepends the complete route, one byte for every crossbar, to each packet header. Each crossbar examines the first routing byte of the packet. When using source routing, that byte indicates a particular port of that crossbar; when that port becomes available, the router discards that routing byte and sends the rest of the packet out that port.[2]
SpaceWire
Each packet traveling through a SpaceWire network can use path addressing (source routing) or logical addressing or some combination. The router examines the first data character of the packet; when it indicates some specific port of the router, the router discards that routing character and sends the rest of the packet out that port.[7][8][9]
See also
- Bang path
- Dynamic Source Routing
- Policy-based routing can also be used to route packets using their source addresses.
- Scalable Source Routing
References
- ↑ Carl A. Sunshine, Source routing in computer networks, p. 29
- 1 2 Patrick Geoffray; Torsten Hoefler, Adaptive Routing Strategies for Modern High Performance Networks (PDF), p. 2
- ↑ Internet Protocol. IETF. September 1981. RFC 791. https://tools.ietf.org/html/rfc791.
- ↑ Rik Farrow. "Source Address Spoofing". TechNet. Microsoft Corporation.
- ↑ Mourad Soliman. "SDN and Source Routing" (PDF). Sigcomm.
- ↑ Peter Ashwood-Smith. "SDN State Reduction" (PDF). IETF.
- ↑ Steve Parkes. "SpaceWire User’s Guide". 2012. p. 20.
- ↑ Paul Walker, Barry Cook. "SpaceWire: Key principles brought out from 40 year history". 2006. p. 5.
- ↑ S.M. Parkes and C. McClements. "SpaceWire Networks". 2002. page 61.4.
External links
- "Source Routing". IBM Internet Security Systems. Archived from the original on February 24, 2008.
- Source Routing Not Considered Harmful