Telecommunication Software Lecture 5, October 22, 2002
Map of lectures • So far: – We reviewed existing network technologies and applications
• Today’s plan: – We study the state-of-the-art models for network architecture and protocols • OSI model and Internet protocol suite
– We start presenting the basic concepts of our reference model • Object-orientation
ISO-OSI model •
Framework of standards for Open Systems Interconnection 1.
Basic reference model • • •
2.
Service specifications • •
3.
Provides a common basis for the development of OSI standards Defines common terminology and references for system, security and mgmt architecture Parts: the basic model, security architecture, naming and addressing, mgmt framework (ISO 7498) Based on OSI model Define capabilities provided by the OSI systems in an abstract way
Protocol specifications • •
Based on OSI model Define the functionality required to provide a particular OSI service
1: System model • OSI system -> interconnection of compatible open systems, functionally decomposed into 7 layers and 2 planes • Layers and planes define a structuring of the system • Structuring is performed to break down complexity into more manageable components • Components at each layer/plane are coarse-grain building blocks of a computer network
Layers Application
Application layer
File transfer, email
Presentation layer Session layer Communication System
Transport layer
TCP, …
Network layer
IP, …
Data link layer Network Communication Systems
Network adaption protocols
Physical layer OSI Model
Internet Protocols (selection)
Physical layer • Provides mechanical, electrical, functional and procedural means to activate, maintain and deactivate physical links between nodes for bit transmission • Defines – Transmission medium – Signaling technique – Encoding scheme
• Typical questions – – – – –
How many volts to be used to represent a 1 and how many a 0 How many nanoseconds a bit lasts May transmission proceed bidirectionaly How is the initial connection established and how is it torn down How many pins the network connector has, each pin used for what
Data link layer • Provides the means to establish, maintain and release logical links between nodes, for transferring data units instead of raw bits • The provided service hides functions performed: – Framing (delimiting streams of bits to form identifiable data units) – Bit error detection and correction – How to keep a fast transmitter from drowning a slow receiver in data – (broadcast networks:) how to control access to the shared channel -> medium access control sublayer
Network layer • Responsible for interconnecting multiple (sub)networks into a single virtual network with a unique addressing space (internetwork) • The provided service hides the internetworking functions performed – Relaying – Routing
• Organized internally into 3 sublayers – Subnetwork-access protocol (SNAP) – Subnetwork-dependent convergence protocol (SNDCP) – Subnetwork-independent convergence protocol (SNICP)
Transport layer • Provides the transparent exchange of data, w/o any restrictions regarding the format, coding, content • Transfer of data is performed in a cost-optimized way according to required QoS • QoS defines the common properties according to reliability, performance, security • A truly end-to-end layer, from source to destination – program on source machine carries conversation with similar program on destination machine using msg headers and ctrl msgs
Session layer • Provides the means to organize and synchronize communication dialogues • Additional facilities when compared to transport layer – Dialog control facility: forces communication participants to follow a particular data exchange sequence – Quarantine facility: enables users to send one/more msgs that are not delivered until explicitly released by their producers – Recovery facility: enable users to define and identify synchronization points which can be used when errors occur – Token management: prevents two parties from attempting the same critical operation at the same time
Presentation layer • Ensures that applications can communicate even though they use different data representations • Concerned with the presentation of the syntax of user data to be exchanged • Data structures to be exchanged can be defined in an abstract way, along with a standard encoding • Manages these abstract data structures • Allows higher-level data structures to be defined and exchanged – E.g.: banking records
Application layer • Provides basic building blocks for networked applications, called application service elements (ASE) • ASE -> concerned with the semantics of user data to be exchanged (e.g.: email, files) • Contains a variety of protocols commonly needed by users
Planes • Two planes – Management plane (MP) – Operational plane (OP)
• MP – Contains functions for layer and system management
• OP – Contains the communication facility
2 + 3: Service and protocol model • At each layer, one/more services are provided – A service may offer communication capabilities to the next higher level or to users for sending/receiving data over the network
• For service provision, entities at the layer perform a protocol – Defines the rules/formats for entities collaboration – Defines entities collaboration by using the service of the next lower layer, except for the physical layer
• Service visible only to the next higher layer • Protocol implementing service: hidden – Benefit: protocols can be replaced w/o affecting the next higher layer if they provide the same service
• OSI framework has separate specifications for services and protocols
Communication model • OSI model defines two types of communications – One based on the abstraction of a connection – One based on the abstraction of a datagram
• Connection: communication association between two/more users – OSI model: communication pattern can be p2p, p2mp, mp2mp – OSI service specifications: communication pattern only p2p
• Datagram: packets routed independently of each other • Connection-oriented communications – Require explicit establishment and release – Unlimited nr of (normal / prioritary) user data can be exchanged bidirectionaly
• Datagram-oriented communications – Virtual circuits are formed
QoS • Not specified in the OSI model • Can be found in ISO 8072 service specifications • Attributes of QoS – Performance, with parameters throughput, transit delay, connection-establishment delay and connection-release delay – Reliability, with parameters residual error rate, transfer failure probability, connection-establishment failure probability, connection-establishment failure probability, resilience – Security with parameter protection – Priority with parameter level
Summary of OSI model • Few OSI services and protocols are used, some have been superseded by Internet protocols • Reference model and its terminology quite used and appropriate for – Conceptual or architectural discussions – System modeling purposes
Internet Protocol Suite • Internet employs a collection of different and complementary protocols at various layers, known as Internet Protocol Suite or TCP/IP – More than 100 protocols – Most famous: TCP and IP
• All protocols specifications are public – Internet an open system
• Specifications published as Request for Comments (RFC) documents – Official standards – General notes -> draft or proposed standards, experimental, historical or informational descriptions
Internet, intranet, internet • Internet – The existing wide area internetwork in which the IPS is applied
• intranet – Private network in which IPS is used – Users/providers are typically of the same organization
• internet(work) – Any collection of networks that appears to its users as a single virtual network by using a common protocol suite – Generally no protocol suite is prescribed
Internet organization • Internet standards and technologies are supervised, coordinated and evolved by 4 non-profit international bodies: – – – –
Internet Society (ISOC) Internet Architecture Board (IAB) Internet Research Task Force (IRTF) Internet Engineering Task Force (IETF)
ISOC • Builds the legal cover for Internet development • Responsible for the global coordination and cooperation of the international activities • Maintains and advances effective administrative processes in a global network
IAB • Technical advisory group of ISOC • Its charter specification in RFC 1601 • Responsible for – The long term planning of the Internet – The final quality of Internet standards – The editorial mgmt and publication of the RFC documents
IRTS • Concentrates on long-term research projects to gain basic understanding of network, internet, and protocol technology • Falls under the IAB
IETF • Responsible for short-term research activities • Develops specifications that finally become Internet standards • Composed of numerous networks designers, operators, users, vendors, and researchers interested in developing the Internet • Itself one of the largest forums to exchange information through Internet • Dominant force driving Internet developing • Working areas: applications, routing, security, transport, internet, user services, operational requirements, general issues • Falls under the IAB • Its activities managed by a separate committee: Internet Engineering Steering Group
Internet addressing 1 • Internet protocol (IP): the core protocol of the IPS – Hides the nr, type, and arrangements of subnets connected in order to form the internet, from the application – The service provided: end-to-end, unreliable, datagram-oriented – Introduces a new abstract level of addresses (IP addresses) – IP addresses valid within the internet scope – Each datagram transferred by IP is unambiguously identified by source and destination IP addresses
Internet addressing 2 • IP – Runs on each node in the Internet service provider’s scope • On end systems (hosts) and on relay systems (routers)
– To be addressable each host needs at least one IP address or a subnet to which it is physically connected – Routers • linked to two/more subnets • Perform relay function: forwards IP datagrams between subnets
– A host may have access to multiple subnets (multihomed host) – A host may optionally perform a relaying function => acting as a router, too
Internet addressing 3 end-to-end
TCP IP
IP
Subnet
p2p
Subnet
TCP IP
IP
Subnet
virtual network (internet)
Internet routing • All hosts and routers running IP maintain a routing table – Contains the IP addresses of the directly connected hosts and routers – Updated by protocols different than IP; there are 2 classes of these – Intradomain routing protocols • Intended to exchange routing information within a closed administrative address domain
– Interdomain routing protocols • Intended to exchange routing information between autonomous administered and independent address domains
System architecture and protocols • IPS structured in 4 layers – – – –
Link / network adaptation layer (LLL) Network layer (NL) Transport layer (TL) Application layer (AL)
• Multiple protocols reside on each layer
LL • Its protocols adapt to the different subnet properties for supporting a uniform subnet interface to NL • Has an IP-independent protocol for serial links: point-to-point protocol (PPP) – Transfers bidirectionaly datagrams over a p2p physical link – 3 subprotocols • An encapsulation and multiplexing protocol to run simultaneously different network protocols over the same link • A link control protocol to configure and supervise the link • A family of network ctrl protocols to manage the dedicated requirements of the protocols below
• Has a nr of protocols to convert between IP addresses and network-specific addresses – ARP (address resolution protocol) – RARP (reverse address resolution protocol)
NL • Its protocols – hide the nr, type, and arrangements of the subnets – provide a single virtual network with a subnet-independent addressing for the transport layer
• Takes case of routing user data through subnets towards the final destination • User data can be segmented and reassembled during the transmission – for adapting to respective subnets properties
• NL functionality provided by a collection of protocols, each responsible for a certain task: – relaying, error reporting, group mgmt, resource reservation, routing
NL protocols • • • • • • • •
Internet Protocol (IP) Internet Group Management Protocol (IGMP) Internet Control Message Protocol (ICMP) Resource ReSerVation Protocol (RSVP) Internet STream Protocol, version 2 (ST2) Border Gateway Protocol (BGP) Open Shortest Path First (OSPF) Routing Information Protocol (RIP)
TL • Improve the end-to-end network service by adding functions – Error control (=> reliable communication) – Demultiplexing (=> multiple applications at the same time)
• Protocols – – – – – –
Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Versatile Message Transaction Protocol (VMTP) NETwork BLock Transfer (NETBLT) Protocol Multicast Transport Protocol (MTP) Reliable Data Protocol (RDP)
AL • Its protocols use transport services to support applicationoriented services (e.g., file transfer, remote login, email) • Protocols – – – – – – – – – – – –
BOOTstrap Protocol (BOOTP) Dynamic Host Configuration Protocol (DHCP) ECHO DISCARD TIME CHARGEN File Transfer Protocol (FTP) Trivial File Transfer Protocol (TFTP) TELecommunications NETwork (TELNET) Protocol Simple Network Management Protocol (SNMP) Simple Mail Transfer Protocol (SMTP) Domain Name System (DNS)
IP v4 • •
RFC 791, ‘81 Variable header length – Multiple of 32 bits; 13 fields
IP v4 addresses • 4-byte numbers structured into 5 classes
Reserved IP addresses
Classes of addresses • Classes A, B, C contain a network identifier NI and a host identifier HI – Simplest case: NI -> specific subnet in the internet, HI -> specific host in this subnet
• NI are assigned by a central authority, Internet Network Information Center • Moderate address hierarchy used • If a finer structuring is required, HI can be further divided in a subnet identifier (SI) and a HI – The ratio of SI / HI can be independently defined by the administrator of the network defined by NI – To tell boundary between SI and HI each system in NI’s scope needs also a subnet mask – Subnet mask: 32-bit long with all bits 1 for NI and SI and all bits 0 for HI
Subnets
A campus network with LANs for various departments
Subnet mask
255.255.252.0 or /22
IP v6 • To prevent running out of 32-bit addresses, ISOC wanted new version/generation of IP • Finalized in RFC 1883, ’95 • The new format and semantics of IP addresses of v6 are defined separately in RFC 1884
Major changes to v4 • • •
IP addresses increase from 32 bit (4 byte) to 128 bit (16 byte) Improved multicast IP addresses by adding a scope field New anycast IP address type – To send packets to anyone of a group, usually the nearest group member
• • • •
Options header field replaced by optional extension headers All fields for segmentation processing removed (only end-to-end fragmentation possible) New flow field to identify particular user data streams or traffic classes Extensions support for authentication, data integrity, and (optional) data confidentiality
v6 header • Fixed-size header, 40 byte long + extension headers possibly appended (extension header -> multiple of 8 bytes)
Extension headers
Summary of IPS • Internet protocols are de facto standards for computer networks • Emergence of new technologies/applications has raised the nr of protocols and the necessary modifications and extensions • Internet protocols are usually designed and implemented in a monolithic way
Reference framework • For Modular Communication Systems (MCS) • MCS goal – to provide a common terminology and modeling technique for the specification, design, and implementation of MCS
• Employed terminology follows the one of OSI model – With modifications
• Novel features – OO – universal communication model (provides the abstraction of a multipoint connection)
Models of MCS 1. 2. 3. 4. 5. 6.
Object model System model Service model Communication model Protocol model Composition model
Object model • Modularization: decomposition of the problem domain into smaller parts easier to understand – Decomposition can be applied repetitively – The result is a collection of functional modules – The modules can be typically developed in parallel
• Object-orientation: powerful, well-accepted modularization technique – Specific properties: information hiding, encapsulation, abstraction, inheritance – Eases the design of extendable, composable and reusable systems – In context of networks: eases the collaboration with other networking aspects (mgmt, open distributed systems) • (these already use an OO foundation)
Properties of OO • Encapsulation – Certain functionality is accessible only through well-defined interfaces – Objects are free of side effects
• Information hiding – Objects hide their internal data structure and processing algorithms
• Abstraction – Objects may provide a higher level view of the actual encapsulated functionality
• Inheritance – New classes of objects are derived from existing classes by specifying or implementing ONLY the differences
Composition Framework • A collection of rules and interfaces required to guide, govern and master the composition of objects • Objects or components or modules -> units of composition • General purpose frameworks for designing and developing objects in networks exist • For composing protocols, we need special purpose frameworks – Due to performance sensitivity of protocols
Objects and classes • Object -> entity having a state and a defined set of operations – State encapsulated; can be manipulated / retrieved via operations – Only operations visible; they define object behavior in an abstract way and hide how this behavior is provided
• Class -> description of similar objects – Specifies the external and internal representation of all objects created as instances of that class – External representation: names and parameters of all visible operations – Internal representation: how the operations manipulate/retrieve the internal object state
Inheritance • Define new or specialized derived classes based on previously defined base classes • Multiple inheritance: a class inherits from multiple classes • Derived class inherits the external and internal representations of the base class • Parts of base class can be redefined, new parts can be added later • Class hierarchy -> all classes related by inheritance
Operations • Interaction between objects: mutual invocation of their operations • Caller and callee • Constructor and destructor operations – – – –
Objects exist in time and memory Between creation and termination, it can be in different states Objects are created by using a class description as template Objects in same class have identical sets of operations but may be in different states
Object decomposition • Objects can be decomposable into collections of objects • The object and its decomposition have equivalent external behavior • The decomposition provides a more detailed view of the problem domain • Decomposition can be applied at several layers
Objects in networks • Objects in networks can be node local or distributed • Node local object – Resides on one node at a time – It may migrate but is never located on two nodes simultaneously
• Distributed object – May reside on multiple nodes simultaneously – Typically composed of multiple node local objects that perform a protocol to provide the distributed object’s capability