Topic Name Description
Course Introduction Page Course Syllabus
1.1: Introduction Page Introduction to Network Fundamentals
Read this introduction to the basic terms and technologies we will cover in this course, as well as a brief review of how the Internet and computer networks evolved over time.
Page The Role of RFC in Computer Networks

Read this article describing the role and use of Requests For Comments in computer communications. RFCs are pivotal for a clear understanding of computer networks as they are the formal document use to describe the standards, specifications and protocols. They will be used abundantly in this course.

1.2: Services and Protocols Page Services and Protocols

You may notice that some information in the textbook is not completely up-to-date. The Wikipedia article below includes some more recent information for you to explore. Also, Figure 2.1 in the textbook shows the number of hosts on the Internet only through 2007.

The second chapter of Computer Networking: Principles, Protocols, and Practice serves as an introduction to networking as you link across time to review the development of standards and technologies that comprise today's wired and wireless information systems entangled in the Web.

As you read this section, consider the following questions: What is the difference between a service and a protocol? What is topology and what is a transmission mode? What is the purpose of each?

Page Network Topology

As noted above, this article discusses some more recent information regarding these topics.

2.1: TCP/IP Reference Model Page The Internetworking Problem

Read these lecture notes. As you read, pay special attention to the history and different versions of internetworking structure based on TCP/IP protocols.

2.2: Open Systems Interconnect (OSI) Reference Model Page The OSI Reference Model

As you read these sections, consider the following questions: Which came first, the OSI model or the TCP/IP model? Which layers in the OSI model appear to be missing in the TCP/IP stack? Where are they in the TCP/IP model?

3.1: Principles of the Application Layer and the Peer-to-Peer Model Page Principles

As you read this section, consider these questions: What is the client-server model? What is the function of the client? Where does the server reside?

Note: On page 28, the textbook lists the binary code of A as "A : 1000011b". This is incorrect. The binary code for A should be: "A : 1000001b".

Page The Peer-to-Peer Model

This section introduces the peer-to-peer model, which will be discussed further.

Page Overlay Routing in the Internet

As you read, try to answer the following question: how does the peer-to-peer model change or improve the client-server model discussed in the previous section?

3.2.1: Domain Name System (DNS) Page The Domain Name System

In order to access a website, you need to know the website's IP address. IP addresses can be somewhat cumbersome and difficult to remember, since they are simply four numbers separated by periods (e.g., 120.755.3.9). The Domain Name System (DNS) is the application that has solved this problem by allowing us to use "human readable" names for websites. What is the domain name for your home page on your work, school, or home LAN? What is the IP address for each one? Which would you rather use, the IP address or the domain name?

Page Domain Name System (DNS)

Read this article. The Domain Name System is a networking protocol. It converts domain names to the IP addresses, which are needed to locate and identify computer services and devices with the underlying network protocols.

3.2.2: Electronic Mail (SMTP and POP3) Page Electronic Mail

In this section you will look at the e-mail application and explore two of the more popular protocols: SMTP and POP3. How does e-mail work? How long does it take for a message to reach its destination? Then what happens?

3.2.3: HyperText Transfer Protocol (HTTP) Page HyperText Transfer Protocol

Read this section. HTTP is a text-based protocol, in which the client sends a request and the server returns a response. In this section link across the World Wide Web via your textbook to see how this is accomplished.

3.2.4: Simple Network Management Protocol (SNMP) Page Simple Network Management Protocol

Read this article. As you read, pay special attention to the definitions of managed devices, agent, and network management system (NMS). At the same time, try to explain what kind of message flows are defined in NMS.

3.2.5: The Secure Shell (SSH) Protocol Architecture Page SSH Protocols

Read this article. As you read, pay attention to how SSH protocol is defined and the difference between FTP and SSH-based Secure FTP.

3.3: Writing Simple Networked Applications Page SocketServer – Creating Network Servers

