Common Protocols
Common Protocols
Previous chapters presented principles, but not protocol details N these change with time N real protocols draw many things together Overview of real protocols N standards documents are the final resort Three sets of protocols N telephone N Internet N ATM
Session Transport Network SCCP/MTP-3 Datalink Sonet/PDH MTP-2 Physical Many MTP-1
Long distance trunks carry multiplexed calls Standard multiplexing levels Digital transmission hierarchy
U S an d Jap a n M u lt ip le x in g lev el 1 2 3 4 N am e # c a l ls R a te (M b p s ) 1.54 4 6.31 2 4 4 .7 3 6 27 4.17 6
D S1 D S2 D S3 D S4
24 96 67 2 40 32
Plesiochronous hierarchy
I I I I
Plesiochronous = nearly synchronous Tight control on deviation from synchrony What if stream runs a little faster or slower? Need justification
Justification
I I I I
Output runs a bit faster always Overhead identifies bits from a particular stream If a stream runs faster, use overhead to identify it Overhead used everywhere except at first level (DS1)
Incompatible hierarchies around the world Data is spread out! Hard to extract a single call Cannot switch bundles of calls
1 2 3 4 5 6 8 9
All levels are synchronous Justification uses pointers Data Rate (Mbps) US Name 51.84 OC-1 155.52 OC-3 466.56 OC-9 622.08 OC-12 933.12 OC-18 1244.16 OC-24 1866.24 OC-36 2488.32 OC-48 9953.28 OC-192
SDH
I I I I I
9 rows, 90 columns Each payload container (SPE) served in 125 microseconds One byte = 1 call All overhead is in the headers Pointers for justification N if sending too fast, use a byte in the overhead, increasing sending rate N if sending too slow, skip a byte and move the pointer N can always locate a payload envelope, and thus a call within it => cheaper add drop mux
SDH justification
Transport
Network Datalink
Transaction RPC Capabilities Application part Signaling Connection Connections, Control Part sequence numbers, segmentation and reassembly, flow control Message Transfer Routing Part 3 (MTP-3) MTP-2 Framing , link-level error detection and retransmission Physical bit transfer
TCP
IP Ethernet
Physical
MTP-1
Ethernet
SS7 example
I I
Call forwarding To register N call special number N connects to ASE N authenticates user, stores forwarding number in database On call arrival N call setup protocol checks database for forwarding number N if number present, reroutes call SS7 provides all the services necessary for communication and coordination between registry ASE, database, and call setup entity
MTP Header
Internet stack
Data Plane
App Session Transport Network Datalink Physical HTTP Sockets/Streams TCP/UDP IP Many Many
Control Plane
RSVP/OSPF
IP
I I I I
IP
Fragmentation
I I I I
IP can fragment, reassemble at receiver Fragment offset field More fragments flag and Dont fragment flag Reassembly lockup N decrement timer and drop when it reaches 0 Fragmentation is harmful N extra work N lockup N error multiplication Path MTU discovery N send large pkt with Dont fragment set N if error, try smaller
IP fields
I
TTL N decremented on each hop N decremented every 500 ms at endpt N terminates routing loops Traceroute N if router decrements to 0, send ICMP error packet N source sends packets with increasing TTL and waits for errors Options N record route N timestamp N loose source routing
ICMP
I I I I I I
Destination unreachable Source quench Redirect Router advertisement Time exceeded (TTL) Fragmentation needed, but Dont frag flag set
TCP
I I I I I I
TCP
Fields
I I I I
I I I
Port numbers Sequence and ack number Header length Window size N 16 bits => 64 Kbytes (more with scaling) N receiver controls the window size N if zero, need sender persistence N silly window syndrome Checksum Urgent pointer Options N max segment size
HTTP
I I I I
Request response Protocol is simple, browser is complex Address space encapsulation Request types N GET N HEAD N POST Response N status N headers N body
ATM stack
Data Plane
Application Application Session Transport Network Data Link Physical
ATM
I I I I
Virtual paths
I I I
I I I I
High order bits of VCI All VCIs in a VP share path and resource reservation Saves table space in switches N faster lookup Avoids signaling May waste resources Dynamic renegotiation of VP capacity may help Set of virtual paths defines a virtual private network
AAL
I I I I
Was supposed to provide rest of stack Scaled back 4 versions: 1, 2, 3/4, 5 Only 1, 3/4 and 5 important in practice
AAL 1
I
For synchronous apps N provides timestamps and clocking N sequencing N always CBR N FEC in data bytes
AAL 3/4
I I
For data traffic (from a telco perspective!) First create an encapsulated protocol data unit EPDU N (common part convergence sublayer-protocol data unit CPCS-PDU) Then fragment it and add ATM headers
AAL 3/4
I I
Error detection, segmentation, reassembly Header and trailer per EPDU and per-cell header!
AAL 5
I I
SSCOP
I I
I I
I I
Reliable transport for signaling messages Functionality similar to TCP N error control (described below) N flow control (static window) Four packet types N sequenced data / poll / stat / ustat No acks! Sender polls, receiver sends status N includes cumulative ack and window size If out of order, sends unsolicited status (ustat) Key variable is poll interval
IP-over-ATM
I
Key idea: treat ATM as a link-level technology N ignore routing and QoS aspects Key problems N ATM is connection-oriented and IP is not N different addressing schemes N ATM LAN is point-to-point while IP assumes broadcast Basic technologies N IP encapsulation in ATM N Resolving IP addresses to ATM addresses N Creating an ATM-based IP subnet N Mapping multicast groups to ATM
IP encapsulation in ATM
I
I I
Put data portion of IP packets in AAL5 frame N works only if endpoints understand AAL5 Instead, place entire IP packet with AAL5 frame General solution allows multiprotocol encapsulation
Need something like ARP, but cant use broadcast Designate one of the ATM hosts as an ARP server
IP assumes free availability of bandwidth within a subnet If all hosts on ATM are on same IP subnet, broadcast reaches all => congestion Partition into logical IP subnets N at the cost of longer paths between ATM-attached hosts
Next-hop routing
I I
Avoids long paths Next-hop server stores IP-to-ATM translations independent of subnet boundaries N like DNS
ARP server cannot resolve multicast addresses (why?) Actively maintain set of endpoints that correspond to a particular Class D address Multicast Address Resolution Server provides and updates this translation
LAN emulation
I
I I
If destination is on same LAN, can use ATM underneath datalink layer Need to translate from MAC address to ATM address Also need to emulate broadcast for Ethernet/FDDI
I I
Solutions so far require expensive ATM host-adapter card Can we reuse Ethernet card? Encapsulate AAL5 frame in Ethernet header on point-to-point Ethernet link CIF-Attachment Device at other end decapsulates and injects the frame into an ATM network Software on end-system thinks that it has a local host adapter Shim between ATM stack and Ethernet driver inserts CIF header with VCI and ATM cell header N may need to fragment AAL5 frame N can also forward partial frames Cheaper N also gives endpoints QoS guarantees, unlike LANE
After resolution, open an ATM connection, and send IP packet When to close it? Locality N more packets likely N hold the connection for a while to avoid next call setup N but pay per-second holding time cost Optimal solution depends on pricing policy and packet arrival characteristics Measurement-based heuristic works nearly optimally N create the inter-arrival time histogram N expect future arrivals to conform to measured distribution N close connection if expected cost exceeds expected benefit