Switched Networks

Switched Networks

Switching T3 T3 T3 Switch T3 STS-1 STS-1 Input Output ports ports ² Switch - Forwards packets from input port to output port - Port selected based on address in packet header ² Advantages - Cover large geographic area (tolerate latency) - Support large numbers of hosts (scalable bandwidth) Big Picture Communication Network Switched Broadcast Communication Communication Network Network Circuit-switched Packet-switched Datagram Virtual Circuit Source routing 0 Switch 1 0 3 1 3 1 2 Switch 2 2 3 1 2 3 0 1 1 3 0 0 Host A 0 1 3 0 Switch 3 1 3 Host B 2 Virtual Circuit Switching 0 0 0 3 1 3 1 11 3 1 Switch 1 Switch 2 2 2 2 7 0 Switch 3 3 1 Host A Host B 2 ² Explicit connection setup (and tear-down) phase - Establishes virtual-circuit ID on each link - Each switch maintains VC table ² Subsequent packets follow same circuit - Switch maps hin-link, in-VCIi ! hout-link, out-VCIi ² Sometimes called connection-oriented model Datagram switching Host D Host E 0 Switch 1 Host F 3 1 Host C 2 Switch 2 2 3 1 0 Host A Host G 0 Switch 3 Host B 1 3 2 Host H ² No connection setup phase - Switches have routing table based on node addresses ² Each packet forwarded independently ² Sometimes called connectionless model Virtual Circuit Model ² Typically wait full RTT for connection setup before sending first data packet ² While the connection request contains the full address for destination, each data packet contains only a small identifier, making the per-packet header overhead small ² If a switch or a link in a connection fails, the connection is broken and a new one needs to be established ² Connection setup provides an opportunity to reserve resources Datagram Model ² There is no round trip time delay waitint for connection setup; a host can send data as soon as it is ready ² Source host has no way of knowing if the network is capable of delivering a packet or if the destination host is even up ² Since packets are treated independently, it is possible to route around link and node failures ² Since every packet must carry the full address of the destination, the overhead per packet is higher than for the connectionoriented model Cut through vs. store and forward ² Two approaches to forwarding a packet - Receive a full packet, then send it on output port - Start retransmitting as soon as you know output port, before you have even received the full packet (cut-through) ² Cut-through routing can greatly decrease latency ² Disadvantage: Can't always send useful packet - If packet corrupted, won't check CRC till after you started transmitting - Or if Ethernet collision, may have to send run packet on output link, wasting bandwidth Optical switches ² Already analog optical repeaters deployed - Will amplify any signal - Can change your low-level transmission protocol w/o replacing repeaters ² Could possibly do the same thing for switching - Microscopic mirrors can redirect light to different ports - (The ultimate cut-through routing) ² Technology exists, but not widely deployed - Optical switch will not see packet headers - Instructions on where to send packet need to be out-of-band Bridges and extended LANs A B C Port 1 Bridge Port 2 X Y Z ² LANs have physical limitations (e.g., 2500m) ² Connect two or more LANs with a bridge - Operates at on Ethernet addresses - No encapsulation required ² Ethernet switch like a multi-way bridge Learning bridges A B C Port 1 Bridge Port 2 X Y Z ² Idea: Don't forward packet if not useful - If you know recipient is not on that port ² Learn host's location based on source address - Switch builds a table when it receives packets A B C X Y Z 1 1 1 2 2 2 ² Table says when not to forward packet - Does not need to be complete for correct behavior Dealing w. loops A B B3 C B5 D B7 B2 K E F B1 G H B6 B4 I J ² Problem: People might form loops - Accidentally, or to provide redundancy if link fails - Don't want to forward packets infinitely! Spanning tree A B B3 C B5 D B7 B2 K E F B1 G H B6 B4 I J ² Need to disable ports, so that no loops in network ² Like creating a spanning tree in a graph - View switches and networks as nodes, ports as edges Spanning tree algorithm ² Every bridge has a unique ID (Ethernet address) ² Let bridge w. smallest ID be the root ² Each segment has one designated bridge responsible for forwarding packets over it - Bridge closest to root is designated bridge - If there is tie, smallest ID is designated bridge ² Overview: - Each node assumes it is the root (and thus the dedicated bridge for all its ports) - Sends messages, may learn of a better root - Eventually links from nets to designated bridges form a spanning tree Spanning tree protocol ² Spanning tree messages contain: 1. ID of bridge sending message 2. ID sender believes is the root 3. Distance (in hops) from sender to root ² Bridges remember best config message on each port ² Send message when you think you are the root ² Otherwise, forward messages from best known root - Add one to distance before forwarding - Don't forward if you know you aren't dedicated bridge ² In the end, only root is generating messages Multicast and Broadcast ² Forward all broadcast/multicast frames - current practice ² Could learn when no group members downstream - Have each member of group G periodically send a frame to bridge multicast address with G in source field Limitations of bridges ² Do not scale - Spanning tree algorithm does not scale - Broadcast does not scale - No way to route around congested links ² Caution: beware of transparency - Some applications could get confused by bridge - Much more likely to drop packets (with congestion) - Makes latency between nodes very non-uniform VLANs W X VLAN 100 VLAN 100 B1 B2 VLAN 200 VLAN 200 Y Z ² Imagine network in an office building - Groups take over offices, move around - Don't want to switch wires to change office!net mapping - Don't want one big Ethernet (too much broadcast traffic) ² Solution: Virtual LANs - Encapsulate Ethernet, add 12-bit VLAN ID - Send encapsulated packets on backbone ATM ² Connection-oriented, packet-switched network - Used by telco, often what goes over SONET ² Based of fixed-size, 53-byte packets - 5-byte header + 48-byte payload ² Signaling protocol (Q.2931) can make various Quality of Service guarantees ² Used for very high speed LAN backbones - For a while was fastest thing you could get Why cells? ² Easier to implement in hardware - Implementing functionality in hardware is faster - Easier to build hardware for fixed packet lengths ² Easier to have parallelism in implementation - Simple building block to process packet in fixed time - Process parallel packets & complete simultaneously ² Queue management is much easier - Can switch between flows at very fine granularity - Especially important for controlling delay & jitter - Never get stuck waiting to finish sending long packet ² Small delay from store & forward - Consider voice samples @ 1 byte / 125 ¹s Why 53 bytes? ² Packets have 48 bytes payload + 5 byte header ² The issue: echo cancelation needed if long delay - Echo cancelation equipment is expensive - Unnecessary w. 32B packetization delay + RTT across France - But U.S. needs equipment anyway, so wanted more efficient 64B ² The result: Compromise at 48 bytes - Less efficient and requires echo cancelation - Moral of the story: Design by committee sucks ATM cell format 4 8 16 3 1 8 384 (48 bytes) GFC VPI VCI Type CLP HEC (CRC-8) Payload ² GFC – Generic flow control (mostly unused) ² VPI/VCI – Virtual path/circuit identifier ² CLP – Cell loss priority ² HEC – Header error correction (header only) VPI vs. VCI Public network Network A Network B ² Public networks care only about VPI ² Leaves VCI for individual sites - Another level of demultiplexing - Many machines on net A talk to many machines on net B, w. only one VPI Segmentation and reassembly ² Recall encapsulation from first lecture - One layer (say IP) sends packet to lower layer (say Ethernet) - Ethernet prepends it's header, IP header now Ethernet payload ² Doesn't work so well w. 48-byte ATM cell payloads! ² Solution: AAL – ATM adaptation layer - Segments larger packets into cells, reassembles AAL AAL ¼ ¼ ATM ATM Several different AAL layers ² Different formats for different needs ² AAL 1/2 – for apps like voice needing guarantees ² AAL 3 – connection-oriented packet services (X.25) ² AAL 4 – datagram services (like IP) - Distinction between 3 & 4 turns out not to matter ² AAL 5 – saner, simpler replacement for AAL 3/4 AAL 3/4 CS-PDU ² CS-PDU – convergent sublayer protocol data unit - Encapsulates higher-level protocol packets, e.g., IP 8 8 16 < 64 KB 0±24 8 8 16 CPI Btag BASize User data Pad 0 Etag Len - CPI – common part indicator (like version no.) always 0 - Btag/Etag – must match (avoids framing errors) - BAsize – buffer allocation size is hint, not length of packet Packing AAL 3/4 CS-PDUs into cells ² Break CS-PDU into cells, each with AAL header/trailer CS-PDU User data CS-PDU header trailer 44 bytes 44 bytes 44 bytes ≤ 44 bytes AAL header AAL trailer ATM header Cell payload Padding AAL 3/4 header/trailer format 40 2 4 10 352 (44 bytes) 6 10 ATM header Type SEQ MID Payload Length CRC-10 ² Type – first/last/middle cell, or single-cell CS-PDU ² MID – multiplexing identifier - Allows multiple CS-PDUs to be interleaved on one VC ² SEQ Sequence number, detects loss/reordering ² CRC Detects bit errors in cell - Is this good enough? (recall no CRC in CS-PDU) AAL 5 ² AAL 3/4 uses up too many bits of payload - Really just want to know when end of frame is.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us