Algorithm °æ (¾«»ªÇø)

·¢ÐÅÈË: Lerry (life is waiting...), ÐÅÇø: Algorithm
±ê  Ìâ: ¼ÆËã»úÍøÂ硪¡ª×Ô¶¥ÏòÏ·½·¨ÓëInternetÌØÉ«£¨Ó°Ó¡°æ£
·¢ÐÅÕ¾: ¹þ¹¤´ó×϶¡Ïã (2002Äê11ÔÂ09ÈÕ15:19:25 ÐÇÆÚÁù), Õ¾ÄÚÐżþ

¼ÆËã»úÍøÂ硪¡ª×Ô¶¥ÏòÏ·½·¨ÓëInternetÌØÉ«£¨Ó°Ó¡°æ£© ISBN 7-04-010100-9/TP.711
 P736
¡¡¡¡Computer Networking: A Top-down Approach Featuring the Internet
¡¡¡¡James F. Kurose, Keith W. Ross£¬2001.6³ö°æ£¬¶¨¼Û£º39.00Ôª
¡¡¡¡±¾ÊéÒÔInternetΪÖ÷ÓÃ×Ô¶¥Ïòϵķ½·¨½²Êö¼ÆËã»úÍøÂç¡£±¾Êé´òÆÆÒÔÍù½²ÍøÂç±ØÒÔ
OSIÆß²ãЭÒéÄ£ÐÍΪ»ù±¾µÄ´«Í³£¬¶ø´úÖ®ÒÔ³ÉÊìÇÒʵÓõÄTCP/IPÎå²ãЭÒéÌåϵ£¬Í¬Ê±²ÉÓÃ
·ûºÏÈÏÖª¹æÂɵÄ˳Ðò£¬×Ô¶¥ÏòϵØÓÉÓ¦Óò㵽ÎïÀí²ã˳Ðò½²Êö¼ÆËã»úÍøÂçµÄ»ù±¾Ô­Àí¼°
Ó¦Óü¼Êõ¡£
¡¡¡¡±¾ÊéµÄÌص㣺һÊÇÔڽṹÉϸü·ûºÏÈ˵ÄÈÏÖª¹æÂÉ£¬¸üÈÝÒ×¼¤·¢¶ÁÕßµÄѧϰÐËȤºÍ»ý
¼«ÐÔ£»¶þÊÇÔÚÄÚÈÝÉÏ×öµ½°´Ðèѧϰ£¬³ýµÚÒ»ÖÁµÚÎåÕÂΪ±ØÊÚÕ½ÚÍ⣬ÆäÓàÕ½ڿɶà¿ÉÉÙ
¡¢¿ÉÇ°¿ÉºóµØ½²ÊÚ£»ÈýÊÇ°üº¬ÁËÓ¦Óÿª·¢ÓëSocket±à³ÌµÄÄÚÈÝ£¬ÕâÊÇÆäËûͬÀà½Ì¿ÆÊéËù
²»¶à¼ûµÄ¡£ÆäÔ´´úÂë¶àÓÃC++ÓëJava±àд£¬²¢ÔÚAddison Longman¹«Ë¾µÄÍøÕ¾ÉÏÓдóÁ¿µÄ
Applet¼°Ô´´úÂë¡¢PowerPointÑÝʾÎı¾£»ËÄÊDZ¾ÊéÖаüº¬Á˶ÔÍøÂçÀíÂÛ»òÓ¦ÓÃ×ö³ö¹ý¾Þ
´ó¹±Ï×µÄÈËÎïר·Ã£¬ÒÔʹѧÉúÁ˽âÕâЩ¾ÞÈËÃǵ±³õ×ö³öÕâЩÖØ´ó·¢Ã÷»ò·¢ÏÖʱµÄ´´Ô쾫
Éñ¡£
¡¡¡¡ÄÚÈÝ£º1. ¼ÆËã»úÍøÂçÓëInternet 2. Ó¦Óòã 3. ´«Êä²ã 4. ÍøÂç²ãÓë·ÓÉ 5. Á´Â·
²ãÓë¾ÖÓòÍø£»6. ¶àýÌåÍøÂç 7. ¼ÆËã»úÍøÂ簲ȫ 8. ÍøÂç¹ÜÀí
About the Authors
Jim Kurose
¡¡¡¡Jim Kurose is Professor and Chair of the Department of Computer Science 
at the University of Massachusetts, Amherst.
¡¡¡¡He is the eight-time recipient of the Outstanding Teacher Award from the
 National Technological University, the recipient of the Outstanding Teacher
 Award form the College of Natural Science and Mathematics at the University
 of Massachusetts, and the recipient of the 1996 Outstanding Teaching Award 
of the Northeast Associations of Graduate Schools. He has been the recipient
 of a GE Fellowship, an IBM Faculty Development Award, and a Lilly Teaching 
Fellowship.
Keith Ross
¡¡¡¡Keith Ross is Chair of the Multimedia Communications Department at Insti
tute Eurecom. From 1985 through 1997 he was a Professor at the University of
 Pennsylvania where he held appointments in both the Department of Systems E
ngineering and the Wharton School of Business. In 1999, he co-founded the In
ternet startup Wimba.com.
¡¡¡¡Dr. Ross has published over 50 papers and written two books. He has serv
ed on editorial boards of five major journal, and has served on the program 
committees of major networking conferences., including IEEE Infocom and ACM 
SIFCOMM. He has supervised more than ten Ph.D. theses. His research and teac
hing interests included multimedia networking, asynchronous learning, Web ca
ching, streaming audio and video, and traffic modeling. He received his Ph.D
. from the University of Michigan.
Preface
¡¡¡¡Welcome to the first edition of Computer Networking: A Top-Down Approach
 Featuring the Internet. We believe that this textbook offers a fresh approa
ch to computer networking instruction. Why is a fresh approach needed, you a
sk? In recent years we have witnessed two revolutionary changes in the field
 of networking. Changes that are not reflected in the networking texts publi
shed in the 1980s and 1990s. First, the Internet has taken over the universe
 of computer networking. Any serious discussion about computer networking to
day has to be done with the Internet in mid, Second, over the past ten years
 the biggest growth area has been in networking services and applications, w
hich can be seen with the emergence of the Web, ubiquitous use of e-mail ser
vices, audio and video streaming, Internet phone, ICQ, and online commerce.
¡¡¡¡We have been teaching computer networking tar 15 years, and We Will prob
ably continue to teach it for many years to come, Because there is no text b
ook that covers tile underlying principles of networking while at the same t
ime emphasizing Internet protocols and network applications, we were motivat
ed to write this textbook. We believe you will find this new and contemporar
y approach to computer networking instruction has numerous benefits.
¡¡¡¡This textbook is for a first course off computer networking. It can be u
sed in both computer science and electrical engineering departments. in term
s of programming languages, the book assumes only that the student has exper
ience with C, C++, or Java. A student who has programmed only in C or C++ an
d hot Java should not have any difficulty following tile application program
ming material, even though this material is presented in a Java context. Alt
hough this book is more precise and analytical than many other introductory 
computer networking texts, it rarely uses any mathematical concepts that are
 not taught in high school. We have made a deliberate effort to avoid using 
any advanced calculus, probability, or stochastic process concepts. The book
 is therefore appropriate for undergraduate courses and for first-year gradu
ate courses. It should also be useful to practitioners in the telecommunicat
ions industry.
What Is Unique about This Textbook?
¡¡¡¡The subject of computer networking is enormously vast and complex, invol
ving many concepts, protocols, and technologies, that are woven together in 
an intricate manner. To cope with this scope and complexity, many computer n
etworking texts are often organized around the ¡°layers¡± of a network archi
tecture. With a layered organization, students can see through the complexit
y of computer networking¡ªthey learn about the distinct concepts and protoco
ls in one part of the architecture while seeing the big picture of how it al
l fits together. For example, many texts are organized around the seven-laye
r OSI architecture. Our personal experience has been that such a layered app
roach to teaching is indeed highly desirable from a pedagogic perspective. N
evertheless, we have found the traditional approach of teaching bottom-up¡ªt
hat is, from the physical layer towards the application layer¡ªis not the be
st approach for a modern course on computer networking.
A Top-Down Approach
¡¡¡¡Unlike the other computer networking texts, this text is organized in a 
top-down manner¡ªthat is, it begins at the application layer and works its w
ay down towards the physical layer. The top-down approach has several import
ant benefits. First, it places emphasis on the application layer, which has 
been the high "growth area" of computer networking. Indeed, many of the rece
nt revolutions in computer networking¡ªincluding the Web, audio and video st
reaming, and content distribution¡ªhave taken place at the application layer
. We believe that the application layer will remain the highest growth area 
in the held, both in terms of research and actual deployment. An early empha
sis on application-layer issues differs from the approaches taken in most ot
her texts, which have only a small (or nonexistent) amount of material on ne
twork applications, their requirements, application-layer paradigms (e.g., c
lient/server), and the application programming interfaces.
¡¡¡¡Second, our experience as instructors has been that teaching networking 
applications near the beginning of the course is a powerful motivational too
l. Students are thrilled to learn about how networking applications work¡ªap
plications such as e-mail and the Web, which most students use on a daily ba
sis. Once a student understands the applications, the student can then under
stand the network services needed to support these applications. The student
 can then, in turn, examine the various ways in which such services might be
 provided and implemented in the lower layers. Covering applications early t
