Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Communication Networks 7A and 7B PESSE Instructor: Hari.

Similar presentations


Presentation on theme: "Computer Communication Networks 7A and 7B PESSE Instructor: Hari."— Presentation transcript:

1 Computer Communication Networks 7A and 7B PESSE Instructor: Hari

2 Books Textbook: Data Communications and Networking (B. Forouzan)‏ Reference: Computer Networks (J.F. Kurose, K.W. Ross)‏ Reference: Introduction to Data Communication and Networking (W. Tomasi)‏

3 Introduction Some terms related to networking: Network, Telecommunication, Data communication, Jitter in transmission, Data representation, Simplex, Half-duplex, Full-duplex transmission Network topology (mesh, star, bus, ring, hybrid)‏ Categories of networks: LAN (Local Area Network), WAN (Wide Area Network), MAN (Metropolitan Area Network), wireless sensor networks, RAN (Radio Area Network – connects between UE and core network), VPN (Virtual Private Network)‏ internet: when 2 or more networks are connected together “The” Internet: a huge internet of hundreds of thousands of networks

4 History of the Internet History of the internet: see http://en.wikipedia.org/wiki/History_of_the_Internet http://en.wikipedia.org/wiki/History_of_the_Internet 1960s: Email, Telnet 1971: FTP 1979: Usenet 1983: Internet, based on TCP/IP protocol suite 1988: IRC 1992: WWW 1993: Blog 1994: Yahoo! Web directory 1995: Wikis were developed 1998: Google 2001: Wikipedia 2004: Facebook 2005: Youtube 2006: Twitter

5 The Syllabus Networking models (OSI and TCP/IP), various types of transmission media Data link control: Ensuring that data is reliably sent across physical channels Multiple Access: Controlling simultaneous access to the medium IEEE Standards for wired and wireless LANs Connecting LANs together Network layer and addressing Routing protocols UDP, TCP, DNS

6 Layered Tasks The task of a communication network is to transmit data from one point to another Although the entire process could be implemented in hardware, this would become very complex and tedious Hence there is a division of tasks into different software “layers”, with each layer using the services of the other layers

7 Layered Tasks Layering is common even in application software on computers. For example, the layers might be Application, Operating System (OS), Basic Input Output System (BIOS), and computer hardware The Application uses the services of the OS, the OS uses the services of the BIOS, and the BIOS controls the system hardware Layering can be seen even in conventional systems like the postal system etc What are other examples of layered systems?

8 Layered Tasks: The Postal System

9 OSI model A layered architecture for data communication over networks Never really became popular, because TCP/IP overtook it Called “International Standards Organisation Open Systems Interconnection (ISO OSI) model” Allows complete interoperability between otherwise incompatible systems

10 Layers of the OSI model Application Presentation Session Transport Network Data link Physical

11 How OSI Works Each layer provides some “services” (routines)‏ interface On a single node (computer), each layer uses the services of the layer below it; there is an interface between adjacent layers Communication across nodes can be effected at the same layer; this is called a “peer-to-peer process” (peer means having the same rank in the hierarchy of layers)‏ The set of layers is called the “protocol stack” sometimes

12 How OSI Works To actually transmit data, the data must be propagated all the way down the stack of layers onto the physical medium Higher layers are not engaged on the intermediate nodes

13 OSI: Physical Layer specifications Physical Layer deals with mechanical and electrical specifications of the interface and transmission medium Also defines the procedures and functions that physical devices and interfaces have to perform for transmission to occur Defines encodings of bits into waveforms suitable for transmission onto the channel Other functions: Data rate setting, bit- synchronization, network topology, transmission mode (simplex, half-duplex, full-duplex)‏

14 OSI: Data Link Layer The physical layer is a raw communication facility. The Data Link Layer transforms this into a reliable communication link that appears error free to the higher layers

15 OSI: Data Link Layer Framing: division of higher layer data into frames suitable for transmission by the physical medium Physical Addressing: to correctly differentiate between destinations on the network, a header is added to the frame Flow Control: To ensure that data buffers don't overflow Error control: Retransmission of lost or damaged frames; addition of an error-control trailer to the frame Access Control: This is also called Medium Access Control (MAC) and decides which device has control of the link at any time

16 OSI: Network Layer Data link layer: responsible for data transmission from source to destination within the same network Network layer: responsible for end-to-end delivery across possibly multiple interconnected networks Internetworks: networks of networks Handles logical addressing (like the IP address)‏ Handles routing across the network Transmission is in packets. Why packetize?

17 OSI: Transport Layer Network layer oversees source-to-destination delivery of individual packets The transport layer applies higher-level error control and flow control to reassemble the packets in the correct order into the original message. Ensures process-to-process delivery of entire message Other functions: service point (port) addressing, segmentation and reassembly, connection control, flow control, error control

18 OSI: Session Layer Dialog control: allows 2 systems to enter into a dialog, allows communication to take place in either half or full duplex mode Synchronization: Allows addition of synchronization points to a data stream.

19 OSI: Presentation Layer “Presentation” of data Translation: of one machine's hardware data format to another machine's hardware data format (e.g. Big-Endian to Little-Endian number representation)‏ Encryption Data compression

20 OSI: Application Layer Enables the user (human or software) to access network services. Applications: email, chat, file transfer, web browsing, etc

21 TCP/IP Protocol Suite Layers in the TCP/IP protocol suite do not exactly match the OSI model (TCP/IP was developed before OSI)‏ 5 layers may be assumed: Physical, Data Link, Network, Transport, Application Application = Application + Presentation + Session of the OSI model

22 Comparison of TCP/IP and OSI models Application + Presentation + Session = Application (SMTP, FTP, HTTP, DNS, SNMP, TELNET)‏ Transport = SCTP, TCP, UDP Network = IP, ICMP, IGMP, RARP, ARP Data Link + Physical = Protocols defined by the underlying networks See Figure on page 43 of Furuozan

23 TCP/IP: Physical and Data Link Layers No specific protocol defined at this level by TCP/IP Supports all standard and proprietary protocols (like IEEE 802.1, 802.11)‏

24 TCP/IP: Network Layer At the network layer, TCP/IP supports IP: Internetworking protocol. IP depends on ARP, RARP, ICMP, IGMP IP: Internetworking Protocol  A “bare-bones” unreliable and connectionless protocol that provides necessary infrastructure for the higher layers  Data is sent in packets called datagrams  Datagrams may travel along different routes and arrive out of sequence or be duplicated  IP cannot reorder datagrams and recombine into data once the datagrams have been received  Is a host-to-host protocol – delivers from one physical device to another

25 TCP/IP: Address Resolution Protocol Every node on a network has a physical address Nodes on a network also have logical addresses i.e. IP addresses that may change A lookup needs to be performed to find out the physical or hardware address in a network (eg. a LAN) corresponding to a given logical or internet address. This is performed using the mechanism of ARP

26 TCP/IP: RARP Reverse ARP Enables a node to determine its logical address given its physical address. Application: when a node is newly added to a network, it sends a RARP request to determine its logical address

27 TCP/IP: ICMP ICMP = Internet Control Message Protocol Chiefly used by the operating systems of networked computers to send error messages Not used to send data between computers Not usually used in applications; exceptions are Ping and TraceRoute (try these!)‏

28 TraceRoute output hari@hari-laptop:~$ traceroute www.google.com traceroute to www.google.com (209.85.231.104), 30 hops max, 40 byte packets 1 192.168.1.1 (192.168.1.1) 1.561 ms 2.110 ms 2.645 ms 2 117.192.224.1 (117.192.224.1) 243.950 ms 245.212 ms 248.918 ms 3 218.248.160.234 (218.248.160.234) 251.153 ms 252.183 ms * 4 * * * 5 * * * 6 * * 59.163.25.242.static.vsnl.net.in (59.163.25.242) 94.500 ms 7 121.240.0.5.static-Mumbai.vsnl.net.in (121.240.0.5) 485.301 ms 487.769 ms 490.202 ms 8 216.239.43.214 (216.239.43.214) 492.746 ms 495.336 ms 497.729 ms 9 72.14.232.93 (72.14.232.93) 502.103 ms 209.85.241.52 (209.85.241.52) 519.332 ms 72.14.232.93 (72.14.232.93) 507.087 ms 10 72.14.238.74 (72.14.238.74) 531.687 ms 66.249.94.90 (66.249.94.90) 510.220 ms 72.14.238.74 (72.14.238.74) 532.143 ms 11 maa03s01-in-f104.1e100.net (209.85.231.104) 529.126 ms 530.559 ms 531.391 ms

29 TCP/IP: IGMP IGMP = Internet Group Messaging Protocol A mechanism for multicast (the simultaneous transmission of data to a group of recipients)‏ What kind of applications would require multicast?

30 TCP/IP: Transport Level Protocols UDP: User Datagram Protocol  Process-to-process protocol  Adds port address, checksum error control and length information to data from upper layer TCP: Transmission Control Protocol  Is a “stream” transport protocol. This means that a connection must be established between both ends of a transmission before either can transmit data  TCP segments data at the transmitting end  The segments are numbered and carried within IP datagrams

31 TCP/IP: Application Layer TCP/IP Application Layer = OSI Session + Presentation + Application Sample applications: SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), HTTP (Hypertext Transfer Protocol), DNS (Domain Name System), SNMP (Simple Network Management Protocol), TELNET

32 TCP/IP: Addressing Four levels of addressing: Physical, Logical, Port and specific address Why the need for a hierarchy of addressing? Physical address: the address of the node in its LAN or WAN; included in the frame at the data link layer Logical address: a universal addressing system. Called the IP address. ARP is used for address conversion

33 TCP/IP: Addressing Port Address: Once data arrives on a particular node, it must be routed to the correct application, or process. This is effected using the port address. Eg. Port address for HTTP transactions is 80. Specific addressing: User-friendly address formats used by applications; these are converted to the lower level formats as required  Eg: yourname@gmail.comyourname@gmail.com  http://www.google.com

34 Telephone and Cable Networks for Data Transmission Telephone networks: for voice communication Digital data: transferred over telephone lines using dial-up MODEMs (Modulator- Demodulator)‏ DSL: Digital Subscriber Line, a service provided for access to the Internet through telephone lines. Is much faster than dialup modems Cable networks: used for providing TV signals to subscribers. Also possible to use Cable networks for giving access to the Internet

35 Telephone networks Telephone network: invented in 1800s Called POTS: Plain Old Telephone System POTS was originally all-analog, but is now mixed digital and analog Components: Local loops, Trunks, Switching offices (end offices, tandem offices, regional offices)‏ Local loop: a twisted pair cable that connects the subscriber telephone to the nearest end office. Bandwidth = 4 khz

36 Telephone networks Trunks: Transmission media that handle the communication between offices. Many connections are handled (hundreds to thousands)‏ Switching office: To avoid having a permanent physical link between subscribers, switches are needed to set up the connection. This is done in the switching office. A switch connects several local loops or trunks and allows a connection between subscribers

37 Telephone networks: Signalling Signalling: The use of signals for controlling communication; the information exchange concerning the establishment and control of a telecommunication circuit and the management of the network In-band signalling: Use of voice bandwidth for signalling. Eg: Rotary dialling, DTMF Out-of-band signalling: The voice bandwidth and signalling bandwidth are separate (eg SS7)‏

38 Telephone networks: Signalling Signalling system: provides dial tone, maintains and monitors call, keeps billing information, caller ID, voice mail, etc Signalling System 7: Out of band system (avoids security problems of SS5, which used in-band multifrequency signalling)‏ SS7 is a layered protocol (5 layers). An example of the physical layer is “T1” (1.544 Mbps) carrier. T1: (24 channels/frame * 8 bits/channel)*8000 frames/second = 1.544 Mbps

39 Dialup modem Traditional telephone line frequency range: 300-3300 Hz Baud rate: number of symbols per second transferred Modem: Modulator + Demodulator. Modulator: conversion of binary data to modulated waveforms. Demodulator: Conversion of Waveforms to binary data. Modem standards: V32 (Trellis coded modulation) 32 QAM, of which 1 bit is error correcting. So 4 bits/symbol*2400 baud =9600 bps Also: V32bis, V34bis,V90, V92

40 DSL Digital Subscriber Line – supports high speed data communication over local loops ADSL: Asymmetric DSL (Asymmetric means unequal upstream and downstream rates, ~.5 Mbps and 8Mbps). Existing local loops can actually handle upto 1.1 Mhz, but are filtered to 4 kHz at the end office (why?). This filter is removed for ADSL ADSL is adaptive: actual data rate depends on condition of local loop line ADSL Modulation: DMT (Discrete Multitone Technique) = QAM + FDM. Here, the total bandwidth of 1.1 Mhz is divided into 256 channels or bins of 4.3125 kHz (FDM). Based on the SNR for each channel, the data rate is set on a channel by channel basis – some of the carriers are deleted in the bins where noise is large ADSL uses interleaving of Datalink frames; QAM is the modulation scheme used in each channel (15 bits/baud)‏

41 HDSL HDSL, SDSL, VDSL HDSL: High bit rate DSL. T1 uses AMI (Alternate Mark Inversion) coding; this is susceptible to attenuation at high frequencies. HDSL uses 2B1Q encoding to achieve greater repeater distance at 1.544 Mbps. T1 line ~ 1km. HDSL line ~ 3.86 km. Two twisted pairs used for full-duplex transmission (2B1Q). SDSL: Symmetric Digital Subscriber Line. Symmetric means same data rate in both directions (768 kbps in each direction). Is HDSL with one twisted pair cable, but still supports full duplex. (2B1Q). VDSL: Very high bit rate DSL; uses coaxial, fiber-optic or twisted-pair cabling for short distances. Downstream: 25- 55Mbps. Upstream: 3.2 Mbps

42 Cable TV for data transmission DSL: uses existing unshielded twisted pair cable, susceptible to noise. So we use cable TV (a coaxial system from end to end)‏ Hybrid Fiber-Coaxial N/w used: Fiber from Regional Cable Head (RCH) to fiber node; coaxial cable through the neighbourhood RCH: serves up to 400,000 subscribers Communication in the traditional cable network is unidirectional. But we make this bidirectional by using bidirectional amplifiers Bandwidth: 5 to 750 Mhz. Divided into video, upstream and downstream bandwidth Downstream: 64 QAM modulation, ~30 Mbps Upstream: QPSK modulation, ~12 Mbps Sharing of bandwidth needs to be done both upstream and downstream. Read up on cable nws from page 257 (assignment)‏

43 Cable TV for data transmission Downstream: 64 QAM modulation, ~30 Mbps Upstream: QPSK modulation, ~12 Mbps Sharing of bandwidth needs to be done both upstream and downstream. Read up on cable nws from page 257 (assignment)‏

44 Unit 2: Data Link Control Data link layer has 2 main functions:  Data link control (handles adjacent node-to-node communication (WAN) or communication within the same network segment (LAN))‏  Medium access control (how to share the data link)‏  Data link control: framing, flow and error control

45 Framing Physical layer functions: mechanical & electrical specifications, modulation or encoding scheme, data rate setting, synchronization, topology, transmission mode (simplex, half- or full-duplex)‏ Most important functions: modulation scheme, synchronization Physical layer: gets bits across the channel Data link layer: packs bits into frames suitable for transport across the medium

46 Framing Framing: in the postal system, in the form of an envelope Framing: other examples of framing. Written text? Framing in the data link layer: a source address and a destination address are added. Why is the source address needed? Basic reason for framing: error in a frame affects only that frame, not the whole message

47 Framing Types of framing: Fixed-size and variable size Fixed-size framing: ATM WAN Variable sized framing: frame size needs to be specified  Character-oriented protocol: special characters are present at the beginning and end of the frame. Drawback: This is OK for text applications, but not OK when a general stream of binary data is used, because the marker may show up as data. To guard against this, an escape character is used to signify that the next character (possibly marker) in the frame is actually data (byte stuffing). The escape character is removed from the payload. To represent Esc character in data, Esc Esc is used in the frame. This prevents big messup when Esc+Flag is part of the data. Character oriented framing is used in PPP protocol for dialup connection to the Internet.

48 Framing Variable-Size framing  Bit-oriented protocol: Zero-bit insertion First used in IBM's SDLC (later called HDLC). Also used in USB to prevent transmission of too many 1s. Now we work with the actual bitstream rather than a stream of characters. The pattern 01111110 is used at the beginning and end of the frame If 011111 is encountered in the data, mindlessly insert 0 So: 0111111 --> 01111101 0111110-->01111100, so that receiver can distinguish between stuffed and unstuffed bits Main disadvantage: data rate is unpredictable & depends on data

49 Flow and Error Control Flow control + Error control = Data link control Flow control  The flow of data must not be allowed to overwhelm the receiver. How is it possible for the receiver to be overwhelmed? (Limited processing speed, limited buffers)‏  How much data to send before waiting for an acknowledgement?  If too much data: please send fewer frames or stop  Flow control: a set of procedures used to restrict the amount of data that the sender can send before waiting for ACK. (Remember, network congestion and congestion control are at the network level)‏

50 Flow and Error Control Error control  Error control = error detection + error correction  If error, please retransmit frame: this is called ARQ (Automatic Repeat Request)‏

51 Flow and Error Control Protocols Remember: The data-link layer is bidirectional. Efficiency is improved by “piggybacking” ACKs onto dataframes in real-world protocols. Noiseless Channels: no frames are lost, duplicated or corrupted. No need for error control for this (theoretical) channel “Simplest protocol”  Receiver has infinite processing speed, so no need of flow control  Unidirectional source to receiver transmission

52 Protocols: Simplest protocol Network layer sends data to data link layer at sender Data link layer makes a frame and sends it Data link layer at receiver receives a frame, extracts data and provides to network layer Both sender and receiver processes are event driven at the data link layer. This means they continuously wait for data to arrive from the network layer (at sender) or physical layer (at receiver)‏

53 Protocols: Stop and wait (for noiseless channels)‏ Incorporates flow control Receiver may be overwhelmed if data frames arrive at the receiver (possibly from multiple sources) faster than they can be processed Transmission is still event-driven (from the network layer), but an additional Boolean flag is checked. The Boolean flag is true only if the last ACK arrived and we are clear to send.

54 Protocols: Noisy channels Errors now occur. Either ignore errors, or use error control Stop and Wait Automatic Repeat Request (ARQ):  Redundancy bits are added at the transmitter side to the data frame  These redundancy bits can help detect errors  If an error is detected in a frame, the receiver discards the frame and does not send ACK  Lost frames: cause received frames to be out of order

55 Noisy Channels: Stop and Wait ARQ No ACK: Receiver retransmits ACKs also contain redundancy bits for error detection ACKs also contain “sequence number” field for tracking which frame the ACK corresponds to Sequence number frame also added to transmitted data. This detects lost frames at the receiver. Remember, the data link layer expects the correct order frames!!

56 Choosing Sequence Numbers 3 possibilities:  Frame x arrives safe and sound; ACK transmitted by receiver; Transmitter sends next frame, numbered x+1  Frame x arrives safe and sound; ACK transmitted by receiver; ACK lost on channel. Transmitter times out and sends frame x again  Frame x never arrives at receiver. Transmitter times out, sends x again.  So only 2 consecutive frame numbers need to be tracked at the receiver. Hence we use 1 bit, alternately 1 and 0, to represent the sequence number ACK also contains sequence number (why?)‏

57 Stop and Wait ARQ: Sequence Numbers Suppose 2 duplicate sequence number frames arrive at the receiver. An ACK is still sent. Why? (Because receiver reasons that previous ACK may have been lost). Stop and Wait ARQ is an inefficient use of the channel (Why? Because no pipelining)‏ A problem about Stop and Wait ARQ: Bandwidth = 1 Mbps, 1 bit takes 20 ms for a round trip. If the system data frames are 1000 bits, what is the utilization percentage of the link? Ans: 5%

