Objectives of Lecture. Network Architecture. Protocols. Contents



Similar documents
Network Programming TDC 561

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

Protocols and Architecture. Protocol Architecture.

How To Design A Layered Network In A Computer Network

Security (II) ISO : Security Architecture of OSI Reference Model. Outline. Course Outline: Fundamental Topics. EE5723/EE4723 Spring 2012

Module 1. Introduction. Version 2 CSE IIT, Kharagpur

Lecture 28: Internet Protocols

Ethernet. Ethernet. Network Devices

IC3 - Network Security. IC3 - Network Security. M.Sc. in Information Security Royal Holloway, University of London

CPS221 Lecture: Layered Network Architecture

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Protocol Data Units and Encapsulation

Communication Networks. MAP-TELE 2011/12 José Ruela

RARP: Reverse Address Resolution Protocol

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Chapter 3: Review of Important Networking Concepts. Magda El Zarki Dept. of CS UC Irvine

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, Lecturer: Kartik Krishnan Lecture 1-3

The OSI Model and the TCP/IP Protocol Suite PROTOCOL LAYERS. Hierarchy. Services THE OSI MODEL

The OSI and TCP/IP Models. Lesson 2

Protocol Architecture

Zarządzanie sieciami telekomunikacyjnymi

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

Networking Test 4 Study Guide

Overview of TCP/IP. TCP/IP and Internet

PART OF THE PICTURE: The TCP/IP Communications Architecture

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Computer Networks Vs. Distributed Systems

Network Security 網 路 安 全. Lecture 1 February 20, 2012 洪 國 寶

Network Models and Protocols

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

TCP/IP and the Internet

Layered Architectures and Applications

Internet Concepts. What is a Network?

How To Understand The Layered Architecture Of A Network

OPEN SYSTEMS INTERCONNECTION OVERVIEW OF PROTOCOL LAYERING AND OSI MODEL OF NETWORK STACKS

Communications and Computer Networks

Chapter 1: Introduction

Protocol Hierarchies/Network Software

Data Communication Networks Introduction

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

The OSI Model and the TCP/IP Protocol Suite

THE OSI REFERENCE MODEL LES M C LELLAN DEAN WHITTAKER SANDY WORKMAN

Protocols. Packets. What's in an IP packet

ICS 153 Introduction to Computer Networks. Inst: Chris Davison

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

The TCP/IP Reference Model

Network Models OSI vs. TCP/IP

Transport Layer Protocols

CSE 3461 / 5461: Computer Networking & Internet Technologies

IP - The Internet Protocol

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

OSI Model. Application Presentation Session Transport Network Data Link Physical. EE156 Computer Network Architecture

Transport and Network Layer

Chapter 9. IP Secure

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

Mathatma Gandhi University

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

Internet Architecture and Philosophy

Topics: 1. HTTP, DNS, and SMTP Examples 2. Layered Architectures 3. OSI Reference Model 4. TCP/IP Reference Model. Garcia: Sections

Introduction to TCP/IP

Architecture and Performance of the Internet

Module 1: Reviewing the Suite of TCP/IP Protocols

Understanding Layer 2, 3, and 4 Protocols

Internet Control Protocols Reading: Chapter 3

Network Security TCP/IP Refresher

Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I)

The Transport Layer. Antonio Carzaniga. October 24, Faculty of Informatics University of Lugano Antonio Carzaniga

EE4367 Telecom. Switching & Transmission. Prof. Murat Torlak

Computer Networks/DV2 Lab

Network Layer: Network Layer and IP Protocol

Chapter 11. User Datagram Protocol (UDP)

CS335 Sample Questions for Exam #2

Overview of Computer Networks

LESSON Networking Fundamentals. Understand TCP/IP

How Does Ping Really Work?

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

The internetworking solution of the Internet. Single networks. The Internet approach to internetworking. Protocol stacks in the Internet

Computer Networks/DV2 Lab

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Computer Networks CS321

TCP/IP Basis. OSI Model

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Internet Protocols. Addressing & Services. Updated:

Introduction to Computer Networks

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.

A PPENDIX L TCP/IP and OSI

How To Understand The Internet Of S (Netware)

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

524 Computer Networks

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Transport Layer. Chapter 3.4. Think about

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Transcription:

Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking and routing. Understand the difference between network protocols and services. CINS/F1-01 Contents 1.1 Extended example: how the Internet protocols fetch a web page 1.2 The concept of protocol layering 1.3 Internetworking and routing 1.4 The OSI seven layer model Protocols The term protocol refers to a well-known set of rules and formats to be used in order to perform a task. For example, a task of communicating between processes. Parts of a protocol: A specification of a sequence of messages that must be exchanged. A specification of the format of the data in the messages. Existence of well-known (standard) protocols enables the separate components of the distributed systems to be developed independently in different languages and on different platforms.

Four elements of a protocol: 1.1 Internet Protocols A set of rules governing the communication between two peer entities. It must define the format and the order of messages as well as actions taken on the transmission and receipt of a message. syntax: format, what is a valid message? GET /~hugue/index.html HTTP/1.1\nHOST: www.cs.umd.edu\n\n Semantics: what does it mean? Get file /~hugue/index.html using the http 1.1 protocol. Action: read file /~hugue/index.html from the disk, send it through the socket using the http 1.1 protocol and close the socket Timing: relative order of messages. Reply follows the request Web Server Network Web Browser Four-Layer Model Distributed data communications involves three primary components: Applications Computers Networks Four corresponding layers Application layer Transport layer Internet layer Network Interface Basic Internet Network Architecture Host A IP Datagram Ethernet Frame Physical Network HTTP Message TCP Packet Router IP Datagram Ethernet Frame Physical Network Host B

How does a web browser retrieve data from a web server? Application Protocol: Hypertext Transfer Protocol (HTTP). Users invoke applications which speak using application protocol. Applications interact with a transport protocol to send or receive data. Other applications: FTP, SMTP, DNS, SMB, Example HTTP outline: GET /~hugue/index.html HTTP/1.1 Host: www.cs.umd.edu GET /~hugue/index.html HTTP/1.1 Host: www.cs.umd.edu HTTP Message Provides end-to-end communication between applications. Transport Protocol: Transport Control Protocol (TCP) a reliable, connection-oriented transport protocol. Divides stream of application messages into packets. Interacts with to send or receive data. In general, a transport protocol may be reliable or unreliable, connection-oriented or connectionless, and flow may or may not be regulated. Others: UDP, ICMP. Example TCP outline: Source Port: 1081 Destination Port: 80 Checksum: 0xa858 Src: 1081 Dst: 80 Chksum: 0xa858 TCP header GET /~hugue/index.html HTTP/1.1 Host: www.cs.umd.edu HTTP Message

Responsible for routing communications between one machine and another. Accepts requests to send packets to destination address. Internet Protocol (IP) encapsulates packets in IP datagram with IP header and uses routing algorithm to decide whether to send directly or indirectly. Also handles incoming IP datagrams. If addressed to local machine, remove the IP datagram header and pass up to transport layer. Example IP outline: Time to live: 128 Header checksum: 0x57d1 Source: my home pc (69.140.128.222) Destination: www.cs.umd.edu (128.8.10.143) IP datagram header Src: 69.140.128.222 Dst: 128.8.10.143 TTL: 128 TCP header Src: 1081 Dst: 80 Chksum: 0xa858 HTTP Message GET /~hugue/index.html HTTP/1.1 Host: www.cs.umd.edu Network Interface Layer Accepts IP datagrams and transmits over specific networks. Maybe a simple device driver (e.g. an Ethernet driver) or a complex subsystem with further data link protocols. Network Interface Layer Example Ethernet outline: Destination: 00:a0:cc:54:1d:4e Source: 00:e0:81:10:19:fc Type: IP Ethernet Frame Src: 00:e0:81:10:19:fc Dst: 00:a0:cc:54:1d:4e Type: IP Src: 69.140.128.222 Dst: 128.8.10.143 TTL: 128 Src: 1081 Dst: 80 Chksum: 0xa858 GET /~hugue/index.html HTTP/1.1 Host: www.cs.umd.edu

Ports and Addresses 1.2 Protocol Layering Ports are destination points within a host computer. Processes are attached to the ports, enabling them to communicate. Transport layer addresses are composed of network address of the host computer and a port number. In the Internet every host is assigned a unique IP number which is used in routing. In an Ethernet each host is responsible for recognizing that the messages meant for it. Host A Network Interface Message Packet Datagram Frame Physical Network Host B Network Interface Protocol Layering Protocol Hierarchies Web Browser HTTP Message TCP Packet IP Datagram Web Server Protocols are stacked vertically as series of layers. Each layer offers services to layer above, shielding implementation details. Layer n on one machine communicates with layer n on another machine (they are peer processes/entities) using Layer n Protocol. Ethernet Frame Physical Network

Layers, Protocols & Interfaces Layer n/n+1 Layer n Layer n-1/n Layer 2/3 Layer 1/2 Layer n protocol Layer n/n+1 Layer n Layer n-1/n Layer 2/3 Layer 2 Layer 2 protocol Layer 2 Layer 1/2 Layer 1 protocol Layer 1 Layer 1 Layer/Interface Design Important objective is clean s, having minimal set of well-defined services. Clean-cut s enable: minimisation of inter-layer communications easy replacement of individual layers Set of layers and protocols is the Network Architecture. Physical communications medium Virtual & Actual Communications Important to understand difference between: virtual and actual communications, protocols and s. Peer processes think of communications as being horizontal using protocol. Actual communications is via s (and the physical communications medium). Peer process idea is key to network design. Design Issues Some issues affect many layers, e.g: need to address data (say who it s for), possible need for setting up connections, data transfer rules (simplex, half-duplex,...), error management, deal with message component re-ordering, flow control, routing security

1.3 Internetworking and Routing No single networking technology can satisfy all requirements. Universal interconnection is desired. Protocols allow communication between nodes without understanding underlying mechanisms. Internetworking is the process by which a group of disparate, heterogeneous networks can be linked to form a single logical network. The Internet is just such a collection. Routing Routing is the mechanism used to transfer data between networks to reach the correct destination. Web Server Network A Router Network B Web Browser Routing takes place at the IP layer: routers are not aware of transport and application layers. Protocol Layering and Routing 1.4 The OSI Reference Model Host A IP Datagram HTTP Message TCP Packet Router Host B IP Datagram OSI Reference Model an internationally standardised network architecture. An abstract representation of an ideal network protocol stack; not used in real networks. OSI = Open Systems Interconnection. Specified in ISO 7498-1. Model has 7 layers. Ethernet Frame Ethernet Frame Physical Network Physical Network

Internet Protocols vs OSI The OSI Model Application 7 Layer 7 5 Application Presentation 6 Layer 6 Presentation Layer Session 5 Layer 5 Session Layer 4 3 2 TCP IP Network Interface Transport Network Data Link 4 3 2 Layer 4 Layer 3 Layer 2 Data Link Layer 1 Hardware Physical 1 Layer 1 Physical Layer Lower/Upper Layers Layers 1-4 often referred to as lower layers. Layers 5-7 are the upper layers. Lower layers relate more closely to the communications technology. Layers 1 3 manage the communications subnet. the entire set of communications nodes required to manage massages between a pair of machines. Layers 4 7 are true end-to-end protocols. Upper layers relate to application. Layer 7: Home to wide variety of protocols for specific user needs, e.g.: virtual terminal service, file transfer, electronic mail, directory services.

Layer 6: Presentation Layer Concerned with representation of transmitted data. Deals with different data representations. ASCII or EBCDIC, one s complement or two s complement, byte ordering conventions, floating point conventions (IEEE or proprietary). Also deals with data compression. Layer 5: Session Layer Allows establishment of sessions between machines, e.g. to allow remote logins provide file transfer service. Responsible for: dialogue control which entity sends when with half-duplex communications. token management E.g. control which entity can perform an operation on shared data. synchronisation E.g. insertion of checkpoints in large data transfers. Layer 4: Basic function is to take data from Session Layer, split it up into smaller units, and ensure that the units arrive correctly. Concerned with efficient provision of service. The also determines the type of service to provide to the Session Layer. Layer 3: Key responsibility is control of routing in the subnet. Routing can be based on: static tables, determined at start of session, highly dynamic (varying for each packet depending on network load). Also responsible for congestion control and usage monitoring.

Layer 2: Data Link Layer Provides reliable, error-free service on top of raw Layer 1 service. Breaks data into frames. Requires creation of frame boundaries. Frames used to manage errors via acknowledgements and selective frame retransmission. Layer 1: Physical Layer Concerned with bit transmission over physical channel. Issues include: definition of 0/1, whether channel simplex/duplex, connector design. Mechanical, electrical, procedural matters. Services in the OSI Model Layering Principles In OSI model, each layer provide services to layer above, and consumes services provided by layer below. Active elements in a layer are called entities. Entities in same layer in different machines are called peer entities. (n+1) Entity Service User SDU n+1 PDU Layer n+1 protocol Layer n Service Access Point (SAP) (n+1) Entity Service User (n) Entity Service Provider Layer n protocol (n) Entity Service Provider N-1 PDU N-1 PDU PDU - Protocol Data Unit SDU - Service Data Unit

Services and Protocols Service = set of primitives provided by one layer to layer above. Service defines what layer can do (but not how it does it). Protocol = set of rules governing data communication between peer entities, i.e. format and meaning of frames/packets. Service/protocol decoupling very important. Connections Layers can offer connection-oriented or connectionless services. Connection-oriented like telephone system. Connectionless like postal system. Each service has an associated Quality-ofservice (e.g. reliable or unreliable). Reliability Issues Encapsulation as it is applied in layered protocols Reliable services never lose/corrupt data. Reliable service costs more. Typical application for reliable service is file transfer. Typical application not needing reliable service is voice traffic. Not all applications need connections.

IP datagram IP Addresses Logical, unique eg. cs.umd.edu is 128.8.10.143 IP Packet Format: VERS HL TOS Fragment Length Datagram ID FLAG Fragment Offset TTL Protocol Header Checksum Source Address Destination Address Options (if any) Data TCP Segment Format Source Port Destination Port Sequence Number Request Number offset Reser. Control Window Checksum Urgent Pointer Options (if any) Data UDP Datagram Format Protocol Stacks In Relation To OSI Model Source Port Length Destination Port Checksum Data

Sockets Programming Network API Socket Structures Network Application Programming Interface (API) The services provided by the operating system that provide the between application and protocol software. Socket Functions Protocol A Application Network API Protocol B Protocol C Network API Generic Programming Interface. Support for message oriented and connection oriented communication. Uses the existing I/O services Operating System independence. Support multiple communication protocol suites (families): IPv4, IPv6, XNS, UNIX. Provide special services for Client and Server? TCP/IP There are a variety of APIs for use with TCP/IP: Sockets TLI Winsock MacTCP

Functions needed Specify local and remote communication endpoints Initiate a connection Wait for incoming connection Send and receive data Terminate a connection gracefully Error handling Berkeley Sockets Generic: support for multiple protocol families. address representation independence Uses existing I/O programming as much as possible Unix Descriptor Table Socket Descriptor Table Data structure for file 0 Data structure for file 1 Data structure for file 2 A socket is a process-level abstract representation of a communication endpoint. Sockets work with Unix I/O services just like files, pipes & FIFOs. Sockets (obviously) have special needs: establishing a connection specifying communication endpoint addresses