How to contact Acknowledgements Prof. Dr. Paul Müller Raum: 34/312 Telefon: 0631/205−2263 eMail: [email protected]−kl.de Bernd Reuther Raum: 32/344 Telefon: 0631/205−2161 eMail: [email protected]−kl.de TU Darmstadt Stephan G. Eick Bell−Labs Dr. Andreas U. Mauthe Fa. TecMath Dr. Peter Thomas Fa. TecMath Uni Mannheim Technische Universität Kaiserslautern: Prof. Dr. Hans Irtel Dipl.−Inform. Bernd Reuther Dipl.−Ing. Dirk Henrici Dirk Henrici Raum: 36/414 Telefon: 0631/205−2891 eMail: [email protected]−kl.de How to contact Prof. Dr. Ralf Steinmetz 1 Literature Acknowledgements 2 Sitemap • Ralf Steinmetz Multimedia−Technologie. Grundlagen, Komponenten und Systeme. 3. Auflage Springer−Verlag 2000 • Andreas Holzinger Basiswissen Multimedia Band 1: Technik Vogel Buchverlag 2001 • Guojun Lu Communication and Computing for Distributed Multimedia Systems Artech House 1996 • François Fluckinger Understanding Networked Multimedia, applications and technology Prentice Hall 1995 • Andrew S. Tanenbaum Computer Networks, third edition Prentice Hall 1994 Literature 3 Sitemap 4 Overview Chapter 4 4.1. Network Basics for Multimedia Data 4.1 Network basics for Multimedia Data ♦ Network types ◊ Switching concepts ♦ ISO/OSI model ◊ Layer Description ◊ Terminology ♦ Network Quality of Service Overview 4.2 Network Technologies Considered for Multimedia 4.3 Protocols Considered for Multimedia Overview Chapter 4 5 4.1.1. Network Types and Services (1) Network Telephone Telephone (mobile) Internet Intranet Cable TV, Satellite TV Broadcast TV Broadcast Radio 6 Network Types and Services (2) Services Voice (1:1 and 1:n), Fax, Video, Text, Data, ... Voice, Fax, Text, Data, ... Physical Type cable (copper, fiber) wireless, satellite wireless + cable cable (copper, fiber), wireless, Data, Text, Voice, Audio, Video, ... satellite Data, Text, Voice, Audio, Video, ... cable (copper, fiber), wireless Video, Audio, Videotext, Data cable (copper) Video, Audio, Videotext satellite Video, Audio, Videotext wireless Audio, Text wireless 4.1.1. Network Types and Services (1) 4.1. Network Basics for Multimedia Data Additionally very specialized Networks: • Bank connections • Controlling (traffic, machines, in house systems, ...) • Supervising (alarm systems, gas pipes, street lights, ...) 7 Network Types and Services (2) 8 Size versus Time of Transmission Circuit Switching Provide a "physical" link: connection A, B established connection C, B blocked Advantages: Disadvantages: Size versus Time of Transmission Circuit Switching 10 Cell Switching Promises to combine the best of circuit switching and packet switching. All data is segmented into small cells of fixed size. Cells are multiplexed as needed. Handle independent packages: A+C sending packages of different size to B Packet may get lost because of congestion Disadvantages: • bandwidth not scalable • bad efficiency (bandwidth usage) 9 Packet Switching Advantages: • guaranteed bandwidth and delay • worldwide available Advantages: • high efficiency (bandwidth usage) • bandwidth is scalable • no guaranteed delay (bandwidth) Packet Switching Disadvantages: 11 • high efficiency (bandwidth usage) • bandwidth is scalable • guaranteed bandwidth and delay • rare availability Cell Switching 12 4.1.2. ISO / OSI Reference Model (1) ISO / OSI Reference Model (2) 1 The physical layer defines electric signaling on the transmission channel; how bits are converted into electric current, light pulses or any other physical form. Serial_line is an example of the physical layer. A network device for this layer is called a repeater. 2 The data link layer defines how the network layer frames are transmitted as bits. An example of a data link layer protocol is Ethernet. A network device for this layer is called a bridge. Technology (usually hardware) Protocols (usually software) 3 4.1.2. ISO / OSI Reference Model (1) The network layer defines how information from the transport layer is sent over networks and how different hosts are addressed. An example of a network layer protocol is the Internet Protocol. A network device for this layer is called a router. 13 ISO / OSI Reference Model (2) ISO / OSI Reference Model (3) 14 Layer 1 4 The transport layer takes care of data transfer, ensuring the integrity of data if desired by the upper layers. TCP and UDP are operating at this layer. 5 The session layer establishes and terminates connections and arranges sessions to logical parts. TCP and RPC provide some functions at this layer. 6 The presentation layer takes care of data type conversion. Protocols residing at this layer are used to provide interoperability between heterogeneous computer systems. 7 The application layer defines the protocols to be used between the application programs. Examples of protocols at this layer are protocols for WWW (http) electronic mail (e.g. SMTP) and file transfer (e.g. FTP). Data Types • electrical or optical signals Devices • Repeater ♦ extends physical segments to logical segments ♦ boosts electrical or optical signals • Hub ♦ is a multiport repeater ♦ is a shared medium like a bus Connectivity ISO / OSI Reference Model (3) 15 Layer 1 16 Layer 2 (1) Layer 2 (2) Devices Data Types • Switch ♦ is a multi−port bridge ♦ provides dedicated connections between all ports, i.e. does not realize a shared medium • frames Devices • Bridge ♦ connects logical segments to broadcast domains ♦ provides connectivity on layer 2 by forwarding frames between two logical segments ♦ a frame will be forwarded if ◊ the receiver resides on the other segment ◊ the receiver's location is unknown ◊ the destination address is a broadcast address ♦ needs information about directly connected network segments only ♦ automatically collects layer 2 addresses to be able to make forwarding decision Layer 2 (1) Connectivity 17 Layer 2 (2) Layer 3 (1) 18 Layer 3 (2) Data Types Connectivity • packets Devices • provides connectivity on layer 3, by interpreting packets and making routing decisions • a router port is an endpoint of a network segment • may connect different types of layer 2 networks • needs information about the whole network topology ♦ receives external information to make a routing decision ♦ static information may be configured by an administrator ♦ dynamic information may be collected by routing protocols Layer 3 (1) 19 Layer 3 (2) 20 Layer 4 − 7 Terminology (1) Data Types Data types: • protocol data • arbitrary application specific data Repeating: Applications Forwarding: • Client Process ♦ requests some information ♦ receives payload • Server Process ♦ waiting for information requests ♦ sends payload • One process may be client and server ♦ on different levels (e.g. FTP) ♦ on the same levels (e.g. peer−to−peer protocols) Bridging or switching: • layer 1: signals • layer 2: frames • layer 3: packets • boosting electrical or optical signals • is the task of moving a frame or packet from one interface (or port) to another interface • depending on layer 2 addresses deciding whether a frame needs to be forwarded, identifying the output port and performing the forwarding • bridging/switching is a layer 2 functionality Connectivity Layer 4 − 7 21 Terminology (1) Terminology (2) Routing: Combined devices: Topologies (1) • depending on layer 3 addresses and routing information deciding to which output port a packet needs to be forwarded and performing the forwarding • forwarding a packet includes the generation of a new frame • routing is a layer 3 functionality Complete mesh: Ring: • switching−hubs oder route−switches denote combined devices Star: Terminology (2) 22 23 • ideal performance • high reliability • only for networks with small expansion • connections • reliability ♦ absorb drop out of one link • easier cabling • n connections • reliability ♦ drop out of one link affects a single endsystem only ♦ node in the middle is single point of failure • complex cabling for large extent networks • n connections Topologies (1) 24 Topologies (2) Combination: Tree: Irregular: Speed versus Distance • large networks often combine different topologies • Example: the B−WIN network of the DFN (Deutsches Forschungsnetz) uses a combination of ring and star topology • is a combination of star topologies • some applications may require specialized topologies Topologies (2) 25 Quality of Service Overview Speed versus Distance 26 Network QoS Quality of Servcie (QoS) denotes the well−defined and managable behaviour of a system according to measurable parameters. In this chapter we consider the Network−QoS for Layer−2 Quantitative criteria: The implementation of QoS requires the availability of resource management mechanisms. Different layers of a system will use different QoS parameters, each layer may also have several sub−layers. • throughput • delay • delay variation • error rate Network capabilities: • isochronism • multicast capability Quality of Service Overview 27 Network QoS 28 Throughput End−to−End Delay The bit rate between two communication endpoints is the number of binary digits that the network is capable of delivering and accepting per time unit The end−to−end delay is the sum of the following delays: • access delay the time between the request to send a data block and the emission of the first bit • network transit delay the time between emission of the first bit of a data block and its reception at the destination endsystem (network transit delay is also called latency) • transmission delay the time between emission of the first and the last bit of a data block • The commonly used time unit is one second, but often the actually observed time unit is another one ♦ ISDN offers a throughput of 8 bit per 125 μs • distinguish individual and aggregate bit rates • access speed versus bit rate ♦ access speed refers to the frequency at which bits may be sent or received • bit rate could be constant or variable • burstiness ♦ peak bit rate (PBR): maximum bit rate during a short time interval ♦ mean bit rate (MBR): averaged bit rate over a longer time interval ♦ burstiness is the relation between PBR and MBR Throughput 29 Round−Trip−Delay (RTT) End−to−End Delay 30 Delay Variation The Delay variation relates to variation of end−to−end delay • also called "Jitter" • distinguish average and maximum delay variation Originator of delay variation • the physical environment causes jitter in magnitude of nano seconds • intermediate switches/routers may cause jitter by ♦ variation of medium access time, e.g. CSMA/CD (usually micro−seconds) ♦ store and forward switching delays, e.g. by internal node congestion (micro−seconds) ♦ waiting time caused by flow control mechanisms (micro− or even milli−seconds) In ISDN there is only a physical jitter, whereby in IP networks all types of jitter occur. • The RTT is also called response time • RTT is a good metric for interactive applications Round−Trip−Delay (RTT) 31 Delay Variation 32 Error Rates 1 Error Rates 2 Error types: Error types: • data alternation, i.e. inversion of bits ♦ caused by the physical environment ♦ metrics are: bit error rate (BER), packet error rare (PER), cell error rate (CER) • data loss ♦ caused by congestion ♦ or caused by defective physical infrastructure ♦ metrics are: packet loss rate (PLR) or cell loss rate (CLR) • Data duplication, miss insertion or wrong delivery ♦ is a rare incident, but may be caused by data alternation or loss ♦ also caused by hackers to provoke unusual system behavior ♦ miss insertion and wrong delivery may cause serious problems, therefore some techniques use countermeasurements especially to avoid these problems • out−of−order delivery ♦ caused by changing routing paths Mechanisms to avoid problems: 1. Error detection, e.g. using CRC 2. Error handling methods • discarding, i.e. handle all error types like data loss • notification, includes discarding • recovery, error correction or retransmission Error Rates 1 33 Isochronism Error Rates 2 34 Multicasting An end−to−end network connection is called isochronous if the bit rate and the jitter over the connection life time is guaranteed and the jitter is also small Multicasting is the capability to replicate data at certain internal points. Replicated data is forwarded to endsystems which are part of a multicast group. Isochronism therefore simply defines the requirements of continuous media streams. Remark: • The property of media like audio and video, that must be sampled and played in regular intervals is also called isochrony • Isochronism does not define quantitative values for jitter or probabilities refereed to by guaranteed. • If a jitter may be considered small depends on the application. • Multicast avoids or minimizes the multiple transport of the same data over the same network segments • broadcast is a special case of multicast • data duplication must be supported by forwarding engines in switches • multicast types ♦ one−to−many unidirectional ♦ one−to−many bi−directional ♦ many−to−many Note: The mulitcast or broadcast capability on OSI Layer−2 is usually a prerequisite for the realization of multicast on Layer−3. Isochronism 35 Multicasting 36 4.2. Networks 4.2.1. Ethernet Different network characteristics lead to different usability for the transport of multimedia data: History: • QoS guarantees: ♦ bandwidth ♦ delay ♦ delay variation • Xerox Corp.: R. Metcalfe (PHD at the M.I.T.) and D. Boggs • Standardized by IEEE 802.3 ♦ there are vendor specific Ethernet variants, e.g. Ethernet V2 • The original article from Robert M. Metcalfe and David R. Boggs Xerox Palo Alto Research Center • Isochronism • Multicast capability • Flexibility: ♦ bandwidth ♦ traffic types ♦ distance (LAN, WAN) ♦ physical media • Efficiency/Utilization of physical media • Costs 4.2. Networks 37 4.2.1. Ethernet Ethernet Ethernet: Usability for Multimedia Data Characteristics: QoS parameters: • Bus topology Isochronism: • Several physical media: coax cable, twisted−pair, fiber Multicast capability: • Bus characteristics: ♦ max. segment size ♦ min. distance between nodes ♦ Repeater/Hub/Switches for longer distances Flexibility: • access protocol CSMA/CD (Carrier Sense Multiple Access with Collision Detection) Efficiency: [ Details ] Costs: Ethernet 38 39 • No end−to−end guarantees possible • No priorities supported • not available • Multicast group addressing supported • Broadcast group addressing supported • formerly fixed bandwidth of 10 Mbit/s, Ethernat derivatives up to 10 GBit/s • short distances (a so called "WAN Ethernet" is currently under develope) • with CSMA/CD: low throughput at high utilization because of collisions • bad efficieny for small frames because padding is required to ensure the necessary minimum frame size • Low cost technology enables dedicate connected systems 10/100 Mbit/s guaranteed bandwidth per host in small LANs Ethernet: Usability for Multimedia Data 40 4.2.2. Token Ring Token Ring Usability for Multimedia Data History: QoS parameters: • Introduced by IBM 1985 • Standardized by IEEE 802.5 (ECMA 89, ISO 8802/5) • No bandwidth guarantees, but “reservation” possible by use of 4 priority classes, e.g. high priority for continuous−media data traffic • Priority Classes • Priority Use 0 normal data transfer 1−3 available for data transfer 4 bridges 5−6 reserved 7 station management • Bounded delay because of: ♦ Token Holding Time ♦ Deterministic access Characteristics: • Ring topology • Shielded coax cable (double) at 4 or 16 MBit/s • Ring characteristics: ♦ Maximal 260 stations per ring ♦ Bridges to connect several rings Isochronism: • Token controls media access: ♦ Rotates on ring ♦ Owner of token may send data ♦ Priority fields Multicast capability: [ Details ] Flexibility: • not available • Multicast group addressing supported • Broadcast group addressing supported • bandwidth of 4 or 16 Mbit/s • short distances Efficiency: 4.2.2. Token Ring 41 Token Ring Usability for Multimedia Data • high throughput at high utilization Costs: • complex protocol 42 4.2.3. Token Bus “expensive” hardware The Token Bus protocol was developed to meet the requirements of factory automation Characteristics: • Specified in IEEE 802.4 • Bus topology • Shielded coax cable • Defines a logical ring of stations ♦ The order depends on MAC addresses ♦ The MAC protocol is even more complex than for Token Ring • Frame format is nearly the same than for IEEE 802.5 • Priorities are only used to sort frames before sending Token Ring Usability for Multimedia Data 43 4.2.3. Token Bus 44 4.2.4. FDDI (Fiber Distributed Data Interface) FDDI Traffic Types History: • Based on IEEE 802.5 (Token Protocol) • Standardized (ANSI X3T9.5, ISO 9314) Ring Characteristics: • Optical LAN at 100 MBit/s • Up to 200 km in length with up to 2 km distance between two stations • Up to 500 stations FDDI modes: • Non−restricted mode: residual bandwidth, timed token protocol, 8 priority levels • Restricted mode: residual bandwidth shared between two stations, “restricted token” • Synchronous: packet switched, guaranteed bandwidth, limited delay Protocol Characteristics: • Timer controlled token protocol • Bidding process at (re−)configuration time • Early token release option FDDI II offers an additional mode: • Isochronous: circuit switched, guaranteed bandwidth, fixed delay [ Details ] 4.2.4. FDDI (Fiber Distributed Data Interface) 45 FDDI Traffic Types FDDI: Usability for Multimedia Data (1) QoS parameters: FDDI: Usability for Multimedia Data (2) Performance guarantees in asynchronous mode: Multicast capability: • Similar to Token Ring, but longer latency (20 bit per station instead of 2 bit) • No guarantees if synchronous and asynchronous traffic on the ring • Restricted mode for two stations: ♦ Low delay ♦ No other asynchronous traffic on the ring allowed Flexibility: Performance guarantees in synchronous mode: Efficiency: • Guaranteed bandwidth with maximum delay (variation up to 100 ms) • Time for reservation of synchronous bandwidth relatively long • Buffering for packets coming too early: buffer space for TTRT duration, isochronous mode in FDDI II Isochronism: 46 Costs: • Multicast group addressing supported • Broadcast group addressing supported • fixed bandwidth of 100 Mbit/s • suitable for short and long distances • High throughput at high utilization • fiber is expensive, especially for short distance connections • complex protocol “expensive” hardware • available in FDDI II only FDDI: Usability for Multimedia Data (1) 47 FDDI: Usability for Multimedia Data (2) 48 4.2.5. DQDB DQDB: Traffic Types Queued Arbitrated (QA) Slots: (Distributed Queue Dual Bus) • Allocated through “distributed queue” MAC procedure • Similar to asynchronous data traffic in FDDI Previously QPSX: Queued Packet Switch Asynchronous part stable (IEEE 802.6), Isochronous part not standardized Pre−Arbitrated (PA) Slots: • Assigned to a specific node by the Frame Generator • Identified by VCI in slot header • Ignored by the distributed queue medium access procedure • Number and timing of PA slots is variable • Slot contains: ♦ 48 usable bytes (every 125 μs) ♦ n * 64 Kbit/s channel Design goals, compatibility with • IEEE 802.x MAC frame formats • B−ISDN cell structure and speed Bus characteristic: • Dual slotted bus, 125μs frame rate (125 μs = 8000 frames/s) Traffic modes: • Asynchronous (packet switching) traffic • Isochronous (circuit switching) traffic [ Details ] 4.2.5. DQDB 49 DQDB: Traffic Types DQDB: Usability for Multimedia Data QoS parameters: DQDB: Usability for Multimedia Data (2) Multicast capability: Performance guarantees for asynchronous traffic: • Four priorities: High priority traffic is always sent before traffic of a lower priority • Fairness problems: stations near to a bus head have a better chance to send data in this direction Flexibility: Performance guarantees for isochronous traffic: • Guaranteed bandwidth, reservation is possible • Fixed delay • Few implementations Isochronism: Efficiency: • is available DQDB: Usability for Multimedia Data 50 Costs: 51 • not available • usable for LAN and WAN, e.g. DQDB connection between Perth and Melbourne (3.500 km). • different physical media with different line speed available (30/45/140/155 Mbit/s, full−duplex) • High throughput at high utilization • High load leads to unfairness • Data always travels to the bus head, a receiver does not remove data. If receivers would remove data, then efficiency could be increased. • no market DQDB: Usability for Multimedia Data (2) 52 4.2.6. ISDN: Integrated Services Digital Network ISDN: Interfaces ISDN User Interfaces: Standardization: Channels: • Basic Rate Interface ♦ 2 data channels (B channel) with 64 Kbit/s ♦ 1 signaling channel (D channel) with 16 Kbit/s • Primary Rate Interface: ♦ 30 data channels (B channel) with each 64 Kbit/s in Europe ♦ 1 signaling channel (D channel) with 64 Kbit/s • ITU recommendations (former CCITT) • ETSI and ANSI standards Characteristics: • Public, digital, end−to−end network • Implements digital bit pipe ♦ Based on 64 Kbit/s data rate ♦ Multiple full duplex data channels • Support for multiple media and services within one network: ♦ Voice, low quality video, image data, text data, ♦ supplementary services • Common signaling channel with common set of signaling protocols A − 4kHz analog B − 64 Kbps digital PCM C − 8 or 16 Kbps digital D − 16 or 64 Kbps digital signaling E − 64 Kbps digital internal signaling H − 384, 1536 or 1920 Kbps digital ISDN Protocol Reference Model: • Extensions to ISO/OSI: • User plane: for user data • Control plane: for connection management • Packet oriented D channel signaling Technology: • Circuit switching • Fixed bandwidth channel assignment [ Details ] 4.2.6. ISDN:Integrated Services Digital Network 53 ISDN: Usability for Multimedia Data QoS parameters: ISDN: Interfaces 4.2.7. B−ISDN (Broadband ISDN) / ATM • guaranteed bandwidth • low delay and low delay variation (not guaranteed, e.g. Satellite links with significantly higher delay) Standardization: Characteristics: Isochronism: Multicast capability: Flexibility: Efficiency: Costs: 54 • guaranteed by design principals • no multicast capabilities • fixed bandwidth • although ISDN is used for end−to−end communications, it is mainly a WAN technology • independent of physical media Technology: • ITU recommendations (former CCITT) • ATM Forum (organization of vendors, specifications only) • For LAN and WAN networks • For private and public networks • Support of fine granular Quality of Service ♦ Suitable for all media types • Low and high bandwidth is supported • Connection oriented • Cell Switching • ATM – Asynchronous Transfer Mode • low bandwidth utilization • expensive bandwidth (Telecom ports includes WAN connectivity) ISDN: Usability for Multimedia Data 55 4.2.7. B−ISDN (Broadband ISDN) / ATM 56 4.2.8. ATM = Asynchronous Transfer Mode ATM Layer Overview Examples: According to ITU−T Recommendation I.113 asynchronous means: Reference Model " ... it is asynchronous in the sense that the recurrence of cells containing information from an individual user is not necessarily periodic." (I113) • Higher layer provide end−to−end services • ATM Adaption Layer (AAL): ♦ adaption of service data to cells (48 bytes) • 53 byte cells handled by ATM Layer: ♦ 5 byte header (VPI, VCI, HEC) ♦ switching/multiplexing of cells [ Details ] 4.2.8. ATM = Asynchronous Transfer Mode 57 ATM: Traffic Contract ATM Layer Overview 58 ATM: Service Categories 1 No error detection and correction, but ... ... mechanisms to guarantee Quality of Service ATM: Traffic Contract 59 ATM: Service Categories 1 60 ATM: Service Categories 2 Quality of Service Parameter Distribution of bandwidth QoS Acronym peak−to−peak maxCTD CLR CER SECBR CMR • CBR: fixed constant bandwidth • VBR: fixed constant bandwidth up to sustained cell rate for a short time (max. burst size) more bandwidth usage is possible • ABR: variable bandwidth based on feedback of the network • UBR: best−effort Parameter Name Cell Delay Variation max. Cell Transfer Delay Cell Loss Ratio Cell Error Ratio Severely Errored Cell Block Ratio Cell Misinsertion Rate Negotiated? YES YES YES NO NO NO Probability for exceeding maxCTD must be less than CLR ATM: Service Categories 2 61 ATM: Usability for Multimedia Data QoS parameters: Isochronism: Multicast capability: Flexibility: Efficiency: Costs: Quality of Service Parameter 62 4.3. Protocols (Layer 3−7) Examples for typical protocol tasks: • guaranteed bandwidth (fixed, variable, feedback) • low delay and low delay variation (not guaranteed) • Layer 3: End−to−end connectivity (host−to−host) • Layer 4: Process−to−Process connectivity • Reliable communication ♦ Error detection ♦ Error recovery (forward error correction or retransmission) • Resource management ♦ avoid congestion, by flow control ◊ within the network ◊ within end systems ♦ Priorization ♦ Resource reservation • Support for specialized media types ♦ Content description ♦ Timing / Synchronization Information • And more ... • is available • uni−directional point−to−multipoint is available • bandwidth on demand, limited by physical links and actual system load • several traffic types CBR, RT−VBR, NRT−VBR, ABR and UBR • independent of physical media • mainly used for WAN or in LAN for backbones, ATM to the desktop was available but was too expensive to be accepted widely • high bandwidth utilization • statistical multiplexing increases utilization, VBR channels: ♦ SUM of "sustained cell rates" must be <= 100% ♦ SUM of "peak cell rates” may be > 100% • a complex and therefore an expensive technology ATM: Usability for Multimedia Data 63 4.3. Protocols (Layer 3−7) 64 TCP/IP Suite 4.3.1. IP Protocol (RFC 791) Development of IP • DARPA: Defense Advanced Research Projects Agency ♦ The research aim was to build a network that is tolerant to extensive damage, e.g. by a nuclear strike ♦ 1973/1974 development of TCP/IP, a replacement of NCP (Network Control Protocol) ♦ Since 1975 the ARPANET was controlled by the DoD ♦ In the early 80'ies the military part was extracted from the ARPANET ♦ Since 1983 exclusive use of TCP/IP, defining the term Internet • IP is specified in RFC 791 • "This document is based on six earlier editions of the ARPA Internet Protocol Specification ..." IP characteristics • Provides end−to−end communication • Connection less, i.e. state less protocol • Provides unreliable transfer of packets • Packets may be reordered during transmission • Error messages are handled by the separate protocol ICMP (Internet Control Message Protocol) [ Details ] TCP/IP Suite 65 4.3.1. IP Protocol (RFC 791) IP Header 66 Routing Routers are used to connect networks Routing: making a local forwarding decision based on global topology information How to get topology information: Version: version of IP header used for fragmentation IHL: Time To Live, decremented by each machine to pass the packet layer 4 protocol, e.g. 1=ICMP, 6=TCP, 17=UDP TOS: Length: ID: Flags, Frag. Offset: IP header length in 32 bit words (5+ no. TTL: of options) Protocol: Type Of Service precedence ~ priority; D,T,R if set optimize for Delay, Throughput, Reliability length in bytes including the IP header Checksum: serial number Options: IP Header • Default routing • Static or non adaptive routing ♦ Does not take into account changes of the network • Dynamic or adaptive routing, requires routing protocols ♦ Identifies the topology of the network automatically ♦ Different metrics are used to describe distances ◊ Number of hops ◊ Available bandwidth ◊ Error rates ◊ ... checksum for the IP header security, record route, timestamp, source routes 67 Routing 68 4.3.2. UDP (RFC 768) / TCP (RFC 793) UDP Header Transport protocols (Layer 4) • Provides process to process connectivity • Uses port number to identify processes. An IP address and a port number is a unique identifier for a service. Characteristics Source Port, port number of sender and receiver Destination Port: Length: length of the UDP datagram Checksum: the checksum covers the UDP pseudo header and the UDP data The UDP pseudo header includes the UDP Header and 12 bytes of the IP header: • Closely related to IP • UDP offers a connectionless and unreliable transport service ♦ Nearly the same service as IP ♦ Data unit name: datagram • TCP offers a connection oriented and reliable transport service ♦ Recognition of lost data ♦ Retransmission of lost data ♦ Reordering of data ♦ Delete duplicate data ♦ Flow control ◊ With respect to network congestion ◊ With respect to buffer overflow at the receiver side ♦ User data is handled as a stream of bytes ◊ User data is split into segments ♦ Data unit name: segment • 2*4 byte IP source and destination address • 1 byte 0 • 1 byte protocol • 2 byte IP header length 4.3.2. UDP (RFC 768) / TCP (RFC 793) 69 TCP Header UDP Header 70 Options: e.g. maximum segment size Source Port, port number of sender and receiver Destination Port: Sequence Number: TCP counts every byte of a stream This is the number of the first data byte Ack Number: If the ACK control bit is set this field contains the value of the next sequence number the sender expects to receive Data Offset: number of 32 bit words in the TCP header Flags: urg ack psh urg: urgent pointer is valid psh: push data to level above syn: synchronize seq. number rst syn ack: ack number is valid rst: reset connection fin: close this side of the connection fin Window: amount of data the sender is willing to accept (flow control) Urgent Pointer: points to last byte of urgent data TCP Header 71 TCP Header 72 TCP Flow Control (1) TCP Flow Control (2) avoid overflow of receiver buffers (sliding window): Avoid network congestion If multiple identical ACKs indicate packet loss, then slow start + congestion avoidance: • ACKs may advance left side of window • advertised windows size may advance right side of window If timeout indicate packet loss, then slow start + restart slow start + congestion avoidance: TCP Flow Control (1) 73 TCP Flow Control (2) 74 TCP Service Mechanisms Retransmission • Go−back−n strategy ♦ Simple and robust mechanism ♦ Resource consuming ♦ Causes unpredictable delay Flow control • Slow start and congestion avoidance realize considerate resource usage ♦ This enables fair and cooperative bandwidth sharing ♦ May cause high jitter TCPs service mechanisms were designed for reliable data transfer TCP is not suitable for real−time communications TCP Flow Control (2) 75 TCP Service Mechanisms 76 4.3.3. IPv6 IPv6 Header Development of IPv6 • 1993 the IETF called for the development of an IP next generation IPng (RFC 1550) • Improvements required ♦ Larger address space ♦ Reduce size of routing tables ♦ Simplification of the protocol, to allow routers to process packets faster ♦ Better security ♦ Pay more attention to Type of Service ♦ Aid multicasting ♦ Support roaming ♦ Easier extension of the protocol ♦ Coexistance with the old IPv4 Version: version of IP header Priority: 0−7 for non real time data, 8−15 for real−time data Flow Label: may be used to identify a flow, RFC 1809 discusses how the flow label could be used Payload length: length of the datagram without the header Next header: options are placed in separate extension header; next header identifies an option or the protocol above IPv6 • 1995 the IETF agreed to specification named IPv6 (RFC1883) ♦ Changes to other protocols of the TCP/IP suite are specified in RFC 1884−1887 [ Details ] Hop limit: same as Time to Live of IPv4 Addresses: there are 7*1023 IPv6 addresses per square meter of the world enabling well structured addresses • Support of provider based addresses • and geographic based addresses 4.3.3. IPv6 77 IPv6 Header IP Header Extension Hop−by−Hop options: Routing: Fragmentation: Authentication: Encryption security payload: Destination options: 78 IPv6 Further Topics Experimental IPv6 networks exist, see the JOIN project of the DFN • extending the payload length, enabling datagrams of more than 65535 bytes (so called jumbograms) • Information exchange between routers IPv6 is supported by most system software: AIX, BSD, HP−UX, Linux, Solaris, Windows To install the IPv6 Protocol for Windows XP: • Full or partial routing path of a datagram at the command prompt, type: "ipv6 install" • Similar to IPv4 fragmentation but fragmentation is handled only by endsystems Many topics are still discussed: ♦ geo based IPv6 addresses ♦ IPv6 over IPv4, IPv4 over IPv6, IPv6 to IPv4 (6to4) ♦ renumbering ♦ auto configuration ♦ use of the flow label field ♦ security ♦ mobility ♦ ... • Identification of the sender • Information about encrypted payload • Information that should be interpreted by the destination only IP Header Extension 79 IPv6 Further Topics 80 QoS in Data Networks IP Service Models QoS Guarantees QoS Parameter Best Effort no DiffServ aggregated IntServ flow based no long term per flow static dynamic within a domain end−to−end Traffic−Engineering Concept MPLS flow based and aggregated support for: • DiffServ • IntServ • ATM 4.3.4. Integrated Services (RFC 1633) Network Technology ATM flow based and aggregated per flow (channel) or per path dynamic or static What is a flow? • A flow is a stream of packets originated from the same application session • The term "flow" describes semantical coherence of data Categories of applications end−to−end or within a domain QoS in Data Networks Integrated Services (IntServ) is a reservation based model. The intention is to guarantee individual QoS profiles for each flow. • Elastic applications, no delivery requirements as long as the packets reach the destination, e.g. TCP traffic (machine to machine) • Real Time Tolerant (RTT) applications, demand weak bounds for the maximum transfer delay, also some packet loss is acceptable, e.g. streamed video (machine to human) • Real Time Intolerant (RTI) applications, demand minimal delay and jitter, e.g. interactive application or videoconferences (human to human) 81 IntServ: Service Classes 4.3.4. Integrated Services (RFC 1633) 82 IntServ: Components Service Classes • Guaranteed Service for RTI applications ♦ Guaranteed amount of bandwidth ♦ Deterministic upper bound for delay • Controlled Load Service for RTT applications ♦ Provides a service equivalent to an unloaded network ♦ Most packets will reach the destination ♦ The average delay is guaranteed • Best Effort Service for all other applications ♦ standard use of IP The Reservation Setup Agent is the only component that communicates with other nodes. The Resource Reservation Protocol (RSVP) was designed to meet the signaling requirements of IntServ. IntServ: Service Classes 83 IntServ: Components 84 IntServ: Packet Classifier IntServ: Packet Scheduler Packet Classifier: Packet Scheduler: • The QoS capabilities of a Layer−2 network could be utilized to implement the packet scheduler functionality • Manages access to the Layer−2 network in order to guarantee the requested QoS • Some methods for the QoS implementation ♦ Priority queuing (there is one queue for each QoS class) ♦ Weighted fair queuing (place a packet within a queue depending on the QoS class) ♦ Packet level traffic shaping (avoid peaks of traffic) • Determines the QoS class for each packet • May cooperate with routing mechanisms, packets of the same flow should always use the same path • Arbitrary parts of the packet header may be used for classification ♦ IP−addresses and port numbers of the sender and/or receiver ♦ Application data like frame types of a video stream (e.g. MPEG) • For IPv6 the flow label should be used Potential problems: Potential problems: • IP fragmentation must be avoided (RSVP compute a minimum MTU for a multicast tree) • Variable header length may require the interpretation of protocols • IP−level security prevents access to higher layer protocols IntServ: Packet Classifier • The IntServ model can not guarantee QoS if anywhere in the data path ♦ a non IntServ capable router must be passed ♦ a non QoS capable Layer−2 network must be shared with a non IntServ capable node 85 IntServ: Admission and Policy Control IntServ: Packet Scheduler 86 4.3.5. RSVP − Ressource Reservation Protocol RFC 2210 Admission Control RSVP is a general signaling protocol for QoS control services • resource management • decides whether the local system is able to support the requested traffic flow • The signaled objects are opaque for RSVP Policy Control A main focus of RSVP is to support multicast communication • is optional • determines whether the requester has administrative permissions to make the reservation • Unicasts are treated as special cases of multicast only • RSVP performs receiver oriented reservations ♦ Support different requirements of many receivers ♦ Support heterogeneous networks If either check fails the request is rejected, PDUs of that flow may be discarded or forwarded with a lower priority RSVP uses soft−states, i.e. signaled information is valid for a fixed time interval only • Simplifies cooperation with connection less IP • Reservations must be refreshed periodically ♦ Resource consuming ♦ Prevents usage of RSVP in large networks Merging of reservation supports multiple senders in a multicast environment IntServ: Admission and Policy Control 87 4.3.5. RSVP − Ressource Reservation ProtocolRFC 2210 88 RSVP Receiver oriented Reservation (1) RSVP Receiver oriented Reservation (2) A PATH message is sent from sender to receiver • The sender specifies its traffic characteristic • Detection of path characteristics ♦ Detected bandwidth limitations, minimum packet size (MTU) ♦ RSVP capable nodes get to know their RSVP capable neighbors • RSVP does not perform routing; routing is done by standard components which do not know anything about QoS A RESV message is sent from receiver to sender • The RESV message travels the path backward • The receiver determines the required resource reservation ♦ Traffic specification (Tspec) ♦ Requested Service Specification (Rspec) RSVP Receiver oriented Reservation (1) 89 RSVP Reservation Types & Merging (1) RSVP Receiver oriented Reservation (2) 90 RSVP Reservation Types & Merging (2) Distinct Reservation (or Fixed Filter Style) Reservations are merged, dependent on their reservation type • A receiver requests reservations for each sender • Example: all senders send different types of data in parallel • Example for distinct reservation: Shared Reservation • Wild card Filter Type: ♦ A receiver requests one reservation for all senders within a multicast tree ♦ Senders may be added or removed without changing the reservations for the resource tree ♦ Example: all senders require the same resources but not at the same time • Shared Explicit Reservation: ♦ A receiver requests one reservation for an explicit defined set of senders ♦ Shared explicit reservation may be combined with distinct reservations RSVP Reservation Types & Merging (1) 91 RSVP Reservation Types & Merging (2) 92 4.3.6. Differentiated Services RFC 2475 DiffServ Domains Differentiated Services (DiffServ, DS) is a model to differentiate services on the Internet. Example: The key goals are: • fast determination of a service class for a (IP) packet • being scalable The key concepts are: • traffic classification and service realization are separated • each DiffServ domain has its own set of services • traffic classification is done only at the border of a DiffServ domain • assume that only a few different static services are required ♦ it is sufficient to specify services in long term contracts ♦ many flows will receive the same service, i.e. will share the resources of a service ♦ admission and usage control is necessary in order to guarantee a specific QoS 4.3.6. Differentiated Services RFC 2475 SLA = Service Level Agreement, between user and provider Aggregation = all traffic flows that will receive the same service PHB = Per Hop Behaviour, is the externally observable forwarding behavior 93 DiffServ Domains DiffServ Codepoint RFC 2474 94 DiffServ Traffic Classification Within a DiffServ domain each packet is marked by a 6−bit codepoint. Logical view of packet classification and conditioning: All packets with the same codepoint build a so called "Behavior Aggregate" which is also called "Aggregate". IPv4: Classification: • The Codepoint overwrites the TOS field in the IPv4 header • Some routers use the precedent bits of the TOS field, therefore some DiffServ domains may use a limited Codepoint of 3 bits • performed at ingress node • depends on Service Level Agreement (SLA) between user and provider • based on packet data or an already assigned codepoint IPv6: Meter: • The Codepoint overwrites the priority field of the IPv6 header • perform usage control according to a specified traffic profile (average bandwidth, peak−bandwidth, burstsizes, ...) Marker: • assigns a 6−bit codepoint • different codepoints may be assigned to "in−profile" and "out−of−profile" packets Shaper/Droper: DiffServ Codepoint RFC 2474 95 DiffServ Traffic Classification 96 • may delay or drop "out−of−profile" packets (traffic conditioning) DiffServ Per−Hop−Behavior (1) The Per−Hop−Behavior (PHB) describes the service of a specific aggregate. • DiffServ does not define a fixed set of parameters describing a PHB, i.e. DiffServ does not specifiy the service types which may be supported by a DiffServ domain (except the default PHB) • A PHB is described by the externally observable forwarding behavior • A PHB is identified by the codepoint of each IP packet PHBs may be specified by: • ressource description (buffer usage, bandwidth, ...) • priorities relative to other PHBs • observable traffic characteristics (delay, loss, ...) • Example: guarantee a minimal bandwidth allocation of X% of a link, with proportional fair sharing of any excess link capacity DiffServ Traffic Classification 97 DiffServ Per−Hop−Behavior (1) DiffServ Per−Hop−Behavior (2) 98 4.3.7. Multiprotocol Label Switching (MPLS) RFC 3031 Suggested PHB types: MPLS is a traffic−engineering model • default PHB, standard IP service = best−effort service codepoint: 000000 Goal: • Class−Selector PHB, provides backward compatibility to IPv4 precedent bits codepoint: xxx000, x = 0 or 1 • replace complex routing decisions by much more simpler packet forwarding (switching) technologies • Assured Forwarding PHB (RFC 2597), defines four traffic classes and three drop precedence per class. According to the SLA buffer and bandwidth ressources will be assigned to each class. Out−of−Profile traffic may be marked with a higher drop precedence Drop Precedence Class 1 Class 2 Class 3 Class 4 Low drop precedence 001010 010010 011010 100010 Medium drop precedence 001100 010100 011100 100100 High drop precedence 001110 010110 011110 100110 Basic concepts: • assume that there are many packets in a network domain that will be treated in an equivalent manner equivalence = the packets leave the domain at the same (logical) link (and the packets receive the same QoS) • classify packets at the domain borders, i.e. assign a packet to a Forward Equivalence Class (FEC) • packets of the same FEC are marked with a label, within a MPLS domain packets may be forwarded (switched) based on that label. • Note: conventional routing is like assigning a packet to an FEC in each router • Expedited Forwarding PHB (RFC 2598), guarantees a specified bandwidth (according to the SLA) codepoint 101110 DiffServ Per−Hop−Behavior (2) 99 4.3.7. Multiprotocol Label Switching(MPLS) RFC 3031 100 MPLS Example MPLS Label Encoding A label is a short fixed length locally significant identifier for an FEC. For most Layer−3 technologies the label is encoded in a so called Shim−Header: exp = experimental, suggestion: use as a diffserv 3−bit codepoint s = 1 −> bottom of stack ttl = time to live Insert Header in Ethernet Frame: Use VPI/VCI field of ATM for MPLS label LSR FEC = Label Switching Router = Forwarding Equivalence Class MPLS Example 101 MPLS Label Assignment & Distribution MPLS Label Encoding 102 MPLS Label Stack Example Use of downstream label assignment: Example, assume the following label bindings: For FEC 1 and FEC 2: Label L1 between, LSR7 and LSR 6, LSR 6 and LSR4, LSR4 and LSR3 Label distribution is done by modified routing protocols or with a special Label Distribution Protocol (LDP) Example: For FEC 1: Label L6 between LSR3 and LSR2 Label L9 between LSR2 and LSR1 LSR 3 may inform LSR 2 to use Label "L6" for all packets with an IP destination address of 131.x.x.x LSR 2 may choose to use the same or another label for the link between LSR1 and LSR 2 What happens when a packet is traveling from LSR1 to LSR7: LSR1: assign packet to FEC 1 = push label "L9" on Stack LSR2: swap label "L9" to "L6" and forward packet to LSR3 LSR3: swap label "L6" to "L1" and forward packet to LSR4 LSR4: swap label "L1" to "L1" push a label "x" of the MPLS domain 2 on stack and MPLS Label Assignment & Distribution 103 MPLS Label Stack Example 104 forward the packet to LSR 8 or 9 of domain 2 ... the apcket travels within domain 2 to LSR 6 ... LSR6: pop label "x" swap label "L1" to "L1" and foward packet to LSR 7 LSR7: pop label "L1" and route packet based on IP addresses MPLS Remarks MPLS was not designed to support any QoS. Identification of flows or "traffic aggregates" makes QoS implementation much easier. MPLS may support QoS by • supporting DiffServ • utilizing ATM for IP traffic • extend label distribution with qoS parameters Advantages of MPLS • connection setup or connection release is not required • is limited by domains, i.e. networks belonging to different administrative domains do not need to cooperate. Therefore MPLS may be utilized in parts of a network only, e.g. WAN or backbones • MPLS is protocol independent MPLS Label Stack Example 105 4.3.8. RTP − Real−Time Transport Protocol RFC 1889 MPLS Remarks 106 RTP − Scenario Consists of two closely−linked parts: • the real−time transport protocol (RTP), carries data with real−time properties • the RTP control protocol (RTCP), monitors QoS and distributes this information to all participants of a session RTP makes no reservations and does not guarantee any service RTP is a protocol framework, not a complete protocol • a profile specification defines payload types and may extend RTP • a payload specification defines payload formats and encoding types must be specified • therefore RTP will typically be part of an application many−to−many communication (e.g. video conference) 4.3.8. RTP − Real−Time Transport ProtocolRFC 1889 107 RTP − Scenario 108 RTP − Definitions RTP − Header RTP−Session: • is a set of participants • each participant is identified by a host and a destination port address • each medium is carried in a separate RTP−session Mixer: • is an intermediate system that receives data from one or more sources, possibly changes the data format and combines packets in some manner • a mixer will make timing adjustments and generate an own timing for combined data • the payload type is defined by the applications profile • the sequence number enables receivers to detect lost RTP−PDUs • the timestamp reflects a sampling instant. i.e. the timestamp unit depends on the encoding and does not need to correspond with the system clock • SSRC identifies the last sync. entity; it is unique within a session • CCSR identifies the contributor of a source Translator: • is an intermediate system that forwards data without changing media or synchronization • encryption and addresses may be changed • multicast may be mapped to unicast and vice versa RTP − Definitions 109 RTP − Header RTCP − RTP Control Protocol 110 Interesting Links RTP enables receiver to monitor the QoS: Routing Basics http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/routing.htm • Delay, jitter, PDU loss rate Size of BGB Tables http://bgp.potaroo.net/ RTCP periodically transmits control packets between all participants of an RTP session: • the primary function is to provide feedback about the QoS • carries transport−level identifiers for RTP sources, the canonical name (the SSRC may change over the time; the canonical name is fixed, e.g. a user name) • the rate of sent RTCP packets depends on the number of participants in order to make RTCP scalable • optionally, further information about the participants could be distributed to realize a simple session control Internetworking Technology Handbook http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ Its Latency http://www.potaroo.net/papers/isoc/2004−01/latency.html TCP − How it works http://www.potaroo.net/papers/isoc/2004−07/tcp1.html Visualroute http://www.webhits.de/english/index.shtml?visualroute.html RTCP − RTP Control Protocol 111 Interesting Links 112
© Copyright 2024