ebook img

Computer Networking: A Top-Down Approach Featuring the Internet PDF

679 Pages·2000·9.987 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computer Networking: A Top-Down Approach Featuring the Internet

Computer Networking Computer Networking: A Top-Down Approach Featuring the Internet file:///D|/Downloads/Livros/computação/Computer%20Network...op-Down%20Approach%20Featuring%20the%20Internet/index.htm20/11/2004 15:51:33 Table of Contents Computer Networking A Top-Down Approach Featuring the Internet James F. Kurose and Keith W. Ross Preface Link to the Addison-Wesley WWW site for this book Link to overheads for this book Online Forum Discussion About This Book - with Voice! 1. Computer Networks and the Internet 1. What is the Internet? 2. What is a Protocol? 3. The Network Edge 4. The Network Core Interactive Programs for Tracing Routes in the Internet n Java Applet: Message Switching and Packet Switching n 5. Access Networks and Physical Media 6. Delay and Loss in Packet-Switched Networks 7. Protocol Layers and Their Service Models 8. Internet Backbones, NAPs and ISPs 9. A Brief History of Computer Networking and the Internet 10. ATM 11. Summary 12. Homework Problems and Discussion Questions 2. Application Layer 1. Principles of Application-Layer Protocols 2. The World Wide Web: HTTP 3. File Transfer: FTP 4. Electronic Mail in the Internet Table of Contents 5. The Internet's Directory Service: DNS Interactive Programs for Exploring DNS n 6. Socket Programming with TCP 7. Socket Programming with UDP 8. Building a Simple Web Server 9. Summary 10. Homework Problems and Discussion Questions 3. Transport Layer 1. Transport-Layer Services and Principles 2. Multiplexing and Demultiplexing Applications 3. Connectionless Transport: UDP 4. Principles of Reliable of Data Transfer Java Applet: Flow Control in Action n 5. Connection-Oriented Transport: TCP 6. Principles of Congestion Control 7. TCP Congestion Control 8. Summary 9. Homework Problems and Discussion Questions 4. Network Layer and Routing 1. Introduction and Network Service Model 2. Routing Principles 3. Hierarchical Routing 4. Internet Protocol Java Applet: IP Fragmentation n 5. Routing in the Internet 6. What is Inside a Router? 7. IPv6 8. Multicast Routing 9. Summary 10. Homework Problems and Discussion Questions 5. Link Layer and Local Area Networks 1. The Data Link Layer: Introduction, Services 2. Error Detection and Correction 3. Multiple Acces Protocols and LANs 4. LAN Addresses and ARP 5. Ethernet CSMA/CD Applet n 6. Hubs, Bridges and Switches 7. Wireless LANs: IEEE 802.11 8. The Point-to-Point Protocol 9. ATM 10. X.25 and Frame Relay 11. Summary 12. Homework Problems and Discussion Questions file:///D|/Downloads/Livros/computação/Computer%20Netw...20Approach%20Featuring%20the%20Internet/Contents-1.htm (2 of 4)20/11/2004 15:51:32 Table of Contents 6. Multimedia Networking 1. Multimedia Networking Applications 2. Streaming Stored Audio and Video 3. Making the Best of the Best-Effort Service: An Internet Phone Example 4. RTP 5. Beyond Best Effort 6. Scheduling and Policing Mechanisms for Providing QoS Guarantees 7. Integrated Services 8. RSVP 9. Differentiated Services 10. Summary 11. Homework Problems and Discussion Questions 7. Security in Computer Networks 1. What is Network Security? 2. Principles of Cryptography 3. Authentication: Who are You? 4. Integrity 5. Key Distribution and Certification 6. Secure E-Mail 7. Internet Commerce 8. Network-Layer Security: IPsec 1999 Panel Discussion on Internet Security n 9. Summary 10. Homework Problems and Discussion Questions 8. Network Management 1. What is Network Managmenet? 2. The Infrastructure for Network Management 3. The Internet Network Management Framework 4. ASN.1 5. Firewalls 6. Summary 7. Homework Problems and Discussion Questions Appendix Lab: Building a multi-threaded Web server in Java l Lab: Building a mail user agent in Java l Lab: Implementing a reliable transport protocol l Lab: Implementing a distributed, asynchronous distance vector routing algorithm l file:///D|/Downloads/Livros/computação/Computer%20Netw...20Approach%20Featuring%20the%20Internet/Contents-1.htm (3 of 4)20/11/2004 15:51:32 Table of Contents Some relevant online audio material: Unix Network Programming, Jim Kurose Introduction to Computer Networks, Jim Kurose Internet Protocols, Keith Ross Distribution of Stored Information in the Web, Keith Ross Asynchronous learning links: The Web of Asynchronous Learning Networks Copyright 1996-2000 James F. Kurose and Keith W. Ross file:///D|/Downloads/Livros/computação/Computer%20Netw...20Approach%20Featuring%20the%20Internet/Contents-1.htm (4 of 4)20/11/2004 15:51:32 preface Preface and Acknowledgments Welcome to our online textbook, Computer Networking: A Top-Down Approach. We ( Jim Kurose, Keith Ross, and Addison-Wesley-Longman) think you will find this textbook to be very different than the other computer networking books that are currently available. Perhaps the most unique and innovative feature of this textbook is that it is online and accessible through a Web browser. We believe that our online format has several things going for it. First, an online text can be accessed from any browser in the world, so a student (or any other reader) can gain access to the book at anytime from anyplace. Second, as all of us Internet enthusiasts know, much of the best material describing the intricacies of the Internet is in the Internet itself. Our hyperlinks, embedded in a coherent context, provide the reader direct access to some of the best sites relating to computer networks and Internet protocols. The links do not only point to RFCs but also to sites that are more pedagogic in nature, including home-brewed pages on particular aspects of Internet technology and articles appearing in online trade magazines. Being online also allows us to include many interactive features, including direct access to the Traceroute program, direct access to search engines for Internet Drafts, Java applets that animate difficult concepts, and (in the near future) direct access to streaming audio. Being online enables us to use more fonts and colors (both within the text and in diagrams), making the text both perky and cheerful. Finally, an online format will allow us to frequently release new editions (say, every year), which will enable the text to keep pace with this rapidly changing field. Another unusual feature of the text is its Internet focus. Most of the existing textbooks begin with a broader perspective and address the Internet as just as one of many computer network technologies. We instead put Internet protocols in the spotlight, and use the Internet protocols as motivation for studying some of the more fundamental computer networking concepts. But why put the Internet in the spotlight, why not some other networking technology such as ATM? Most computer networking students have had already significant "hands on" experience with the Internet (e.g., surfing the Web and sending e-mail at the very least) before taking a course on computer networks. We have found that modern-day students in computer science and electrical engineering, being intensive users of the Internet, are enormously curious about what is under the hood of the Internet. Thus, it is easy to get students excited about computer networking when using the Internet as your guiding vehicle. A second reason for the Internet focus is that in recent years computer networking has become synonymous with the Internet. This wasn't the case five-to-ten years ago, when there was a lot of talk about ATM LANs and applications direclty interfacing with ATM (without passing through TCP/IP). But we have now reached the point where just about all data traffic is carried over the Internet or intranets. Furthermore, streaming audio and video have recently become commonplace in the Internet, and someday telephony may be too. Because our book has an Internet focus, it is organized around a five-layer Internet architecture rather than around the more traditional seven-layer OSI architecture. Another unique feature of this book is that it is also top-down in how the content is organized. As we mentioned above, this text, as almost all computer networks textbooks, uses a layered architectural model to organize the content. However, unlike other texts, this text begins at the application-layer and file:///D|/Downloads/Livros/computação/Computer%20Net...n%20Approach%20Featuring%20the%20Internet/preface.htm (1 of 4)20/11/2004 15:51:35 preface works its way down the protocol stack. The rationale behind this top-down organization is that once one understands the applications, one can then understand the network services needed to support these applications. One can then, in turn, examine the various ways in which such services might be provided/ implemented by a network architecture. Covering applications early thus provides motivation for the remainder of the text. An early emphasis on application-layer issues differs from the approaches taken in most other texts, which have only a small (or nonexistent) amount of material on network applications, their requirements, application-layer paradigms (e.g., client/server), and the application programming interfaces (e.g., sockets). Studying application-layer protocols first allows students to develop an intuitive feel for what protocols are (the role of message exchange and the actions taken on events) in the context of network applications (e.g., the Web, FTP and e-mail) which they use daily. Furthermore, the inclusion of a significant amount of material at the application layer reflects our own belief that there has been, and will continue to be, a significant growth in emphasis (in the research community, and in industry) in the higher levels of network architecture. These higher layers -- as exemplified by the Web as an application layer protocol -- is the true ``growth area'' in computer networking. This textbook also contains material on application programming development - material not covered in depth by any introductory computer networks textbook. (While there are books devoted to network programming, e.g., the texts by Stevens, they are not introductory networking textbooks.) There are several compelling reasons for including this material. First, anyone wanting to write a network application must know about socket programming - the material is thus of great practical interest. Second, early exposure to socket programming is valuable for pedagogical reasons as well - it allows students to write actual network application-level programs and gain first-hand experience with many of this issues involved in having multiple geographically distributed processes communicate. We present the material on application programming in a Java context rather than a C context, because socket programming in Java is simpler, and allows students to quickly see the forest through the trees. It has been said that computer networking textbooks are even more boring than accounting texts. Certainly, one seed of truth in the statement is that many books are simply a compendium of facts about a myriad of computer networking technologies and protocols, such as packet formats or service interfaces (and given the wealth of protocol standards, there is no shortage of such facts!). What is missing in such accounting-like textbooks is an identification of the important, underlying issues that must be solved by a network architecture, and a methodical study of the various approaches taken towards addressing these issues. Many texts focus on what a network does, rather than why. Addressing the principles, rather than just the dry standards material, can make a textbook more interesting and accessible. (A sense of humor, use of analogies, and real-world examples also help.) The field of networking is now mature enough that a number of fundamentally important issues can be identified. For example, in the transport layer, the fundamental issues include reliable communication over an unreliable channel, connection establishment/teardown and handshaking, congestion and flow control, and multiplexing. In the routing layer, two fundamentally important issues are how to find ``good'' paths between two routers, and how to deal with large, heterogeneous systems. In the data link file:///D|/Downloads/Livros/computação/Computer%20Net...n%20Approach%20Featuring%20the%20Internet/preface.htm (2 of 4)20/11/2004 15:51:35 preface layer, a fundamental problem is how to share a multiple access channel. This text identifies fundamental networking issues as well as approaches towards addressing these issues. We believe that the combination of using the Internet to get the student's foot in door and then emphasizing the issues and solution approaches will allow the student to quickly understand just about any networking technology. For example, reliable data transfer is a fundamental issue in both the transport and data link layer. Various mechanisms (e.g., error detection, use of timeouts and retransmit, positive and negative acknowledgments, and forward error correction) have been designed to provide reliable data transfer service. Once one understands these approaches, the data transfer aspects of protocols like TCP and various reliable multicast protocols can been seen as case studies illustrating these mechanisms. How an Instructor Can Use this Online Book This online book can be used as the textbook for a course on computer networking just like any other textbook. The instructor can assign readings and homework problems, and base lectures on the material within the text. However, the textbook is also ideally suited for asynchronous online courses. Such courses are particularly appealing to students who commute to school or have difficulty scheduling classes due to course time conflicts. The authors already have significant experience in leading asynchronous online courses, using an earlier draft of this online text. They have found that one successful asynchronous format is to have students do weekly asynchronous readings (and listenings!) and to have students participate in weekly newsgroup discussions about the readings. Students can have a virtual presence by sharing the URLs of the their personal Web pages with the rest of the class. Students can even collaborative on joint projects, such as research papers and network application development, asynchronously over the Internet. Readers are encouraged to visit the following sites which are devoted to asynchronous online education: The Web of Asynchronous Learning Networks Journal of Asynchronous Learning Networks Asynchronous Learning Networks Magazine Acknowledgments Lot's of people have given us invaluable help on this project since it began in 1996. For now, we simply say "Thanks!" and list some of the names alphabetically. Paul Amer Daniel Brushteyn John Daigle Wu-chi Feng file:///D|/Downloads/Livros/computação/Computer%20Net...n%20Approach%20Featuring%20the%20Internet/preface.htm (3 of 4)20/11/2004 15:51:35 preface Albert Huang Jussi Kangasharju Hyojin Kim Roberta Lewis William Liang Willis Marti Deep Medhi George Polyzos Martin Reisslein Despina Saparilla Subin Shrestra David Turner Ellen Zegura Shuchun Zhang and all the UPenn, UMass and Eurecom students that have suffered through earlier drafts! (List is incomplete. Will be adding names shortly.) file:///D|/Downloads/Livros/computação/Computer%20Net...n%20Approach%20Featuring%20the%20Internet/preface.htm (4 of 4)20/11/2004 15:51:35 Instructor Overheads: Computer Networking: A Top Down Approach Featuring the Internet Computer Networking A Top-Down Approach Featuring the Internet James F. Kurose and Keith W. Ross Instructor Overheads You'll find links below to overheads (powerpoint files, compressed postscript and PDF format) for the textbook, Computer Networking: A Top-Down Approach Featuring the Internet, by Jim Kurose and Keith Ross, published by Addison Wesley Longman. If you want to find out more about the book, you can check out the on-line version of the text at http://gaia.cs.umass.edu/kurose/Contents.htm or at http://www.seas.upenn.edu/~ross/book/Contents.htm. The publisher's WWW site for the book is http://www.awlonline.com/kurose/ Note that the overheads below are being made available in powerpoint format (as well as postscript and pdf, shortly) so that instructors can modify the overheads to suit their own teaching needs. While we hope that many instructors will make use of the overheads (regardless of whether or not our text is used for the course), we ask that you use the overheads for educational purposes only. Please respect the intellectual property represented in the overheads and do not use them for your own direct commercial benefit. Questions or comments to Jim Kurose or Keith Ross Chapter 1: Computer Networks and the Internet chapter1a.ppt (Part 1, powerpoint format, 1.178M, last update: 21-Dec-99)) l chapter1b.ppt (Part 2, powerpoint format, 215K, last update: 21-Dec-99) l Chapter 2: The Application Layer chapter2a.ppt (Part 1, powerpoint format, 568K, last update: 21-Dec-99) l chapter2b.ppt (Part 2, powerpoint format, 276K, last update: 21-Dec-99) l file:///D|/Downloads/Livros/computação/Computer%20Netwo...pproach%20Featuring%20the%20Internet/text_overheads.htm (1 of 2)20/11/2004 15:51:36

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.