Classifying inter-realm communication
Creators: name: Chapman, Ryan
Publisher: name: University of British Columbia
Year: 2009

description: The Internet Protocol was conceived to allow computers in interconnected networks to communicate amongst each other. As the Internet grew, the model of peer-to-peer communication was broken—the global internetwork has been fractured into disparate "realms" of communication, largely due to the use of firewalls and other restrictive routing schemes. The problem of disconnected address spaces promises to get worse as the anticipated switch to IPv6 takes place, when a sea of IPv6 infrastructure surrounds islands of IPv4 networks. Many solutions exist that allow limited communication between disparate address realms. One example is the use of network address translation (NAT) to connect networks of privately addressed IP nodes to the Internet. An advanced form of NAT, Realm-Specific IP (RSIP) [5], is another. These mechanisms work well in many cases, but they do have limitations. For example, NAT hides the private nodes from the rest of the Internet and prevents them from receiving data streams that initiate from outside of their network. RSIP allows incoming data, but suffers from a limited resource pool and requires applications to be upgraded. As one wades through the current solutions to the problems associated with inter-realm communication, it becomes clear that many of the solutions available are reactions to particular situations. It is difficult to immediately determine which network protocols and applications will work with a particular solution. A comprehensive, canonical classification scheme is needed that allows one to describe protocols and routing mechanisms. Users could use such a scheme to compare protocol requirements to routing functionality and determine whether a particular routing mechanism would enable a particular application to work properly. This thesis introduces such a scheme, based on patent-pending research in [1]. Protocols are described using an Access Constraint (where is the communication endpoint?), an Integrity Constraint (how much of the data stream must be left untouched by the router?), and information about the direction of data flow. Routing mechanisms are described similarly. A systematic method is then applied to the application requirements and routing capabilities to determine if the router will allow the application to work properly. The descriptions for application requirements and routing mechanism capabilities are captured in an XML-based language named the Routing Description Language, or RDL. The efficacy of the RDL is put to the test in a series of case studies that analyze a number of common applications and situations. In each case, the RDL is used to predict whether the application will work. These results are compared to the known behaviour of the system. The RDL's predictions were accurate for every case studied. This thesis further describes an architecture for a routing platform that is inspired by the routing classification scheme and allows developers to easily build routers that meet application requirements. The router is expected to straddle two distinct address realms. It works by linking modules representing different protocols together to create communication endpoints in each realm of interest. Endpoints are then connected with "pipes" that observe the integrity constraint and route data between the realms.