-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathforeword.html
More file actions
278 lines (165 loc) · 9.71 KB
/
foreword.html
File metadata and controls
278 lines (165 loc) · 9.71 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
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Foreword — Computer Networks: A Systems Approach Version 6.2-dev documentation</title>
<link rel="shortcut icon" href="static/bridge.ico"/>
<script type="text/javascript" src="static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="./" src="static/documentation_options.js"></script>
<script type="text/javascript" src="static/jquery.js"></script>
<script type="text/javascript" src="static/underscore.js"></script>
<script type="text/javascript" src="static/doctools.js"></script>
<script type="text/javascript" src="static/language_data.js"></script>
<script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="static/js/theme.js"></script>
<link rel="stylesheet" href="static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="static/pygments.css" type="text/css" />
<link rel="stylesheet" href="static/css/rtd_theme_mods.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Preface" href="preface.html" />
<link rel="prev" title="Computer Networks: A Systems Approach" href="index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> Computer Networks: A Systems Approach
</a>
<div class="version">
Version 6.2-dev
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Foreword</a></li>
<li class="toctree-l1"><a class="reference internal" href="preface.html">Preface</a></li>
<li class="toctree-l1"><a class="reference internal" href="foundation.html">Chapter 1: Foundation</a></li>
<li class="toctree-l1"><a class="reference internal" href="direct.html">Chapter 2: Direct Links</a></li>
<li class="toctree-l1"><a class="reference internal" href="internetworking.html">Chapter 3: Internetworking</a></li>
<li class="toctree-l1"><a class="reference internal" href="scaling.html">Chapter 4: Advanced Internetworking</a></li>
<li class="toctree-l1"><a class="reference internal" href="e2e.html">Chapter 5: End-to-End Protocols</a></li>
<li class="toctree-l1"><a class="reference internal" href="congestion.html">Chapter 6: Congestion Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="data.html">Chapter 7: End-to-End Data</a></li>
<li class="toctree-l1"><a class="reference internal" href="security.html">Chapter 8: Network Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="applications.html">Chapter 9: Applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="supplements.html">Emerging Topics</a></li>
<li class="toctree-l1"><a class="reference internal" href="README.html">About This Book</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Computer Networks: A Systems Approach</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> »</li>
<li>Foreword</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/foreword.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="foreword">
<h1>Foreword<a class="headerlink" href="#foreword" title="Permalink to this headline">¶</a></h1>
<p>Readers: before you start the book, first take a moment and set your
time machine to 1996. That is when the first edition of this book was
published. Do you remember 1996? Were you alive then? People forget
how long ago the foundations of the Internet were laid.</p>
<p>In 1996, the NSFNET had just been decommissioned, and the commercial
phase of the Internet was just beginning. The first search engine
(Alta Vista—do you remember?) had just been demonstrated. Content
delivery networks did not exist—Akamai was founded two years later
in 1998, the same year Google was officially born. Cloud was only a
distant haze on the horizon. And there was no such thing as
residential broadband or consumer wireless. We used dialup modems—the
56K modem had just been invented. There were packet radios before
then, but they were slower than dialup and the size of a beer
fridge. You needed a truck or at least a Jeep to be mobile.</p>
<p>And in 1995 or so, Larry and Bruce decided to write this book. It may
be hard, from today’s perspective, to remember how important a book
like this was in 1996. It captured a lot of tacit knowledge and made
it available to anyone who would read. And rather than just reciting a
series of protocol descriptions, it taught how the parts fit
together. It taught how the Internet worked, not just what the parts
were.</p>
<p>One way to think about how the Internet has evolved is through the
lens of the application designer. After all, the purpose of the
Internet as a packet transport system is to support apps. Only geeks
and performance freaks send packets for the fun of it. In 1996, if
you wanted to build an application, the ecosystem included the IP
packet transport service, TCP to smooth out the losses at the Internet
layer, the DNS, and that was about it. Anything else the application
designer needed had to be built from scratch.</p>
<p>Now an application designer has lots of resources to build on: cloud
and cloud networks, other global networks that can hook services
together, CDNs, app development environments and so on. Some of these
may seem quite different from what we had in 1996 and in detail they
are. Consider cloud. (I hate the choice of the term—to me “cloud”
suggests something soft and fluffy, but if you have ever seen a data
center the size of a football field that sucks megawatts, you would
not think soft and fluffy. But never mind…) Data centers have become
very sophisticated about cost, energy efficiency, performance and
resilience. There is a lot to learn about how to build a modern data
center. But the fundamentals are the same: packet forwarding,
statistical capacity sharing, transport protocols, routing protocols,
the pursuit of generality and broad utility, and the like.</p>
<p>Looking forward, technologies such as cloud are clearly central and
this edition devotes considerable attention to cloud. Requirements
such as improving security are critical, and the book discusses
additional issues related to security: trust, identity, and the latest
hot topic—blockchain. However, if you were to look at the first
edition, many of the foundational concepts are the same. But this
edition is the modern version of the story, with up to date examples
and modern technology. Enjoy.</p>
<div class="line-block">
<div class="line">David Clark</div>
<div class="line">MIT</div>
<div class="line">October 2020</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="preface.html" class="btn btn-neutral float-right" title="Preface" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="index.html" class="btn btn-neutral float-left" title="Computer Networks: A Systems Approach" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
© Copyright 2019
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>