58 Stop and Wait ARQ Bandwidth: The supported data rate (in Mbps)‏ Delay: the round trip time of a bit Bandwidth-delay product: How much data is in the channel in a given time-slice (delay time)‏ If we send many frames before waiting for an acknowledgement, the channel utilization goes up (eg send 15 frames, then wait for ACK)‏

59 Sliding window protocols Sliding window protocols are a feature of packet-based data transmission protocols. They are used when reliable in-order delivery of packets are required, such as in the datalink layer (frames) and TCP layer (packets) of the protocol stack. Why do we use sliding windows: We add a sequence number to the frame/packet. Now the sequence number increases unboundedly as the amount of data sent increases. We use sliding windows to limit the range of the sequence numbers dealt with. So with sliding windows an unlimited number of frames (packets) can be transmitted using fixed-size sequence numbers.

60 Go Back N Automatic Repeat Request Several data frames can be in transition while waiting for acknowledgements. (why? In order to keep the channel busy while waiting for an acknowledgement)‏ Sender needs to keep copies of several transmitted frames in case it needs to retransmit. (why? Because suppose 10 frames are transmitted at one go and the 5 th is dropped. Sender comes to know about this only after the 10 th frame has been sent. So needs to be able to retransmit in a larger range)‏ Sliding windows: Each frame(datalink)/packet(transport) is assigned a sequence number to track its position in the stream. As data flows, the sequence number increases. The problem with this is that there is no limit to the size of the sequence numbers required.

61 Go-Back-N ARQ: Sliding windows To allow to transmit an unlimited amount of data, with a fixed-size sequence number, a “sliding window” is used to limit the frames in transit at any time. Sliding window: tracks the range of sequence numbers that are of concern to the transmitter and receiver.

62 Sliding Windows in Go-Back-N ARQ At the tx: the sliding window tracks which frames have been ACKnowledged, which frames have been sent but not ACKnowledged, which frames are yet to arrive from the network layer, and which frames cannot be sent in the current window (see fig on page 325)‏ Send window size N: The sender must not transmit too fast. N should be bounded by receivers ability to process frames. N must be smaller than the number of sequence numbers so that retransmission is unambiguous. N should hopefully be large enough so that amount of data txed at one time exceeds the bandwidth-delay product, to ensure optimal channel utilization. Send window slides to the right when ACK arrives; can slide by more than one slot. Receive window: of size 1, since the receiver receives one at a time and in-order transmission is expected. Will ignore any out-of-order frame – whether duplicate or future.

63 Sliding Windows in Go-Back-N ARQ Receive window divides the frame sequence numbers like this: Frames already received + Next frame expected + Frames that cannot be received yet Slides to the right by 1 when the correct frame has arrived Timers: In Stop and Wait ARQ, there was a retransmission timer for every frame. Here, there is a timer attached to every sent frame, but if one expires, all outstanding frames are resent. Why? Because receiver has a window only of size 1, cannot store and reorder frames. Hence all outstanding frames (from the dropped frame onwards) must be retransmitted. Hence if a txed frame or ACK is lost or damaged, multiple frames must be retransmitted – expensive on a lossy link.

64 Go-Back-N ARQ ACKnowledgements: Sent by receiver only if the correct frame is received. No ACK if the frame is damaged or out of order. Resending a frame: since many queued frames are retransmitted in the case of a timeout, this protocol is called “Go Back N”. For sliding-window protocols to utilize the channel effectively, the amount of data transmitted before an ACK is expected must exceed the bandwidth-delay product. If not, the protocol will limit the effective bandwidth of the link

65 Go-Back-N ARQ vs Stop and Wait ARQ Stop and Wait ARQ: send window size = 1 Stop and wait ARQ: Sequence numbers modulo 2^m where m=1 So Stop and Wait ARQ is a special case of Go- Back-N ARQ

66 Selective Repeat ARQ Go-Back-N ARQ: advantages: improves channel utilization, no need of reordering out of order frames at the receiver, but this is very inefficient for a noisy link It is not sensible to send multiple frames when just one is damaged/lost. However, to incorporate this increases receiver complexity (why?)‏

67 Selective Repeat ARQ Does not retransmit multiple frames. More efficient, but more complex receiver. Uses 2 windows: send and receive Send window maximum size = 2^(m-1) (smaller maximum size means less efficiency filling the pipe)‏ Receive window: also of size 2^(m-1). Receive window size is increased so we can store out of order frames. All the frames in the send window can be received out of order and stored.

68 Selective Repeat ARQ: Receiver All frames in the receive window must arrive before delivery to the network layer is possible 2 signals are used by the receiver: ACK and NAK (Negative ACKnowledgement – to reject or indicate a problem with a previously transmitted message)‏ If the received frame is not corrupted and within the receive window, we store the frame and mark the slot. If contiguous frames starting from Rn have been marked, data is delivered to the network layer and the window slides to the right. An ACK is delivered in one shot for all contiguous data. Eg if frames 1,2,3,4 have been delivered to the receiver, ACK4 is sent to the transmitter

69 Selective Repeat ARQ: Receiver If the receiver gets an out-of-order frame (i.e. An intermediate frame is lost) then it sends NAKn where n is the frame number that was lost. What happens if the NAK is lost? Then the final ACK is never received by the transmitter, which is forced to resend all frames. Multiple NAKs are not sent for a missing frame. This is to conserve bandwidth.

70 Selective Repeat ARQ: Transmitter Sends frames in send window Waits for ACK or NAK from receiver Each frame has a retransmission timeout ACK: Acknowledges multiple frames NAK: Indicates which frame was lost at the receiver. On receiving ACK for everything in the send window, the window slides to the right. Look at the flow diagrams for Go-Back-N, SR ARQ (page 331, 338)‏

71 Selective Repeat ARQ: Window Size To understand the limitations on the size of the windows: Suppose all ACKs are destroyed. Then the transmitter times out and retransmits everything. However, the receiver window has moved by more than 2^(m-1) and hence it is possible to see some overlap with the transmitter data (which is old, but which the receiver thinks is new). This is preventable by constraining the receive window size, and hence the transmit window size.

72 HDLC HDLC = Highlevel Datalink Control Bit-oriented protocol for communication over point to point and multipoint links Implements ARQ 2 transfer modes provided: NRM (Normal Response Mode) and ABM (Asynchronous Balanced Mode)‏ NRM: A txs, B responds to A's commands/data

73 HDLC ABM: The configuration is balanced. Each node can function as primary or secondary Asynchronous: B doesn't wait for command to send its frames. ABM: Command/Response piggybacked at A and B

74 Framing in HDLC 3 different types of frames:  I frames (information frames)‏  S frames (supervisory frames)‏  U frames (unnumbered frames)‏ Frame formats: Flag + Address + Control + Information + FCS + Flag Flag can be repeated between frames

75 Framing in HDLC Flag = 01111110 Address: Destination (primary) or Source (secondary) address Control field: Used for flow and error control; 1-2 bytes Information field: Contains user data from N/W layer or management information (link layer)‏ FCS: 2 byte CRC checksum

76 Control Field Control Field for I-frames  Starts with “0”. Contains N(S) = sequence no of frame, N(R) = ACK no when piggybacking is used Control Field for S-frames  S = supervisory  Used for flow and error control when piggybacking not possible (eg when node B runs out of data)‏  S frame does not contain “User information” field  First 2 bits: “10”. 2 bit Code + N(R) (ACK no)‏