hus provides motivation for the remainder of the text.
¡¡¡¡Third, the top-down approach enables instructors to introduce network ap
plication development at an early stage. Students not only see how popular a
pplications and protocols work, but also learn how easy it is to create thei
r own network applications and application-level protocols. Other introducto
ry computer networking texts do not cover application development and socket
 programming. (Even though there are books devoted to network programming, t
hey are not introductory networking textbooks.) By providing socket programm
ing examples in Java, we highlight the central ideas without confusing stude
nts with complex code. Undergraduates in electrical engineering as well as i
n computer science should not have difficulty following the Java code. Thus,
 with the top-down approach, students get early exposure to the notions of a
pplication programming interfaces (APIs), service models and protocols¡ªimpo
rtant concepts that resurface in all of the subsequent layers.
An Internet Focus
¡¡¡¡As indicated by the title, this textbook features the Internet. Most exi
sting textbooks give significant weight to a variety of telecommunications n
etworks and protocol suites, and they treat the Internet as just one of many
 networking technologies, We instead put the internet in the spotlight, and 
use the Internet protocols as a vehicle for studying some of the more fundam
ental computer networking concepts. But way put the Internet in the spotligh
t; why not some other networking technology such as ATM? First, computer net
working is now synonymous with the Internet. This wasn't the case five-to-te
n years ago, when there was a lot of talk about ATM LA and applications dire
ctly interfacing with ATM (without passing through TCP/IP). But now we have 
leached the point where just about all data traffic is carried over the Inte
rnet (or intranets). Today, the only other type of network that competes wit
h the internet is the circuit-switched telephone networks, And this competit
or may also disappear Although today tile majority of voice traffic is carri
ed over the telephone networks, networking equipment manufacturers and telep
hone company operators are currently preparing for a major migration to Inte
rnet technology.
¡¡¡¡Another benefit for spotlighting the Internet is that most computer scie
nce and electrical engineering students are eager to learn about the Interne
t and its protocols. They use the Internet on a daily basis (at least to sen
d e-mail and surf the Web), and they repeatedly hear stories about how the I
nternet is a revolutionary and disruptive technology that is profoundly chan
ging our world. Given the enormous relevance of the Internet, students are n
aturally curious about what is under the flood. Thus, it is easy for an inst
ructor to get students excited about the basic principles when using the int
ernet as the guiding focus.
¡¡¡¡Because our book has an Internet focus, it is organized around a five-la
yer Internet architecture rather than around the more traditional seven-laye
r OSI architecture. These five layers consist of the application, transport,
 network, link, and physical layers.
Addressing the Principles
¡¡¡¡The field of networking is now mature enough that a number of fundamenta
lly important issues can be identified, For example, in the transport layer,
 the fundamental include reliable communication over an unreliable network l
ayer, connection establishment/teardown and handshaking, congestion and flow
 control, and multiplexing. In the network layer, two fundamentally importan
t issues are how to find ¡°good¡± paths between two routers and routers and 
how to deal with the interconnection of a large number of heterogeneous syst
ems. In the data-link layer, a fundamental problem is how to share a multipl
e access channel. This text identifies fundamental networking issues as well
 as approaches towards addressing these issues. We believe that the combinat
ion of using the internet to get the student¡¯s foot in door and then emphas
izing the issues and solution approaches will allow the student to quickly u
nderstand just about any networking technology.
The Web site
¡¡¡¡One of the most unique and innovative features of this textbook is that 
it has It has an extensive companion Web site at http://www.awl.com/kurose-r
oss, which includes:
¡¡¡¡* Tile entire text online! If an instructor or student does not have the
 hard copy handy, it can be accessed at anytime from anyplace by simply goin
g to the site's Web page. Being online also enables us to use more fonts and
 colors (both within the text and in diagrams), making the text both perky a
nd cheerful. Also, the online format will allow us to publish updates, enabl
ing the text to keep pace with this rapidly changing field.
¡¡¡¡* Over five hundred links to relevant material. As all of us Internet en
thusiasts know, much of the best material describing the Internet is in the 
internet itself. The hyperlinks of the online version, embedded in a coheren
t context, provide the reader direct access to some of the best sites relati
ng to computer networking and Internet protocols. The links point not only t
o RFCs, journal and conference articles, but also to sites that are more ped
agogic in nature, including homebrewed pages on particular aspects of Intern
et technology and articles appearing in online trade magazines. Professors c
an assign the material behind the links as supplementary or even required re
ading. We expect to check the accuracy of the links several times a year
¡¡¡¡* Interactive learning material. The site contains interactive Java appl
ets, illustrating key networking concepts. It also provides direct access to
 the programs such as the Traceroute program (through your browser) that sho
ws the path that packets follow in the Iinternet. Professors can use these i
nteractive features as mini labs. The Web site also provides direct access t
o search engines for Internet Drafts, and to a newsgroup in which topics of 
this book are discussed. A search feature allows readers to search through t
he online version of the text. Finally, the site also makes available intera
ctive quizzes that permit students to check their basic understanding of the
 subject matter.
¡¡¡¡We also expect to be constantly expanding the Web site, adding contribut
ed material from instructors and readers, as well as our own new features su
ch as online lectures. Updates should occur about every three months. If you
 have any problems with the Web site, send mail to aw.cse@awl.com.
¡¡¡¡The online version of this book and its companion Web site are ideally s
uited for asynchronous online courses. Such courses are particularly attract
ive to students who commute to school or have difficulty scheduling classes 
due to course time conflicts. Using an earlier draft of the online version o
f this text, the authors have given asynchronous, fully online courses on co
mputer networking. We have found that one successful asynchronous format is 
to assign weekly online readings and to have students participate in weekly 
newsgroup discussions about the readings. Instructors can give students a vi
rtual presence by collecting the URLs of all the student homepages and listi
ng the URLs on the class Web page. Students can even collaborate on Joint pr
ojects, such as research papers and network application development, asynchr
onously over the Internet. If you are interested in learning more about asyn
chronous online leaning, please visit the Asynchronous Learning Network site
 at http://www.aln.org.
Pedagogical Features
¡¡¡¡We hare been teaching computer networking for over 15 years. We bring to
 this text a combined 30 years of teaching experience to over 3,000 students
. We have also been active researchers in computer networking for over 20 ye
ars. (In fact. Jim and Keith first met each other as master's students in a 
computer networking course taught by Mischa Schwartz in 1979 at Columbia Uni
versity.) We think this gives us a good perspective on where networking has 
been and where it is likely to go in the texture. Nevertheless, we have resi
sted temptations to bias the material in this hook towards our omen pet rese
arch projects. We figure you can visit our personal Web sites if you arc int
erested in our research. Thus, this book is about modern computer networking
¡ªit is about contemporary protocols and technologies as well as the underly
ing principles behind these protocols and technologies.
Principles in Practice Sidebars
¡¡¡¡One important characteristic of this book is that it stresses tile under
lying principles of computer networking and the role of these principles in 
practice. In each of the chapters we include a special sidebar that highligh
ts an important principle in computer networking. These sidebars will help s
tudents appreciate some of the fundamental concepts being applied in modern 
networking.
Historical Sidebars
¡¡¡¡The field of computer networking, beginning in the late 1960s, has a ric
h and fascinating history. We have made a special effort in the text to tell
 the history of computer networking. This is done with a special historical 
section in Chapter 1 and with about a dozen historical sidebars sprinkled th
roughout the chapters. In these historical pieces, we cover the invention of
 packet switching, the evolution of the Internet, the birth of major network
