Download High Speed Communication Protocols

Document related concepts

Multiprotocol Label Switching wikipedia , lookup

Network tap wikipedia , lookup

CAN bus wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

AppleTalk wikipedia , lookup

RapidIO 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

IEEE 1355 wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Internet protocol suite wikipedia , lookup

Communication protocol wikipedia , lookup

UniPro protocol stack 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