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

Computer Communication Networks

  • Upload
    leone

  • View
    106

  • Download
    1

Embed Size (px)

DESCRIPTION

7A and 7B PESSE Instructor: Hari. Computer Communication Networks. 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) ‏. Introduction. - PowerPoint PPT Presentation

Citation preview

Page 1: Computer Communication Networks

Computer Communication Networks

7A and 7B

PESSE

Instructor: Hari

Page 2: Computer Communication Networks

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)

Page 3: Computer Communication Networks

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

Page 4: Computer Communication Networks

History of the Internet History of the internet: see

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

Page 5: Computer Communication Networks

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

Page 6: Computer Communication Networks

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

Page 7: Computer Communication Networks

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?

Page 8: Computer Communication Networks

Layered Tasks: The Postal System

Page 9: Computer Communication Networks

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

Page 10: Computer Communication Networks

Layers of the OSI model

Application

Presentation

Session

Transport

Network

Data link

Physical

Page 11: Computer Communication Networks

How OSI Works

Each layer provides some “services” (routines)

On a single node (computer), each layer uses

the services of the layer below it; there is an

interfaceinterface 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

Page 12: Computer Communication Networks

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

Page 13: Computer Communication Networks

OSI: Physical Layer Physical Layer deals with mechanical and

electrical specificationsspecifications 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)

Page 14: Computer Communication Networks

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

Page 15: Computer Communication Networks

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

Page 16: Computer Communication Networks

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?

Page 17: Computer Communication Networks

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

Page 18: Computer Communication Networks

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.

Page 19: Computer Communication Networks

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

Page 20: Computer Communication Networks

OSI: Application Layer

Enables the user (human or software) to access network services.

Applications: email, chat, file transfer, web

browsing, etc

Page 21: Computer Communication Networks

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

Page 22: Computer Communication Networks

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

Page 23: Computer Communication Networks

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)

Page 24: Computer Communication Networks

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

Page 25: Computer Communication Networks

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

Page 26: Computer Communication Networks

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

Page 27: Computer Communication Networks

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!)

Page 28: Computer Communication Networks

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

Page 29: Computer Communication Networks

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?

Page 30: Computer Communication Networks

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

Page 31: Computer Communication Networks

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

Page 32: Computer Communication Networks

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

Page 33: Computer Communication Networks

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: [email protected]

http://www.google.com

Page 34: Computer Communication Networks

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

Page 35: Computer Communication Networks

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

Page 36: Computer Communication Networks

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

Page 37: Computer Communication Networks

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)

Page 38: Computer Communication Networks

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

Page 39: Computer Communication Networks

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

Page 40: Computer Communication Networks

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)

Page 41: Computer Communication Networks

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

Page 42: Computer Communication Networks

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)

Page 43: Computer Communication Networks

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)

Page 44: Computer Communication Networks

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

Page 45: Computer Communication Networks

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

Page 46: Computer Communication Networks

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

Page 47: Computer Communication Networks

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.

Page 48: Computer Communication Networks

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

Page 49: Computer Communication Networks

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)

Page 50: Computer Communication Networks

Flow and Error Control

Error control

Error control = error detection + error correction

If error, please retransmit frame: this is called ARQ

(Automatic Repeat Request)

Page 51: Computer Communication Networks

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

Page 52: Computer Communication Networks

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)

Page 53: Computer Communication Networks

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.

Page 54: Computer Communication Networks

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

Page 55: Computer Communication Networks

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!!

Page 56: Computer Communication Networks

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?)

Page 57: Computer Communication Networks

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%

Page 58: Computer Communication Networks

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)

Page 59: Computer Communication Networks

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.

Page 60: Computer Communication Networks

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 5th is dropped.

Sender comes to know about this only after the 10th 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.

Page 61: Computer Communication Networks

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.

Page 62: Computer Communication Networks

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.

Page 63: Computer Communication Networks

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.

Page 64: Computer Communication Networks

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