77 Control Field 2 bit code in S-frame: RR, RNR, REJ, SREJ RR = Receive ready at B RNR = not ready to receive at B REJ = NAK tailored for Go-Back-N flow control (so we don't have to wait for timer expiry at tx)‏ SREJ = NAK tailored for Selective Repeat ARQ

78 Control Field U-frames (unnumbered):  Used to exchange session management and control information between connected devices  Do not carry user data  Code field is 5 bits wide, so 32 different types of U- frames eg SNRM (Set normal response mode), UA (Unnumbered ACK), SABM (Set Asynchronous Balanced Mode), DISC (Disconnect), RSET (Reset), etc

79 HDLC Examples Connection/Disconnection: Use SABM U- Frame. This sets up data transfer. After transfer, A sends DISC (disconnect) U-frame. B acknowledges with UA (Unnumbered ACK)‏ Piggybacking without error: A sends 2 I-frames 0 and 1. B piggybacks ACK of both frames into an I frame of its own. B's ACK no in its sent I- frame is 2, since it expects frame 2. Now A has sent all data, so cannot send an I frame. Sends S frame instead, with RR code inside. Look at example 11.11, page 346

80 Multiple Access Sometimes we have a dedicated link between nodes A and B eg in a dialup network connection Sometimes we don't and the link is shared eg in cellphone networks, the channel is shared. Also wireless networks, since we deal with an inherently broadcast medium Data link layer handles datalink control (framing, flow control, error control) and multiple access resolution

81 Multiple Access So data link layer = Data link control + Multiple access resolution Data link control = “Logical link layer” according to IEEE. And Multiple Acccess resolution is handled by MAC layer (“Medium Access Control”)‏ Multiple nodes, common link – called a multipoint link

82 Multiple Access Multiple Access Protocols: Random Access Protocols (ALOHA, CSMA, CSMA/CD, CSMA/CA), Controlled Access Protocols (Reservation, Polling, Token Passing), Channelization Protocols (FDMA, TDMA, CDMA)‏ The most commonsense ways of sharing the link: TDMA (disadvantage is low channel utilization for heterogenous traffic), FDMA (low channel utilization for bursty traffic)‏

83 Random Access Democratic protocol. All nodes are equal. No node controls another node's right to transmit. Why “random” access – no preallocated time for access. Stations compete with each other for access. Hence called contention methods. Collision: a medium access conflict, 2 nodes transmitting at the same time. We want to minimize conflict.

84 Random Access: Pure ALOHA ALOHA: first multiple access system, developed in University of Hawaii in 1970. ALOHA is no longer used, but one of its core concepts is still used in Ethernet. Designed for radio LAN, but can be used for any shared medium. Pure ALOHA: Station sends frame when it has a frame to send. Collisions may occur with frames from different station(s). If even 1 bit of 2 frames overlaps, both frames are lost. Pure ALOHA is also called “statistical multiplexing”. Avoids the resource wastage of TDMA and FDMA systems when there is differential usage of the channel by different stations. Also avoids the need for setup when new stations are added to the medium.

85 Random Access: Pure ALOHA Lost frames need to be resent. A lost frame is resent using an ACK-based ARQ: If the receiver's ACK does not arrive at tx, retransmit after a time-out at the transmitter. If the timeout is the same for all stations, re-collision is very likely to occur. So in Pure ALOHA, we wait for a timeout + a random time period called the backoff time T B If this again collides, tx tries again. Tries only a finite number of times, K max (maximum number of retransmission attempts) so as not to block the channel. After that it must give up and try later.

86 Random Access: Pure ALOHA Setting the timeout: It takes 1 RTT for the ACK to reach the tx again. So take maximum RTT between pairs of nodes to set the timeout. Remember the ACKs can also be dropped (including due to collision) but there is no such thing as ARQ for ACKs. RTT(max) = 2*T p, where T p is the maximal separation time between 2 stations.

87 Pure ALOHA: Tx algorithm (Binary Exponential Backoff)‏ Variables: K = no of attempts, T p = maximum frame propagation time. T fr = average frame transmission time. We can use either T p or T fr to calculate backoff, depending on system conditions 1. Start 2. K=0 (K is the number of attempts)‏ 3. Send frame 4. Wait RTT(max) (timeout value)‏ 5. If ACK rxed by now, we have successfully txed. End. ACK not rxed: Increment K and if K K max then give up and end. Go to step 3

88 Problem on Pure ALOHA Stations separated by 600 km. T p = 2 ms, the propagation time between stations. Now we calculate the backoff value:  Attempt 1: K=1. Choose random no in {0, 1}. T B is 0 ms or 2 ms  Attempt 2: K=2. Choose random number in {0,1,2,3}. T B is correspondingly 0, 2, 4, 6 ms  Attempt 3: K=3. {0..7}. T_B is {0 ms, 2 ms,..14 ms}  K_max=10, for example.

89 Pure ALOHA: Vulnerable Time Vulnerable time is the time period within which there is a possibility of collision (assume all frames are the same size)‏ Vulnerable time = 2*T frame where T frame =frame transmission time. If any other frame is transmitted within the vulnerable time around a frame, the frame will be dropped. (See fig 12.5 on page 367)‏

90 A problem on vulnerable time Shared channel B/W = 200 kbps. Frame size = 200 bits. No txs within 2* 200 bits/200 *10^3 bps = 2*10^-3 ms around a frame for error free transmission.

91 Pure ALOHA: Throughput Throughput is the number of good transmissions/second. Depends on vulnerable time and frame generation rate Calculations: Say the frame generation rate is G per T frame. Say one particular node transmits, and the rest of the nodes number N-1 (large). These nodes need to generate no frames within the vulnerable period T vul, or else there will be collision

92 Pure ALOHA: Throughput Probability of this: is governed by a Poisson distribution (N large), but we approximate and derive from the binomial distribution If N nodes, probability of channel being free= (1-p)^(N-1).(1-p)^(N-1)‏ This is the compound event: 1 station transmits, and for two framing periods, the other stations do not transmit. Here p = G/N as each node shares the load. G<=1 or the channel will be overwhelmed.

93 Pure ALOHA: Throughput Take the limit of the formula as N->Infinity to get Probability of succesful transmission = e^-2G Throughput = G.e^-2G This has a maximum at G=0.5, with a throughput of about 18%

94 Problem on Pure ALOHA BW = 200kbps Frame size = 200 bits Find throughput if all nodes together generate {1000, 500, 250} frames per second. Ans: Just use the formula Ge^-2G

95 Random Access: Slotted ALOHA Now time is divided into slots of T frame. We transmit only at the beginning of the synchronized time slots. Vulnerable time is half as much, so peak throughput goes up to 36% (maximize Ge^-G)‏

96 CSMA Carrier Sense Multiple Access “sense before transmit” - “listen before talk” Possibility of collision reduced, but still possible – if station transmits within a propagation time of another station Vulnerable time: the time period within which there is a collision, = T p, the propagation time Look at Fig 12.9 to understand vulnerable time

97 CSMA: Persistance methods 1 – persistant: As soon as channel is free, transmit Nonpersistant: If channel free, send immediately. If channel not free, wait a random amount of time and re-sense. Advantages: reduces the chance of collision within T p. Disadvantages: Reduces the channel utilization during the wait period. p-Persistant: Use a slotted approach, slot duration should obviously exceed T vul,

98 CSMA: Persistance methods Just like slotted ALOHA improves efficiency, a slotted approach improves efficiency here. So, collision probability is reduced, and efficiency is improved. If line idle, station sends with probability p With probability 1-p, we wait for the next time slot Check the line again – if the line is idle, go to step 1 If line busy, then backoff Look at flow diagrams (Fig 12.11)‏

99 CSMA/CD CSMA/CD = Carrier Sense Multiple Access with Collision Detection CSMA: No procedure specified following a collision (no ACK-based ARQ specified, for example)‏ Look at Fig 12.12 for the timing details of a collision In CSMA/CD, transmission and collision detection is a continuous process.

100 CSMA/CD Suppose node A's frame collides with node C's frame. Once they detect the collision, both A and C stop transmission immediately A----B----C----D A tx at t1, reaches C at t3 C senses and tx at t2<t3, as A's frame has not yet reached C C's frame reaches A at t4, obviously>t3 as C starts transmitting later than A So at t3, C aborts transmission, but cannot control bits already on the channel

101 CSMA/CD At t4, C's bits reach A and A aborts transmission. So both frames lost. Actual collision occurs somewhere between A and C, before either A or C detect the collision Look at Fig 12.13: this figure includes the partial-frames (not just the first bit).

102 CSMA/CD Minimum Frame Size  Remember, collision detection is performed only so long as the frame is being transmitted from node A.  As soon as the frame is completely transmitted, no CD is possible at the transmitter anymore.  However, collision could occur anywhere enroute from source to destination  So the frame size must be controlled: we must be able to detect the collision before the last bit is transmitted in order to correctly determine that a collision has taken place and not mistakenly think that data has been transferred.

103 CSMA/CD: Frame Size Limitations So T fr >2T p Justification: suppose node B transmits to A, takes T p to reach A. Takes another T p for worst case collision (collision at A) to reach B again. Hence T fr >2T p. Write a timing diagram to clarify this. Collision detection is by monitoring energy level: zero level, normal level and abnormal level (2ce as much energy in channel)‏

104 CSMA/CD Problem: BW=10 Mbps, Tp=25.6 uS, Tfr(min)=? Ans: 64 bytes

105 CSMA/CD: Algorithm 1. K=0 (K is no of tx attempts)‏ 2. Apply persistance method (1-persistant, p-persistant or nonpersistant)‏ 3. (Tx loop) Transmission done, or collision detected? Go to step 6 4. Transmit/receive 5. Go to step 3 6. If no collision was detected, done. 7. (Collision process) Send jamming signal 8. K=K+1 9. K<Kmax then use binary exponential backoff on K. Goto 2. 10. Abort.

106 CSMA/CA CSMA/CA: Used for wireless networks CSMA/CD: We receive while transmitting to detect collisions. The energy level of the sensed signal determines if a collision has occured. In a wired network, because of repeaters and short length, the received signal energy is just about the same as the txed signal energy. So CD is possible. However, in wireless networks, signal energy drops rapidly with distance. So we can't do CD effectively

107 CSMA/CA Look at Fig 12.16 for the timing in CSMA/CA So we need to avoid collisions on wireless networks, since collision detection is not possible. We can still detect when the channel is busy though (when not txing)‏ We use CA (Collision Avoidance) for this. CA works using: IFS, contention window, ACKnowledgements. CSMA/CA used in 802.11 IFS = Interframe space. We allow distant signals to propagate (effectively we wait at least Tp(max)) so that we can avoid collisions due to transmission at node without having sensed distant incoming signal (this is the vulnerable time in CSMA). By commonsense IFS>Tp(max)‏

108 CSMA/CA If a station has lower IFS, it has higher priority in transmission. Setting IFS too low may result in many collisions. After waiting out the IFS, and if the channel is still idle, we wait an additional “contention period”. This is to be effectively “less greedy” than CSMA and hopefully avoid more collisions. The contention time is slotted, choose a random number of slots as wait time. The number of slots in the window changes according to binary exponential backoff. If the ACK doesn't come through, the window size is increased exponentially for the retransmit

109 CSMA/CA Remember that the channel could become busy while waiting to tx. In this case, it is unfair if a node has to restart its timer. So, just stop the timer and continue when the channel becomes idle (the IFS is more or less guaranteed by the remaining waiting time)‏ To detect dropped frames, we use positive ACKs and retransmission timers CSMA/CA in wireless networks incorporates RTS/CTS to solve the hidden node problem.

110 CSMA/CA Algorithm: 1. Set K=0 2. Channel Idle? If not, go to 2 3. Wait IFS 4. Channel still idle? If not, go to 2 5. Choose R in {0..2^K-1} randomly 6. Wait R slots. Remember, pause sending until channel free (without resetting timer) if channel becomes busy 7. Transmit frame 8. Wait timeout. 9. ACK received? If not, and if K<K max, K=K+1, go to 2 10. End

111 Controlled Access Controlled Access: Stations send only after authorization by all other stations Reservation, Polling, Token Passing Reservation:  Reservation is a slotted system  A reservation frame is reserved after every round of data transmission  The reservation frame contains slots, corresponding to the stations 1..N  If station i wants to transmit in the next round, it indicates this by filling up its slot in the reservation frame.  The data frames are then sent in order of priority once the resevation frame is over

112 Controlled Access Polling  One device called primary device  All other devices called secondary  Primary controls all transmissions on the network segment  2 types of signal sent: Poll and Select  Select: primary wants to transmit. Notifies desired secondary of its desire to transmit by sending a SEL frame. This should be ACKed by the secondary. SEL frame obviously contains address of secondary. SEL notifies secondary that it has to receive and ACK ensures receiver is ready.  Poll: primary polls each secondary node for data. Secondary replies with NAK (no data) or with data if present. Data frames are acknowledged by primary. (Doubt: should ACK be sent from primary or the concerned secondary node?)‏

113 Test problem Some suggested polling to counteract the hidden node problem in wireless networks. This is correct and in fact has been studied in research literature - “Poll before data multiple access” - by Asimakis Tzamaloukas and J.J. Garcia-Luna-Aceves from UC Santa Cruz. Search on Google if you want to read this paper.

114 Controlled Access: Token Passing Token Passing  Stations are organised in a logical ring. There is a predecessor and successor for every station  A special frame called the token circulates through the ring. Only the station that last received the token (and has not passed it on yet) has the right to transmit. Holds on to token as long as there is data to transmit.  A station cannot send data until it receives the token  (Token passing implements “round robin” scheduling and is conceptually identical to the way operating systems handle multiple processes)‏

115 Controlled Access: Token Passing Token management  Stations hold token for a limited amount of time  Token should be monitored for loss  Token-holding time can also be used to set priorities Logical rings  Can be made from physical ring, dual ring, bus ring and star ring topologies (see Fig 12.20)‏

116 Token Passing: Logical Rings Physical ring topology  Token only seen by immediate next station  If one link fails, the whole system fails Dual ring topology  Second ring present in opposite direction  This auxiliary ring is only used for backup purposes. If a link fails, a temporary ring is formed using both main and auxiliary ring  High speed token networks use this – FDDI, CDDI (Fiber Distributed Data Interface, Copper Distributed Data Interface)‏

117 Token Rings: Logical Rings Bus Ring topology: although the physical topology is a bus, every node knows the physical address of its successor. So a logical ring topology can be implemented to control access to the shared medium. Used in IEEE Token Bus Star Ring topology: physically, star topology. Failure here is not catastrophic. Adding and removing nodes is easier. Used in IBM Token Ring LAN

118 Channelization Available channel bandwidth is shared through time, frequency or code 3 protocols are: FDMA, TDMA and CDMA FDMA  Available bandwidth divided into bands, each band reserved for a particular station  Guard bands are present for each station (its not really possible to strictly bandlimit signals)‏  FDM and FDMA are different! FDM uses multiplexer to mix signals after modulation of baseband signals  In FDMA the mixing happens automatically at the channels; the signals are bandpass at source

119 Channelization TDMA: Time Division Multiple Access  Time is slotted, each station uses a preallocated slot  Synchronization between different stations needs to be tight. This may be difficult given propagation time across the physical layer  Synchronization is achieved by adding synchronization bits (or preamble bits) at the begininning of each time slot  Guard times are introduced to counteract propagation delay  ISI is a big problem too  Used in mobile systems – GSM uses TDMA + frequency hopping. TDMA on GSM phones creates “buzz” at frequency related to time-slot width when left next to speakers.

120 Channelization CDMA: Code Division Multiple Access  Each channel occupies the whole bandwidth (frequency spectrum) of the link  Why is collision an issue in random access but not in controlled access or channelization?  Each station is assigned a spreading code that greatly increases the bandwidth of the actual data signal  Code division: like using different languages  Earliest application was GPS. The earliest idea for CDMA (frequency hopping) was co-developed by Hedy Lamarr, a Hollywood actress.

121 Channelization: CDMA CDMA: Each channel simultaneously occupies entire bandwidth. So not like FDMA. Also no timesharing so not like TDMA. CDMA: Spreading achieved by coding. Each station is assigned a code – a sequence of numbers called chips. So a code is a chip sequence. Eg: [1 1 1 1], [1 -1 1 -1], [1 1 -1 -1], [1 -1 -1 1]

122 CDMA These chip sequences are not randomly chosen. All are of same length. Properties:  Each chip sequence has N elements, where N is the number of stations.  These chip sequences behave like vectors. Use the usual inner product on the vectors  So: sequences are orthonormal under the usual inner product

123 CDMA Encoding: 0 --> -1, 1-->+1 What are the intuitive explanations for sequence addition, inner product etc?

124 Review questions Do we need MAC for the following cases:  Dialup modem connection (data tx over local loop)‏  Internet access over one CATV channel Ex problem 11 Ex problem 15

125 CDMA Code Division Multiple Access One channel occupies bandwidth of entire link, unlike FDMA Nodes can transmit all the time, unlike TDMA Channelization is achieved by coding (assigning orthogonal spreading codes to various channels)‏

126 CDMA Code = Sequence of numbers called chips Eg: c1 = [1 1 1 1], c2 = [1 -1 1 -1], c3 =[1 1 -1 - 1], c4 = [1 -1 -1 1]. Each code is called a chip Each sequence is made of N elements, where N is the number of stations Use usual scalar multiplication Use inner product to multiply sequences. This finds correlation of sequences

127 CDMA Inner poduct of 2 different sequences =0 Inner product of a sequence with itself = 4 Data bit 0 --> +1 Data bit 1 --> -1 Silence --> 0 ?Use BPSK modulation? What is +1 + -1 ??

128 CDMA Encoding and decoding:  Example: 1 sends -1, 2 sends -1, 3 silent, 4 sends +1  Each number is multiplied by its chip and sent onto the channel where the signals are linearly combined  Eg: (-1 -1 0 1)* A where  A = {[1 1 1 1], [1 -1 1 -1], [1 1 -1 -1], [1 -1 -1 1]} a 4x4 matrix  This gives the output signal: [-1 -1 -3 1]

129 CDMA Remember the actual modulation scheme used has to support this sort of linear addition. So BPSK could be used for eg but not 8 PSK. BPSK for {0,1} is same as ASK for {+1, -1}. 16 QAM could not be used for example.

130 Decoding at station Take inner product with stations spreading code This is correlation and returns the signal energy for a perfect match Walsh tables: see page 389

131 Connecting Devices (placeholder)‏ Passive hub – below physical Repeater or Active Hub (Physical)‏ Bridge (Data link) – generates tables of destination addresses reachable Router (Network)‏ Gateway (Application)‏

132 Things to cover CDMA in matrix format Alternatives to CDMA

133 Connecting LANs, Backbone Networks and Virtual LANs Connecting devices  AGatewayA  T  NRouter or three layer switch  DLBridge or two-layer switch  PRepeater or hub Passive hub Collision domain: the regions in which collision can occur Broadcast domain: the region accesible by broadcast at layer 2

134 Connecting Devices What each of these means  Passive hub: Just a connector between devices. Eg Star-topology Ethernet LAN  Repeater Operates only in the physical layer As signals propagate, they attenuate Repeaters at the physical layer regenerate the bit pattern as it is transmitted Repeaters can extend the physical length of the LAN Repeater cannot connect two LANs of different protocols

135 Connecting Devices Repeaters (physical)‏  Does not connect 2 separate LANs; just connects 2 segments of the same LAN  Repeaters cannot connect two different LANs of different protocols (no processing of frames)‏  A repeater is a 2-port node on a LAN segment. Forwards any frames it receives to the output port and the other LAN segment  Diagram: 2 LAN segments connected by level 1 device (page 446)‏

136 Connecting Devices Repeater is not amplifier. Explain this. Repeater regenerates signal within certain noise margin Active Hub: multiport repeater. Used in star topology on Ethernet. Hub diagram: page 448 Bridge: used in physical and datalink layer  Physical layer: regenerates signals  Datalink layer: examines source and destination addresses in the frame  Drops erroneous, badly formed frames  Does not control the size of the broadcast domain

137 Connecting Devices Bridges  Bridges are able to filter. Checks destination address to decide whether to forward or drop a frame. Bridges are not routers! Bridges operate by flooding, not by actually locating the destination node within the target LAN segment. Hence their utility is limited to Local Area Networks  Bridge has multiple output ports; contains a table that decides which port to forward the frame to  Bridge can be used to connect two LANs, or 2 LAN segments  Bridge does NOT change physical addresses in a frame

138 Connecting Devices Bridge does not change MAC addresses in a frame Transparent Bridge: (mostly used in Ethernet)‏  Called a transparent bridge because it has no physical addresses. Just accepts and forwards frames as though it wasnt there. Uses: Qos, traffic shaping, filtering, security, etc. Simple to make a network bridge too – use a computer with 2 NIC cards _ bridgeutils under Debian Linux  Nodes (stations) on a LAN are completely unaware of the bridge's existence  Reconfiguration is unnecessary if a bridge is added/removed (?)‏  Transparent bridge:  Frames must be forwarded from one station to another  Fowarding must be automatically learned  Loops must be avoided  Diagram: page 448. Bridges connect LANs or LAN segments

139 Connecting Devices Transparent Bridges: Isolates collision domains while connecting network segments (and therefore intelligently extending the broadcast domain)‏  Forward frames correctly  Forwarding tables: Static – disadvantages? Source addresses used to build forwarding table  Loop problem Transparent bridges can theoretically be used to bridge between incompatible LAN types. This is an area of ongoing research: “Transparent interconnection of incompatible local area networks using bridges” - IEEEXplore. Cisco has an interesting article at: http://www.cisco.com/en/US/docs/internetworking/technology/handbook/Mixe d-Media-Bridging.html Transparent bridges for eg can be used to connect betwen 802.11 and 802.3 Ethernet networks

140 Connecting Devices Learning: by flooding and examination of source address. Examing destination address provides no information on location of destination node! Draw a diagram for learning: 3 LANs connected by a network bridge, whose tables are initially empty (page 450)‏

141 Bridges Loop problem: page 450 Loop problem is avoided by setting up a loopless logical topology on top of the physical topology This is achieved using the spanning tree protocol

142 Spanning Tree protocol In graph theory, a spanning tree is a graph in which there is no loop. Every LAN (segment) can be reached from another LAN (segment) through one path only. Physical topology cannot be changed, but a logical loopless topology can be overlaid on this physical topology by intelligently blocking bridge ports.

143 Spanning Tree protocol Draw a diagram of multiple connected LANs and the bridges connecting them. Represent LANs and bridges both as nodes (there are many possible approaches to implementation of spanning tree)‏ Can also show LAN as node and bridge as connector We need a cost associated with each component of the path (connector between LAN to bridge or bridge to LAN)‏

144 Spanning Tree Protocol The cost can be anything: minimum hops, minimum delay, max bandwidth etc Choose by priority when 2 bridge ports tie in this metric in distance from root node. Or choose randomly In the textbook: distance or hop count = +1 from bridge to LAN, 0 from LAN to bridge (this counts the number of rebroadcasts a frame would need as it propagates through the network)‏

145 Spanning Tree Protocol Find the spanning tree like this:  Choose root bridge by priority on MAC address or built in ID address (choose lowest, for example)‏  The algorithm is a distributed algorithm that runs on all bridges at the same time  The shortest path is found from the root bridge to every other bridge. This is the path that will be used for routing to target LAN  Shortest paths: form shortest tree  Based on the spanning tree, the bridge ports are divided into forwarding and blocking

146 Spanning Tree Protocol Bridges keep communicating with each other at periodic intervals (usually 2s for Ethernet switches). This allows the spanning tree to be changed in case of bridge outage Bridges communicate using special frames called BPDUs (Bridge protocol data units)‏

147 Source Routing Bridges When redundant bridges are present, source routing is used Frame contains addresses of bidges that the frame must visit Bridge addresses obtained by special frames by node Interconnection of different LANs: Frame format, max data size, data rate, bit order, security etc

148 Routers 3 layer device. A layer 3 switch Connects LANs and WANs on the internet Three-layer switch = fast and sophisticated router that can handle thousands of connections with fast lookup Gateway: 5 layer switch. My wireless ADSL modem is also a gateway from my home network to the internet

149 Backbone netwoks A LAN that connects LANs together through bridges Bus backbone – LANs connected through bridges Star backbone – LANs connected through a multiport switch in star topology Remote LANs may be connected over point-to- point connections like PPP or ADSL

150 Network Layer Network layer communication: host-to-host (between computers on the internet)‏ Global addressing scheme required for communication between computers on heterogenous network types Logical address is a global address. Also called IP address. IP: Ipv4 or IPv6

151 IPv4 addresses 32 bit address. Uniquely and universally identifies the connection of a device to the net Unique. 2 different nodes on the internet can never have the same IP address. This is violated in very special cases as shown later Routers with m connections to the net have m internet addresses. ??Does this make sense?

152 IPv4 Address space: total number of addresses used by the protocol. 2^32 in theory Actual number of available addresses is much less We can write IP addresses in binary or dotted notation. Standard: do not write leading zeros in dotted notation

153 IPv4 addressing Classful addressing: Divide the address space into classes 5 classes: A, B, C, D, E First byte of each class:  A: 0xxxxxxx  B:10xxxxxx 2 nd byte  C:110xxxxx 2 nd byte 3 rd byte  D:1110 + fill in all rest to find addresses in this block  E:1111 + fill in all rest to find addresses in this block

154 IPv4 addressing Class A: 128 blocks, 2^24 addresses within each block Class B: 64K blocks, block size = 64K Class C: 2^21 blocks. 256 in each block Class D: 1 block only Block size = 2^28 (multicast)‏ Class E: 1 block only Block size = 2^28 (reserved)‏

155 IPv4 addressing Class A: large organisations B: midsize organisations with tens of thousands of attached hosts C: small organisations D: multicast addresses E: reserved for future use

156 IPv4 addressing Classful addressing: many addresses are wasted In A, B, C classes, the IP addresses may be divided into netid and hostid Netid: identifies group. Hostid: identifies node within group We can also use a mask (pattern of 1's and 0s) to extract netID and hostid

157 Ipv4 addressing Class A: 11111111 oooooooo oooooooo oooooooo Class B: 11111111 11111111 00000000 00000000 0000000 Class C: 11111111 11111111 111111111 000000000 We can write the address masks in dotted decimal notation also

158 IPv4 Dotted decimal notation: 255.0.0.0, 255.255.0.0, 255.255.255.0 CIDR: Classless interdomain routing notation, used in classless routing CIDR: /8, /16, /24 Subnetting: if a large block of addresses was granted to an organisation, it could split this into smaller blocks called subnets

159 IPv4 ?subnetting increases the number of 1s in the mask Supernetting:  A time came when A and B addresses were depleted. Class C blocks were combined to make larger range of addresses  ?Supernetting decreases the number of 1s in the mask? How is this?  /24 --> /22

160 IPv4 Classful addressing is obsolete. Replaced with classless addressing IANA - IANA controls numbers for protocols, the Country Code Top Level Domains and maintains the IP Address allotments.

161 ipv4 Classless addressing: gets rid of the problems of classful addressing Ca 1993 Addresses are still granted in blocks to organisations Size of block varies based on nature and size of entity

162 ipv4 Eg: single house only 2 addresses, organisation 1000s of addresses Restriction: Block is made of contiguous addresses, Number of addresses in block is a power of 2, First address must be evenly divisible by number of addresses (what does this mean?)‏

163 ipv4 First address: convert to decimal and divide by 16, should leave no remainder. Controls granularity – 16 addresses at a time Classless addressing: mask -Mask is a 32 bit number with left contiguous 1s and the rest 0. Mask represented x.y.z.t/n n between 0 and 31 Address block completely specified by first address and /n

164 ipv4 Number of addresses in block = 2^(32-n)‏ Network address:  First address in group nomally (not always) treated as special address  This special address is called the network address and defines the organisation network. Defines organisation address to rest of the world  First address is the one used by routers to direct information sent from outside

165 ipv4 Router connects organisation network to the internet. Router has 2 network addresses: One belongs to user network, one belongs to network on the other side. IP addresses have hierarchy, like phone numbers (Area code, exchange, user id)‏

166 ipv4 2 level hierarchy: no subnetting When no subnetting, only 2 levels of hierarchy N bits: prefix – organisation ID. 32-n bits – suffix – host address 3 levels of hierarchy – with subnetting If organisation possesses large numbers of addressing – divide into subnets

167 ipv4 Subnets: rest of the world sees only 1 network, internally there are many smaller networks All messages sent to router that connects network to internet. Router redirects to approporate subnet Subnets specified my masks Eg: suppose organisation has 17.12.40.0/26. 64 addresses available

168 ipv4 If we want to divide into subnets of 32, 16, 16 then masks are /27, /28, /28 More levels of hierarchy obviously possible – like for ISPs ICANN: Internet corporation for assigned names and numbers – this 117.192.231.1

169 ipv4 Address depletion  Mobile devices, always on connections, more users and networks, inefficient address use, virtualization

170 Ipv4 Examples of subnets etc Example: organisation given the block 17.12.40.0/26 – this means 64 addresses for the whole network Split into subnets: 32+16+16. Subnets specified by IP address/mask If we want 3 subnets of size 32, 16 and 16, then do the following

171 Ipv4 Want to divide the network into 3 subnets: 17.12.40.0/26 is the network. Divide into 3 subnets Size 32: n1 = 27, n2 = 28, n3 = 28 Choose addresses as follows:

172 Network Address Translation (NAT)‏ Originally, most small businesses and individual users used dial up connections. Connection was for a specified period of time. Now, always on ADSL or cable connections are being used. Many IP addresses are required per subscriber. With the shortage of addresses, this is a serious problem.

173 NAT Network Address Translation: large set of addresses used internally to the network, but a small set of addresses show up on the public Internet. IANA, ICANN provide three address spaces for private networks. 10.0.0.0 to 10.255.255.255 - 2^24

174 NAT 172.16.0.0 to 172.31.255.255 – 2^20 addresses – larger than class B by 4 times 192.168.0.0 to 192.168.255.255 – 2^16 addresses Everyone knows that these addresses are for provate use only (dropped by routers on the Internet)‏

175 NAT How a NAT works: hides many IP addresses inside a network while displaying only one or a few IP addresses to the public internet. Diagram: draw router with two ports, router shows some external address(es), some internal addresses exist on the network from the provate address space.

176 NAT The NAT runs software to enable this hiding to happen So: all outgoing packets/datagrams have their source address changed to the NAT address. All incoming packets have their destination addresses changed to the appropriate provate address.

177 NAT Obviously, address translation is not trivial: how to correctly assign the private address to the incoming packets with the NAT address as the destination address? Replacing source address for outgoing packets is of course easy. So, use a table in the NAT router.

178 NAT There are many ways to implement NAT, wach has its limitation, so we use increasingly sophisticated techniques to implement NAT. First technique: NAT-enabled router displays only 1 IP address externally. When a host on the private network connects to a host on the Internet, an entry is made in a table with private source address and external destination address

179 NAT When return packet comes from host, then NAT uses table to route to the correct node on the private network. This has some obvious limitations: 2 hosts cannot connect to the same external host, outside nodes cannot initiate communication – so “push” email servers don't work for example.

180 NAT Method 2: Use a pool of IP addresses. Now what happens is the following: use for example four global addresses for the NAT router. If 2 nodes connect to the same external host, assign them different external IP addresses. But now at most 4 hosts can connect to the same external host, so still problem

181 NAT NAT: Use both IP addresses and port numbers Port number is used to indicate which node in the private network the incoming packets should be routed to. Table now contains: Private address, private port, external address, external port, transport protocol (TCP or UDP). Basically make your NAT smart by using layer 4 as well!!

182 Network Layer: Delivery, Forwarding, Routing IP: unreliable service: does not inform if failure. Just “best effort” Packet: any data formatted as a packet. Datagram: formatted, framed data sent over an unreliable service What is connection oriented and connectionless?

183 Delivery, Forwarding, Routing Delivery:  Getting packets to their destination using the underlying networks  Direct delivery: both source and destination are on the same physical network  Indirect delivery: source and destination are on different networks, connected by routers  Any delivery contains 1 direct delivery and the rest are indirect deliveries

184 Delivery, Forwarding, Routing Forwarding  Forwarding means sending across a packet or datagram from hop to hop Forwarding techniques:  Next hop method; complete route method  Remember, every hop (router) contains a routing table to enable it to forward packets

185 Delivery, Forwarding, Routing Network specific routing: just enter the network address in the routing table Host specific: enter the complete host address in the table Default routing: use default path and default network address for routing

186 Delivery, Forwarding, Routing Forwarding process:  How forwarding works: Mask, network address, next hop, interface, ARP etc Draw Fig 22.6 for a network Address aggregation  Network mask indicates routing information. For “subnetworks” we can aggregate routing information  Aggregate networks with matching network prefix

187 Deliver, Forwarding, Routing Even if one network appears to be a “subnetwork” of another, they many not be geographically colocated. Still, address aggregation is possible using longest mask matching. Put the longest mask first in the table for the intermediate router

188 Delivery, Forwarding, Routing Hierarchical Routing  To solve the problem of gigantic routing tables  Use hierarchical routing  Actual internet structure: International and national ISPs, regional ISPs, local ISPs. - networks - subnet Exploit this to reduce table size (refer wiki*)‏  Geogaphical routing – use huge IP address space for large geographical areas (continents)‏

189 Delivery, Forwarding, Routing Routing table  Static routing table  Dynamic routing table: populated by RIP, OSPF, BGP. Done dynamically whenever there is a change in network topology or connectivity.  Mask, nw address, next hop address, interface, flags, reference count, use  Flags: U, G, H, D, M. U = Up, G = Gateway?, H = Host specific, D, M – redirection specific information (ICMP)‏

190 Unicast Routing Protocols Routing protocol: a combination of rules and addresses that allows routers on the internet to inform each other of changes. Dynamic routing protocols: RIP, OSPF, BGP Which emerging path from the router is optimum? Metric is defined. Compare satellite, fiber optic etc. Intra and interdomain routing – because a single routing protocol cannot update all routers on the internet

191 Unicast routing protocols So whole net is divided into autonomous systems. Domains are under the authority of a single administration What is the capability difference between inter and intradomain routing protocols? Distance vector, link state – these are intradomain routing protocols. Path vector: interdomain. Distance vector: RIP. Link state:

192 Unicast Routing Protocols Routing protocols: a set of rules/procedures that allows for routing/connectivity information to be shared among the routers on the internet Optimization: there may be several emerging paths from a router node to the target network. In today's internet, multipath routing is rarely used. We need to choose the best path based on locally available information so we use a metric for emerging paths

193 Unicast Routing Protocols The routing tables are populated by algorithms such as OSPF, BGP, RIP (these are open protocols) and some proprietary protocols. Metric: minimum delay, maximum bandwidth, least RTT, type of link, etc Inter and intra domain routing: AS = autonomous system – a subdivision (of networks and routers) under the authoity of a single administration.

194 Unicast Routing Protocols Inside an AS: use one or more intradomain routing protocols to set up the routing tables. Information is exchanged between AS by interdomain routing protocols. Intradomain protocols: Distance vector, link state. Interdomain: path vector. RIP: distance vector. OSPF: link state protocol. BGP: path vector protocol.

195 Unicast Routing Protocols Distance Vector Routing  Least cost = minimum “distance”. What is distance??  Distance vector. Vector = column or table of distances to all reachable nodes. Also next hop address is included.  ??What is the difference between distance vector and RIP?

196 Unicast Routing Protocols Size of table = number of nodes (routers) in the internet. Easy to fill up routing tables if we have complete information on network topology. The purpose of routing protocol is to disseminate this information throughout the network Initially, every node knows only its cost to immediate neighbours.

197 Unicast Routing Protocols In reality we may not even know the names (IP addresses) of remote routers at the start. These entries are assumed to be unfilled in the routing tables. At the beginning: fill up only cost to immediate neighbours. Next, begin an automatic process of distibution of this information through the network.

198 Unicast Routing Protocols Transmission between routers: only first 2 columns (target router, cost). Next hop is intelligently assigned by the receiving node. Cost is also intelligently updated. Write algorithm for this. Doubts: multiple IP addresses, so how to address routers uniquely?

199 Unicast Routing Protocols ??How to analyze performance of distance vector protocol? When to update: periodic update, triggered update Instability in DV protocol: 2 node loop instability

200 Unicast Routing Protocol 2 node instability in the Distance Vector protocol  How does this happen? Very simple if we examine a topology that contains 3 nodes, and one node fails (page 663)‏  What are the effects of this – routing tables reflect inaccurate data. It takes a long time for the whole network to realize that a router has gone down. A lot of packets are lost trying to get through routes that are dead. These packets should have been dropped right at the source.

201 Unicast Routing Protocols Interesting question – what is the energy inefficiency caused by router failure? - How long does it take to propagate to the rest of the system etc. Now we understand the problem, and the symptoms. What are the solutions? Redefine infinity – this constrains network size, Split horizon – this works as follows: don't send routing table information to nodes which are the next hop. Why is this called split horizon?

202 Unicast Routing Protocols Split Horizon + Poison Reverse:  Split Horizon disadvantages: since routing tables are updates dynamically, routing entries are killed after a timeout by the network layer software. This means that wen split horizon is used, if we update without including rows from nodes with path through destination node, then destination node has no information if the route was lost completely or if routing table infomation was lost only because of split horizon strategy. ??So what??  As it doesn't know, it doesnt know whether to delete its own route or not. And the other question to ask is: when will the disabled router's status ever propagate to the rest of the network? Why isnt this a problem with distance vectoring without split horizon? So many questions to ask

203 Unicast Routing Protocols To counteract this phenomenon, we include something called poison reverse. As the name implies, it seems to mean, spread information about disabled routes as quickly as possible to the rest of the network. Basically flood through the rest of the network. We do this by advertising the distance as infinity from the disabled node. This is reverse broadcast by A (the receiver) as soon as it hears it, “reverse poison”

204 Unicast Routing Protocols Three node systems: stability not guaranteed. Beautiful 3 node instability problem – how to analyze this? X dies, A informs B and C, C's packet lost, so instability if the flood fails to even one node. Interesting!

205 Routing Information Protocol Is an implementation of Distance Vector protocol. Uses hopcount as the routing metric Infinity is set at 16 to pevent 2-node instability problem to some extent. Maximum hop count also prevents routing loops from occuring Hop count of 16 is considered infinite distance

206 Routing Information Protocol RIP: initial retransmit time was 30 seconds  This caused massive traffic bursts every 30 seconds.  It was thought that randomization of timer would minimize this. But, not possible as it was shown that even initially randomized times would eventually converge. Why? Read this paper!!

207 Routing Information Protocol even though RIP is a layer 3 protocol, it relies on UDP for transport at port 530!! (Runs an application level process as well). In practise, destination addresses are network addresses. This changes nothing in DV protocol. Next hop is the IP address of the router to which to send to.

208 DV and RIP Can we do a performance analysis of DV and RIP vs flooding? Think about this!! RIP example RIP – 1988. Superseded by more advanced DV protocols like EIGRP (proprietary Cisco DV protocol), OSPF, ISIS (linkstate protocols) that show superior scalability and convergence times.

209 RIP - example Page 666 Fig 22.19. To construct this example:  Draw a topology of some routers connected by links.  Within the links, indicate the presence of networks by bars  Draw bars to indicate networks connected only to one router.  Assign network addresses. Assign router IP addresses based on network addresses.  Populate routing tables. Routing tables are automatically updated and contain: destination address, hopcount (cost or metric) and next hop  Usual DV updating occurs.

210 DV and RIP We saw various kinds of instability problems with plain DV. RIP prevents 3 node instabilities by using a holddown timer (180 seconds). Prevents 2 node instabilities using Split Horizon and Poison Reverse. Counting to infinity --> Redefine infinity  Lower settling time --> Split horizon (do not readvertise through the same interface that you got some routing information).  Route poisoning: flood unreachability information through the network. But this is costly. Split horizon: prevent count to infinity by preventing old route data from being resent. But routing loops could still be present.  To reduce the possibility of routing loops and reduce route convergence time, split horizon with poison reverse is introduced. If B's route to X is through A, send metric infinity when updating A. Reason: B says to A: never route through me.  Remember: just split horizon prevents 2 node problem but not 3 node problem.

211 DV Three node instability RIP: Routing information protocol

212 Link State Routing Create the whole topology at each node.

213 Reading Read “End – to End Routing Behaviour in the Internet” for an interesting discussion of routing pathologies.

214 Linkstate Routing Drawbacks of DV routing: Why LS routing: LS: each router tells the world about its neighbours. DV: Each router tells its neighbours about the world. LS: Apply Djikstra after recovering full network topology

215 Unicast Routing Protocols Intradomain Routing Protocol: Routing Information Protocol. Remember, the networks are the links in the diagrams used in Furuozan!

216 Unicast Routing Protocols OSPF: Open Shortest Path First – an intradomain outing protocol based on link state routing. Domain is an autonomous system AS --> divided into areas: collection of networks, hosts and routers all within an AS. AS can be divided into many areas

217 Unicast Routing Protocols Area is flooded with routing information Border area routers summarize (routing) information about an area at the boundaries of an area and pass onto other areas. Backbone: a special area within the AS to which all other areas are connected Routers inside backbone – called backbone routers

218 Unicast Routing Protocols Metric = cost of each route OSPF: 4 types of links: point to point, transient, stub and virtual P2p – a single link with no hosts connects 2 routers Transient – 1 network with several routers attached

219 Unicast Routing Protocol In transient topology, one of the routers is called “designated router” but is also a true router. Designated router handles all the “routing between routers” during advertisement of link state. Now each router has only one neighbour – the designated router (which is taken to be the network itself)‏ Stub link: network connected to only one router Virtual link: a longer link created when a link is broken

220 Unicast Routing Protocol Path Vector Routing  Interdomain routing  One (in practise could be more) node in each AS acts as spokesman for AS – called speaker node. Advertises to speaker nodes in adjoining AS.  Speaker node advertises path, not metric. Why?  Is PV routing compatible with both DV and LS? Sharing: Just like in DV, sharing is done with other speaker nodes

221 Unicast Routing Protocols Some more about PV routing protocol

222 Unicast Routing Protocols Border Gateway Protocol  An interdomain routing protocol  Internet is divided into Autonomous Systems  Eg of AS: local ISP – etc – a collection of networks, hosts and routers.  Types of AS: Stub AS (connected to only one router), Multihomed AS (connected to several routers but still acts only as source or sink – no transient traffic allowed)‏  xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxx cxxxxxxxxxxxxcxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvv vvvvvvxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccc

223 Unicast Routing Protocols - BGP Transit AS: multhomed AS that allows transient traffic. Eg national and international ISPs (these are also called internet backbones). BGP: returned information from speaker nodes in AS contain all sorts of information that can be used for policy routing – eg ORIGIN (which protocol), PATH (what is the whole path), etc Transport to BGP is provided via TCP and semipermanent links are formed.

224 Multicast Routing Protocols Unicast – destination is a single host. Multicast – destination is multiple hosts. Broadcast – destination is the whole network. Unicasting – easy to understand. Router forwards through only one of its interfaces Multicasting – we can do this more efficiently than repeated unicasting. Forwarding by a router is through several interfaces

225 Multicast Routing protocols There is a difference between multicasting and multiple unicasting. Multiple unicasting – copies of a packet (with different destination addr.) are presented to all routers, including the first router. Why would we want multicasting routing available? What kinds of network applications would generate multicast traffic?

226 Multicast Routing Protocols We call the groups of intended destinations a multicast “group” We have to optimize routing (find shortest path tree for every group of users). Is this more optimal than using the unicast trees? Think about this.. In multicast routing, each router needs to construct a tree for each group to tell it to forward on which interfaces

227

228 Source Based Trees in Multicast Routing Each router has a tree for each group. The tree is a shortest path tree It is assumed that the members of a group are “loyal” - do not change with time (although network conditions can change)‏ To understand this, draw a figure with multiple networks, connecting routers, and groups.

229 Multicast Routing Protocols 2 approaches are available: source based trees – this means every router on the network has trees for every multicast group, and traffic originating at any router is sent to all destinations in the multicast group Group shared tree: multicast traffic is encapsulated into a unicast packet, and sent to a special router called the rendezvous router or core router that possesses multicast entries for all groups

230 Multicast Routing Protocols Now we understand how the routing tables should look for multicasting. How are these tables generated? They are generated by multicast routing protocols – the problem is much more involved than unicast routing

231 Multicast Routing Protocols MRP--> Source Based Tree --> MOSPF, DVMRP, PIM-DM MRP--> Group Shared Tree --> PIM-SM, CBT What are the advantages or disadvantages of group shared trees to source based tree? Why are these called so?

232 MOSPF MOSPF: multicast link state routing Unicast link state: acquire whole network topology, apply Djikstra's algorithm to find minimum spanning tree with node as root. Unsuitable for multicast: why? No path aggregation used? Discuss this.. In multicast link state – we use a source based tree approach

233 MOSPF How multicast link state routing works: In addition to link costs, nodes also inform of which groups have members present on those links. This is taken into consideration when building the tree. Simple to build the tree: aggregate paths of all destinations(?) The way Djikstra's algorithm works this should already ensure an optimal multicast spanning tree is generated. So extension of unicast to multicast is straightforward

234 Multicast Routing Protocols A real implementation of multicast linkstate routing is called MOSPF (multicast open shortest path first). MOSPF not used any more – deprecated by OSPFv3. How MOSPF works: Now every group has an internet address (as discussed in Ipv4). Every router sends a “LSA” - link state advertisement reflecting various aspects of the network topology. This includes which group addresses the host on the network is connected to. When MOSPF makes its routing calculations, it uses the usual host address. MOSPF: data driven – generates the spanning tree only when it sees the data for the first time.

235 Multicast Routing Protocols DVMRP: Multicast Distance Vector Routing Protocol – an implementation of multicast distance vectoring Multicast much harder with Distance Vectoring than with LS. Why? Multicast Routing Tables are not exchanged at all in this approach. Why? Instead we locally generate multicast tables using the unicast routing tables. Why? So the multicast routing software goes through an algorithmic process of deciding which interfaces to forward through Flooding: costliest but easiest to implement. Eliminate loops by retaining packets for a while

236 Multicast Routing Protocols RPF: forward only if the reverse path is shortest path. Discuss this in detail – we consider the unicast routing table to do this. RPB: Reverse Path Broadcasting – Multiple copies may anyway be received as this is still a flood, albeit a slightly intelligent one. Now: for every network, designate a parent router (this can be decided upon), Forwarding into network is only done by the attached parent router Reverse Path Multicasting – Prune and Graft from leaf networks control the routing policy of the parent routers.

237 Transport Process to proces: process address is called port number IANA port numbers range: Well known <1024, Registered –49151, Dynamic – any application can bind to these ports IP: unreliable

238 udp Connectionless, unreliable transport protocol Many services use udp. Many dont Only network utilities use raw ip without transport Udp: dest port, length, checksum ??This should be header Checksum = pseudoheader + udp header + data

239 udp Look at example in fig 23.11 for udp checksum calculation Lack of flow and error control Queueing – port unreachable message sent if queue is not set up

240 tcp Connection oriented, reliable transport protocol Tcp – stream oriented protocol – stream of bytes is sent; sending and receiving buffers ae used to match speeds; use a circular array as a buffer – this is hopefully the best way to buffer Segmentation – done at transport layer – segment can be any size within limits

241 tcp Full duplex communication – traffic flows both ways 2 numbers used – sequence number, acknowledge number – refers to byte number since tcp is byte oriented stream protocol Numbering starts randomly to prevent spoofing

242 tcp So segment contains sequence number field. Value of the sequence number for first byte is put in the tcp packet Acknowledgement: cumulative ack is used. This means acked upto currently received packet Flow control: flow and error control is byte oriented

243 tcp Tcp: also does congestion control. If you want to learn about this read the textbook Tcp packet is called a segment: source port, destination port, seq no, ack no, HLEN?, Reserved?, window size, urgent pointer?, options, padding, ack+data can be piggybacked together

244 tcp Tcp header contains flags in control field: URG: urgent pointer valid, ACK: acknowledge no is valid, PSH: “push the data?”, RST: reset the connection, SYN: synchronize sequence numbers, FIN: terminate the connection Window size: size of receiving window. Which protocol is used?

245 tcp Checksum: same procedure as udp. (add all, take 1s complement)‏ Urgent pointer: “urgent data” to be sent. Is used only when urgent flag is set in control field. This pointer is an offset that must be added to current segment sequence number to get last urgent byte. When could this be used?

246 tcp Tcp connections: tcp is connection oriented. Tcp: data transmitted in full duplex mode. This needs 3 way handshaking First step: passive open: server binds to port on a local machine Second step: Active open: client binds to this open port on the server

247 tcp Active open: involves 3 way handshake Only need to understand sequence number, acknowledgement number, flags. Client sends SYN (synchronize). SYN flag is set, no data. Consumes 1 sequence number (byte). SYN cannot carry data, but consumes one byte as sequence number

248 tcp Server: sends SYN+ACK back to client. SYN and ACK bits are sent. This means open up the reverse connection while acknowledging the forward connection. Consumes one sequence Client: sends ACK: ACK flag set. ACK no is the same as the incoming SYN no. ACK consumes no sequence.

249 tcp ACKs without data carry no sequence number Remember 2 sequence numbers are used for bidirectional communication! Here in tcp this is called seq and ack numbers. SYN flooding:  Spoof source IP, SYN requests sent to a server. Server tries to respond with SYN+ACK. Many solutions: eg use cookies

250 tcp Tcp: bidirectional data transfer PSH flag tells TCP to “push” all data to the server application as soon as it is received. Server does not set PSH flag in its packets to clients. Examples of PSH enabled applications – chat Urgent data: asks TCP to send data out of order to application

251 tcp Think of examples when urgent flag is needed. Connection termination: also with 3 way handshake (mostly)‏ Why 3 way handshaking: an acknowledgement of an acknowledgement First segment: sets FIN flag (finished)‏ Of course FIN can include data

252 tcp FIN: consumes 1 sequence number if it does not carry data Server: FIN+ACK. As usual, consumes 1 sequence number if it does not consume data. Client: ACKs the FIN+ACK. Half close also possible – one end stops sending but keeps receiving Amazing: half close can be accepted by server

253 tcp Half close can be accepted by server by sending ACK and not FIN (for its own connection). So server can still send data Important to see how sequence numbers change: think about this!! Flow control: between Go Back N and Selective Repeat protocols. Like Go back N because doesnt use NAK. Like SR because rx window is larger for reordering

254 tcp Sliding window tcp is byte oriented. Frame oriented at layer 2. tcp sliding window is of variable size. Why? Discuss the tradeoffs of this

255 tcp Tcp error control  Checksum, ack, timeout  Why ACK do not consume sequence numbers: because they are not acknowledged!!  Retransmission: timeout or 3 duplicate ACKs  RTO based on RTT and is dynamic. RTO also uses backoff similar to DLL backoff


Download ppt "Computer Communication Networks 7A and 7B PESSE Instructor: Hari."

Similar presentations


Ads by Google