Read this tutorial on how to make a simple network application program with Python socket. It is recommended that you download and install Python from the Python official website (http://www.python.org/) and run the sample program.

3.4: Practice Exercises Page Exercises

These exercises further expand the key principles in this chapter. If you are a computer professional, you will enjoy the challenges and higher-level discussions in this section. For the novice, just wander through the presentations and spend more time on the topics that are meaningful to you.

It will take a significant amount of time for you to finish these exercises. We recommend that you schedule 4 hours and attempt a few challenging exercises.

4.1: The Transport Layer Page Principles of a Reliable Transport Protocol

This section discusses the transport protocol in perfect and imperfect network service environments in terms of interactions with the Service Data Unit (SDU) at various stages of the transmission between sending and receiving nodes. What happens to your transmission when the environment is perfect? If your data gets corrupted by transmission errors, lost, reordered, or duplicated, then what happens? Explore the links in your textbook for a better understanding of what goes wrong in cyberspace and the mechanisms used to repair impacted activity.

4.2: User Datagram Protocol (UDP) Page The User Datagram Protocol

The UDP allows several applications running on a host to exchange SDUs with several other applications running on remote hosts. This section explores the checksum process and how the UDP accomplishes this multiprocessing.

4.3: Transmission Control Protocol (TCP) Page The Transmission Control Protocol

Almost every Internet application relies on the TCP in the transport layer. In this section you will discover how your favorite Internet activity exchanges data around the world. Then in the following subunits, you can travel with your data as it streams to its destination and back.

4.3.1: TCP Connection Establishment Page TCP Connection Establishment

As you read this section, be able to describe the three-way handshake used by TCP to establish a connection.

4.3.2: TCP Connection Release Page TCP Connection Release

As you read this section, make sure you are able to identify and explain the two types of connection release.

4.3.3: TCP: A Reliable Data Transport Mechanism Page TCP Reliable Data Transfer

Read this section.

4.3.3.1: TCP Segment Transmission Strategies Page Segment Transmission Strategies

This section of your textbook presents the Nagle Algorithm. What is it, and what two strategies does it provide for data transmission?

4.3.3.2: TCP Windows Page TCP Windows

As you read this section, consider the following questions: What is a TCP window according to the information provided in this section of your textbook? How does a TCP window improve processing in the transport layer?

4.3.3.3: TCP Retransmission Timeout Page TCP's Retransmission Timeout

Follow the path in this section of your textbook to see how the TCP retransmission timeout improves transport performance.

4.3.3.4: Advanced Retransmission Strategies Page Advanced Retransmission Strategies

As you read this section, consider the following questions: What is the exponential back off and how does TCP use it? What is the delayed acknowledgement strategy in TCP? What is the fast retransmit heuristic as utilized by TCP? What is the SACK option?

4.3.3.5: TCP Congestion Control Page TCP Congestion Control

TCP's congestion control is one of its best performance control features. This section explains this feature and how it improves performance in the transport layer.

Page End-to-End Congestion Control

Read this tutorial to understand congestion management at different levels: end-to-end, router assisted, and pricing based.

4.4: Stream Control Transmission Protocol (SCTP) Page Stream Control Transmission Protocol

Read this article, which explains why we need the new SCTP protocol and how it works.

4.5: Real Time Transport Protocol (RTP) Page Real-time Transport Protocol

Read this webpage to understand how RTP is used for streaming multimedia data. As you read, pay special attention to how RTP protocol is different from TCP protocols and how it is used for multimedia data transport.

4.6: Summary Page Summary

Read this summary of Chapter 4. The transport layer relies on TCP mechanisms to recover from the errors of the network layer. The chapter 4 summary reviews the strategies at each stage of the transmission.

4.7: Practice Exercises Page Exercises

Read through the practice exercises on pages 113–126. These exercises further expand the key principles in this chapter. If you are a computer professional, you will enjoy the challenges and higher-level discussions in this section. If you are a novice, explore the presentations and spend more time on the topics that are meaningful to you.

5.1: Principles Page Principles

The network layer includes the datagram and virtual circuit modes, the separation between the data plane and the control plane, and the algorithms used by routing protocols.

As you read this section, it is important to understand the purpose of the router and the use of the packet in enabling you to send data and receive the response. How does the packet interact with the router?

5.1.1: Organization of the Network Layer Page Organisation of the Network Layer

What are the two internal organizations used in the network layer? When are each used? What is a datagram? Explore this section of your textbook to see how a datagram is used in the network level. Compare and contrast the datagram organization with the virtual circuit discussed in this section.

The concept of hop-by-hop forwarding is this section. What does this concept have to do with the routing table? What is the difference between the data and control planes?

5.1.2: The Control Plane Page The Control Plane

In this section, the textbook explains how the control plane maintains the routing table. The three techniques to accomplish this are static routing, distance vector routing, and link state routing. As you explore the next three subunits describing each one in detail, note the advantages and disadvantages of each technique. How does each method deal with link and router failures?

5.1.2.1: Static Routing Page Static Routing

As you read this section, consider the following questions: What is static routing? What are its advantages and disadvantages?

5.1.2.2: Distance Vector Routing Page Distance Vector Routing

As you read this section, consider the following questions: What is distance vector routing? What are its advantages and disadvantages?

5.1.2.3: Link State Routing Page Link State Routing

As you read this section, consider the following questions: What is link state routing? What are its advantages and disadvantages? How does link state routing handle link and routing failures?

Page Bellman-Ford Algorithm

Read this article for more details about the Bellman-Ford routing algorithm. This routing protocol is used in RIP, OSPF, and BGP.

Page Dijkstra's Algorithm

Read this article for more details about the Dijkstra routing algorithm. What is the Dijkstra Algorithm? How is the Dijkstra Algorithm used in link state routing? Like the Bellman-Ford algorithm, this routing protocol is used in RIP, OSPF, and BGP.

5.2: Internet Protocol Page Internet Protocol

In this section we will explore the Internet Protocol (IP) to discover how IP enables the applications running above the transport layer (UDP/TCP) to utilize any of the different datalink layers available.

5.2.1: IP version 4 (IPv4) Page IP Version 4

This section starts with a discussion of IP version 4 before exploring network addressing in more detail. As you read, consider the following questions: What are two of the problems with IP version 4 that led to the development of the Classless Interdomain Routing (CIDR) architecture? How does CIDR improve the scalability of the IP routing system?

Book Subnetting and Supernetting

Read theses two files for a deeper and detailed understanding of the need and use of subnetting and supernetting. Make sure that you understand the exact subnet where an address/mask combination belongs to. Once you determine the exact subnet, make sure that you can name the first and last hosts on that subnet, as well as the network name and broadcast address. Very important principles that need to be mastered.

5.2.2: Internet Control Message Protocol (ICMP) Version 4 Page ICMP version 4

Sometimes a router or the destination host has to inform the sender of the packet of a problem that occurred while processing that packet. In the TCP/IP protocol suite, this reporting is done by the Internet Control Message Protocol (ICMP). How are these messages generated by the ICMP?

5.2.3: IP version 6 (IPv6) Page IP version 6

Read this section. As the popularity of the Internet grew exponentially, it became necessary for an expanded addressing architecture, IP version 6 (IPv6). This section discusses how IPv6 has resolved a number of routing issues while becoming the new standard.

5.2.4: ICMP Version 6 (ICMPv6) Page ICMP version 6

ICMPv6 is the companion protocol for IPv6, just as ICMPv4 is the companion protocol for IPv4. ICMPv6 is used by routers and hosts to report problems when processing IPv6 packets. In addition, ICMPv6 is used when auto-configuring addresses. This section discusses messaging for IPv6.

5.2.5: Middleboxes Page Middleboxes

As you read this section, consider the following questions: What is a Middlebox? Why do we need them?

5.2.6: Network Address Translation (NAT) Page NAT

Large corporations and government agencies prefer their networks to be private (that is, not seen on the Internet). In this section, explore the concept of private networks to learn how their need to communicate with the outside world and with specific machines under certain conditions has resulted in NAT; the mechanism that allows private networks to communicate openly with the outside world. How does NAT work?

5.3: Routing in IP Networks Page Routing in IP Networks

Read this section. Routing protocols will be discussed in terms of two classifications: intradomain and interdomain. What are the differences between these classifications?

5.3.1: Intradomain Routing Page Intradomain Routing

Read this section

5.3.1.1: Routing Information Protocol (RIP) Page RIP

As you read this section, consider the following questions: What is RIP? What are the features of the RIP protocol? How does RIP meet the objectives of intradomain routing? What are its weaknesses?

5.3.1.2: Open Shortest Path First (OSPF) Page OSPF

As you read this section, consider the following questions: What is OSPF? What are the features of the OSPF protocol? How does OSPF meet the objectives of intradomain routing? What are its weaknesses? How is OSPF different from RIP?

5.3.2: Interdomain Routing Page Interdomain Routing

As you read this section, consider the following questions: What are the objectives of interdomain routing? What is the difference between transit and stub domains? What are some of the relationships you can expect to find in an interdomain routing policy?

Describe the BGP. How does BGP differ from the intradomain protocols RIP and OSPF that you've studied? What messages might the BGP generate? What is router convergence? Why is router convergence necessary? How is router convergence handled by the BGP?

Page Multicasting

Read this article about Multicasting. Make sure you fully understand the addressing scheme used for IP multicasting as well as the IGMP protocol used to cotrol the traffic. Of particular importance is also the use of the Reverse Path Forwarding techique to avoid multiple copies of the same packet from being endlessly forwarded in the network.

Page Quality of Service

Read this article about Quality of Service. Pay special attention to the ToS field, DiffServe, RSVP and MPLS.

5.4: Practice Exercises Page Exercises

These exercises expand the key principles in this chapter. If you are a computer professional, you will enjoy the challenges and higher-level discussions in this section. If you are a novice, explore the presentations and spend more time on the topics that are meaningful to you.

Page The Network Simulator: ns-2

This is a software tool that helps you perform networking experiments on your computer. Download and try it with a few simple examples, such as exercise 5 (page 196) and 6 (page 197) in the textbook.

Page Network Device Scanning

Follow the steps detailed in this document. You will learn how to scan for network devices in your local area network using a mobile device, in this case, the "LAN Scan HD" app.

6.1: Principles Page Principles

Read this section. The datalink layer uses the service provided by each of the different technologies found in the physical layer to send and receive bits between directly connected devices. The datalink layer receives packets from the network layer. What are the two main services provided by the datalink layer? Why are these services necessary?

6.1.1: Framing Page Framing

As you read this section, consider the following questions: What is the framing problem? What service does the datalink layer provide to resolve this problem?

6.1.2: Error Detection Page Error Detection

Read this material. Datalink mechanisms also help solve problems related to detecting transmission error.

6.2: Medium Access Control Page Medium Access Control

A computer network environment faces additional problems beyond the framing and error detection issues that are resolved in the datalink layer. What are these problems? How does the Medium Access Control algorithm(s) function in any of the computer network topologies?

6.2.1: Static Allocation Methods Page Static Allocation Methods

As you read this section, consider the following questions: What is static allocation? What are some of the static allocation methods utilized in the datalink layer to share resources in a computer network? Describe each method and how each handles the available resources.

6.2.2: ALOHA Page ALOHAnet

Read this article, which provides a more detailed examination of the ALOHAnet structure.

Page ALOHA

The University of Hawaii addressed the problem of sharing resources with its network of remote island campuses in a unique way. This description of the ALOHAnet explores their solution.

6.2.3: Carrier Sense Multiple Access (CSMA) Page Carrier Sense Multiple Access

The ALOHA solution has been enhanced by CSMA. As you read this section, be able to describe CSMA and how it works to share computer network resources.

6.2.4: CSMA With Collision Detection Page Carrier Sense Multiple Access with Collision Detection

In a wired environment, both ALOHA and CSMA performance are better able to detect collision. Can you explain why that is?

6.2.5: CSMA with Collision Avoidance (CSMA/CA) Page Carrier Sense Multiple Access with Collision Avoidance

CSMA/CA is found in the Wi-Fi environment. How are collisions avoided?

6.2.6: Deterministic Medium Access Control Algorithms Page Deterministic Medium Access Control algorithms
Read this section. Some applications are sensitive to the time delay of transmissions. Deterministic Medium Access Control algorithms have been used to resolve this problem. Explore this section to see some of the deterministic algorithms.
6.3: Technologies Page Datalink Layer Technologies

It would take a library full of volumes to discuss all of the technologies used on the Internet. Your textbook has condensed this information into a discussion of six major categories. The following subunits address the datalink services of these technologies.

6.3.1: Point-to-Point Protocol Page The Point-to-Point Protocol

Read this material.

6.3.2: Ethernet Page Ethernet

Read this section. MAC addresses are the datalink services found in an Ethernet environment.

URL Ethernet vs 802.3

Read this article to learn about the difference between the two current implementation of the Ethernet protocol. Place special attention to the frame format clearly differentiating between the two formats and being able to determine which type of frame is being receive for a captured frame.

6.3.2.1: Ethernet Switches Page Ethernet Switches

As you read this section, consider the following questions: What is an Ethernet switch? How does it function in the datalink layer? How does it utilize Medium Access Control mechanisms?

6.3.2.2: The Spanning Tree Protocol (802.1d) Page The Spanning Tree Protocol (802.1d)

The spanning tree protocol is a distributed standard that is used by switches to reduce the network topology to a spanning tree by eliminating all cycles. Explore the examples in your textbook to see how this technology processes frames in the datalink layer.

6.3.2.3: Virtual LANs Page Virtual LANs

As you read this section, consider the following question: How do Ethernet switches create virtual LANs?

Page Virtual Networks

Read this material for a deeper understanding of how VLANs are implemented in networks and how switches react when they receive frames with a particular VLAN tag. Explore how switches direct frames based on VLAN tag, dropping or forwarding depending on VLAN members on a particular VLAN. 

Page 802.11 Wireless Networks

Read this section. Wi-Fi is a very popular wireless networking technology. There are hundreds of millions of Wi-Fi devices, resulting in multiple wireless networking standards that use different frequency ranges and different physical layers. Explore the wireless revolution into the datalink layer in this section.

Page MAC to IP Address Resolution

Read this article, which describes how the physical data link layer address (the MAC address) is mapped to a corresponding IP address. Pay special attention to the packet structure that allows a node to obtain the MAC address of a particular node given the IP address of the intended recipient. Make sure that you understand why this is needed.

6.4: Summary and a Review of Hub, Switch, and Network Router Page Summary

Read this summary of Chapter 6. In this chapter, you explored how Local Area Networks pose a problem for transporting frames since several devices share the same transmission channel. A variety of Medium Access Control algorithms have been necessary to regulate the access to the transmission channel by reducing collisions: ALOHA, CSMA, CSMA/CD, and CSMA/CA. Review the key technologies discussed in this section.

Page Repeaters, Hubs, Bridge Switches, and Routers

Watch this video for more details about networking devices such as switch,hub and routers. A network switch is a multiport network bridge that uses hardware addresses to process and forward data at the data link layer (layer 2) of the OSI model. A router is a networking device that forwards data packets between computer networks. An Ethernet hub, active hub, network hub, repeater hub, multiport repeater, or simply "hub", is a network hardware device for connecting multiple Ethernet devices together and making them act as a single network segment.

6.5: Practice Exercises Page Exercises

These exercises expand the key principles in this chapter. If you are a computer professional, you will enjoy the challenges and higher-level discussions in this section. If you are a novice, explore the presentations and spend more time on the topics that are meaningful to you.

Page Local Area Network Service Scan and Wake on LAN

Follow the steps detailed in this document in order to control your computer from a mobile device.

7.1: Voice over Internet Protocol (VoIP) Page SIP and RTP: Overview of a VoIP Communication

Read this article, which discusses one of the most popular network applications: Voice over IP. There are quite a few industry protocols for Voice over IP; one of the most popular and widely accepted is IETF protocol SIP. As you read, pay special attention to the registering and calling process.

7.2: Internet Protocol Television (IPTV) Page IPTV

Read this article, which discusses another popular network application: Video over IP. This protocol enables us to have videoconferences over the Internet. As you read, pay special attention to the different IPTV techniques, such as video on demand (VOD), live television, and time-shifted television.

7.3: TCP/IP Security Page Security Problems with Internet Architecture

Read this lecture. As you read, pay special attention to DoS attacks, intrusion, hijacking, Web authentication attacks, and weakness in Internet architecture.

Page Firewalls

As you read this section, consider the following questions: When you first used your computer to access the Internet, what was the first security technique you heard about? How does a firewall protect your system from the "evil-doers" lurking on the Internet?

7.4: Cloud Computing Page Cloud Computing

Read this article and take notes on the following popular terms: IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a service), MaaS (Monitoring as a Service), CaaS (Communication as a Service), and XaaS (anything as a Service).

