This dissertation presents my work in addressing the issues pointed out in sec-tion 1.2. Four problems are studied, i.e., extending the routing policy diversity to accommodate more complicated commercial agreements in the inter-domain routing system of Internet; exploiting Internet AS path diversity to eliminate the impact of transient routing problems in the inter-domain routing system; facilitating the de-ployment of diverse data plane functions via network virtualization; and designing diverse interconnection structures for data centers in Internet. The following presents a brief overview for each of the four topics studied in this dissertation.
1.3.1 Diverse Commercial Agreements
Two connecting ASes in Internet often have certain commercial agreements be-tween them regarding how to exchange their traffic and how to settle monetary pay-ment. Because of economic incentives, the routing policies adopted by ASes are usually based on their commercial agreements with other ASes. In today’s Inter-net, two widely existing agreements are transit and peering agreements. Commercial agreements between ASes are, however, continuously evolving, and commonly take many diverse forms beyond the transit and peering agreements. Their existence and evolution are driven by the business interests of ISPs and other players, the compet-itive marketplace, and the constantly changing Internet structure. Furthermore, the future economic structure of the Internet is likely to take many different forms [40–42], and this by itself calls for a broader set of commercial agreements. So far the only practical safe and robust routing policy guideline known to us is the Gao-Rexford’s policy guideline [27], which is applicable for transit and peering agreements only.
The first part of this dissertation studies the problem of accommodating the di-verse mutual transit agreements in inter-domain routing [65]. A series of routing policy guidelines have been proposed, which accommodate mutual transit agreements with increasing broader meanings. Those policy guidelines are provably safe and robust when the Internet AS-level topology satisfies certain mild constraints. I use experi-mental results to show that the majority of peering links in today’s Internet can safely bear the richer mutual transit semantics. In addition, the benefits of peering links entering into mutual transit agreements is also evaluated, and shown to substantially improve the resiliency to a wide range of failures.
1.3.2 Inter-domain Path Diversity
The long convergence delay of the inter-domain routing system has long been realized [30–33]. Although there are a series of research works to speed up routing convergence [66–71], the distributed computation nature of inter-domain routing, which is mandatory for scalability, inevitably leads to domains across the global Internet to use inconsistent information in path computing. Hence, the transient behaviors in inter-domain routing cause lots of problems [34–36,38,72], which can greatly impact the performance of applications running in Internet [73].
The second part of this dissertation presents a scheme that adopts multiple parallel routing processes to explore the Internet AS-level path diversity, so as to eliminate the impact of transient behaviors in the inter-domain routing system [74,75]. This multi-process routing scheme seeks to improve inter-domain routing reliability with minimal changes or added complexity to the current routing system. The goal is to use BGP pretty much “as-is”, to preserve our operational knowledge and expertise with BGP, and minimize the deployment hurdles. In this scheme, each AS runs multiple slightly extended BGP processes. Those processes compute complementary paths.
Specifically, each process selects paths to ensure that across all single network event
that affects routing, at least one routing process maintains a “reliable” end-to-end path, i.e., a path free of routing failures or loops.
1.3.3 Network Virtualization Platforms
As the Internet evolves, increasingly diverse network applications will be deployed to accommodate business and social needs. Often, network applications call for strik-ingly divergent performance requirements in terms of security, predictability, and throughput. However, in current Internet, only one type of data plane service is of-fered, i.e., best-effort data packets forwarding. Although physically separate networks could be constructed to meet these varied service requirements of different applica-tions, a common physical substrate minimizes equipment investment, operating cost, and power consumption. Network virtualization, which supports the simultaneous operation of multiple virtual networks over a shared substrate, provides a powerful way to customize each network to a specific purpose and service requirement. For those who are using the shared substrate, a virtual network is like a physically ex-isting network being exclusively used by them [44–46,76,77]. The goal of network virtualization is promising, but it is challenging to build such a shared network sub-strate that can host multiple concurrent virtual networks. Not only the flexibility of customizing each virtual network is required, high-speed packet forwarding is also highly desired in order to host realistic applications in virtual networks.
The third part of this dissertation presents two network virtualization platforms that achieve both high degree of flexibility and high speed packet forwarding [50,52, 78]. Both platforms run virtual network data planes in virtual machines so as to achieve the flexibility to customize virtual network data planes. But these two plat-forms use different approaches to compensate the data plane performance degradation due to virtualization. The first platform adopts the parallel processing of multiple machines to achieve close to the best known software router packet forwarding speed;
the second platform achieves high speed packet forwarding by adopting a novel user mode packet forwarding scheme, which eliminates the overhead of invoking system calls and copying packet between user space and kernel.
1.3.4 Data Center Networks
Data centers consisting of a cluster of servers have become important infrastruc-ture in Internet to provide large scale storage and computation service [60–64]. The conventional data center networks use switches to build a tree-like interconnection structure to connect servers [79]. However, as the demand for storage and compu-tation grows quickly, the conventional data center interconnection networks become the bottleneck to limit the number of servers that can be accommodated in data cen-ters [58]. When more servers are connected into a data center, the conventional data center network has to upgrade the switches to higher switching capability. However, high-end commodity switches are considerably more expensive. More importantly, the intrinsic limitations of the current switching hardware have hard constraints on how fast packets can be forwarded. Hence, new diverse interconnection structures are needed to accommodate huge number of servers in future data centers.
The fourth part of this dissertation proposes DPillar [80], a new server inter-connection structure for data center networks. Different from the conventional data center networks with tree structures, DPillar adopts a server-centric approach, where a server is not only a computation and storage workstation, but also an intermediate nodes relaying traffic for other servers. All servers in DPillar are commodity dual-port PCs. As most server-class PCs in market and in existing data centers already have two ports, one primary port and one backup port, there is no need to physically upgrade servers in building DPillar. All switches used in DPillar are identical plug-and-play layer-2 Ethernet switches. Because low-end layer-2 Ethernet switches are inexpensive
and require little configuration, DPillar can be easily scaled to accommodate any number of servers.