WEEK 2 CS2005 Networks and Operating Systems: Application Layer

CS2005 Networks and Operating Systems Application Layer I

J.F Kurose and K.W. Ross ©1996-2016


Page 2: Session Objectives

  • Overview of the Internet and its components and services

  • Understanding of:

    • Main principles of network applications

    • Application architectures

    • Process communication

    • Transport services


Page 3: Internet Components View

  • Connected Devices:

    • Billions of computing devices (hosts = end systems)

    • Running network applications

  • Communication Links:

    • Types: fiber, copper, radio, satellite

    • Transmission rate: bandwidth

  • Packet Switches:

    • Forward packets (chunks of data)

    • Types: routers and switches (wired and wireless)


Page 4: Internet Components View (Continued)

  • Internet Structure:

    • "Network of networks" (interconnected ISPs)

  • Protocols:

    • Control sending and receiving of messages (e.g., TCP, IP, HTTP, SMTP, 802.11)

  • Internet Standards:

    • RFC: Request for Comments

    • IETF: Internet Engineering Task Force


Page 5: Internet Service View

  • Infrastructure Services:

    • Provides services to applications (Web, VoIP, email, etc.)

  • Programming Interface:

    • Hooks for sending and receiving app programs to connect to the Internet

  • Service Options:

    • Analogous to postal service


Page 6: What is a Protocol?

  • Human Protocols:

    • Examples: asking for time, introductions

  • Network Protocols:

    • Govern all communication activity in the Internet

    • Define format, order of messages, and actions taken on message transmission


Page 10: Protocol Stack

  • Internet Protocol Stack:

    • Application: supports network applications (FTP, SMTP, HTTP)

    • Transport: process-to-process data transfer (TCP, UDP)

    • Network: routing of datagrams (IP, routing protocols)

    • Link: data transfer between neighboring network elements (Ethernet, WiFi)

    • Physical: bits "on the wire"

  • ISO/OSI Reference Model:

    • Presentation: data interpretation (encryption, compression)

    • Session: synchronization, checkpointing, recovery


Page 12: Some Network Applications

  • Examples include:

    • E-mail

    • Web browsing

    • P2P file sharing

    • Text messaging

    • VoIP

    • Video conferencing

    • Multi-player games

    • Streaming video

    • Social networking

    • Search engines


Page 14: Application Architectures

  • Main Structures:

    • Client-server

    • Peer-to-peer (P2P)


Page 15: Client-Server Architecture

  • Server:

    • Always-on host with a permanent IP address

    • Data centers for scaling

  • Clients:

    • Communicate with the server

    • May be intermittently connected with dynamic IP addresses

    • Do not communicate directly with each other


Page 16: P2P Architecture

  • Peer-to-Peer:

    • No always-on server

    • Arbitrary end systems communicate directly

    • Self-scalability: new peers add service capacity and demand

    • Peers are intermittently connected and change IP addresses


Page 18: Sockets

  • Functionality:

    • Process sends/receives messages to/from its socket

    • Socket is analogous to a door for message transmission


Page 19: Addressing Processes

  • Message Reception:

    • Process must have an identifier (IP address + port number)

    • Example port numbers: HTTP server (80), mail server (25)


Page 20: Application-Layer Protocol Defines

  • Message Exchange:

    • Types of messages (request, response)

    • Message syntax and semantics

    • Rules for sending and responding to messages

  • Protocol Types:

    • Open protocols (e.g., HTTP, SMTP)

    • Proprietary protocols (e.g., Skype)


Page 21: Transport Service Needs

  • Data Integrity:

    • Some apps require reliable data transfer

  • Timing:

    • Low delay needed for effective applications (e.g., telephony)

  • Throughput:

    • Minimum throughput required for multimedia applications

  • Security:

    • Encryption and data integrity


Page 22: Internet Transport Protocols

  • TCP Service:

    • Reliable transport, flow control, congestion control

    • Connection-oriented

  • UDP Service:

    • Unreliable data transfer, no flow control or connection setup

    • Useful for applications that can tolerate some data loss


Page 23: Securing TCP

  • Encryption:

    • TLS/SSL provides encrypted TCP connections

    • Ensures data integrity and end-point authentication


Page 25: Reading Recommendations

  • Suggested Readings:

    • "What Is the Internet?"

    • "Protocol Layers and Their Service Models"

    • "Principles of Network Applications"


Page 26: Interesting Videos

  • Links to videos on:

    • Data transmission

    • Connecting hosts and networks

    • Understanding the Internet

    • Cybersecurity


This note summarizes the key concepts and details from the provided transcript on networks and