630 likes | 801 Views
Computer Networks. Chapter 7 – Connection-oriented Networks: X.25 and ATM. Generic Connection-oriented Network. Call Admission Control (CAC) Call Setup Routing choices Resource reservation Connection Identifier (CI) – local significance Confirmation Routing by CI Call Teardown.
E N D
Computer Networks Chapter 7 – Connection-oriented Networks: X.25 and ATM CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection-oriented Network • Call Admission Control (CAC) • Call Setup • Routing choices • Resource reservation • Connection Identifier (CI) – local significance • Confirmation • Routing by CI • Call Teardown CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection Identifiers (CIs) a,33,d,79 d,79,a,33 b c 79 22 R5 d a,57,c,33 c,33,a,57 a a R2 33 B 57 b c b,79,c,22 c,22,b,79 A R1 a c b d R3 R4 X A has a connection to B via R1, R2, and R5 The Connection Identifier (CI) only has local significance – it changes along the route Each router has a table with in-port, CI-in, out-port, CI-out CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Setup b c R5 d a a R2 Setup B b c A R1 a c b d R3 R4 X Application at A wants to talk to application at B with some QoS A checks local resources, if OK, proceeds, else rejects A creates table entry for A-B connection via R1 using CI=57 A sends setup packet to R1 Setup Pkt = (A wants to talk to B, use CI=57) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Setup b c R5 d a,57,c,33 c,33,a,57 Setup a a R2 B 57 b c A R1 a c b d R3 R4 X R1 checks local resources, if OK, proceeds, else rejects R1 makes routing decision to forward to B via R2 using CI=33 R1 creates table entries for A-B connection R1 forwards setup packet to R2 Setup Pkt = (A wants to talk to B, use CI=33) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Setup a,33,d,79 d,79,a,33 Setup b c R5 d a,57,c,33 c,33,a,57 a a R2 33 B 57 b c A R1 a c b d R3 R4 X R2 checks local resources, if OK, proceeds, else rejects R2 makes routing decision to forward to B via R5 using CI=79 R2 creates table entries for A-B connection R2 forwards setup packet to R5 Setup Pkt = (A wants to talk to B, use CI=79) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Setup a,33,d,79 d,79,a,33 b c Setup 79 R5 d a,57,c,33 c,33,a,57 a a R2 33 B 57 b c b,79,c,22 c,22,b,79 A R1 a c b d R3 R4 X R5 checks local resources, if OK, proceeds, else rejects R5 makes routing decision to forward to B directly using CI=22 R5 creates table entries for A-B connection R5 forwards setup packet to B Setup Pkt = (A wants to talk to B, use CI=22) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Setup a,33,d,79 d,79,a,33 b c 79 22 R5 Setup ACK d a,57,c,33 c,33,a,57 a a R2 33 57 B b c c,22,b,79 b,79,c,22 A R1 a c b d R3 R4 X B checks local resources, if OK, proceeds, else rejects B creates table entries for A-B connection B replies with setup ACK to R5 Setup ACK = (B accepts call from A, using CI=22) R5, R2, and R1 forward Setup ACK, changing CI as it goes, and marking table entries as confirmed CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection-oriented Routing b,79, c,22 b c a,33,d,79 R5 d a,57,c,33 a a R2 B (57,M1) b c A R1 a c b d R3 R4 X A sends M1 to B, CI=57, routed to R1 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection-oriented Routing b,79, c,22 b c a,33,d,79 R5 d a,57,c,33 a a R2 (33,M1) B b c A R1 a c b d R3 R4 X R1 forwards M1 from port a CI=57 to port c, changes CI to 33 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection-oriented Routing b,79, c,22 b c (79,M1) a,33,d,79 R5 d a,57,c,33 a a R2 B b c A R1 a c b d R3 R4 X R2 forwards M1 from port a CI=33 to port d, changes CI to 79 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection-oriented Routing b,79, c,22 b c a,33,d,79 R5 (22,M1) d a,57,c,33 a a R2 B b c A R1 a c b d R3 R4 X R5 forwards M1 from port b CI=79 to port c, changes CI to 22 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection-oriented Routing c,22,b,79 b c d,79, a,33 R5 (22,M2) d c,33, a,57 a a R2 B b c A R1 a c b d R3 R4 X B sends M2 to A, CI=22, routed to R5 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection-oriented Routing c,22,b,79 b c (79,M2) d,79, a,33 R5 d c,33, a,57 a a R2 B b c A R1 a c b d R3 R4 X R5 forwards M2 from port c CI=22 to port b, changes CI to 79 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection-oriented Routing c,22,b,79 b c d,79, a,33 R5 d c,33, a,57 a a R2 (33,M2) B b c A R1 a c b d R3 R4 X R2 forwards M2 from port d CI=79 to port a, changes CI to 33 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Connection-oriented Routing c,22,b,79 b c d,79, a,33 R5 d c,33, a,57 a a R2 (57,M2) B b c A R1 a c b d R3 R4 X R1 forwards M2 from port c CI=33 to port a, changes CI to 57 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection-oriented Network Tables a,57,c,33 c,33,a,57 b,57,c,21 c,21,b,57 b,23,d,12 d,12,b,23 a,5,b,17 b,17,a,5 c,22,b,79 b,79,c,22 b,21,c,35 c,35,b,21 c,42,a,14 a,14,c,42 a,33,d,79 d,79,a,33 a,21,d,21 d,21,a,21 b c R5 d a a R2 B b c A R1 a c a b d d b R3 b c R4 a a,12,c,33 c,33,a,12 c X b,33, c,57 c,57,b,33 c,33,d,14 d,14,c,33 Y Can you trace the connections? CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Teardown b c R5 d a a R2 B b c A R1 a c a b d d b R3 b c R4 a c X Y For teardown, either end or intermediate node (router) sends teardown packet CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Teardown a,57,c,33 c,33,a,57 b,57,c,21 c,21,b,57 b,23,d,12 d,12,b,23 a,5,b,17 b,17,a,5 c,22,b,79 b,79,c,22 b,21,c,35 c,35,b,21 c,42,a,14 a,14,c,42 a,33,d,79 d,79,a,33 a,21,d,21 d,21,a,21 b c R5 Teardown d a a R2 ACK B b c A R1 a c a b d d b R3 b c R4 a c X Y B decides to close connection to A, B sends teardown packet to R5 Teardown Pkt = (Teardown, CI=22) R5 acknowledges, B frees resources CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Teardown a,57,c,33 c,33,a,57 b,57,c,21 c,21,b,57 b,23,d,12 d,12,b,23 a,5,b,17 b,17,a,5 b,21,c,35 c,35,b,21 c,42,a,14 a,14,c,42 a,33,d,79 d,79,a,33 a,21,d,21 d,21,a,21 b ACK c R5 d a a R2 Teardown B b c A R1 a c a b d d b R3 b c R4 a c X Y R5 sends teardown packet to R2 Teardown Pkt = (Teardown, CI=79) R2 acknowledges, R5 frees resources CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Teardown a,57,c,33 c,33,a,57 b,57,c,21 c,21,b,57 b,23,d,12 d,12,b,23 a,5,b,17 b,17,a,5 b,21,c,35 c,35,b,21 c,42,a,14 a,14,c,42 a,21,d,21 d,21,a,21 b c R5 d a a ACK R2 B b c A R1 Teardown a c a b d d b R3 b c R4 a c X Y R2 sends teardown packet to R1 Teardown Pkt = (Teardown, CI=33) R1 acknowledges, R2 frees resources CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Generic Connection Teardown b,57,c,21 c,21,b,57 b,23,d,12 d,12,b,23 a,5,b,17 b,17,a,5 b,21,c,35 c,35,b,21 c,42,a,14 a,14,c,42 a,21,d,21 d,21,a,21 b c R5 d a a R2 ACK B b c A R1 a c a Teardown b d d b R3 b c R4 a c X Y R1 sends teardown packet to A Teardown Pkt = (Teardown, CI=57) A acknowledges, R1 and A free resources CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 • CCITT designed, adopted as ISO 8208 • Specifies DTE-Router interface at three levels: • PHY: connector, voltage, pin semantics, etc. • Link: delimiters, pkt #s, ACKs, flow ctl, etc. • Packet: network layer interface • DTE=end node (Data Termination Equip) • DCE=router (Data Communication Equip) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Basics • DTE can have multiple calls over a single link to a DCE • Call first must be established • Then data may flow in both directions • Then the call must be cleared CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Basics • Call may be established by DTE in 3 ways: • DTE initiated (SVC – Switched Virtual Circuit) DTE informs DCE of desired destination DTE • DTE received (Incoming Call) DCE informs DTE call request by source DTE • Nailed up (Permanent Virtual Circuit) Administratively set up – DTEs only see data • Call gets locally significant VC number at setup CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 VC numbers • VC “Call numbers” are 12 bits long: • Logical Channel Group Number: 4 bits • Logical Channel Number: 8 bits • Call number 0 reserved for control pkts for all VCs • Next block of call numbers for PVCs • Then incoming, then either, then outgoing (to avoid CN collisions from DTE and DCE) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Call Setup # octets 1 0 0 0 1 group channel 1 type 0x0a for call request 1 Calling DTE Addr Len Called DTE Addr Len 1 units are nybbles Calling DTE Address variable Called DTE Address variable 1 Facilities Length variable Facilities variable User Data Call Request Packet Format CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Call Overview DTE DTE • X.25 specifies DTE-DCE protocol • But not DCE-DCE protocol DCE DCE Call Request Incoming Call Call Accepted Call Connected Data Incoming Data Data Incoming Data Clear Request Clear Indication Clear Response Clear Confirm CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Data Transfer • Call is full duplex (simultaneous bidirectional data flow) • Message and Ack sequence numbers • 3-bit and 7-bit formats • Choice at subscription or call setup time • Q bit – end host purposes • D bit – Received by DTE? or DCE only • M bit – more packets in message CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Data Packet Formats Q D 0 1 group channel Ack # M Msg # 0 User Data 3-bit Format Q D 0 1 group channel Msg # 0 Ack # M User Data 7-bit Format CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Data Transfer • Call # (Group+Channel) and msg # allow multiple, simultaneous connections • M bit allow message fragmentation • All but last packet have M=0b1 • When fragmented, new sequence #s given • Destination DCE must hold and reassemble • Packet must be full for M bit to be set… CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Packet Fragmentation • Smaller maximum packet size at destination • Sequence numbers are different Max pkt size = X Max pkt size = X/3 DTE DTE DCE DCE #1 #1 M #2 M #3 #2 #4 M #5 M #6 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Packet Fragmentation • Smaller maximum packet size at source • Destination DCE must hold and recombine fragments • Sequence numbers are different Max pkt size = X/3 Max pkt size = X DTE DCE DTE DCE #1 M #2 M #3 #4 M #1 #5 M #6 #2 CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Flow Control • Sequence numbers + ACKs (piggybacked) • ACK cumulative and inclusive • ACK indicates receiver ready to take w more • Sequence numbers different in each direction • No data for return • Receive Ready packet • Choking flow • No ACKs, or equivalently, Receive Not Ready CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Facilities • Window size w – fixed or negotiated per call • Packet size - fixed or negotiated per call • Throughput - fixed or negotiated per call (75 bps – 64 Kbps) • Closed user group – access control • Set of DTEs that can communicate • Closed group numbers of local significance • Allowing only incoming or outgoing calls • Setting lowest outgoing CI number • Boundary for CIs set by DCE and DTE CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
Per-call X.25 Facilities • Window size w • Maximum packet size • Throughput (75 bps – 64 Kbps) • Closed user group for call • Reverse charging (callee pays) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Call Release • Standard method: • One of DTEs issues Clear Request to DCE • DCE informs network, other DCE • Other DCE informs other DTE • Other DTE acknowledges to its DCE • Other DCE confirms to network, first DCE • First DCE confirms to initiating DTE • All packets sent are delivered CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Call Release • Network detects problem • DCE may issue Clear Request (hangs up) • DCE may issue Reset (restarts seq#’s at 0) • No guarantees on unacknowledged packets • Network may recover transparently (right) • Potential network problems • DCE or link along route fails • DTE issues packet for a call with unexpected seq# - DCE and DTE have lost sync on call • DCE tears down all calls to a DTE – lost sync CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Interrupts • Urgent control packet • DTE may issue one Interrupt packet • Interrupt packet is small (1 to 32 bytes) • Not subject to flow control • One at a time • Other DTE must reply with Interrupt Confirm packet • Another Interrupt packet cannot be sent until the Interrupt Confirm packet is received CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Implementation • Circuit Method • VC set up through the network • CAC due to resource reservation • Performance guaranteed • Router failure leads to dropped calls (routers only hold packet until ACKed) • Reliable Connections over DG Method • Routers with end node neighbors implement full-service transport layer • DCEs set up connection within network • DCE holds packet until other DCE acknowledges it CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
X.25 Implementation Comparison • Circuit Method • Service guarantees • May refuse a call • Faster routing (based on small CIs) • Route failures not transparent • Reliable Connections over DG Method • No router buffer or BW reservations • More utilization for bursty traffic • Transparent route modifications CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM Basics • Cells • Fixed size packets (48 bytes data, 5 header) • 48 bytes an unhappy compromise • Virtual Circuits, virtual paths • Service categories • Adaptation layers CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM VCs and VPs • Virtual circuits created with CIs • CI has two subfields: VPI and VCI • Virtual Path ID is 12 bits – core routing • Virtual Circuit ID is 16 bits – calls • End node to switch • 4 bits of Generic Flow Control • These are “borrowed” from the VCI field • Switch to switch - Full 16-bit VCI CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM VCs and VPs • VPI • Virtual Path ID is 12 bits • Used internally for routing • Changes on each link in ATM network • VCI • Not used in ATM network • Used with VPI by edge routers to route calls • VPI/VCI • used as CI outside network CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM Link Negotiations • Customer and Provider ATM networks • Customer NWs route on VPI/VCI • Provider NWs route on VPI only • VPIs in provider NWs typically permanent • Link parameters • Maximum number of active bits in VCI, VPI • Maximum number of VCs, VPs • Maximum allowable VPI number • Min and max VCI number for switched VCIs CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM Service Categories • CBR – Constant Bit Rate • Data accepted, delivered at constant rate • Network reserves resources accordingly • UBR – Unspecified Bit Rate • Best effort • ABR – Available Bit Rate • Like UBR with congestion feedback • VBR – Variable Bit Rate • Reserve resources for less than peak rate • Specify burst characteristics, mark cells • RT (real time) and NRT (non-real time) CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM Cell Header Format GFC or VPI VPI VPI VCI VCI VCI PT CLP Header CRC GFC = Generic Flow Control (end node-switch only) PT = Payload Type CLP = Cell Loss Priority (CLP=1 means vulnerable) end node may set CLP, or switch may set CLP if rate is excessive CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM Payload Type Field Value Payload Type 000 001 010 011 100 101 110 111 data, no congestion yet, not last cell data, no congestion yet, last cell data, congestion, not last cell data, congestion, last cell of packet control info btw/neighbor switches control info btw/end switches on path ABR rate control info reserved for future use CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM Call Setup/Release • Similar to X.25, called signaling • VCI=5, VPI=0 for signaling cells • Use AAL5 since longer than 48 bytes • Call Setup • Source & destination addresses • Traffic characteristics • Transit network (like LD carrier) • Call Proceeding • Sent as link ACK for Setup message CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman
ATM Call Setup/Release (cont.) • Connect • Sent by destination to source • Accepts call • Connect ACK • Sent by source to destination • Release • Sent by either end to other end to end call • Release ACK • Sent to acknowledge Release to initiator CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman