* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Document
IEEE 802.1aq wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Airborne Networking wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Distributed firewall wikipedia , lookup
Network tap wikipedia , lookup
Computer network wikipedia , lookup
TCP congestion control wikipedia , lookup
Internet protocol suite wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Serial digital interface wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Packet switching wikipedia , lookup
Overview Last Lecture » Routing in WAN » Source: chapter 10 This Lecture » X.25 » Source: chapter 10 Next Lecture » Congestion control » Source: chapter 12 TELE202 Lecture 7 X.25 1 Lecturer Dr Z. Huang 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 TELE202 Lecture 7 X.25 2 Lecturer Dr Z. Huang Virtual circuit service Virtual Call » Dynamically established Permanent virtual circuit » Fixed network assigned virtual circuit TELE202 Lecture 7 X.25 3 Lecturer Dr Z. Huang Virtual call Sequence of events TELE202 Lecture 7 X.25 4 Lecturer Dr Z. Huang 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 DTEDCE link TELE202 Lecture 7 X.25 5 Lecturer Dr Z. Huang 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 TELE202 Lecture 7 X.25 6 Lecturer Dr Z. Huang 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 TELE202 Lecture 7 X.25 7 Lecturer Dr Z. Huang 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 R1 subnet R2 L1 h6 R3 h1 h2 h3 L3 h7 TELE202 Lecture 7 X.25 8 h8 h9 h10 Lecturer Dr Z. Huang 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 DS NS h1 h1 h2 h2 h3 h3 h4 R2 h5 R2 h6 R2 h7 R3 h8 R3 h9 R3 h10 R3 TELE202 Lecture 7 X.25 R2 NS R1 R1 R1 h4 h5 h6 R3 R3 R3 R3 R3 NS R1 R1 R1 R2 R2 R2 h7 h8 h9 h10 9 Lecturer Dr Z. Huang 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) TELE202 Lecture 7 X.25 10 Lecturer Dr Z. Huang 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) TELE202 Lecture 7 X.25 11 Lecturer Dr Z. Huang 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 TELE202 Lecture 7 X.25 12 Lecturer Dr Z. Huang 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 TELE202 Lecture 7 X.25 13 Lecturer Dr Z. Huang 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 TELE202 Lecture 7 X.25 14 Lecturer Dr Z. Huang