About the Course:
This is a foundation course on Computer Networking which focuses on building blocks of the Internet. We trace the journey of messages sent over the Internet from an application residing on one host machine (source) to another (Destination) using a top down layered approach. The course contents are organized based on TCP Protocol stack.
Course Objectives:
To present a broad overview of computer networking, the Internet and network layered architecture.
To study the conceptual and implementation aspects of network applications and socket programming.
To provide an insight of the internet’s connection-oriented and connectionless end-to-end transport service protocols and TCP’s approach to congestion control.
To learn exactly how the network layer can provide its host-to-host communication service and study the IPv4 and IPv6 protocols and addressing.
To explore several important link-layer concepts and technologies, LAN and Wireless LANs.
Course Outcomes:
At the end of this course, the student will be able to:
Demonstrate in a concise way how the internet is constructed and functions with respect to TCP/IP or OSI reference models.
Explain basic concepts of application layer protocols like DNS, HTTP and implement simple client-server applications using socket programming.
Understand the concept of reliable and unreliable data transfer protocols and how TCP and UDP implement these concepts.
Demonstrate the ability to configure the routers and services such as DHCP, ICMP and NAT and implement logical addressing schemes.
Construct and troubleshoot a wired or wireless LAN, and be able to understand wider networking issues.
Course Content:
Unit 1:
Computer Networks and the Internet - 10 hours
Introduction to Computer Networks, Internet: A Nuts-and-Bolts Description, A Services Description , Protocol, The Network Edge: Access Networks, Physical Media, The Network Core, Packet Switching, Circuit Switching, A Network of Networks, Delay, Loss, and Throughput in Packet-Switched Networks, Overview of Delay in Packet-Switched Networks - Queuing Delay and Packet Loss, End-to-End Delay, Throughput in Computer Networks, The OSI Model and the TCP/IP Protocol Suite, Protocol Layers , The OSI Model, TCP/IP Protocol Suite, Introduction to Cloud Computing.
Unit 2:
Application Layer - 12 Hours
Network Application Principles: Network Application Architectures, Processes Communication, Transport Services available to Applications, Transport Services provided by Internet; The Web, HTTP and HTTPS, Non persistent and persistent connection, HTTP Message Format, User Server Interaction: Cookies, Web Caching; DNS, The Internet’s Directory Service: Services provided by DNS; How DNS works: DNS Records and messages; Peer to peer Applications; Socket Programming with TCP and UDP; Other Application Layer Protocols: FTP, SMTP, SNMP, Telnet, SSH.
Unit 3:
Transport Layer - 12 Hours
Introduction to Transport Layer Services: Relationship Between Transport and Network Layer, Overview of the Transport layer in the Internet, Multiplexing and Demultiplexing; Connectionless Transport UDP : UDP Segment Structure, UDP Checksum; Principles of Reliable Data Transfer : Building a Reliable Data Transfer Protocol, Pipelined Reliable Data Transfer Protocol, Go Back N Protocol, Selective Repeat; Connection Oriented Transport TCP: The TCP Connection, TCP Segment Structure, Flow Control, TCP Connection Management, TCP Congestion Control. Numerical on TCP congestion control mechanisms-TCP Tahoe, Reno.
Unit 4:
Network Layer and Internet Protocol - 12 Hours
Overview of Network Layer: Forwarding and routing, The Internet Protocol (IP) IPV4: Datagram Format, Fragmentation, Addressing, NAT; Introduction to Network layer Protocols: DHCP, ICMP; IPv6 Addressing: Address space allocation, Global unicast addresses, Auto configuration, Renumbering, IPv6 Protocol: Packet Format, Transition from IPv4 to IPv6; Introduction to Routing Algorithms: Link State and Distance Vector.
Unit 5:
Link Layer and LAN - 10 Hours
Link layer – Error-Detection and Correction techniques, Parity checks, Internet checksum, cyclic redundancy check, Multiple access protocols: CSMA/CD; Switched LAN: Link layer addressing and ARP, Ethernet: Link-layer switches. Retrospective: A Day in the Life of a Web Page Request. Physical Layer – Purpose, Signals to Packets, Analog vs Digital Signals, Transmission media. Wireless LANs: IEEE 802.11 LAN architecture, 802.11 MAC Protocol, IEEE 802.11 Frame.
Textbooks:
1: “Computer Networking: A Top-Down Approach”, James F. Kurose, Keith W. Ross, 7th Edition, Pearson Publication, 2017.
Refrence Books:
1: “TCP IP Protocol Suite”, Behrouz Forouzan, 4th Edition, McGraw-Hill, 2010.
2: “Mastering Cloud Computing: Foundations and Applications Programming”, Rajkumar Buyya, Christian Vecchiola, S. Thamarai Selvi, Morgan Kaufmann, 2013.
Tools & Languages:
Tools/ Languages: Wireshark, Python
Course Content: