Chapter 2 Applications and Layered Architectures

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Semester Copyright USM EEE442 Computer Networks Introduction: Protocols En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK)
OSI Model.
1 Review of Important Networking Concepts Introductory material. This module uses the example from the previous module to review important networking concepts:
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
1 ECE 683 Computer Network Design & Analysis Note 2: Applications and Layered Architectures.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
Chapter 2 Network Models.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Lecturer: Tamanna Haque Nipa
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
1 TCP/IP architecture A set of protocols allowing communication across diverse networks Out of ARPANET Emphasize on robustness regarding to failure Emphasize.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Process-to-Process Delivery:
TCP/IP Protocol Suite - examples
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
Chapter 2 Network Models
Presentation on Osi & TCP/IP MODEL
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Layer Architecture of Network Protocols
1 ELEN602 Lecture 2 Review of Last Lecture Layering.
Definitions Protocol (1) An agreement between the communicating parties on how communication is to proceed. (2) A set of rules that governs how two or.
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Computer Networks (CS 132/EECS148) General Networking Example Karim El Defrawy Donald Bren School of Information and Computer Science University of California.
Overview of Network Protocols, Services & Layering OSI Reference Model TCP/IP Architecture Error Detection and Correction.
1 Chapter 2 Applications and Layered Architectures Protocols, Services & Layering OSI Reference Model TCP/IP Architecture How the Layers Work Together.
The OSI Model.
University of the Western Cape Chapter 12: The Transport Layer.
Network Applications and Layered Architectures Protocols OSI Reference Model.
Chapter 2 Applications and Layered Architectures Protocols, Services & Layering OSI Reference Model TCP/IP Architecture How the Layers Work Together Berkeley.
Chapter 1 Communication Networks and Services Network Architecture and Services.
Introduction Contain slides by Leon-Garcia and Widjaja.
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
William Stallings Data and Computer Communications
TCP/IP Protocol Architecture CSE 3213 – Fall
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
Open System Interconnection Describe how information from a software application in one computer moves through a network medium to a software application.
1. Layered Architecture of Communication Networks: OSI Reference Model.
1 ECEN “Internet Protocols and Modeling”, Spring 2011 Slide 5.
1. Layered Architecture of Communication Networks: TCP/IP Model
Net 221D:Computer Networks Fundamentals
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
- 1 - DPNM Review of Important Networking Concepts J. Won-Ki Hong Dept. of Computer Science and Engineering POSTECH Tel:
TCP/IP Protocol Suite Suresh Kr Sharma 1 The OSI Model and the TCP/IP Protocol Suite Established in 1947, the International Standards Organization (ISO)
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Communication Networks NETW 501 Tutorial 2
TUNALIData Communications1 Chapter 2 Protocols and Architecture.
Computer Networking A Top-Down Approach Featuring the Internet Introduction Jaypee Institute of Information Technology.
Roadmap  Introduction to Basics  Computer Network – Components | Classification  Internet  Clients and Servers  Network Models  Protocol Layers.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Lecture (2).
Chapter 2 Applications and Layered Architectures
ISO/OSI Model and Collision Domain
Data and Computer Communications by William Stallings Eighth Edition
TCP/IP Protocol Suite: Review
TCP/IP Protocol Suite: Review
OSI Model OSI MODEL.
Computer Networking A Top-Down Approach Featuring the Internet
ECE 683 Computer Network Design & Analysis
Presentation transcript:

Chapter 2 Applications and Layered Architectures Protocols, Services & Layering OSI Reference Model TCP/IP Architecture How the Layers Work Together

Layers, Services & Protocols The overall communications process between two or more machines connected across one or more networks is very complex Layering partitions related communications functions into groups that are manageable Each layer provides a service to the layer above Each layer operates according to a protocol

Why Layering? Layering simplifies design, implementation, and testing by partitioning overall communications process into parts Protocol in each layer can be designed separately from those in other layers Protocol makes “calls” for services from layer below Layering provides flexibility for modifying and evolving protocols and services without having to change layers below Non-layered architectures are costly, inflexible, and soon become outdated

Protocols A protocol is a set of rules that governs how two or more communicating entities in a layer are to interact Messages that can be sent and received Actions that are to be taken when a certain event occurs, e.g. sending or receiving messages, expiry of timers The purpose of a protocol is to provide a service to the layer above