Page Cloud Computing vs. On-Premise Solutions

Watch this video, which discusses the advantages and disadvantages of cloud computing and when it makes sense for companies to move to the cloud.

7.5: AAA Protocol, Network Remote Access, and Directory Services Page AAA Protocol

Read this article and take notes on the following: authentication, authorization, and accounting (AAA) and where they are used.

7.5.1: Remote Authentication Dial In User Service (RADIUS) Page RADIUS

Read this article and take notes on the following popular terms: Remote Authentication Dial In User Service (RADIUS), roaming, realms, and proxy operations.

7.5.2: Terminal Access Controller Access-Control System Plus (TACACS+) Page TACACS and TACACS+

Read this article and take notes on the following: Terminal Access Controller Access-Control System (TACACS), Terminal Access Controller Access-Control System Plus (TACACS+), and how they are used in AAA Protocols.

7.5.3: Lightweight Directory Access Protocol (LDAP) and Directory Services Book LDAP and Directory Service

Read these articles and note the following terms: directory service, X.500, distinguished name (DN), and LDAP operations.

Page Virtual Router Redundancy Protocol

Read this article to learn the implementation and the process to select the Master in a redundant router configuration. Notice HSRP and CARP. What makes VRRP different from both HSRP and CARP?

7.6: Network Reliability and Fault Tolerance Page Network Reliability

Read this article and take notes on the following popular terms: reliable network, reliable multicast, unicast protocols, and reliability properties.

7.7: Network Security Techniques Page Network Security Scanner Nmap

Follow the steps detailed in this document, which will instruct you how to use port-scanning techniques to administrate a large network.

Page Virtual Networks

Read this material for a detailed description of VPNs and thier use to improve network security.

Page Virtual Network Computing (VNC)

Follow these steps to control your computer from a mobile device via Virtual Network Computing. Virtual Network Computing is a graphical desktop sharing system. It uses Remote Frame Butter Protocol to control another computer remotely. Even if you choose not to download the above apps, reading this article is still valuable as it provides an explanation of the difference between RDP and VNC.

Page Enabling Remote Desktops

Follow these steps in order to control your computer from a mobile device.

Course Feedback Survey URL Course Feedback Survey