I must create a system, or be enslav‘d by another Man‘s; I will not Reason and compare: my business is to create.
---Willian Blake
Suppose you want to build a computer network, one that has the potential to grow to global proportions1 and to support applicatons as diverse2 as teleconferecing, video on demand, electronic commerce, distributed computing, and digital libraries. What available3 technologies would server as the underlying building blocks4, and what kind of software architecture would you design to integrate these building blocks into an effective communication service? Answering this question is the overriding5 goal of this book---- to describe the available building materials and then to show how they can be used to construct a network from the ground up.
假如你想要去打造一个计算机网络, 它必须拥有发展为全球性分布,并且支持多种多样的应用程序,比如电视会议设备,视频需求,电子商务, 分布式计算和数字图书馆。 什么样的可获得的技术用作底层建筑积木,你设计什么样的软件结构将能够整合这些建筑积木形成一个有效的通信服务。 回答这个问题是本书比较重要的目标----去描述可获得性的建筑积木,并且接着展示他们从地平线上怎样构建一个网络。
1. proportion // CET4 1.N-count 不可数名词 Formal 正式 A proportion of a group of or an amount is a part of it 部分;
A large proportion of the dolphins in that area will eventually die. 那个地区的很大一部分海豚最终都会死去 。
2. N-count 可数名词; The proportion of one kind of person or thing in a group is the number of people or things of that kind compared to the total number of people or things in the group 比例(某部分在总体中所占的)
The proportion of women in the profession had risen to 17.3%. 从事那个职业的女性已经增长到17.3%。
3. N-count 可数名词;The proportion of one amount to another is the relationship between the size of two amounts. 比值(一个量与另一个量)
Women‘s bodies tend to have a higher proportion of fat to water. 女性体内往往有更高的脂肪与水的比值。
4. N-plural 复数型名词 WRITTEN 书面 If you refer to the proportions of something, you are frfferring to its size, usually when this is extremely large. 大小(某物的)
In the tropics plants grow to huge proportions. 在热带,植物长得很高大。
5. Phrase 习语 If one thing increases or decreases in proportion to another thing, it increases or decreases to the same degree as that thing. 成比例地(与...)
The pressure in the cylinders would go up in proportion to the boiler pressure.
6. Phrase 习语 If something is small or large in proportion to something else, it is small or large when compared with that thing. 比(与...)
Children tend to have relatively larger heads than adults in proportion to the rest of their body.
与身体的其余部分相比,孩子头部所占比例往往比成人大。
7. Phrase 习语 If you say that somehting is out of all proportion to something else, you think that it is far greater or more serious than it should be. 完全不成比例(与...)
The punishment was out of all proportion to the crime. 惩罚与罪行完全不成比例。
2. diverse /diværs/ 1. adj 形容词 If a group of things is diverse, it is made up of a wide variety of things. 各式各样的
The building houses a wide and diverse variety of antiques. 这栋楼里摆放着大量各式各样的古董。
2. adj. Diverse people or things are very different from each other. 不同的
Albert Jones‘s new style will inevitably put him in touch with a much more diverse and perhaps younger audience. 艾伯特.琼斯的新风格无疑使他接触更多形形色色的、或许多更年轻的观众。
3. available /?veil?b?l/ CET 4 1. adj 形容词 If somehing you want or need is available, you can find it or obtain it. 可获得的
Since 1978, the amount of money available to buy books has fallen by 17%. 自从1978年以来, 可供买书的钱已经减少了17%。
The store has about 500 autographed copies of the book available for purchase. 这家书店有大约500本该书签名版本可供购买。
availablity /?v‘eil?biliti/ N-uncount 不可数名词 可获得性 ... the easy availability of guns. ... 获得枪支的容易性
ADJ. 形容词 Someone who is available is not busy and is therefore free to talk to you or to do a particular task. [v-link adj]有空的
Mr. Leach is on holiday and was not avaiable for comment. 利奇先生在休假,没空作评论。
4. block block CET4 /bl?k/ blocking, blocking
1. N-count 可数名词 A block of a substance is a large rectangular piece of it. 大块 ... a block of ice. 一大块冰
2.N-count 可数名词 A block of apartments or offices is a large building containing them. 大楼;
... a white-painted apartment block. 一幢漆白色的公寓楼。
3. N-count 可数名词 A block in a town or city is an area of land with streets on all its sides, or the area or distance between such streets. 街区
He walked around the block three times. 他绕着这个街区走了3圈。
She walked four blocks down High Street. 她沿着高街走了4个街区。
4. N-count 可数名词 blocks are wooden or plastic cubes, such as those used as toys by children. 积木。
5. VT 及物动词 To block a road, channel, or pip means to put an object across it or in it so that nothing can pass through it or along it. 堵塞;封锁;
Some students today blocked a highway that cuts through the center of the city. 一些学生封锁了穿过市中心的高速公路。。
6. VT 及物动词 If something blocks your view, it prevents you from seeing something because it is between you and that thing. 挡住
a row of spruce trees that blocked his view of the long north slope of the mountain. 挡住了他看向山北长坡视线的一排云杉。
7. VT 及物动词 If you block someone‘s way, you prevent them from going somewhere or entering a place by standing in fornt of them. 阻挡
I started to move around him, but he blocked my way. 我开始绕开他走,但他挡着我的路。
8. VT 及物动词 If you block something that is being arranged, you prevent it from being done. 阻止
For years the country has tried to block imports of various cheap foreign products。多年以来,这个国家试图阻止多种外国廉价产品的进口。
9. N-count 可数名词 A block of someting such as tickets or shares is a large quantity of them, especially when they are all sold at the same time and are in a particular sequence or order. 一 大叠, 一次性大量购买的入场券、股票等。
Those booking a block of seats get them at reduced rates. 那些一次预订大量座位的人可以享受折扣价。
5. override // CET6 + The verb is prounced /‘?uv?r‘aid/ the noun is pronounced /‘?uv?raid/
1. VT 及物动词: If one thing in a situation overrides other things, it is more important than they are 比... 更重要
The welfare of a child should always override the wishes of its parents. 孩子的幸福应该比其父母的心愿更重要。
Befor we can understand how to design a computer network, we should first agree on exactly what a computer netowrk is. At one time, the term network meant the set of serial lines used to attach dumb6 terminals to mainframe computers. Other important networks include the voice telephone network and the cable TV networks include the voice telephone network and the cable TV network used to disseminate7 video signals. The main things these networks have in common are that they are specialized to handle one particular kind of data (keystrokes, voice or video) and they typically connect to special-purpose devices (terminals, hand receivers, and television sets).
在我们能够理解怎样去设计一个计算机网络, 我们首先应该很清楚地同意一个计算机网络是什么。
What distinguishes a computer network from these other types of networks? Probably the most important characteristic of a computer network is its generality. Computer networks are built primarily from general-purpose programmable hardware, and they are not optimized from application like making calls or delivering television signals.
Instead, they are able to carry many different types of data, and they support a wide, and ever growing, range of applications. Today‘s computer networks are increasingly taking over the functions previously performed by single-use networks. This chapter looks at some typical applications of computer networks and discusses the requirements that a network designer who wishes to support such applications must be aware of.
Once we understand the requirements, how do we proceed? Fortunately, we will not be building the first network. others, most notably the community of research responsible for the Internet, have gone before us. We will use the wealth of experience generated from the Internet to guide our design. This experience is embodied in a network architecture that identifies the available hardware and software components and shows how they can be arranged to form a complete network system.
In addition to unnderstanding how networks are built, it is increasingly important to understand how they are operated or managed and how network applications are developed. Most of us now have computer networks in our homes, offices, and in some cases in our cars, so operating networks is no longer a matter only for a few specialists. And, with the proliferation of programmable, network-attached devices such as smartphones, many more of this generation will develop networked applications than in the past. So we need to consider networks from these multiple perspectives: builders, operators, application developers.
To star us on the road toward understanding how to build, operate, and program a network, this chapter does four things. First, it explores the requirements that different applications and different communities of people place on the network. Second, it introduces the idea of a network architecture, which lays the foundation for the rest of the book. Third, it introduces some of the key elements in the implementation of computer networks. Finally, it identifies the key metrics that are used to evaluate the performance of computer networks.
1.1 Applications
Most people know the Internet through its applications : the World Wide Web, email, online social networking, streaming audio and video, instant messaging, file-sharing, to name just a few examples. That is to say, we interact with the Internet as users of the Interwork. Internet users represent the largest class of people who interact with the Internet in some way, but there are serveral other important constituencies. There is the group of people who create the applications--- a group that has greatly expanded in recent years as powerful programming platforms and new devices such as smartphones have created new opportunities to develep applications quickly and to bring them to a largest market. Then there are those who operate or manage networks--mostly a behind-the-scenes job, but a critical one and often a very complex one. With the prevalence of home networks, more and more people are also becoming, if only in a small way, network operators. Finally, there are those who design and build the devices and protocols that collectively make up the Internet. The final constituency is the traditional target of networking textbooks such as this one and will continue to be our main focus. However, throughout this book we will also consider ther perspectives of application developers and network operators. Considering these perspectives will enable us to better undrstand the diverse requirements that a network must meet. Applicaion developers will also be able to make applications that work better if they understand the diverse requirements that a network must meet. Application developers will also be able to make applications that work better if they understand how the underlying technology works and interacts with the application. So before we start figuring out how to build a network, let‘s look more closely at the types of applications that today‘s networks support.
1.1.1 Classes of Applications
The World Wide Web is the Internet application that catapulted the Internet from a somewhat obscure tool used mostly by scientists and engineers to the mainstream phenomenon that it is today. The web itself has become such a powerful platform that many people confuse it with the Internet (as in "the Internetwebs"), and it‘s a bit of a stretch to say that the web is a single application.
In its basic form, the Web presents an intuitively simple interface. Users view pages full of textual and graphical objects and click on objects that they want to learn more about, and a corresponding new page appears. Most people are also aware that just under the covers each selectable object on page is bound to an identifier for the next page or object to be viewed. This identifier, called a Uniform Resource Locator (URL), provides a way of identifying all the possible objects that can be viewed from your web brower. For example,
http://www.cs.princeton.edu/~llp/index.html
is the URL for a page providing information about one of this book‘s author: the string http indicates that the Hypertext Transfer protocol (HTTP) should be used to download the page, www.cs.princeton.edu is the name of the machine that serves the page, and
/~llp/index.html
uniquely identifies Larry‘s home page at this site.
What most web users are not aware of, however, is that by clicking on just one such URL over a dozen messages may be exchanged over Internet, and many more than that if the web page is complicated with lots of embedded objects. This message exchange includes up to six messages to translate the server name (www.cs.princeton.edu) into its Internet Protocol (IP) address (128.112.136.35), three messages to set up a Transmission Control Protocol (TCP) connection between your browser and this server, four messages for your browser to send the HTTP "GET" require and the server to respond with the requested page (and for each side to acknowledge receipt of that message), and four messages to tear down the TCP connection. Of course, this dose not include the millions of messages exchanged by Internet nodes throughout the day, just to let each other know that they exist and are ready to serve web pages, translate name to addresses, and forward messages toward their ultimate destination.
Another widespread application class of the Internet is the delivery of "streaming" audio and video. Services such as vido on demand and Internet radio use this technology. While we frequently start at a website to initiate a streaming session, the delivery of audio and video has some important differences from fetching a simple web page of text and images. For example, you often don‘t want to download an entire video file--a process that might take minutes to hours -- before watching the first scene. Streaming audio and video implies a more timely transfer of messages from sender to receiver, and the receiver displays the video or plays the audio pretty much as it arrives.
Note that the difference between streaming applications and the more traditional delivery of a page of text or still image is that humans consume audio and video streams in a continuous manner, and discontinuity--- in the form of skipped sounds or stalled video--- is not acceptable. By constrast, a page of text can be delivered and read in bits and pieces. This difference affects how the network supports these different classes of applications.
A subtly different application class is real-time audio and video. These applications have considerably tighter timing constraints than streaming applications. When using a voice-over-IP application such as SkypeTM or a video conferencing application, the inter-action among the participants must be timely. When a person at one end gestures, then that action must be displayed at the other end as quickly as possible. When one person tries to interrupt another, the interrupted person needs to hear that as soon as possible1 and decide whether to allow the interruption or to keep talking over the interrupter.