* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download High Speed Communication Protocols
Survey
Document related concepts
Multiprotocol Label Switching wikipedia , lookup
Network tap wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Airborne Networking wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Computer network wikipedia , lookup
Distributed firewall wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Deep packet inspection wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Internet protocol suite wikipedia , lookup
Transcript
High Speed Communication Protocols ECE 677, High Speed Protocols 1 Why? ■ - High Speed Transport Protocols Distributed processing Generally characterized by client-server interactions - operating Systems provide Transparent and highperformance services such as: * remote procedure call (RPC) * remote memory access * remote database queries - The performance of transport protocols plays a critical role in distributed computing environments. *time-consuming setup procedures (not desirable) * multicast or broadcast capability (needed) *datagram service (might be preferable) ECE 677, High Speed Protocols 2 High Speed Transport Protocols ■ Full - Motion Video and Video-on-demand these application require high-bandwidth - data delayed over a certain period of time might be useless. ■ Computer - Imaging Medical applications - Weather related systems ECE 677, High Speed Protocols 3 Transport Protocol Responsibility Manage end to end connection between hosts ■ Provide reliable data delivery ■ In sequence delivery of packets to higher layers ■ Provide flow control mechanism =>Three popular standards: TCP/IP, UDP/IP, TP4 (OSI Protocol) ■ ECE 677, High Speed Protocols 4 Transport Protocol Functions ■ The objective of the transport layer is to provide end-to-end reliable transmission of data ■ To fulfill this objective, the transport layer protocol performs the following: - Connection Management - Error Control - Flow Control - Synchronization - Transmitting and Receiving ECE 677, High Speed Protocols 5 Transport Protocol Functions ■ Connection - Management How to establish, maintain and release a connection ■ Flow Control - To ensure that the receiver is not overwhelmed by a fast transmitter, and able to accept and process incoming packets ECE 677, High Speed Protocols 6 Transport Protocol Functions ■ Error Control - Error control mechanisms required to recover from lost, corrupted or out of sequence packets ◆ error detection ◆ error correction ■ Synchronization - - Source - destination pair should be synchronized it includes acknowledgments and other control data ECE 677, High Speed Protocols 7 TCP/IP Suite and OSI Model Application Presentation Application Process Session Transport TCP Network IP Data Link Communication Network Physical ECE 677, High Speed Protocols 8 Problems with Current Transport Protocols 1. Flow Control Algorithm ■ ■ ■ ■ ■ Match data transmission rate with receivers data consumption rate Ex: Window controls the flow of data by limiting the number of units that can be transmitted without acknowledgement It can convey only how much data can be buffered, rather than how fast the transmission should be It ties flow control and error control together Go-back-N type of control degrades throughput severely and add unnecessary network congestion Flow control should be independent of error control ECE 677, High Speed Protocols 9 2. Protocol and Operating Systems Processing ■ ■ Most transactions are tied heavily to operating system Heavy usage of timers, interrupts, memory bus access degrades performance of CPU 3. Acknowledgement ■ ■ ■ ■ Current protocols use accumulative acknowledgement; when you ack N this implies that all packets up to N have been received successfully This restriction provides simple, but inefficient ack technique Selective ack is more efficient Block ack technique has been proposed to improve efficiency ECE 677, High Speed Protocols 10 4. Packet Format ■ Traditionally packet formats were designed to minimize the number of transmitted bits This has resulted in packets being bit-packed and require extensive decoding ◆ Variable packet fields lead to slow processing Performance can be improved when packets can be processed in parallel, which requires fixed length packets like in ATM ◆ ■ ECE 677, High Speed Protocols 11 5. Error Recovery ■ Error recovery protocols are generally slow When packets are lost, timers trigger the retransmission ◆ Variation in Round-Trip Delay (RTD) enforces this to be too long ◆ Performance loss is high when RTD is long ◆ 6. Flexibility of Protocols ■ ■ ■ Existing protocols are not flexible enough for high speed applications and networks TCP does not supply mechanism for fast call setup or multicast transmission ◆ These primitives are important for distributed computing We need to have several types of services over varying network topologies ECE 677, High Speed Protocols 12 High - Speed Transport Protocols ■ Existing standard protocols cannot utilize the performance of emerging high speed networks ◆ Network design assumptions: Network is slow and unreliable Host Network I/O ■ Host Bottleneck shift Network I/O Transfer Time: ◆ at 1 kbps, 1M bits need s 1000 second 12 ◆ at 1 terrabit per second ( 10 ), 1 M bits needs 1 micro second ◆ At one 1 Giga Instructions per second, we have one 1000 instructions to transmit 1 Mbits, while at 1 Kbps we have 1012 instructions to transmit the file ECE 677, High Speed Protocols 13 Classification of High-Speed Protocols High Spee d P roto cols Softwa re Techniqu es Imp rove Existi ng Standa rd P roto col s Hardware Tech niques New P roto cols Static Structur e ECE 677, High Speed Protocols VLS I Par allel Pro cessing Host In terface Ada ptive Structure 14 High Speed Protocol Methods Design Philosophy ◆ Make the protocol design a success oriented ◆ Emphasize streamlining data transmission ◆ Simplify transport protocol: the simpler the receiver, the faster incoming packets can be processed ◆ Should provide new capability needed for parallel/distributed computing ECE 677, High Speed Protocols 15 Architecture Approach ■ ■ Modify implementation approach of standard protocols Combine layers to facilitate implementing some of the layers in parallel Hardware Implementation ■ Protocol processing is responsible for 20% of all processing time ■ The rest is spent on timers, memory access, and handling interrupts ■ Separate ■ Run protocol processing from operating system these tasks on special network adapter boards ECE 677, High Speed Protocols 16 Implementation Techniques in High Speed Transport Protocols ■ Connection Management Short lived connection needed ◆ Desirable to have explicit connection set-up (e.g. VMTP, Xpress Transfer Protocol XTP); data is transmitted with connection request ◆ Response to request can also have ACK data ◆ Data can be sent with header (VMTP) for large data, difference between implicit and explicit call setup is negligible ◆ Protocol should also support virtual connection, datagram and multicasting ◆ ECE 677, High Speed Protocols 17 Implementation Techniques ■ Packet Organization and Packet Size ◆ Packet Organization - all fields must be of fixed length - boundaries of fields must be on (multiples of) bytes or words - leads to simpler, faster implementation and simplifies hardware - header in proper place allows parallel processing of packets header addr, ID first two checksums: one for header, one for data ECE 677, High Speed Protocols 18 Implementation Techniques ■ Packet Size ◆ Efficient transmission requires least amount of overhead => burst ◆ ◆ ■ transmission For gigabit networks, packet size must be large (reduces overhead-to-data ratio) VLSI implementation and use of parallel processing will play important role in achieving high speed transmission rates Flow Control Must be independent of error recovery ◆ Lock-step transmission must be avoided (setting incorrect window size could cause burst traffic, several pauses, while sender waits for permission to continue) ◆ Credit scheme or block scheme ◆ ECE 677, High Speed Protocols 19 High Speed Transport Protocol Techniques ■ Error Recovery Retransmission can include an entire window (block) of data or only data lost to error Go-back-N vs. Selective Repeat Transmission ◆ Go-back-N easy to implement - send all packets after receiving an erroneous packet - simplifies record keeping and buffer management - selective transmission continues storing data after out-oforder packets received -9 high-speed networks have low error rate (BER approx 10 -10 ) packets will be mainly lost due to network overruns and receiver overruns selective repeat requires large tables and complex processing ◆ ■ ■ ■ ECE 677, High Speed Protocols 20 Example of Go Back N SWS = 4 Sender { LFS = 4 Timeout LAR = 0 Receiver 2 0 1 4 3 1 2 } RWS = 1 LFR = 0 LAF = 1 discarded ■ Max Sequence Number ≥ SWS + 1 ■ Link does not re-arrange packets 21 Selective Repeat ■ Window size can be very large for nets with large delay x bandwidth ◆ 20 x 10 -3 x 10 12 = 20 10 9 Inefficient to retransmit all N frames if one is lost ■ Selective repeat allows the re-transmission of only the lost packets ■ Accepts out-of-order packets ■ Simply increase the RWS up to SWS (does not make sense to allow for RWS > SWS) ■ 22 Example of Selective Repeat SWS = 4 Sender { LFS = 4 Timeout LAR = 0 LFS = 4 LAR = 4 ■ Max Receiver 2 0 1 3 4 1 } RWS = 4 LFR = 0 LAF = 4 Buffered 5 6 7 Sequence Number ≥ 2 SWS 23 High Speed Transport Protocol Techniques Buffer Management ◆ How much buffering is required? delay x bandwidth for one round trip time over longest path ◆ Study has shown that 50% of TCP processing time is used for network memory copying ◆ Shared Buffer - Cut Through ◆ buffer is shared among all layers ◆ use streamlining and pipelining approach ◆ map user buffer into network interface buffer ECE 677, High Speed Protocols 24 Software Approach: Buffer - Cut Through ■ Instead of copying data between layers, data is stored in a shared buffer, only pointers are moved between layers. Layer i + 1 Layer i + 1 Buffer Layer i Buffer Layer i Shared Buffer Layer i - 1 Layer i - 1 ECE 677, High Speed Protocols 25 Software Based Approach ■ Integrated Layer Processing (ILP) (Clark90) ◆ ■ All data manipulations of different layers are combined together X-Kernel A communication-oriented operating system that supports efficient implementation of standard protocols ◆ Based on using upcalls and improved buffer management scheme ◆ ECE 677, High Speed Protocols 26 Adaptable Protocols ■ ■ ■ ■ Existing standard protocols are statically configured Emerging applications have diverse requirements - delay sensitive (Real time App) - bounded delay (RPC) - loss tolerance (voice traffic) A single “monolithic” protocol suite that integrates all functionalities is not realistic Solution : decompose protocols in term of functions instead of layers, functions represent “building blocks” of a protocol ECE 677, High Speed Protocols 27 Application Oriented Communication Protocol ■ Framework Features Communication protocols are adaptively configured by users to properly match applications requirements and networks characteristics. ◆ Use parallel processing to enhance protocols performance ◆ Inter - operability with standard protocols ◆ Protocols are independent of the hardware platform used ◆ ■ ■ E. Al-Hajery and S. Hariri, “Application-Oriented Communication Protocols for High-Speed Networks,” International Journal of Computers and Applications, Vol. 9, No. 2, 2002, pp. 90-101. E. Al-Hajery and S. Hariri, ``Quality of Service Guarantees at End-to-end Transport Protocols, `` Proceedings of the IPCCC 98. ECE 677, High Speed Protocols 28 Framework Description Application Presentation Application Process Application Process Session network independent Transport Transport Network Network Data Link Communication Network Physical ECE 677, High Speed Protocols Communication Protocol Communication Network network dependent 29 Framework Description ■ A communication protocol is represented as an abstraction that encapsulates a set of atomic modules, where each module represents a protocol function Communication Protocol : protocol name { Function : flow control, error control, connection manager, transmitter, receiver, sync, router FIC : /* code that defines the interface between the different functions */ } Communication protocol object ECE 677, High Speed Protocols 30 Framework Description Protocol function class class function A { .... } mechanism 1 : function A input parameters : in1, in2, . . . /* code for mechanism 1 */ mechanism 2 : function A input parameters : in1, in2, . . . /* code for mechanism 2 */ mechanism 3 : function A input parameters : in1, in2, . . . /* code for mechanism 3 */ { } { } { ■ A protocol function class contains the different mechanisms supported by the protocol function } ECE 677, High Speed Protocols 31 Communication Protocol Construction Process ■ ■ Protocol generation Protocol implementation User service parameters Protocol Function Data Base (PFDB) Network Monitor hardware specifications predefined protocol tailored protocol Protocol-name Protocol Generation Unit protocol configuration specifications Protocol Implementation Unit protocol implementation specifications Hardware Platform ECE 677, High Speed Protocols 32 Protocol Configuration A general structure of configuration code /* . . . . . mechanisms declarations . . . . . */ function : function 1 mechanism : mechanism A input : in1, in2, . . . function : function 2 mechanism : mechanism C input : in1, in2, . . . function : function 3 mechanism : mechanism B input : in1, in2, . . . function : function 4 mechanism : mechanism D input : in1, in2, . . . /* . . . . . mechanisms operations . . . . . */ on transmit (packet) do {mechanism A, mechanism C, mechanism D } on receive (packet) do {mechanism A, mechanism B, mechanism C } ECE 677, High Speed Protocols 33 Application Based Protocol Receiver Conn. Mmgr. EE II NACK PACK Transmitter go-back-n Trans-based Rate-based Periodic Window ECE 677, High Speed Protocols Protocol 1 Protocol 2 Protocol 3 34 High-Speed Protocol Methods High Spee d P roto cols Softwa re Techniqu es Imp rove Existi ng Standa rd P roto col s Hardware Tech niques New P roto cols Static Structur e ECE 677, High Speed Protocols VLS I Par allel Pro cessing Host In terface Ada ptive Structure 35 Hardware Based Techniques; Why Programmable Networks? Rapid creation, deployment and management of new services in response to user demands. ■ Change in the nature of traffic due to the wide variety of applications and services. ■ Application specific demands for resources. ■ Need for the separation of communication hardware from control software. ■ Better control over the network resources for its effective use. ■ ECE 677, High Speed Protocols 36 Classification of Programmable Networks Programmable Networks Open Programmable Interface (Static Approach) ATM GSMP q-GSMP IP P 1520 e-GSMP Model ECE 677, High Speed Protocols Active Networks (Dynamic Approach) Discrete Approach (Out of Band) Integrated Approach (In band) 37 Open Programmable Interface Expose functionalities of Network Element (NE) to outside world Algorithm Open Interface Resource ECE 677, High Speed Protocols 38 Open Interface Networks ■ Provides abstractions in the layers of a node to define programmable interfaces. Allows applications and middle-ware to manipulate low-level network resources. Uses APIs to control the various layers. ■ Advantages: ■ ■ ◆ ◆ ◆ ◆ ◆ Separation of service business. Separation of vendor business. Faster standardization. Extensibility Richer Semantics ECE 677, High Speed Protocols 39 IEEE P1520 Reference Model P1520 Reference Model Users V interfaceAlgorithms for value-added } Value-added communication services created by Services network operators, users, and third parties Level U interface Algorithms for routing and connection management, directory services, … L interface CCM interface Virtual Network Device (software representation) Physical Elements (Hardware, Name Space) ECE 677, High Speed Protocols } } } Network Generic Services Level Virtual Network Device Level PE Level 40 Active Networks ECE 677, High Speed Protocols 41 Active Networks ■ ■ Packets carry instructions regarding its processing. Provides for encapsulation of atomic programs in the packets. Packets Packets Packets Packets Processing Resource ECE 677, High Speed Protocols 42 Elements of Active Networks Application Application Execution Environment (e.g., ALIEN) Application Execution Environment (e.g., ANTS) Node Operating System (e.g., Nemesis, Scout, Linux, NT) ECE 677, High Speed Protocols 43 Discrete Approach ■ ■ ■ The code injection is done out-of-band. The packets carrying the instructions configure the node. Subsequent data packets are processed by the node as per the configuration. Data Header Instructions Node Header Node Packet ECE 677, High Speed Protocols Capsule Packet 44 Integrated Approach ■ The code injection happens in-band. ■ Each packet carries information regarding the type of processing needed by it. ■ Data and instructions are present in the same packet. ■ Instructions are packet specific. ECE 677, High Speed Protocols 45 Integrated Approach ECE 677, High Speed Protocols 46 Active Networks ■ Advantages: Dynamic injection of code for realization of an application specific service logic. ◆ Allows for rapid provision and update of protocol stacks by third parties. ◆ Allows for services to be tailored to current network conditions. ◆ ■ Concerns: Security ◆ Throughput ◆ ECE 677, High Speed Protocols 47 Hardware Based Approach ■ VLSI Approach ◆ XTP is designed and implemented using a VLSI chip set ◆ XTP stream protocol functions, combine the transport and network layers and utilize VLSI and parallel processing capability ECE 677, High Speed Protocols 48 Host Network Interface Application 1 2 Host Processor 3 4 User Buffer Kernel Buffering 5 6 Network Interface 1 Write data to user buffer 2,3 Move data from user to kernel buffer 4 Read data to calculate checksum code 5,6 Move data to network buffer ECE 677, High Speed Protocols Network Buffer Network 49 Host Network Interface Receiver Sender User Buffering Kernel Buffering Application Socket layer 5 User Buffering system call interface 2 3 4 5 Application 4 Socket layer TCP TCP IP IP Interface driver Interface driver network MAC network MAC 3 2 Kernel Buffering 1 1 Data path in a conventional protocol stack ECE 677, High Speed Protocols 50 DMA Based Host Network Interface ECE 677, High Speed Protocols 51 Zero Copying Host Network Interface User Buffer Application Host Processor DMA controller Network Interface Shared Buffer ECE 677, High Speed Protocols Network 52 Off loading Protocol Processing Application Host User Buffer Processor DMA Protocol Processor Protocol General-purpose Buffer Processor DMA Network Interface Network Buffer ECE 677, High Speed Protocols Network 53 Parallel Processing There are different types of and levels of parallelism that can be applied to implement protocol functions ■ Parallelism Unit (coarse, medium, fine) ■ ◆ complete stack, protocol entity, protocol function ■ Parallelism Type ◆ SIMD-Like Parallelism, MIMD, Hybrid ECE 677, High Speed Protocols 54 Parallel Processing in Protocol Implementation ■ SIMD - like Parallelism : - Packet level - Connection level P1 P2 ....... Pn Packets arrival ECE 677, High Speed Protocols 55 Parallel (Packet - level) Implementation of OSI TP4 Protocol Line in ILLP Line out OLLP Processor pool P1 P2 ILLP : Input Low Level Processor OLLP : Output Low Level Processor HIP : Host Interface Processor ECE 677, High Speed Protocols . . . . . Pn HIP Host Bus 56 Parallel Processing in Protocol Implementation ■ MISD - like Parallelism : (function level Parallelism) f4 f1 f3 f2 Packets arrival ECE 677, High Speed Protocols 57 Parallel Processing in Protocol Implementation ■ Temporal Parallelism (Pipelining) Send pipeline layer1 layer2 ... layern ... layern shared data Receive pipeline layer1 ECE 677, High Speed Protocols layer2 58 Function - level Parallel Implementation of OSI Protocol TP4 connection to PC System T1 Test user or Transport Protocol TP_Send_ T6 Interface Memory Manager (Send) Routing PDU_ Composition (Send) Forward T7 T2 ECE 677, High Speed Protocols Network Simulator PDU Decomposition PDU Decision Routing (Receive) Header PDU Format Lifetime Analysis Control T3 T8 T4 Memory Manager (Receive) T5 SN_Receive_ Interface 59 HOPS : Horizontally Oriented Protocol Structure Application Application Software Connector Presentation Session Communication Interface Convergence Network Hardware Network Access Control Adaptation Physical ISO/OSI ECE 677, High Speed Protocols ... SAR ATM SONET Hardware Transport Data Link Application Software ■ Function() ■ Horizontal structure as opposed to the vertical structure Division of protocols into functions instead of layers Functions are mutually independent Function() Function() ■ HOPS 60