Page 65: Computer Communication Networks

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

Page 66: Computer Communication Networks

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?)

Page 67: Computer Communication Networks

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.

Page 68: Computer Communication Networks

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

Page 69: Computer Communication Networks

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.

Page 70: Computer Communication Networks

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)

Page 71: Computer Communication Networks

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.

Page 72: Computer Communication Networks

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

Page 73: Computer Communication Networks

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

Page 74: Computer Communication Networks

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

Page 75: Computer Communication Networks

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

Page 76: Computer Communication Networks

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)

Page 77: Computer Communication Networks

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

Page 78: Computer Communication Networks

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

Page 79: Computer Communication Networks

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

Page 80: Computer Communication Networks

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

Page 81: Computer Communication Networks

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

Page 82: Computer Communication Networks

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)

Page 83: Computer Communication Networks

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.

Page 84: Computer Communication Networks

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.

Page 85: Computer Communication Networks

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 TB

If this again collides, tx tries again. Tries only a finite

number of times, Kmax

(maximum number of

retransmission attempts) so as not to block the

channel. After that it must give up and try later.

Page 86: Computer Communication Networks

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*Tp, where T

p is the maximal

separation time between 2 stations.

Page 87: Computer Communication Networks

Pure ALOHA: Tx algorithm (Binary Exponential Backoff)

Variables: K = no of attempts, Tp = maximum frame propagation time.

Tfr = average frame transmission time. We can use either Tp or Tfr 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<=Kmax then wait TB (TB =

R*Tp[conservative] or R*Tfr) where R is a random number between 0

and 2^K-1 (this increases the backoff progressively and

exponentially). If K>Kmax then give up and end.

Go to step 3

Page 88: Computer Communication Networks

Problem on Pure ALOHA

Stations separated by 600 km. Tp = 2 ms, the

propagation time between stations.

Now we calculate the backoff value:

Attempt 1: K=1. Choose random no in {0, 1}. TB is 0

ms or 2 ms

Attempt 2: K=2. Choose random number in

{0,1,2,3}. TB 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.

Page 89: Computer Communication Networks

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*Tframe

where Tframe

=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)

Page 90: Computer Communication Networks

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.

Page 91: Computer Communication Networks

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 Tframe

. 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 Tvul

, or else there will be

collision

Page 92: Computer Communication Networks

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.

Page 93: Computer Communication Networks

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%

Page 94: Computer Communication Networks

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

Page 95: Computer Communication Networks

Random Access: Slotted ALOHA

Now time is divided into slots of Tframe

.

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)

Page 96: Computer Communication Networks

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, = Tp, the propagation time

Look at Fig 12.9 to understand vulnerable time

Page 97: Computer Communication Networks

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 Tp.

Disadvantages: Reduces the channel utilization

during the wait period.

p-Persistant: Use a slotted approach, slot

duration should obviously exceed Tvul

,

Page 98: Computer Communication Networks

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)

Page 99: Computer Communication Networks

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.

Page 100: Computer Communication Networks

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

Page 101: Computer Communication Networks

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).

Page 102: Computer Communication Networks

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.

Page 103: Computer Communication Networks

CSMA/CD: Frame Size Limitations

So Tfr>2T

p

Justification: suppose node B transmits to A,

takes Tp to reach A. Takes another T

p for worst

case collision (collision at A) to reach B again.

Hence Tfr>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)

Page 104: Computer Communication Networks

CSMA/CD

Problem:

BW=10 Mbps, Tp=25.6 uS, Tfr(min)=?

Ans: 64 bytes

Page 105: Computer Communication Networks

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.

Page 106: Computer Communication Networks

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

Page 107: Computer Communication Networks

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)

Page 108: Computer Communication Networks

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

Page 109: Computer Communication Networks

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.

Page 110: Computer Communication Networks

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<Kmax, K=K+1, go to 2

10. End

Page 111: Computer Communication Networks

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

Page 112: Computer Communication Networks

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?)

Page 113: Computer Communication Networks

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.

Page 114: Computer Communication Networks

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)

Page 115: Computer Communication Networks

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)

Page 116: Computer Communication Networks

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)

Page 117: Computer Communication Networks

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

Page 118: Computer Communication Networks

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

Page 119: Computer Communication Networks

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.

Page 120: Computer Communication Networks

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.

Page 121: Computer Communication Networks

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]

Page 122: Computer Communication Networks

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

Page 123: Computer Communication Networks

CDMA

Encoding: 0 --> -1, 1-->+1

What are the intuitive explanations for sequence

addition, inner product etc?

Page 124: Computer Communication Networks

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

Page 125: Computer Communication Networks

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)

Page 126: Computer Communication Networks

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

Page 127: Computer Communication Networks

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 ??

Page 128: Computer Communication Networks

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]

Page 129: Computer Communication Networks

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.

Page 130: Computer Communication Networks

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

Page 131: Computer Communication Networks

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)

Page 132: Computer Communication Networks

Things to cover

CDMA in matrix format

Alternatives to CDMA

Page 133: Computer Communication Networks

Connecting LANs, Backbone Networks and Virtual LANs

Connecting devices

A Gateway A

T

N Router or three layer switch

DL Bridge or two-layer switch

P Repeater or hub

Passive hub Collision domain: the regions in which collision can occur

Broadcast domain: the region accesible by broadcast at

layer 2

Page 134: Computer Communication Networks

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

Page 135: Computer Communication Networks

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)

Page 136: Computer Communication Networks

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

Page 137: Computer Communication Networks

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

Page 138: Computer Communication Networks

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

Page 139: Computer Communication Networks

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/

Mixed-Media-Bridging.html

Transparent bridges for eg can be used to connect betwen 802.11 and 802.3

Ethernet networks

Page 140: Computer Communication Networks

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)

Page 141: Computer Communication Networks

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

Page 142: Computer Communication Networks

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.

Page 143: Computer Communication Networks

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)

Page 144: Computer Communication Networks

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)

Page 145: Computer Communication Networks

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

Page 146: Computer Communication Networks

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)

Page 147: Computer Communication Networks

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

Page 148: Computer Communication Networks

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

Page 149: Computer Communication Networks

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

Page 150: Computer Communication Networks

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

Page 151: Computer Communication Networks

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?

Page 152: Computer Communication Networks

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

Page 153: Computer Communication Networks

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 2nd byte

C:110xxxxx 2nd byte 3rd 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

Page 154: Computer Communication Networks

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)

Page 155: Computer Communication Networks

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

Page 156: Computer Communication Networks

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

Page 157: Computer Communication Networks

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

Page 158: Computer Communication Networks

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

Page 159: Computer Communication Networks

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

Page 160: Computer Communication Networks

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.

Page 161: Computer Communication Networks

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

Page 162: Computer Communication Networks

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?)

Page 163: Computer Communication Networks

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

Page 164: Computer Communication Networks

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

Page 165: Computer Communication Networks

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)

Page 166: Computer Communication Networks

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

Page 167: Computer Communication Networks

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

Page 168: Computer Communication Networks

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

Page 169: Computer Communication Networks

ipv4

Address depletion

Mobile devices, always on connections, more users

and networks, inefficient address use, virtualization

Page 170: Computer Communication Networks

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

Page 171: Computer Communication Networks

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:

Page 172: Computer Communication Networks

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.

Page 173: Computer Communication Networks

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

Page 174: Computer Communication Networks

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)

Page 175: Computer Communication Networks

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.

Page 176: Computer Communication Networks

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.

Page 177: Computer Communication Networks

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.

Page 178: Computer Communication Networks

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

Page 179: Computer Communication Networks

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.

Page 180: Computer Communication Networks

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

Page 181: Computer Communication Networks

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!!

Page 182: Computer Communication Networks

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?

