140 likes | 309 Views
Overview. Last Lecture Routing in WAN Source: chapter 10 This Lecture X.25 Source: chapter 10 Next Lecture Congestion control Source: chapter 12. X.25. Approved in 1976 Interface between host and packet switched network
E N D
Overview • Last Lecture • Routing in WAN • Source: chapter 10 • This Lecture • X.25 • Source: chapter 10 • Next Lecture • Congestion control • Source: chapter 12
X.25 • Approved in 1976 • Interface between host and packet switched network • Almost universal on packet switched networks and packet switching in ISDN • Defines three layers • Physical • Link • Packet • Physical layer • Interface between attached station and link to node: DTE (user equipment) and DCE (node) • Uses standard X.21, sometimes EIA-232 • Reliable transfer across physical link • Sequence of frames • Link layer • Link Access Protocol Balanced (LAPB) • Subset of HDLC (ABM) • Packet layer • External virtual circuits • Logical connections (virtual circuits) between subscribers
Virtual circuit service • Virtual Call • Dynamically established • Permanent virtual circuit • Fixed network assigned virtual circuit
Virtual call • Sequence of events
Packet format • Header sizes • 24-bit, 32-bit, or 56-bit • Sequence numbers • 3-bit, 7-bit, or 15-bit • Virtual circuit number: 12 bits • Multiplexing • DTE can establish 4095 simultaneous virtual circuits with other DTEs over a single DTE-DCE link
Packet layer • Virtual Circuit Numbering • Flow and Error Control • Same as HDLC • This is why X.25 is not efficient • Two layers of flow and error control
Packet layer • Packet Sequences • Complete packet sequences • Allows longer blocks of data across network with smaller packet size without loss of block integrity • A packets • M bit 1, D bit 0 • B packets • The rest • Zero or more A followed by B • Reset and Restart • Reset • Reinitialize virtual circuit • Sequence numbers set to zero • Packets in transit lost • Up to higher level protocol to recover lost packets • Triggered by loss of packet, sequence number error, congestion, loss of network internal virtual circuit • Restart • Equivalent to a clear request on all virtual circuits • E.g. temporary loss of network access
A case study of WAN • Assume we have the following WAN • L1 is a star LAN running IEEE802.4 • L2 is a ring LAN running IEEE802.5 • L3 is a bus LAN running IEEE802.3 • R1, R2, and R3 are routers which are connected by a subnet • R1 is also connected to L1, R2 to L2, and R3 to L3 • A host has two addresses • hi, network layer address • hi_dl, data link layer address • A router has • a network layer address Ri • but more than one data link addresses, according to how many LANs and routers it connects to. We use Ri_dl to represent its data link addresses in general. L2 h4 h5 subnet R2 R1 L1 h6 R3 h1 h2 h3 L3 h8 h7 h9 h10
A case study of WAN • Suppose stations in L1, L2, L3 and the subnet are connected at DL layer • The data link layer can provide an interface for the network layer • L1 provides • L1_DL_send(packet, dl_address) • L1_DL_recv(packet) • L2 provides • L2_DL_send(packet, dl_address) • L2_ DL_recv(packet) • L3 provides • L3 _DL_send(packet, dl_address) • L3 _ DL_recv(packet) • The subnet provides • SN_ DL_send(packet, dl_address) • SN_ DL_recv(packet) • Suppose routers have the following routing table • R1 R2 R3 • DS NS NS NS • h1 h1 R1 R1 • h2 h2 R1 R1 • h3 h3 R1 R1 • h4 R2 h4 R2 • h5 R2 h5 R2 • h6 R2 h6 R2 • h7 R3 R3 h7 • h8 R3 R3 h8 • h9 R3 R3 h9 • h10 R3 R3 h10
A case study of WAN • The router R1 works as below • Check if there is any packet coming • Use L1_DL_recv(packet) to get the packets from L1 • Use SN_DL_recv(packet) to get the packets from the subnet • Check the destination of the packet and look up the routing table • If the next stop is R1 or R2, forward the packet using SN_DL_send(packet, R1_dl/R2_dl) • If the destination of the packet is one of the hosts in L1, send the packet using L1_DL_send(packet, hi_dl) (1<=i<=3) • Repeat the above steps until the router crashes or is shut down • Routers R2 and R3 work in a similar way • The network layer at each host • If a packet is destined for outside of the LAN, it sends the packet to the router of the LAN using Li_DL_send(packet, Ri_dl) • If a packet is destined for some host inside the LAN, it sends the packet to the host using Li_DL_send(packet, hi_dl) • It receives packets from the data link layer in the host using Li_DL_recv(packet)
A case study of WAN • Assume h1 want to send a packet to h9 • h1 first set the destination field of the packet as h9. • Because the packet is destined for outside of L1, h1 sends the packet to the router R1 using L1_DL_send(packet, R1_dl) • When R1 receives the packet using L1_DL_recv(packet), it checks the destination of the packet and finds it h9 • R1 checks its routing table and finds the next stop is R3. So R1 sends the packet to R3 using SN_DL_send(packet, R3_dl) • When R3 receives the packet using SN_DL_recv(packet), it checks the destination of the packet and finds it h9 • R3 checks its routing table and finds the next stop is h9. So R3 sends the packet to h9 using L3_DL_send(packet, h9_dl) • Finally h9 can receive the packet using L3_DL_recv(packet)
Network layer (WAN) functions • All the work done above is part of the functionality of network layer • Route packets • Maintain routing tables • The network layer is the lowest layer which can achieve end-to-end transmission (transmit a packet from an end host to another), but it may not guarantee reliable delivery of the packet • Can provide the following functions for the higher layer protocol • NL_send(higher_layer_packet, NL_address) • NL_recv(higher_layer_packet) • If the WAN is connection-oriented, a connection has to be set up before using NL_send and NL_recv. Then the connection should be torn down after finishing data transfer • Besides the above work, network layer needs to do congestion control and other bookkeeping work, e.g. billing
Deadlocks • Deadlock • The situation, in which nodes in a network are waiting for an event that won’t happen • Store-and-forward deadlock • Three nodes, A,B, and C have reached the point where their buffers are full and can’t accept any more packets • Though A can send packets, it can’t remove any packets from its buffer until B sends an acknowledge, which is not possible until B has more space to accommodate packets from A • B and C, C and A are in the same situation
Summary • X.25 • Physical layer • Link layer • Packet layer • Virtual call • Packet format • Block reassemble • Relationship between data link layer and network layer • How a packet is transmitted in a WAN? • Understand the case study of WAN • Network layer functions • Deadlocks in computer networks