ing giants such as Cisco and 3Com, and many other important events. Students
 will be stimulated by these historical pieces. Also. as historians tell us,
 history helps us predict the future. And correctly predicting the future in
 this rapidly changing field is critical for the success of any networking p
rotocol or technology.
Interviews
¡¡¡¡We have included yet another original feature that should inspire and mo
tivate students--interviews with renowned innovators in the field of network
ing. We provide interviews with Leonard Kleinrock, Tim Berners-Lee, Sally Fl
oyd, J.J. Garcia-Luna-Aceves, Bob Metcalfe, Henning Schulzrinne, Phillip Zim
mermann, and Jeff Case.
Supplements for Instructors
¡¡¡¡We realize that changing your approach to teaching a course can be deman
ding on your time. To aid you in the transition, we are providing a complete
 supplements package, including:
¡¡¡¡* Power Point Slides. The course Web site provides Power Point slides fo
r all eight chapters. The slides cover each chapter in detail. They use grap
hics and animations rather than relying only on monotonous text bullets, to 
makes the slides interesting and visually appealing. We provide the original
 Power Point slides to instructors so you can customize them to best suit yo
ur own teaching needs.
¡¡¡¡* Laboratory assignments. The Web site also provides several detailed pr
ogramming assignments, including an assignment on building a multithreaded W
eb server, on building an e-mail client with a GUI interface, programming th
e sender and receiver sides of a reliable data transport protocol, and an as
signment on routing in the internet.
¡¡¡¡* Homework Solutions. The Web site provides a solutions manual for the h
omework problems in the text. These solutions are for instructors only. They
 are available by contacting your Addison-Wesley sales representative or by 
sending an e-mail message to aw.cse@awl.com.
Chapter Dependencies
¡¡¡¡The first chapter of this text presents a self-contained overview of com
puter networking. Introducing many key concepts and terminology, this chapte
r sets the stage for the rest of the book. All of the other chapters directl
y depend on this first chapter. We recommend that, after completing Chapter 
l, instructors cover Chapters 2 through 5 in sequence, thereby teaching acco
rding to the top-down philosophy. Each of these five chapters leverages mate
rial from the preceding chapters.
¡¡¡¡After completing the first five chapters, the instructor has quite a bit
 of flexibility. There are no interdependencies among the last three chapter
s, so they can be taught in any order. However, each of last three chapters 
depends oil the material in the first five chapters. Ideally, the instructor
 will have time to teach selected material from all three final chapters in 
a full semester course.
¡¡¡¡We also note that the first chapter of the text, being comprehensive and
 self-contained, can serve as the foundation of a short course on networking
.
One Final Note
¡¡¡¡We encourage instructors and students to create new Java applets that il
lustrate the concepts and protocols in this book. If you have an applet that
 you think would be appropriate for this text, please submit it to the autho
rs. If the applet (including notation and terminology) are appropriate, we w
ill be happy to include it on the text's Web site, with an appropriate refer
ence to the authors of the applet. We also encourage instructors to send us 
new homework problems (and solutions), that would complement the current hom
ework problems. We will post these on the instructor-only portion of the Web
 site.
¡¡¡¡We also encourage students and instructors to e-mail us about any commen
ts they might have about either the hard-copy or online versions. Feel free 
to scud us interesting URLs, to point out typos., to disagree with any of ou
r claims, and to tell us chat works and what doesn¡¯t work. Tell us what yon
 think should or shouldn't be included in the next edition. Send your e-mail
 to kurose@cs.umass.edu and ross@eurecom.fr.
Acknowledgments
¡¡¡¡Since this project began in 1996, many people have given us invaluable h
elp and have been influential in shaping our thoughts on how to best organiz
e and teach a networking course. We want to say A BIG THANKS to everyone tha
t has helped, including the hundreds of students that have tested preliminar
y versions. Special thanks go out to:
¡¡¡¡Al Ahc (Lucent Bell Laboratories)
¡¡¡¡paul Amer (University of Deleware)
¡¡¡¡Daniel Brushteyn(former student at University of Pennsylvania. who wrote
 the Ethernet applet)
¡¡¡¡Jeff Cace (SNMP Research international)
¡¡¡¡John Daigle (University of Mississippi)
¡¡¡¡Philippe Decuetos (Institute Eurecom)
¡¡¡¡Michalis Faloutsos (University of California. Riverside)
¡¡¡¡Rug (Ohio State University)
¡¡¡¡Wu-chi Feng (Ohio State University)
¡¡¡¡Sally Floyd (ACIRI)
¡¡¡¡J.J. Garcia-Luna-Aceves (University of California at Santa Cruz)
¡¡¡¡Mario Gerla (University of California at Los Angeles)
¡¡¡¡Phillipp Hoschka (INRIA/W3C)
¡¡¡¡Albert Huang (former student of University of Pennsylvania, who wrote th
e fragmentation applet)
¡¡¡¡Sugih Jamin (University of Michigan)
¡¡¡¡Jussi Kangasharju (Eurecom 1llstitute, who helped with the homework solu
tions and some of the online labs)
¡¡¡¡Hyojin Kim (former student at University of Pennsylvania, who wrote the 
flow control applet)
¡¡¡¡Leonard Kleinrock (UCLA)
¡¡¡¡Tim-Berners Lee (World Wide Web Consortium)
¡¡¡¡Brian Levine (University of Massachusetts)
¡¡¡¡William Liang (former Ph.D. student of University of Pennsylvania)
¡¡¡¡Willis Marti (Texas A&M)
¡¡¡¡Deep Medhi (University of Missouri, Kansas City)
¡¡¡¡Bob Metcalfe (International Data Group)
¡¡¡¡Erich Nahum (formerly of the University of Massachusetts, now at IBM Res
earch)
¡¡¡¡Craig Partridge (BBN Technologies)
¡¡¡¡Radia Penman (Sun Microsystems)
¡¡¡¡Jitendra Padhye (formerly of the University of Massachusetts, now at ACI
RI)
¡¡¡¡George Polyzos (University of California at San Diego)
¡¡¡¡Ken Reek (Rochester institute of Technology)
¡¡¡¡Martin Reisslein (Arizona State University)
¡¡¡¡Despina Saparilla (University of Pennsylvania)
¡¡¡¡Henning Schulzrinne (Columbia University)
¡¡¡¡Mischa Schwartz (Columbia University)
¡¡¡¡Prashant Shenoy (University of Massachusetts)
¡¡¡¡Subin Shrestra (University of Pennsylvania)
¡¡¡¡Peter Steenkiste (Carnegie Mellon University)
¡¡¡¡Tatsuya Suda (University of California at Irvine)
¡¡¡¡Kin Sun Turn (State University of New York at Albany)
¡¡¡¡Don Towsley (University of Massachusetts)
¡¡¡¡David Turner (Eur6com institute, who helped with one of the online labs)

¡¡¡¡Raj Yavatkar (Intel, formerly at the University of Kentucky)
¡¡¡¡Yechiam Yemini (Columbia University)
¡¡¡¡Ellen Zegura (Georgia institute of Technology)
¡¡¡¡Hut Zhang (Carnegie Mellon University)
¡¡¡¡Lixia Zhang (University of California, Los Angeles)
¡¡¡¡ZhiLi Zhang (University of Minnesota)
¡¡¡¡Shuchun Zhang (former student at University of Pennsylvania, who wrote t
he message switching applet)
¡¡¡¡Phil Zimrnermann (Network Associates)
¡¡¡¡Jim and Keith want to also thank the entire Addison-Wesley team, which h
as done an absolutely outstanding job (and who have put up with two very fin
icky and often behind-schedule authors!). Our thanks to: Joyce Cosentino, Su
san Hartman, Michael Hirsch, Lisa Kalner, Patty Mahtani, Helen Reebenacker, 
and Amy Rose. Special thanks go to Susan, our editor at Addison-Wesley. This
 book could not and would not have been completed without her management, en
couragement, patience, and perseverance.
Table of Contents
Chapter 1 Computer Networks and the Internet 1
1.1 What is the internet? I
¡¡¡¡1.1.1 A Nuts and Bolts Description I
¡¡¡¡1.1.2 A Service Description 4
¡¡¡¡1.1.3 Some Good Hyperlinks 5
1.2 What is a Protocol? 6
¡¡¡¡1.2.1 A Human Analogy 7
¡¡¡¡1.2.2 Network Protocols 8
1.3 The Network Edge 9
¡¡¡¡1.3.1 End Systems, Clients, and Servers 9
¡¡¡¡l.3.2 Connectionless and Connection-Oriented Services 11
1.4 The Network Core 13
¡¡¡¡1 .4.1 Circuit Switching, Packet Switching, and Message Switching 13
¡¡¡¡1.4.2 Routing in Data Networks 24
1.5 Access Networks and Physical Media 29
¡¡¡¡1.5.1 Access Networks 29
¡¡¡¡1.5.2 Physical Media 34
1.6 Delay and Loss in Packet-Switched Network 38
¡¡¡¡1.6.1 Types of Delay 38
1.7 Protocol Layers and Their Service Models 44
¡¡¡¡1.7.1 Layered Architecture 45
¡¡¡¡1.7.2 The internet Protocol Stack 49
¡¡¡¡1.7.3 Network Entities and Layers 53
1.8 Internet Backbones, NAPs, and lSPs 53
1.9 A Brief History of Computer Networking and the Internet 56
¡¡¡¡1.9.1 Development and Demonstration of Early Packet Switching Principles
' 1961--1972 56
¡¡¡¡1.9.2 Internetworking, and New and Proprietary Networks: 1972--1980 57
¡¡¡¡1.9.3 A Proliferation of Networks: 1980--1990 60
¡¡¡¡1.9.4 Commercialization and the Web: The 1990s 61
1.10 Summary 62
¡¡¡¡Homework Problems and Questions 64
¡¡¡¡Problems 66
¡¡¡¡Discussion Questions 68
Interviews Leonard Kleinrock 70
Chapter 2 Application Layer 72
2.1 Principles of Application Layer Protocols 72
¡¡¡¡2.1.1 Application-Layer Protocols 73
¡¡¡¡2.1.2 What Services Does an Application Need? 78
¡¡¡¡2.1.3 Services Provided by the Internet Transport Protocols 80
¡¡¡¡2.1.4 Network Applications Covered in this Book 83
2.2 The World Wide Web: HTTP 84
¡¡¡¡2.2.1 Overview of HTTP 85
¡¡¡¡2.2.2 Nonpersistent and Persistent Connections 87
¡¡¡¡2.2.3 HTTP Message Format 90
¡¡¡¡2.2.4 User-Server interaction: Authentication and Cookies 94
¡¡¡¡2.2.5 The Conditional GET 96
¡¡¡¡2.2.6 Web Caches 97
2.3 File Transfers FTP 104
¡¡¡¡2.3.1 FTP Commands and Replies 105
2.4 Electronic Mail in the Internet 106
¡¡¡¡2.4.1 SMTP 109
¡¡¡¡2.4.2 Comparison with HTTP 111
¡¡¡¡2.4.3 Mail Message Formats and MIME 112
¡¡¡¡2.4.4 Mail Access Protocols 118
¡¡¡¡2.4.5 Continuous Media E-mail 123
2.5 DNS--the Internet's Directory Service 124
¡¡¡¡2.5.1 Services Provided by DNS 124
¡¡¡¡2.5.2 Overview of How DNS Works 127
¡¡¡¡2.5.3 DNS Records 132
¡¡¡¡2.5.4 DNS Messages 134
2.6 Socket Programming with TCP 136
¡¡¡¡2.6.1 Socket Programming with TCP 137
¡¡¡¡2.6.2 An Example Client/Server Application in Java 139
2.7 Socket Programming with UDP' 146
2.8 Building a Simple Web Server 154
¡¡¡¡2.8.1 Web Server Functions 154
2.9 Summary 158
¡¡¡¡Homework Problems and Questions 159
¡¡¡¡Problems 161
¡¡¡¡Discussion Questions 162
¡¡¡¡Programming Assignments 163
Interview: Tim Berners-Lee 165
Chapter 3 Transport Layer 167
3.1 Transport-Layer Services and Principles 167
¡¡¡¡3.1.1 Relationship between Transport and Network Layers 169
¡¡¡¡3.1.2 Overview of the Transport Layer in the Internet 171
3.2 Multiplexing and Demultiplexing Applications 172
3.3 Connectionless Transport: UDP 177
¡¡¡¡3.3.1 UDP Segment Structure 180
¡¡¡¡3.3.2 UDP Checksum 181
3.4 Principles of Reliable Data Transfer 182
¡¡¡¡3.4.1 Building a Reliable Data Transfer Protocol 184
¡¡¡¡3.4.2 Pipelined Reliable Data Transfer Protocols 193
¡¡¡¡3.4.3 Go-Back-N(GBN) 196
¡¡¡¡3.4.4 Selective Repeat (SR) 201
3.5 Connection-Oriented Transport: TCP 207
¡¡¡¡3.5.1 The TCP Connection 207
¡¡¡¡3.5.2 TCP Segment Structure 210
¡¡¡¡3.5.3 Sequence Numbers and Acknowledgment Numbers ZI I
¡¡¡¡3.5.4 Telnet: A Case Study for Sequence and Acknowledgment Numbers 213
¡¡¡¡3.5.5 Reliable Data Transfer 215
¡¡¡¡3.5.6 Flow Control 221
¡¡¡¡3.5.7 Round Trip Time and Timeout 224
¡¡¡¡3.5.8 TCP Connection Management 226
3.6 Principles of Congestion Control 231
¡¡¡¡3.6.1 The Causes and the Costs of Congestion 231
¡¡¡¡3.6.2 Approaches toward Congestion Control 237
¡¡¡¡3.6.3 ATM ABR Congestion Control 239
3.7 TCP Congestion Control 240
¡¡¡¡3.7.1 Overview of TCP Congestion Control 241
¡¡¡¡3.7.2 Modeling Latency: Static Congestion Window 249
¡¡¡¡3.7.3 Modeling Latency: Dynamic Congestion Window 253
3.8 Summary 258
¡¡¡¡Homework Problems and Questions 260
¡¡¡¡Problems 261
¡¡¡¡Discussion Question 268
¡¡¡¡Programming Assignment 268
Interview: Sally Floyd 269
Chapter 4 Network Layer and Routing 271
4.1 Introduction and Network Service Models;1
¡¡¡¡4.1.1 Network Service Model
¡¡¡¡4.1.2 Origins of Datagram and Virtual Circuit Service:
4.2 Routing Principles 282
¡¡¡¡4.2.1 A Link State Routing Algorithm 282
¡¡¡¡4.2.2 A Distance Vector Routing Algorithm 286
¡¡¡¡4.2.3 Other Routing Algorithms 297
4.3 Hierarchical Routing 297
4.4 Internet Protocol 300
¡¡¡¡4.4.1 IPvl Addressing 302
¡¡¡¡4.4.2 Transporting a Datagram from Source to Destination: Addressing and
 Routing 310
