Course Notes on Computer Networks and Internet Protocols

Introduction

  • Overview of computer networks and internet protocols.

Course Objectives

  • Understanding how two computers communicate over the Internet.
  • Learning the basic functionalities of computer networks.
  • Programming networks and discussing future changes in design.

Network Architecture

  • Definition: A visual representation of how remote computers communicate.
  • Converts digital data to analog signals and vice versa.
  • Different layers of network architecture include:
    • Physical
    • Data Link
    • Network
    • Transport
Switching Devices in Network Architecture
  • L2 Switch: Ensures proper scheduling in media access.
  • L3 Switch or Routers: Finds suitable paths to forward data.

Network Protocol Stack

  • Various layers in the protocol stack:
    • Application Layer: Protocols like HTTP, FTP, SMTP.
    • Transport Layer: TCP, UDP, RTP.
    • Network Layer: IPv4, IPv6, MPLS.
    • Data Link Layer: Ethernet, WiFi, Bluetooth.
    • Physical Layer: Coverage of the physical aspects of the network.

Historical Development of Computer Networks

  • 1836: Telegraph by Cooke and Wheatstone revolutionizes communication.
  • 1969: ARPANET commissioned; basis of the Internet.
  • 1982: TCP and IP protocols are established.
  • 1989: Tim Berners-Lee proposes the WWW.
  • Significant growth over the years leading to billions of hosts today.

Protocol Layer Functions

  • Physical Layer: Transmits raw bits.
  • Data Link Layer: Forms and sends frames.
  • Network Layer: Routes packets between nodes.
  • Transport Layer: Facilitates reliable/unreliable end-to-end communication.
  • Session Layer: Manages sessions between applications.
  • Presentation Layer: Formats data for the application layer.
  • Application Layer: End-user services and communication tasks.

Circuits vs. Packets in Communication

Circuit Switching
  • Dedicated communication paths with three phases: Establish, Transfer, Disconnect.
  • Efficient for voice traffic but can waste bandwidth.
Packet Switching
  • Data broken into packets; routed independently.
  • Two main approaches: Datagram and Virtual Circuit.
Comparison of Circuit and Packet Switching
  • Circuit switching offers guaranteed bandwidth but can waste capacity.
  • Packet switching allows dynamic bandwidth allocation and is more cost-effective.

Application Layer Protocols

  • Domain Name System (DNS): Translates domain names to IP addresses.
  • File Transfer Protocol (FTP): Uses TCP for reliable file transfers.
  • Hypertext Transfer Protocol (HTTP): Protocol for web communication.
  • Simple Mail Transfer Protocol (SMTP): Email routing protocol.
  • Simple Network Management Protocol (SNMP): Manages network devices.
  • Telnet: Remote login protocol.

Network API: "Socket"

  • Facilitates communication between server and client over the network.
    • Ports and protocols (TCP/UDP) are used in the communication process.

Conclusion

  • Computer networks are essential for modern communication, with a layered approach encapsulating different protocols and services to manage data exchange effectively.