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.