¡¡¡¡4.4.3 Datagram Format 314
¡¡¡¡4.4.4 IP Fragmentation and Reassembly 317
¡¡¡¡4.4.5 ICMP: Internet Control Message Protocol 319
4.5 Routing in the Internet 321
¡¡¡¡4.5.1 Intra-Autonomous System Routing in the Internet 322
¡¡¡¡4.5.2 Inter-Autonomous System Routing 329
4.6 What's Inside a Router? 332
¡¡¡¡4.6.1 Input Ports 333
¡¡¡¡4.6.2 Switching Fabrics 336
¡¡¡¡4.6.3 Output Ports 338
¡¡¡¡4.6.4 Where Does Queuing Occur? 338
4.7 IPv6 341
¡¡¡¡4.7.1 IPv6 Packet Format 342
¡¡¡¡4.7.2 Transitioning from IPv4 to IPv6 345
4.8 Multicast Routing
¡¡¡¡4.8.1 Introduction: The Internet Multicast Abstraction and Multicast Gro
ups 348
¡¡¡¡4.8.2 The IGMP Protocol 350
¡¡¡¡
--
Èç¹ûÒ»¸öÄÐÈËËæÒâȡЦŮÈ˵ÄÒ·þ£¬ÄÇôËû¿Ï¶¨´ÓÀ´Ã»ÓÐΪŮÈ˵ÄÒ·þÌ͹ýÇ®¡£

¡ù À´Ô´:¡¤¹þ¹¤´ó×϶¡Ïã bbs.hit.edu.cn¡¤[FROM: 218.7.32.75]
[°Ù±¦Ïä] [·µ»ØÊ×Ò³] [Éϼ¶Ä¿Â¼] [¸ùĿ¼] [·µ»Ø¶¥²¿] [Ë¢ÐÂ] [·µ»Ø]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º418.777ºÁÃë