logo资料库

网络简介:Internet的工作方式Introduction to Networking: How the Internet W....pdf

第1页 / 共119页
第2页 / 共119页
第3页 / 共119页
第4页 / 共119页
第5页 / 共119页
第6页 / 共119页
第7页 / 共119页
第8页 / 共119页
资料共119页,剩余部分请下载后查看
Introduction
Communicating at a Distance
Computers Communicate Differently
Early Wide Area Store-and-Forward Networks
Packets and Routers
Addressing and Packets
Putting It All Together
Glossary
Questions
Network Architecture
The Link Layer
The Internetwork Layer (IP)
The Transport Layer (TCP)
The Application Layer
Stacking the Layers
Glossary
Questions
Link Layer
Sharing the Air
Courtesy and Coordination
Coordination in Other Link Layers
Summary
Glossary
Questions
Internetworking Layer (IP)
Internet Protocol (IP) Addresses
How Routers Determine the Routes
When Things Get Worse and Better
Determining Your Route
Getting an IP Address
A Different Kind of Address Reuse
Global IP Address Allocation
Summary
Glossary
Questions
The Domain Name System
Allocating Domain Names
Reading Domain Names
Summary
Glossary
Questions
Transport Layer
Packet Headers
Packet Reassembly and Retransmission
The Transport Layer In Operation
Application Clients and Servers
Server Applications and Ports
Summary
Glossary
Questions
Application Layer
Client and Server Applications
Application Layer Protocols
Exploring the HTTP Protocol
The IMAP Protocol for Retrieving Mail
Flow Control
Writing Networked Applications
Summary
Glossary
Questions
Secure Transport Layer
Encrypting and Decrypting Data
Two Kinds of Secrets
Secure Sockets Layer (SSL)
Encrypting Web Browser Traffic
Certificates and Certificate Authorities
Summary
Glossary
Questions
The OSI Model
Physical (Layer 1)
Data Link (Layer 2)
Network (Layer 3)
Transport (Layer 4)
Session (Layer 5)
Presentation (Layer 6)
Application (Layer 7)
Comparing the OSI and TCP/IP Models
Link Layer (TCP/IP)
Internetwork Layer (TCP/IP)
Transport Layer (TCP/IP)
Application Layer (TCP/IP)
Conclusion
Glossary
Questions
Wrap Up
Introduction to Networking Charles Severance
Credits Illustrations: Mauro Toselli Editorial Support: Sue Blumenberg Cover Design: Aimee Andrion The SketchNote illustrations were drawn on an iPad using Paper by www.fiftythree.com using a dedicated stylus pencil. The illus- trations were converted from PNG to SVG and EPS vector formats using www.vectormagic.com. The technical figures for the book were drawn with OmniGraffle. Printing History 2015-May-25 Original Printing - CreateSpace Copyright Details This book is Copyright Charles R. Severance. The paper/print version of this book is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Permission is specifically granted to make copies as necessary of all or part of the materials in this book as part of a course or course packet. http://creativecommons.org/licenses/by-nc/4.0 Electronic copies of this book in EPUB, PDF, and HTML are licensed under a Creative Commons Attribution 4.0 International License. http://creativecommons.org/licenses/by/4.0/ If you are interested in translating this book into a language other than English, please contact me. I am willing to give commercial print distribution rights for a complete and responsible transla- tion.
Preface The goal of this book is to provide a basic understanding of the technical design and architecture of the Internet. The book is aimed at all audiences – even those with absolutely no prior tech- nical experience or math skills. The Internet is an amazingly beau- tiful design and should be understood by all who use it. While this book is not about the Network+ or CCNA certifications, I hope it serves as a way to give students interested in these certifications a good starting point. I want to thank Pamela Fox of Khan Academy for coming up with the idea of an introductory network technology course using open materials. I initially developed this material as a single week’s lecture in the SI502 - Networked Computing course that I taught at the Univer- sity of Michigan School of Information starting in 2008. I refined and expanded the material to be three weeks of the Internet His- tory, Technology, and Security (IHTS) course that I have taught to over 100,000 students on Coursera starting in 2012. This book adds further detail to create a standalone text that can be read for enjoyment or used to support an introductory course that fo- cuses on the Internet’s architecture. This book has been particularly fun in that it is a collaboration with my friends Mauro Toselli (@xlontrax) and Sue Blumenberg. I met Mauro and Sue in 2012 when they became volunteer Community Teaching Assistants (CTAs) for my IHTS course on Coursera. Over the past three years we have become friends and colleagues. It is a great example of how open education can bring people to- gether. There is supporting material for this book at http://www.net-intro.com/ If you like the book, let us know. Send us a tweet with your thoughts. You can also send a tweet if you find an error in the book. Charles R. Severance (@drchuck) www.dr-chuck.com Ann Arbor, MI USA May 20, 2015
iv
Contents 1 Introduction 1 1.1 Communicating at a Distance . . . . . . . . . . . . . . . . 1 1.2 Computers Communicate Differently . . . . . . . . . . . 4 1.3 Early Wide Area Store-and-Forward Networks . . . . . . 5 1.4 Packets and Routers . . . . . . . . . . . . . . . . . . . . . . 6 1.5 Addressing and Packets . . . . . . . . . . . . . . . . . . . . 7 1.6 Putting It All Together . . . . . . . . . . . . . . . . . . . . . 8 1.7 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.8 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Network Architecture 13 2.1 The Link Layer . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 The Internetwork Layer (IP) . . . . . . . . . . . . . . . . . 16 2.3 The Transport Layer (TCP) . . . . . . . . . . . . . . . . . . 18 2.4 The Application Layer . . . . . . . . . . . . . . . . . . . . . 20 2.5 Stacking the Layers . . . . . . . . . . . . . . . . . . . . . . 21 2.6 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.7 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3 Link Layer 25 3.1 Sharing the Air . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2 Courtesy and Coordination . . . . . . . . . . . . . . . . . . 28 3.3 Coordination in Other Link Layers . . . . . . . . . . . . . 29 3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 v
vi CONTENTS 3.5 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.6 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4 Internetworking Layer (IP) 35 4.1 Internet Protocol (IP) Addresses . . . . . . . . . . . . . . . 37 4.2 How Routers Determine the Routes . . . . . . . . . . . . 39 4.3 When Things Get Worse and Better . . . . . . . . . . . . 39 4.4 Determining Your Route . . . . . . . . . . . . . . . . . . . . 41 4.5 Getting an IP Address . . . . . . . . . . . . . . . . . . . . . 45 4.6 A Different Kind of Address Reuse . . . . . . . . . . . . . 47 4.7 Global IP Address Allocation . . . . . . . . . . . . . . . . . 48 4.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.9 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.10Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5 The Domain Name System 57 5.1 Allocating Domain Names . . . . . . . . . . . . . . . . . . 58 5.2 Reading Domain Names . . . . . . . . . . . . . . . . . . . . 59 5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.4 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.5 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6 Transport Layer 63 6.1 Packet Headers . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.2 Packet Reassembly and Retransmission . . . . . . . . . 65 6.3 The Transport Layer In Operation . . . . . . . . . . . . . . 67 6.4 Application Clients and Servers . . . . . . . . . . . . . . . 68 6.5 Server Applications and Ports . . . . . . . . . . . . . . . . 68 6.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.7 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.8 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
CONTENTS 7 Application Layer vii 73 7.1 Client and Server Applications . . . . . . . . . . . . . . . 73 7.2 Application Layer Protocols . . . . . . . . . . . . . . . . . . 75 7.3 Exploring the HTTP Protocol . . . . . . . . . . . . . . . . . 76 7.4 The IMAP Protocol for Retrieving Mail . . . . . . . . . . . 80 7.5 Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.6 Writing Networked Applications . . . . . . . . . . . . . . . 83 7.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.8 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.9 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8 Secure Transport Layer 89 8.1 Encrypting and Decrypting Data . . . . . . . . . . . . . . 90 8.2 Two Kinds of Secrets . . . . . . . . . . . . . . . . . . . . . . 91 8.3 Secure Sockets Layer (SSL) . . . . . . . . . . . . . . . . . 92 8.4 Encrypting Web Browser Traffic . . . . . . . . . . . . . . . 93 8.5 Certificates and Certificate Authorities . . . . . . . . . . 94 8.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 8.7 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 8.8 Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9 The OSI Model 101 9.1 Physical (Layer 1) . . . . . . . . . . . . . . . . . . . . . . . . 102 9.2 Data Link (Layer 2) . . . . . . . . . . . . . . . . . . . . . . . 102 9.3 Network (Layer 3) . . . . . . . . . . . . . . . . . . . . . . . . 102 9.4 Transport (Layer 4) . . . . . . . . . . . . . . . . . . . . . . . 103 9.5 Session (Layer 5) . . . . . . . . . . . . . . . . . . . . . . . . 103 9.6 Presentation (Layer 6) . . . . . . . . . . . . . . . . . . . . . 103 9.7 Application (Layer 7) . . . . . . . . . . . . . . . . . . . . . . 103 9.8 Comparing the OSI and TCP/IP Models . . . . . . . . . . 104 9.9 Link Layer (TCP/IP) . . . . . . . . . . . . . . . . . . . . . . . 104 9.10Internetwork Layer (TCP/IP) . . . . . . . . . . . . . . . . . 105
viii CONTENTS 9.11Transport Layer (TCP/IP) . . . . . . . . . . . . . . . . . . . . 105 9.12Application Layer (TCP/IP) . . . . . . . . . . . . . . . . . . 105 9.13Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 9.14Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 9.15Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10Wrap Up 109
分享到:
收藏