Second, our experience as instructors (and that of many instructors who have used this text) has been that teaching network applications near the beginning of the course is a powerful motivational tool. They know that the Internet has been a revolutionary and disruptive technology and can see that it is profoundly changing our world.
Teaching Networking Principles
We continue to use the Internet's architecture and protocols as primary vehicles for studying fundamental computer networking concepts. But the spotlight is clearly on the Internet, a fact reflected in our organization of the book around the Internet's five-layer architecture: the application, transport, network, link, and physical layers.
The Web Site
Another advantage of bringing attention to the Internet is that most computer science and electrical engineering students would like to know more about the Internet and its protocols. Given the enormous relevance of the internet, students are naturally curious about what's 'under the hood'. So it's easy for an instructor to get students excited about the basics when they use the Internet as a guide.
Pedagogical Features
We've also added Interactive Exercises that can create (and offer solutions to) problems similar to selected end-of-chapter problems. We have seeded the site with VideoNotes and online problems for Chapters 1 through 5 and will continue to actively add and update this material over time.
Supplements for Instructors
So this book is about modern computer networking - it's about modern protocols and technologies, as well as the basic principles behind those protocols and technologies. Hopefully, this book's sense of humor, use of analogies, and real-world examples will make the material more entertaining.
Chapter Dependencies
One Final Note: We’d Love to Hear from You
Acknowledgments
- Computer Networks and the Internet 1
- Application Layer 83
- Transport Layer 185
- The Link Layer: Links, Access Networks, and LANs 433
We also want to thank the entire Addison-Wesley team—in particular, Michael Hirsch, Marilyn Lloyd, and Emma Snider—who have done an absolutely outstanding job on this sixth edition (and for putting up with two very sharp authors who seem deceptive - genitally unable to meet deadlines!). Finally, a very special thanks goes to Michael Hirsch, our editor at Addison-Wesley, and Susan Hartman, our former editor at Addison-Wesley.
NETWORKING
What Is the Internet?
- A Nuts-and-Bolts Description
- A Services Description
- What Is a Protocol?
The Transmission Control Protocol (TCP) and the Internet Protocol (IP) are two of the most important protocols on the Internet. When you develop an Internet application, you also need to choose one of the Internet services for your application.
The Network Edge
Recall from the previous section that in computer networking jargon, the computers and other devices connected to the Internet are often referred to as end systems. Furthermore, an increasing number of non-traditional devices are being connected to the Internet as end systems (see sidebar).
CASE HISTORY
Access Networks
In the PON architecture, all packets sent from OLT to the splitter are replicated at the splitter (similar to a cable header). Two other access network technologies are also used to provide Internet access to the home.
Physical Media
The least expensive and most commonly used conducted transmission medium is twisted pair copper wire. Ultimately, twisted pair became the dominant solution for high-speed LAN networks.
The Network Core
- Packet Switching
- Circuit Switching
- A Network of Networks
Specifically, the connection assigns a frequency band to each connection for the duration of the connection. Our first network structure, Network Structure 1, interconnects all access ISPs with one global transit ISP.
Delay, Loss, and Throughput in Packet-Switched Networks
- Overview of Delay in Packet-Switched Networks
The lower level ISPs connect to the higher level ISPs, and the higher level ISPs connect to each other. Users and content providers are customers of lower-level ISPs, and lower-level ISPs are customers of higher-level ISPs.
Types of Delay
Queuing Delay and Packet Loss
The La/R ratio, called the traffic intensity, often plays an important role in estimating the amount of queue delay. The qualitative dependence of the average delay in the queue on the traffic intensity is shown in Figure 1.18. One important aspect of Figure 1.18 is the fact that as the traffic intensity approaches 1, the average queuing delay increases rapidly.
End-to-End Delay
The output has six columns: the first column is the n value described above, ie the number of the router along the route; the second column is the name of the router;. The name of router 3 is e.g. border4-rt-gi-1-3.gw.umass.edu and its address is. Looking at the data provided for this same router, we see that in the first of the three tests, the round-trip delay between the source and the router was 1.03 msec. These round-trip delays include all the delays just discussed, including transmission delays, propagation delays, router processing delays, and queuing delays.
Throughput in Computer Networks
Thus, for this simple network with two links, the throughput is min{Rc,Rs}, which means that this is the transmission rate of the bottleneck link. Now suppose that all the links in the core of the communication network have very high transmission rates, much higher than RsandRc. For a final example, see Figure 1.20(b), in which 10 servers and 10 clients are connected to the core of a computer network.
Protocol Layers and Their Service Models
- Layered Architecture
- Encapsulation
We are again interested in the services that a layer provides to the layer above it - the so-called service model of a layer. So let's consider the two additional layers present in the OSI reference model - the presentation layer and the session layer. At the sending host, an application layer message (M in Figure 1.24) is passed to the transport layer.
Networks Under Attack
Here, the postal envelope is analogous to the datagram—it encapsulates the transport layer segment (the interoffice envelope), which encapsulates the original message (the memo). One of the features of this textbook is that it brings network security issues to the fore. Connection flooding. The attacker establishes a large number of half-open or fully open TCP connections (TCP connections are discussed in Chapter 3) to the target host.
History of Computer Networking and the Internet
- The Development of Packet Switching: 1961–1972
- Proprietary Networks and Internetworking: 1972–1980
- A Proliferation of Networks: 1980–1990
- The Internet Explosion: The 1990s
- The New Millennium
By the end of the 1980s, the number of hosts connected to the public Internet, a confederation of networks very similar to today's Internet, will reach one hundred thousand. In the ARPAnet community, many of the final pieces of today's Internet architecture were falling into place. Berners-Lee and his colleagues developed the initial versions of HTML, HTTP, the web server, and the browser—four key components of the web.
Summary
You should note that these chapters are organized around the top four layers of the five-layer Internet protocol stack, one chapter for each layer. Also note that our journey will start at the top of the Internet Protocol stack, namely the application layer, and work our way down. The second half of the book—Chapters 6 through 9—zooms in on four extremely important (and somewhat independent) topics in modern computer networking.
Review Questions
Assuming there is no other traffic on the network, what is the throughput rate for the file transfer. Why is packet switching on the Internet analogous to driving from one city to another and asking for directions along the way? Suppose Trudy positions herself in the network so that she can capture all the packets sent by Alice and send whatever she wants to Bob;
Problems
Principles of Network Applications
- Network Application Architectures
- Processes Communicating
- Transport Services Available to Applications
- Transport Services Provided by the Internet
As shown in this figure, a socket is the interface between the application layer and the transport layer inside the host. The only control an application developer has on the transport layer side is (1) the choice of transport protocol and (2) possibly the ability to tweak some transport layer parameters, such as the maximum buffer and maximum segment sizes (to be captured). in Chapter 3). Recall that the socket is the interface between the application process and the transport layer protocol.
FOCUS ON SECURITY
Application-Layer Protocols
An application layer protocol is only one part of a network application (although from our perspective it is a very important part of the application!). The main application layer protocol for e-mail is Simple Mail Transfer Protocol (SMTP) [RFC 5321]. Thus, the main e-mail application layer protocol, SMTP, is only one part (albeit an important part) of an e-mail application.
Network Applications Covered in This Book
Some application layer protocols are specified in RFCs and are therefore in the public domain. For example, the Web's application layer protocol, HTTP (the HyperText Transfer Protocol [RFC 2616]), is available as an RFC. Many other application layer protocols are proprietary and deliberately not available in the public domain.
The Web and HTTP
- Overview of HTTP
- Non-Persistent and Persistent Connections
- HTTP Message Format
- User-Server Interaction: Cookies
- Web Caching
- The Conditional GET
The steps above illustrate the use of non-persistent connections, where each TCP connection is closed after the server sends the object—the connection does not persist for other objects. 301 Permanently moved: Requested object has been permanently moved;. the new URL is specified in Location:header of the response message. This figure shows two networks—the institutional network and the rest of the public Internet.
File Transfer: FTP
- FTP Commands and Replies
When the server side receives a command for a file transfer over the control connection (either to or from the remote host), the server side initiates a TCP data connection to the client side. The list of files is sent over a (new and non-persistent) data connection instead of the control TCP connection. This command causes the remote host to initiate a data connection and send the requested file over the data connection.
Electronic Mail in the Internet
- SMTP
- Comparison with HTTP
- Mail Message Formats
- Mail Access Protocols
This can be done simply by asking Alice's user agent to send the message directly to Bob's mail server. However, usually the sender's user agent does not directly dialogue with the recipient's mail server. A mail access protocol, such as POP3, is used to transfer mail from the recipient's mail server to the recipient's user agent.
DNS—The Internet’s Directory Service
- Services Provided by DNS
The browser extracts the hostname, www.someschool.edu, from the URL and sends the hostname to the client side of the DNS application. DNS can be invoked by a program to obtain the canonical hostname of a supplied alias hostname as well as the IP address of the host. DNS can be invoked by a mail program to obtain the canonical hostname of a supplied alias hostname as well as the IP address of the host.
PRINCIPLES IN PRACTICE
Overview of How DNS Works
The local DNS server then forwards the query message to one of these TLD servers. The TLD server takes the umass.edusuffix into account and responds with the IP address of the authoritative DNS server for the University of Massachusetts, namely dns.umass.edu. Finally, the local DNS server forwards the query message directly to dns.umass.edu, which responds with the IP address of gaia.cs.umass.edu.
DNS Records and Messages
If a DNS server is authoritative for a given hostname, then the DNS server will contain an A record for the hostname. Even if the DNS server is not authoritative, it may contain an A record in its cache.). The local DNS server then sends a DNS query to look for the type A record corresponding to www.networkutopia.com.
Peer-to-Peer Applications
- P2P File Distribution
- Distributed Hash Tables (DHTs)
The peer with the slowest download speed cannot obtain all Fbits of the file in less than F/dminseconds. In this way, the tracker keeps track of the peers participating in the torrent. In the P2P system, each peer will only have a small subset of the totality of (key, value) pairs.
Socket Programming: Creating Network Applications
- Socket Programming with UDP
- Socket Programming with TCP
The client reads a line of characters (data) from its keyboard and sends the data to the server. With the server process running, the client process can initiate a TCP connection to the server. This last line closes the socket, thus closing the TCP connection between the client and the server.
Summary
In this program, after we send the modified sentence to the client, we close the connection socket. But since serverSocketremains open, another client can now knock on the door and send the server a sentence to modify. You are encouraged to run both programs on two separate hosts and also modify them to achieve slightly different goals.
Review Questions
Is it possible to determine from the header the IP address of the host from which the message was sent? Answer the following questions and indicate where in the HTTP GET message below you will find the answer. Answer the following questions and indicate where in the message below you will find the answer.