-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
298 lines (232 loc) · 17.5 KB
/
index.html
File metadata and controls
298 lines (232 loc) · 17.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Fibbing, hybrid SDN, routing, policies">
<meta name="author" content="Stefano Vissicchio" >
<title>Fibbing: Central Control Over Distributed Routing</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<!-- Custom styles for this template -->
<link href="css/custom.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container fluid">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="collapse navbar-collapse" id="bs-navbar-collapse">
<ul class="nav navbar-nav">
<li class="nav-elem bubble"><a class ="active" href="#about">About</a></li>
<li class="nav-elem bubble"><a href="#faq">FAQ</a></li>
<li class="nav-elem bubble"><a href="#papers">Papers</a></li>
<li class="nav-elem bubble"><a href="#presentations">Presentations</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle nav-elem bubble" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Watch demos<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a class="nav-elem bubble" data-toggle="modal" data-target="#videoModal">Play an introduction to Fibbing</a></li>
<li><a class="nav-elem bubble" data-toggle="modal" data-target="#ecmpvideoModal">Play an example application</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="nav-elem nav-link bubble"><a href="https://github.com/fibbing/">Get the code ➲</a></li>
</ul>
</div>
</div>
</nav>
<body>
<div class="modal fade" id="videoModal" tabindex="-1" role="dialog">
<video width="1280" height="720" controls="controls">
<source src="https://www.info.ucl.ac.be/~otilmans/fibbing/fibbing.mp4" type="video/mp4" />
You browser does not support the playback of this video,
you can however download it by <a href="https://www.info.ucl.ac.be/~otilmans/fibbing/fibbing.mp4">right clicking this and selecting save as ...</a> and play it locally with e.g. VLC.
</video>
</div>
<div class="modal fade" id="ecmpvideoModal" tabindex="-1" role="dialog">
<video width="1280" height="720" controls="controls">
<source src="https://www.info.ucl.ac.be/~otilmans/fibbing/ecmp_demo/ecmp-demo.mp4" type="video/mp4" />
You browser does not support the playback of this video,
you can however download it by <a href="https://www.info.ucl.ac.be/~otilmans/fibbing/ecmp_demo/ecmp-demo.mp4">right clicking this and selecting save as ...</a> and play it locally with e.g. VLC.
</video>
</div>
<div class="container">
<section id="about">
<div class="text-center lead">
<h1><span class="text-danger">Fibbing: Small Lies for Better Networks</span></h1>
</div>
<p></p>
<p></p>
<div class="jumbotron voffset4">
<p class="text-left lead"><b>Fibbing</b> is an architecture that enables central control over distributed routing. This way, it combines the advantages of SDN (flexibility, expressivity, and manageability) and traditional (robustness, and scalability) approaches.
<p class="voffset4"><b>Fibbing</b> introduces fake nodes and links into an underlying link-state routing protocol, so that routers compute their own forwarding tables based on the augmented topology. Fibbing is expressive, and readily supports flexible load balancing, traffic engineering, and backup routes. Fibbing works with any unmodified routers speaking OSPF.
<p class="text-center voffset5"><img width="350" src="pictures/gadget_firewall_right.jpg"></p>
</div>
<div class="bs-callout bs-callout-warning">
<p class="lead"><b>Fibbing</b> will be presented at <a href="https://www.ietf.org/meeting/97/">IETF 97 in Seoul</a>,
</br>during an <a href="https://irtf.org/anrp">Applied Networking Research Prize</a> invited talk!</p>
</div>
<div class="bs-callout bs-callout-danger">
<p class="lead" style="color:#d9534f;"><b>Fibbing</b> won the Best Paper Award at <a href="http://conferences.sigcomm.org/sigcomm/2015/program.php">SIGCOMM 2015</a>!</p>
</div>
<style type="text/css">
</style>
<!-- Video Modal -->
<div class="row marketing">
<div class="col-lg-6">
<h4>Current networks are hard to configure, operate and manage.</h4>
<p> To configure networks, operators need to manually configure each device by tweaking parameters influencing the behavior of distributed protocols. In addition, used network protocols tend to be inflexible. For example, protocols (IGPs) used for intra-domain routing computes paths as shortest-path over a shared weighted graph: This prevents operators from using arbitrary paths for different traffic flows. As a result, network resources are often used inefficiently, and few guarantees are offered on the final quality of service experienced by end users. Moreover, configuration processes aiming to optimize network performance is long and error-prone, and this degrades network reliability. It is indeed estimated that 50 to 80% of network disruptions are due to manual configurations.
</div>
<div class="col-lg-6">
<h4>Software-Defined Networking is challenging</h4>
<p> Software-Defined Networking (SDN) promises to significantly improve network manageability by enabling direct, and centralized control over the network forwarding state via a well-defined Application Programming Interface (API). Fulfilling this promise though is a challenge for network operators as it often requires heavy modifications to their current network architecture, including: i) equipment upgrades, as the vast majority of the installed base of network equipments (e.g., routers) do not support SDN protocols; ii) new management, monitoring and provisioning systems; but also iii) the need for operators training as managing and debugging a SDN network requires essentially completely different skill sets. Finally, full centralization of network control comes with scalability and robustness challenges.
</div>
</div>
<div class="text-center lead">
<h4><span class="text-danger">Fibbing achieves SDN advantages today, on unmodified OSPF routers,</span>
<br/>
<span class="text-danger">while keeping robustness and scalability of distributed protocols</span></h4>
</div>
<p class="text-center voffset5"><img width="900" src="pictures/comparison_table.jpg"></p>
<br />
<!--
<div class="text-center lead">
<h4>We showed Fibbing potential through a case study</h4>
</div>
-->
<div class="row marketing">
<div class="col-lg-6">
<h4>Fibbing improves routing flexibility</h4>
<p>We run our Fibbing controller in a small network with 4 routers. By introducing one fake node and one fake link (at time 16), it has been able to forward different flows destined to the same router over different paths. As a consequence, all links are utilized and the total available bandwidth is increased.</p>
<p>This performance improvement would have been <em>impossible with IGP</em>. Also, <em>Fibbing avoids control-plane complexities and data-plane overhead</em> of tunnelling (e.g., MPLS-based) solutions.</p>
</div>
<div class="col-lg-6">
<div class="text-center"><img src="pictures/case_study_bw.jpg" alt="" width="450"></div>
</div>
</div>
<div class="row marketing">
<div class="col-lg-6">
<h4>Fibbing mitigates robustness concerns</h4>
<p>We successively failed controller replicas and network links, and we verified Fibbing reaction to and recovery from failures. Our experiment confirmed that (i) replica failures have no impact on forwarded flows (until there is one replica still running), and (ii) Fibbing can adjust forwarding paths upon failures in about 1 second. Moreover, by delegating control to the underlying IGP, Fibbing can implement fail-close (flow 1) and fail-open (flow 2) semantics upon partitions, that is, denying connectivity or keeping it as long as possible. Both fail-close and fail-open semantics are enforced within few seconds.</p>
</div>
<div class="col-lg-6">
<div class="text-center voffset4"><img src="pictures/case_study_robustness.jpg" alt="" width="450"></div>
</div>
</div>
</section>
<section id="faq">
<div class="page-header">
<h3>Frequently Asked Questions</h3>
</div>
<dl>
<dt><p>Is Fibbing a long-term solution? <span class="text-danger"><em>Yes</em></span> </p></dt>
<dd><p>We believe Fibbing is here to stay. In the short run, Fibbing offers programmability and is easy to deploy, at very little cost. A network that ultimately needs even greater flexibility could deploy finer-grained SDN functionality at the edge, and solutions like Fibbing in the core. By combining the best of centralized and distributed routing, Fibbing fits the needs of the network core (flexibility, robustness, low overhead) better than current forwarding paradigms.
</dl>
<dl>
<dt><p>Does Fibbing makes networks harder to debug? <span class="text-danger"><em>No</em></span> </p></dt>
<dd><p>Fibbing relies on "tried and true" protocols. This has several implications. First, Fibbing routing matches the current mental model of operators, a major advantage with respect to other SDN proposals. Moreover, Fibbing is compatible with any existing management, monitoring, and debugging tools. Finally, the Fibbing controller can expose a higher-level interface for debugging, including a mapping between the injected lies and their usage (matched requirements and how).</p>
</dl>
<dl>
<dt><p>Does Fibbing sum the complexities of centralized and distributed approaches? <span class="text-danger"><em>No</em></span> </p></dt>
<dd><p>Fibbing uses the underlying IGP in a very simple way. The IGP output is easy to predict and provides the controller with a powerful API to program routers. As a result, the design of the Fibbing controller is significantly simpler than for existing SDN controllers since heavy tasks such as path computation and topology maintenance are offloaded to the routers. Even basic primitives for controller replication and replica consistency are mainly delegated to current distributed routing protocols.</p>
</dl>
<dl>
<dt><p>Does Fibbing impact security? <span class="text-danger"><em>No</em></span> </p></dt>
<dd><p>The lies introduced by the Fibbing controller can easily be authenticated, like using MD5-based authentication.</p>
</dl>
<dl>
<dt><p>Does Fibbing support service chaining and middleboxing? <span class="text-danger"><em>Partially</em></span> </p></dt>
<dd><p>Fibbing can only program loop-free paths. However, forwarding loops can be encountered when steering traffic through a chain of middleboxes. These requirements <em>can</em> be satisfied in Fibbing with local support from routers to break the loops. For instance, a router could match on the input interface in addition to the destination IP address using policy-based routing, a feature widely available on existing routers and provisioned centrally using BGP flowspec. Alternatively, middlebox traffic steering could be implemented through SDN functionality at the network edge, while still using Fibbing in the core.</p>
</dl>
</section>
<section id="papers">
<div class="page-header">
<h3>Publications</h3>
</div>
<blockquote>
<p><a href="files/sig16_ecmp.pdf">Fibbing in action: On-demand load-balancing for better video delivery</a>,
<a href="http://conferences.sigcomm.org/sigcomm/2016/">SIGCOMM'16 (Demo)</a>, Florianopolis, Brazil, Aug 2016.
(<a href="files/sig16.bib">bibtex</a>, <a href="files/sig16_poster.pdf">poster</a>, <a data-toggle="modal" data-target="#ecmpvideoModal" role="button">video demo</a>)</p>
<p class="text-right text-muted">by Olivier Tilmans, Stefano Vissicchio, Laurent Vanbever, and Jennifer Rexford</p>
</blockquote>
<blockquote>
<p><a href="files/sig15.pdf">Central Control Over Distributed Routing</a>, <a href="http://conferences.sigcomm.org/sigcomm/2015/">SIGCOMM'15</a>, London, UK, Aug 2015.<br/>
<span class="text-danger"><em>Selected as Best Paper, Won an ANRP'16 Award</em></span>. (<a href="files/sig15.bib">bibtex</a>)</p>
<p class="text-right text-muted">by Stefano Vissicchio, Olivier Tilmans, Laurent Vanbever, and Jennifer Rexford</p>
</blockquote>
<blockquote>
<p><a href="files/hotnets14.pdf">Sweet Little Lies: Fake Topologies for Flexible Routing</a>, <a href="http://conferences.sigcomm.org/hotnets/2014/">HotNets</a>, Los Angeles, CA, Oct 2014. (<a href="files/hotnets14.bib">bibtex</a>)</p>
<p class="text-right text-muted">by Stefano Vissicchio, Laurent Vanbever, and Jennifer Rexford</p>
</blockquote>
<blockquote>
<p><a href="files/ons14.pdf">Enabling SDN in old school networks with Software-Controlled Routing Protocols</a>, Open Network Summit (Research Track). Santa Clara, CA, USA. </p>
<p class="text-right text-muted">by Laurent Vanbever and Stefano Vissicchio</p>
</blockquote>
</section>
<section id="presentations">
<div class="page-header">
<h3>Presentations</h3>
</div>
<blockquote>
<p><a href="files/ietf97_rtgarea_slides.pdf">IETF97 - Routing Area Open Meeting</a> (November 2016)</p>
<p class="text-right text-muted">by Olivier Tilmans</p>
</blockquote>
<blockquote>
<p><a href="files/ietf97_irtf_slides.pdf">IETF97 - IRTF Open Meeting, ANRP talk</a> (November 2016)</p>
<p class="text-right text-muted">by Olivier Tilmans</p>
</blockquote>
<blockquote>
<p><a href="files/cisco_pirl_symposium16.pdf">Cisco - PIRL Networking Innovation
and Research Symposium</a> (March 2016)</p>
<p class="text-right text-muted">by Olivier Tilmans</p>
</blockquote>
<blockquote>
<p><a href="files/sigcomm15_slides.pdf">SIGCOMM 2015</a> (August 2015)</p>
<p class="text-right text-muted">by Stefano Vissicchio</p>
</blockquote>
<blockquote>
<p><a href="files/one_bird_is_better_than_two_online.pdf">Hebrew University Networking Summer</a> (June 2015)</p>
<p class="text-right text-muted">by Laurent Vanbever</p>
</blockquote>
<blockquote>
<p><a href="files/slides_hotnets14.pdf">HotNets 2014</a> (October 2014)</p>
<p class="text-right text-muted">by Stefano Vissicchio</p>
</blockquote>
</section>
<section id="people">
<div class="page-header">
<h3>People</h3>
</div>
<ul>
<li><a href="http://inl.info.ucl.ac.be/svissicchio">Stefano Vissicchio</a>, Université catholique de Louvain, <code>stefano dot vissicchio at uclouvain dot be</code></li>
<li><a href="http://inl.info.ucl.ac.be/otilmans">Olivier Tilmans</a>, Université catholique de Louvain, <code>olivier dot tilmans at uclouvain dot be</code></li>
<li><a href="http://www.vanbever.eu">Laurent Vanbever</a>, ETH Zürich, <code>lvanbever at ethz dot ch</code></li>
<li><a href="https://www.cs.princeton.edu/~jrex/">Jennifer Rexford</a>, Princeton University, <code>jrex at cs dot princeton dot edu</code></li>
</ul>
</section>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
<script src="js/custom.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-83303322-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>