Examples of Layers Application Layer: communication functions that are used by application programs HTTP (web browsing), SMTP (email) Transport Layer: end-to-end communication between two processes in two machines Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Network Layer: node-to-node communication between two machines Internet Protocol (IP)

Example: HTTP HTTP is an application layer protocol Retrieves documents on behalf of a browser application program HTTP specifies fields in request messages and response messages Request types; Response codes Content type, options, cookies, … HTTP specifies actions to be taken upon receipt of certain messages

HTTP Protocol HTTP Client HTTP Server GET HTTP Client HTTP Server Response HTTP assumes messages can be exchanged directly between HTTP client and HTTP server In fact, HTTP client and server are processes running in two different machines across the Internet HTTP uses the reliable stream transfer service provided by TCP

Example: TCP TCP is a transport layer protocol Provides reliable byte stream service between two processes in two computers across the Internet Sequence numbers keep track of the bytes that have been transmitted and received Error detection and retransmission used to recover from transmission errors and losses TCP is connection-oriented: the sender and receiver must first establish an association and set initial sequence numbers before data is transferred Connection ID is specified uniquely by (send port #, send IP address, receive port #, receiver IP address)

HTTP uses service of TCP server HTTP client Response GET Port 80 Port 1127 TCP 80, 1127 GET 1127, 80 bytes Response TCP GET Response TCP

Summary Layers: related communications functions Application Layer: HTTP, DNS Transport Layer: TCP, UDP Network Layer: IP Services: a protocol provides a communication service to the layer above TCP provides connection-oriented reliable byte transfer service UDP provides best-effort datagram service Each layer builds on services of lower layers HTTP builds on TCP DNS builds on top UDP TCP and UDP build on IP

Chapter 2 Applications and Layered Architectures OSI Reference Model

Open Systems Interconnection Network architecture: Definition of all the layers Design of protocols for every layer By the 1970s every computer vendor had developed its own proprietary layered network architecture Problem: computers from different vendors could not be networked together Open Systems Interconnection (OSI) was an international effort by the International Organization for Standardization (ISO) to enable multivendor computer interconnection This is now a standard process in any new technology (e.g. WiMax, WLAN)

OSI Reference Model Divides basic communication functions needed for two computers to communicate into 7 layers Describes a seven-layer abstract reference model for network architectures Purpose of the reference model was to provide a framework for the development of protocols

OSI Reference Model OSI also provided a unified view of layers, protocols, and services which is still in use in the development of new protocols Detailed standards were developed for each layer, but most of these are not in use TCP/IP protocols preempted deployment of OSI protocols

7-Layer OSI Reference Model Application Application End-to-End Protocols Application Layer Application Layer Presentation Layer Presentation Layer Session Layer Session Layer Transport Layer Transport Layer Network Layer Network Layer Network Layer Network Layer Data Link Layer Data Link Layer Data Link Layer Data Link Layer Physical Layer Physical Layer Physical Layer Physical Layer Communicating End Systems One or More Network Nodes

Physical Layer Transfers bits across link (units are bits) Deals with the transmission system and transmission media DSL, cable modem, telephone modems… Twisted-pair cable, coaxial cable optical fiber, radio, infrared, …

Physical Layer (2) Definition & specification of the physical aspects of a communications link Mechanical: cable, plugs, pins... Electrical/optical: modulation, signal strength, voltage levels, bit times, signal duration… functional/procedural: how to activate, maintain, and deactivate physical links… (like a phone call)

Data Link Layer Transfers frames (blocks of info) across direct connections Groups bits into frames; adds check bits Detection of bit errors; Retransmission of frames Activation, maintenance, & deactivation of data link connections frames Data Link Layer Data Link Layer bits Physical Layer Physical Layer

Data Link Layer Link includes case where multiple users need to be connected to the medium (example?) Medium access control for local area networks Flow control (so as not to overwhelm buffer on other end)

Network Layer Transfers packets across multiple links and/or multiple networks (no pt-2-pt any more) Addressing must scale to large networks Nodes jointly execute routing algorithm to determine paths across the network (makes net. layer most complex)

Network Layer (2) Routing: procedure to select path across net When two machines are connected through Same PS net: single address sp and routing procedure Different nets: nets differ in internal routing/addressing/packet size Need an internetwork protocol

Network Layer (3) Forwarding transfers packet across a node Congestion control to deal with traffic surges Connection setup, maintenance, and teardown when connection-based

One or More Network Nodes Application Application End-to-End Protocols Application Layer Application Layer Presentation Layer Presentation Layer Session Layer Session Layer Transport Layer Transport Layer Network Layer Network Layer Network Layer Network Layer Data Link Layer Data Link Layer Data Link Layer Data Link Layer Physical Layer Physical Layer Physical Layer Physical Layer Communicating End Systems One or More Network Nodes

Each node must implement lower 3 layers Lower 2 layers involve interaction of peer-2-peer processes across a single link Net. Layer in source and destination are not peers (don’t talk directly) Nodes in Net. Layer jointly execute routing Top 4 layers involve interaction of peer processes across net.

Transport Layer Transfers data end-to-end from process in a machine to process in another machine: Reliable stream transfer: error free transfer of a seq. of bytes or messages or quick-and-simple (unreliable) single-block transfer (just provide appropriate address) Transport Layer Transport Layer Network Layer Network Layer Network Layer Network Layer Communication Network

Multiplexing: for opt. net service, multiplex several trans Multiplexing: for opt. net service, multiplex several trans. layer connections into a single net. layer connection Multiplexing enabled by port numbers Splitting: for high throughput, layer can use splitting to support connection over several net layer connection Message segmentation and reassembly Connection setup, maintenance, and release

Application & Upper Layers Application Layer: Provides services that are frequently required by applications, like: web access, file transfer, email… Presentation Layer: machine-independent representation of data…(different machines use different ways to represent integers and no.) Session Layer: dialog management (how data is exchanged, e.g. half or full duplex) Application Layer Transport Application Layer Presentation Session Transport Incorporated into Application Layer

OSI wanted to develop A layering model Standards for computer nets (protocols use) By time protocols were developed, TCP/IP emerged as an alternative (time to market)

Headers & Trailers Each protocol uses a header carrying control information: address, sequence number, flags, size indicators, etc… Check bits may be appended (trailer) for error detection Application Application APP DATA Application Layer Application Layer AH APP DATA Transport Layer Transport Layer TH AH APP DATA Network Layer Network Layer NH TH AH APP DATA Data Link Layer Data Link Layer DH NH TH AH APP DATA CRC Physical Layer Physical Layer bits

At destination, each layer reads header and trailer info to determine action to be taken Strips header and trailer Passes forward to higher layer

OSI Unified View: Protocols The entities comprising the corresponding layers on different machines are called peer processes. A process on one machine interacts with a process on another machine across a peer interface (HTTP on client and server are peer processes) Layer-n peer processes communicate by exchanging Protocol Data Units (PDUs) (bits, frames, packets, segments) n-PDUs n Entity n Entity Layer n peer protocol

OSI Unified View: Protocols Each PDU contains a header and possibly a trailer Layer n in one machine interacts with layer n in another machine to provide a service to layer n +1 The machines use a set of rules and conventions called the layer-n protocol. n-PDUs n Entity n Entity Layer n peer protocol

OSI Unified View: Services Communication between peer processes is virtual and actually indirect Layer n+1 transfers information by invoking the services provided by layer n Layer n serves layer n+1 Layer n+1 is a user of service provided by layer n Pass info from layer n+1 to layer n through SW called Service Access Points (SAP’s) Layer n+1 is only interested in correct execution to transfer its PDU to the peer process (how execution is done is irrelevant)

OSI Unified View: Services (2) Each layer passes data & control information to the layer below it until the physical layer is reached and transfer occurs The data passed to the layer below is called a Service Data Unit (SDU) SDU’s are encapsulated in PDU’s + control info (i.e. what to do with data)

Layers, Services & Protocols n+1 entity n+1 entity n-SDU n-SDU n-SAP n-SAP n-SDU H n entity n entity H n-SDU n-PDU

Connectionless & Connection-Oriented Services Three-phases: Connection setup between two SAPs to initialize state information SDU transfer Connection release E.g. TCP, ATM (like a phone call) Connectionless Immediate SDU transfer (control info contains address of destination) No connection setup E.g. UDP, IP Layered services not always of same type TCP operates over IP IP operates over ATM (like TV broadcast)

Segmentation & Reassembly A layer may impose a limit on the size of a data block that it can transfer for implementation or other reasons Thus a layer-n SDU may be too large to be handled as a single unit by layer-(n-1) Sender side: SDU is segmented into multiple PDUs Receiver side: SDU is reassembled from sequence of PDUs (a) Segmentation n-SDU n-PDU n-PDU n-PDU Reassembly (b) n-SDU n-PDU n-PDU n-PDU

Multiplexing Sharing of layer n service by multiple layer n+1 users Multiplexing tag or ID required in each PDU to determine which users an SDU belongs to Splitting is the opposite process n+1 entity n+1 entity n+1 entity n+1 entity n-SDU n-SDU n-SDU H n entity n entity H n-SDU n-PDU

Summary Layers: related communications functions Application Layer: HTTP, DNS Transport Layer: TCP, UDP Network Layer: IP Services: a protocol provides a communications service to the layer above TCP provides connection-oriented reliable byte transfer service UDP provides best-effort datagram service Each layer builds on services of lower layers HTTP builds on top of TCP DNS builds on top of UDP TCP and UDP build on top of IP

Chapter 2 Applications and Layered Architectures Example: TCP/IP Architecture Widely Used Networking Technology

Evolved out of military research to connect 3 nets TCP/IP net Architecture: set of protocols that allows comm. across multiple diverse nets Evolved out of military research to connect 3 nets ARPANET Packet radio net Packet satellite net Emphasis on robustness and flexibility Eventually led to Internet which connects world computers

Internet: Internetworking Ethernet LAN Internetworking is part of network layer and provides transfer of packets across multiple possibly dissimilar networks Gateways (routers) direct packets across networks       ATM Switch Network H H Net 3 Net 3 Net 1 G Net 1 G G G Net 5 Net 5 Net 4 Net 2 H Net 2 G G H G = gateway H = host

Why Internetworking? To build a “network of networks” or Internet operating over multiple (different) network technologies providing worldwide connectivity through IP packet transfer independent of underlying network technologies providing common interface to user applications H H Net 5 Net 3 Net 5 Net 1 G G G G Net 5 Net 5 Net 2 G Net 5 Net 4 H G H

Application Layer TCP/IP Architecture consists of 4 layers TCP/IP application layer incorporates the functions of the top 3 OSI layers Application layer runs directly over transport layer

Transport Layer Application layer runs over transport layer Offers two kinds of services TCP: connection oriented protocol for reliable transmission of a byte stream UDP (User Datagram protocol): Best-effort transfer of individual messages TCP/IP Arch. Does not require strict layering (can bypass intermediate layers)

Internet Protocol Approach IP packets transfer information across Internet Host A IP → router→ router…→ router→ Host B IP IP layer in each router determines next hop (router) Network interfaces transfer IP packets across networks Router Internet Layer Network Interface Host B Transport Layer Internet Network Interface Host A Router Internet Layer Network Interface Transport Layer Net 5 Net 1 Internet Layer Router Internet Layer Network Interface Network Interface Net 5 Net 4 Net 5 Net 3 Net 5 Net 2

Internet Protocol Approach Internet layer corresponds to the net. Layer in OSI Key requirement is globally unique address for machines attached to internet IP packets exchanged between routers without connection setup Packets routed independently (so possibility for different paths); no connection set up

Internet Protocol Approach Connectionless approach makes system robust if failure occurs, packets routed around failure points; no need to setup connections again Gateways can discard packets Responsibility of recovering losses passed to transport layer

Network Interface Layer Deals with network specific aspects for transfer of packets Various networks implies the need for various interfaces (ATM, Ethernet, Token ring… ) Protocols that access intermediate networks: encapsulates packet IP packet into packet or frame of underlying network Network interface is technology dependent Internet layer is technology independent (transparent to underlying network, i.e. does not depend on details of underlying networks)

TCP/IP Protocol Suite Distributed applications User HTTP SMTP DNS RTP Distributed applications Reliable stream service User datagram service TCP UDP Best-effort connectionless packet transfer IP Access thru IP ALWAYS Network interface 1 Network interface 2 Network interface 3 Diverse network technologies

Hourglass shape of TCP/IP Why TCP/IP is so powerful? Single IP protocol over various nets provides indep. from underlying technologies Communication services of TCP and UDP provide network indep. platform on which applications can be developed. So multiple technologies can co-exist

Addressing & Routing IP address divided into 2 parts: Net ID + Host ID Hierarchical address: Net ID + Host ID Net ID obtained from Org. authorized to give out addresses IP packets routed according to Net ID Routers compute routing tables using distributed algorithm G Net 1 Net 5 Net 3 Net 4 Net 2 H

Each host is identified by a globally unique IP address Identifies host network interface (rather than host) Router: a node connected to 2 or more physical networks; with each net interface assigned to unique IP address

Names and IP Addresses Routing is done based on 32-bit IP addresses Dotted-decimal notation 128.100.11.1 Hosts are also identified by name Easier to remember Hierarchical name structure tesla.comm.utoronto.edu Domain Name System (DNS) provides conversion between names and addresses

Physical Addresses LANs assign physical address to the equipment attached to the network Format of physical address depends on particular type of network used Example: Ethernet uses 48-bit addresses Each Ethernet network interface card (NIC) has globally unique Medium Access Control (MAC) or physical address First 24 bits identify NIC manufacturer; second 24 bits are serial number This guarantees a unique phys address to each machine in the LAN net 00:90:27:96:68:07 12 hex numbers Intel

The network uses its own logical address to transfer packets or frames to the appropriate destination IP address needs to be matched to physical address at each IP network interface (e.g., using ARP)

Example: How IP datagrams is sent across internet Server PC Router (2,1) PPP Netid=2 (1,1) s (1,3) r (2,2) w Ethernet (netid=1) *PPP does not use addresses Workstation (1,2) netid hostid Physical address server 1 s workstation 2 w router 3 r - PC

Sending packet within same net Server Router (2,1) PPP Netid=2 (1,1) s (1,3) r (2,2) w Ethernet (netid=1) *PPP does not use addresses Workstation Workstation wants to send IP datagram to server IP Datagram has W IP address & S IP address in packet header IP routing table at W indicates (1,1) connected to same network, so IP packet is encapsulated in Ethernet frame with addresses w and s Figures out that S connected to same net (with phys. address s) IP datagram passed to Ethernet device driver which prepares an Ethernet frame (1,2), (1,1) w, s

Header in new frame contains: source phys. Address w and destination phys. address s Type Field set to value corresponding to IP (why we need this?) Ethernet frame broadcast over LAN (why broadcast) Server’s NIC recognizes frame is intended for it and captures it NIC find Type Field=IP and so passes IP datagram up to IP layer

Sending IP packet between two nets Server PC Router (2,1) (1,1) PPP s (1,3) r (2,2) w Ethernet (1,2), (1,1) w, s Workstation (1,2) IP packet has (1,2) IP address for source and (1,1) IP address for destination IP table at workstation indicates (1,1) connected to same network, so IP packet is encapsulated in Ethernet frame with addresses w and s Ethernet frame is broadcast by workstation NIC and captured by server NIC NIC examines protocol type field and then delivers packet to its IP layer

IP packet from server to PC Router (2,1) (1,1), (2,2) (1,1) s (1,3) r (2,2) w (1,1), (2,2) s, r Workstation (1,2) IP packet has (1,1) and (2,2) as IP source and destination addresses Server checks routing table to see if it has IP address of PC Server checks to see if routing table has entry with the same network id portion of IP address of PC IP table at server indicates packet should be sent to router (default), so IP packet is encapsulated in Ethernet frame with addresses s and r Ethernet frame is broadcast by server NIC and captured by router NIC NIC of router examines protocol type field and then delivers packet to its IP layer

IP layer examines IP packet destination address and determines IP packet should be routed to (2,2) (not to router itself) Router’s table indicates (2,2) is directly connected via PPP link IP packet is encapsulated in PPP frame and delivered to PC PPP at PC examines protocol type field and delivers packet to PC IP layer

How the layers work together Server PC Router (2,1) (1,1) s PPP (1,3) r (2,2) Ethernet HTTP uses process-to-process Reliable byte stream transfer of TCP connection: Server socket: (IP Address, 80) PC socket (IP Address, Eph. #) (b) Server PC HTTP TCP uses node-to-node Unreliable packet transfer of IP Server IP address & PC IP address HTTP TCP TCP Internet IP IP IP Network interface Network interface Network interface Router Ethernet PPP

TCP connection established between PC and Server Click on a link at PC TCP connection established between PC and Server GET request is issued by HTTP application Passed to TCP layer TCP encapsulates request in TCP segment: Header contains port no of client HTTP process and port no. for server HTTP process

TCP segment passed to IP layer IP layer encapsulates TCP segment into IP packet header contains IP addresses of sender and destination Header contains protocol field (indicating layer above is TCP) IP packets encapsulated using PPP and sent to router Router encapsulates IP datagram for server in Ethernet frame