Page 183: Computer Communication Networks

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

Page 184: Computer Communication Networks

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

Page 185: Computer Communication Networks

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

Page 186: Computer Communication Networks

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

Page 187: Computer Communication Networks

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

Page 188: Computer Communication Networks

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)

Page 189: Computer Communication Networks

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)

Page 190: Computer Communication Networks

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

Page 191: Computer Communication Networks

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:

Page 192: Computer Communication Networks

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

Page 193: Computer Communication Networks

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.

Page 194: Computer Communication Networks

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.

Page 195: Computer Communication Networks

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?

Page 196: Computer Communication Networks

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.

Page 197: Computer Communication Networks

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.

Page 198: Computer Communication Networks

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?

Page 199: Computer Communication Networks

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

Page 200: Computer Communication Networks

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.

Page 201: Computer Communication Networks

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?

Page 202: Computer Communication Networks

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

Page 203: Computer Communication Networks

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”

Page 204: Computer Communication Networks

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!

Page 205: Computer Communication Networks

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

Page 206: Computer Communication Networks

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!!

Page 207: Computer Communication Networks

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.

Page 208: Computer Communication Networks

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.

Page 209: Computer Communication Networks

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.

Page 210: Computer Communication Networks

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.

Page 211: Computer Communication Networks

DV

Three node instability

RIP: Routing information protocol

Page 212: Computer Communication Networks

Link State Routing

Create the whole topology at each node.

Page 213: Computer Communication Networks

Reading

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

Page 214: Computer Communication Networks

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

Page 215: Computer Communication Networks

Unicast Routing Protocols

Intradomain Routing Protocol: Routing Information Protocol.

Remember, the networks are the links in the

diagrams used in Furuozan!

Page 216: Computer Communication Networks

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

Page 217: Computer Communication Networks

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

Page 218: Computer Communication Networks

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

Page 219: Computer Communication Networks

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

Page 220: Computer Communication Networks

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

Page 221: Computer Communication Networks

Unicast Routing Protocols

Some more about PV routing protocol

Page 222: Computer Communication Networks

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

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xccccccccccccccccccccccccccxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

cxxxxxxxxxxxxcxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvx

xxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

vvvvvvvvvvvvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccc

ccccccccccccccccccccccccccccccccccccccccccccccccccccc

ccccccccccccccccccccccccccccccccccccccccccccccccccccc

ccccccccccccccccccccccccccccccccccccccccccccccccccccc

ccccccccccccccccccccccccccccc

Page 223: Computer Communication Networks

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.

Page 224: Computer Communication Networks

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

Page 225: Computer Communication Networks

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?

Page 226: Computer Communication Networks

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

Page 227: Computer Communication Networks
Page 228: Computer Communication Networks

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.

Page 229: Computer Communication Networks

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

Page 230: Computer Communication Networks

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

Page 231: Computer Communication Networks

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?

Page 232: Computer Communication Networks

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

Page 233: Computer Communication Networks

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

Page 234: Computer Communication Networks

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.

Page 235: Computer Communication Networks

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

Page 236: Computer Communication Networks

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.

Page 237: Computer Communication Networks

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

Page 238: Computer Communication Networks

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

Page 239: Computer Communication Networks

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

Page 240: Computer Communication Networks

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

Page 241: Computer Communication Networks

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

Page 242: Computer Communication Networks

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

Page 243: Computer Communication Networks

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

Page 244: Computer Communication Networks

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?

Page 245: Computer Communication Networks

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?

Page 246: Computer Communication Networks

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

Page 247: Computer Communication Networks

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

Page 248: Computer Communication Networks

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.

Page 249: Computer Communication Networks

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

Page 250: Computer Communication Networks

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

Page 251: Computer Communication Networks

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

Page 252: Computer Communication Networks

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

Page 253: Computer Communication Networks

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

Page 254: Computer Communication Networks

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

Page 255: Computer Communication Networks

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