Computer Networks - Part Three - Packet Switching
What are the three approaches used by a packet-switched network to get a packet from one host to another.
- Datagram (connection-less) - Virtual circuit (connection oriented) - Source routing (less common)
Describe the Connection setup phase of Virtual Circuit Switching.
- Establish a "connection state" in each of the switches between the source and destination. - The connection state consists of an entry in a "VC table". - Connection State can be manually configured by a network administrator. This is considered a Permanent Virtual Circuit (though it can be deleted by the network admin.) or PVC. Might best be thought of a long-lived or administratively configured VC. - Alternatively, a Host can send messages into the network to establish a connection state. This is called signalling, the Virtual Circuit is then said to be switched, but signalled is more accurate. A switched Virtual Circuit (SVC) may be set up and deleted by the host without network admin involvement. See example process of setup in book, Chapter 3.1, page 176-177 text, table 3.2
What are the features of a Datagram network?
- Hosts can send packets anytime/anywhere [as opposed to connection-oriented networks where we have to establish or have a connection before we transmit.] - Host that sends a packet has no way of knowing if the network is capable of delivery [or if destination is up and running.] - Each packet is forwarded independently of previous packets that might have been sent to same destination. [the successive packets from A to B may follow different paths] - A switch or link failure might not have any serious impact on communication if it is possible to find an alternate route [and update tables]
What is the advantage of the small VCI numbers?
- The connection request may include the full address of the target host, a global identifier which can be quite large. - Each data packet contains a small identifier, unique to one link, this results in smaller a per-packet overhead in the header, reduced relative to the datagram model.
How does a learning bridge work?
-When a bridge first boots, the table is empty. -Each bridge inspects the source address of all of the frames it receives and updates and builds the same table for itself. -Entries added over time, and have an associated timeout, the table entry is discarded after a certain amount of time, to avoid the situation where a host, and it's associated LAN address, have been moved from one network to another, meaning the table is no longer correct. - The table is not necessarily complete, the table sends out to all ports when it receives a frame addressed to host not currently in the table. A bridge using such a table is using a datagram (or connectionless) model of forwarding.
What are the two stage process to setup a Virtual Circuit?
1) Connection setup 2) Data Transfer
What is the three part strategy of X.25?
1. Buffers are allocated to each VC when the circuit is initialized/ 2. The sliding window protocol is run between each pair of nodes. Augmented with flow contril to kee the sending node from over-running the buffers at the receiving node. 3. The circuit is rejected if not enough buffers at the node when the request message is processed. Thus: Each node is ensured to have the buffers it needs to queue the packets that arrive on that circuit. Called hop-by-hop flow control.
How does the fixed cell size of ATM help with hardware switches?
1. It is easier to build hardware to do simple jobs, and the job of processing packets is simpler when you already know how long each one will be. 2. If all packets are the same length, then you can have lots of switching elements all doing much the same thing in parallel, each of them taking the same time to do its job.
Describe the idea behind the Datagram packet-switching approach.
A Datagram network is a connectionless packet-switched network The idea is to make sure every packet has enough information so that the switch can decide how to get it to its destination. The Switch consults a forwarding table to decide.
What is a learning bridge?
A bridge is a a multi-input/output device which transfers packets from one input to one or more outputs, a learning bridge is one that uses learning bridge algorithms to create a forwarding table map of the network.
What is Virtual Circuit Switching?
A connection-oriented packet-switched network.
What algorithm addresses learning bridge loops?
A distributed spanning tree algorithm.
What is source routing?
All the information about network topology that is required to switch a packet across the network is provided by the source host. - Assumes sender knows network topology. - In general, cannot predict header length. - Could be used in →datagram and → VC IPv4 ⇒ has an option for source routing Not secure to allow a remote connection to tell you how to send your packets and where. In depth on source routing, Chapter 3.1.3, pages 186 - 189.
What is X.25?
An early (now obsolete) virtual-circuit based networking technology.
What does a VC table entry contain?
An entry in the VC table on a single switch contains: - A virtual circuit identifier (VCI) that identifies the connection at this switch and will be carried in the header of packets that belong to this connection. - An incoming interface on which packets for this VC arrive at the switch. - An outgoing interface in which packets for this VC leave the switch. - A potentially different VCI that will be used for outgoing packets. The semantics of one such entry is as follows: If a packet arrives on the designated incoming interface and that packet contains the designated VCI value in its header, then that packet should be sent out the specified outgoing interface with the specified outgoing VCI value having been first placed in its header. You are going to want to have a good understanding of VCI tables and topology and be able to identify endpoint to endpoint connections. Chapter 3.1 of book.
What is ATM?
Asynchronous Transfer Mode. ATM is a standard switching technique, designed to unify telecommunication and computer networks. It uses asynchronous time-division multiplexing and it encodes data into small, fixed-sized cells. -Connection-oriented packet-switched network -Packets are called cells -5 byte header + 48 byte payload -Fixed length packets are easier to switch in hardware -Simpler to design -Enables parallelism
Can you read VCI tables and identify endpoint to endpoint connections?
Chapter 3.1.
How are broadcast messages treated by bridges?
Each bridge forwards a frame with a destination broadcast address out on each active (selected) port other than the one on which the frame was received.
What comparisons can be drawn between ATM and variable length packet switches?
Fixed length packets are consistent and fast and can be run in parallel, but may need to send many more ultimately. Variable length packets can also be designed to be run in parallel. (This answer is a work in progress!)
Describe the looping problem with learning bridges.
If an extended LAN has a loop, frames can potentially loop forever. Why? -An extended LAN can have such a loop in it when the network is managed by more than one admin, for example when it spans multiple departments. Its possible no single person knows the entire configuration of the network. -More likely, loops have been built into the bridge on purpose, to provide redundancy in case of failure, because a network with no loops only needs one link failure to become split into two separate partitions. Figure 3.10 in the book shows an example of the looping problem, which you will want to be able to illustrate.
What is required for the Data Transfer phase of Virtual Circuit Switching to begin.
In PVC, for example, host A sends the connection setup information, providing the complete destination address of host B, creating the connection state for each switch along the way. In SVC, switches in the network receive and send connection setup data to build their own VCI table. Switches allocate VCI numbers (random, unused numbers, have local-link scope, no global significance) until the table map is known by all switches, with each switch knowing what their downstream neighbor is using as the VCI for this connection between hosts, the process essentially runs in reverse until all hosts know everything that is necessary to allow traffic flow. For this reason there is at least one RTT of delay before data is sent. Now the data transfer phase can proceed, using the created tables. See in book, Chapter 3.1, text on pages 177 -180, figures 3.4, 3.5 table 3.3
What is the process when VC host A no longer wants to send data to another host B?
It sends a teardown message to switch 1, which removes the entry from the table and forwards the message to other switches on the path.
How are multicast messages treated by bridges?
Multicast can be implemented in the same way as broadcast, with each host deciding for itself whether to accept the message. This is what is done in practice. - However, not all LANs in an extended LAN necessarily have a host that is a member of that multicast group. - Learn when no group members downstream, in the same way a bridge learns if it should forward a unicast frame, by observing source addresses, for example, if each member of group G sends a frame to bridge multicast address with G in source field.
What are some examples of Virtual Circuit protocols?
On the network and datalink layers: X.25 ATM (Asynchronous Transfer Mode)
How do all of the bridges coordinate their decisions to arrive at the same spanning tree?
The IEEE 802.1 specification for LAN bridges is based on this algorithm. Spanning Tree Algorithm -Select root (smallest id number) -Computer (for each bridge/switch) shortest path to root and note which of its ports are on its path [preferred path to root] -For each LAN segment select a designated bridge [responsible for forwarding] -How? → closest to root → if equally close to root, smallest id wins Distributed Algorithm Config messages at regular intervals (y,d,x) (y,d,x), BPDU (Bridge Protocol Data Unit) y - identifies root node (believed) d - my distance to root x - Switches ID Record best config on all switches. [Ports] - Have stated blocked, designated, preferred path to root Init: each bridge thinks it is the root and sends a config msg out on all ports (id, 0, id) [all ports are designated ports] Listen for config msg on all ports and compare. Better: It identifies a root with smaller id It identifies a root with same id, but shorter distance Msg with root and distance same, tie breaker = smaller id Assuming config msg arrive on port n Stop generating config msgs and forward config msgs from other bridges out on designated ports. [port n is preferred path to root, add 1 to distance] Stop sending config msgs, stop port In on port root ⇒ out on all designated ports In on designated port ⇒ port root At the end: Algorithm Only root generates config msgs [heartbeat] If heartbeat is not received ⇒ failure ⇒ rerun algorithm In book, Chapter 3.1, Figure 3.12, spanning tree example.
What happens when a VC switch goes down?
The connection is broken and new one will need to be established. The old one will need to be torn down to free up table storage space.
What were some considerations for deciding the fixed cell size of ATM?
Too short: The amount of header info that needs to be carried around relative to the amount of data that fits in one cell gets larger. The percentage of link bandwidth that is used to carry data goes down. If you build a device that processes cells at some max number of cells per second, as cells get shorter, the total data rate drops. Too big: Wasted bandwidth caused by the need to pad transmitted data to fill a complete cell. If the cell size is 48 bytes and you need to send 1 byte of data, you will need 47 bytes of padding. If this happens a lot, the utilization of the link will be low. - This combination of a high header to payload ratio did lead to some noticeable inefficiency in ATM, called by detractors a "cell tax". The compromise of a 48 byte cell payload made almost no one happy. A power of two would certainly have been better for computers to work with.
What is the cell format of ATM?
[GFC 4 | VPI 8 | VCI 16 | Type 3 | CLP 1 | HEC (CRC-8) 8 | Payload 384 (48 bytes)] Host-to-switch format GFC: Generic Flow Control (Never saw much use) VPI (Virtual Path Identifier) & VCI: Virtual Circuit Identifier (If you consider these as a single 24 bit field, they correspond to the VCI concept as mentioned in answer to Part A. Breaking them up allows for a level of hierarchy. All circuits within the same VPI could be treated as a group and could be switched together This simplifies the work of a switch that could ignore the VCI bits and reduce the size of the VC table.) Type: management, congestion control CLP: Cell Loss Priority HEC: Header Error Check (CRC-8) (Error correction of the header cell only. Protecting the header is particularly important because an error in the VCI will cause the cell to be misdelivered.) Called a cell and not a packet because it comes in only one size: 53 bytes. This facilitates the implementation of hardware switches.