Computer Networks Introduction

75
Computer Networks 1

description

Demo

Transcript of Computer Networks Introduction

Page 1: Computer Networks Introduction

Computer Networks

1

Page 2: Computer Networks Introduction

Generic Types of Computer Networks

Depending on the number of nodes and their proximity, three types of computer networks can be identified:1.Local area network (LAN): It connects hundreds of computers, and the distance is up to a few kilometers.2.Metropolitan area network (MAN): It connects thousands of computers in a metropolitan area within a distance of hundreds of kilometers.3.Wide area network (WAN): It connects tens of thousands of computers distributed throughout a country or the world at a typical distance of thousands of kilometers.

2

Page 3: Computer Networks Introduction

Network Architecture (Layering)• To reduce their design complexity,

most networks are organized as a series of layers, i.e., network protocols are designed in terms of layered architecture (layering).

• The major advantage of layering is that it clearly delineates the responsibilities of various protocols, by dividing responsibilities hierarchically among layers, with each layer offering services needed by the layer above.

• The key to protocol families is that communication occurs logically at the same layer of the protocol in both sender and receiver, but it is implemented via services of the lower level (peer-to-peer).

7

6

5

4

3

2

1 1

2

3

4

5

6

7

Physical medium

Layer 7 protocol

Layer 6 protocol

Layer 1 protocol

3

Page 4: Computer Networks Introduction

Layering Contd.• The danger in layering is the considerable latency added to

message delivery. However, protocol families are used to define a standard, not to force how the standard is implemented.

• The most popular network architectures are OSI architecture and TCP/IP (transmission control protocol/internet protocol) architecture.

Application Presentation Application Session Transport Transport Network Network DataLink Data Link Physical Physical OSI Layers TCP/IP Layers

4

Page 5: Computer Networks Introduction

5

Page 6: Computer Networks Introduction

OSI reference model7 Application Application 7

6 Presentation Presentation 6

5 Session Session 5

4 Transport Transport 4

3 Network 3 3 3 Network 3

2 Data Link 2 2 2 Data Link 2

1 Physical 1 1 1 Physical 1

Host A Host B• The common purpose of layers 4-7 is to provide

interoperability: all the system elements can exchange data regardless of the vendor of the equipment (open system).

• Connectivity is provided in the layers 1-3 of the model, which provides a working connection between the sender and receiver, i.e., the ability to move data anywhere in the network, regardless of the transmission technology or medium.

6

Page 7: Computer Networks Introduction

OSI: Application layer This layer's responsibility is to interface the user

application with the rest of the layers in the model. The Application layer is also responsible for providing an API (Application Programming Interface) to the user applications so the programmers who write code for the user interface don't have to worry about the implementation details of the interface. This means that the Application layer takes the responsibility of the networking details away from the user application so the user application does not have to know anything about the underlying implementation of the network. Some examples of user applications are file transfer services, printing services, e-mail services, network management consoles, client-server processes, and so on.

7

Page 8: Computer Networks Introduction

OSI: Presentation layer. This layer's responsibility is to provide encoding standards for

the network. The Presentation layer is also responsible for negotiating between the Application layer and the rest of the protocol stack. It provides a standard encoding streamer for the Application layer so that communication between the Application layer and the rest of the protocol stack is standardized across different operating environments. In other words, the Presentation layer provides translation and conversion functions to successfully transfer data to the underlying protocol stack. As an example, if the Application layer of a PC sends information in ASCII format, the Presentation layer is responsible for formatting the information in the standard network type. This standard network type, which is generic for the underlying protocol stack across different operating environments, would be transferred without further conversion. At the receiving end, it is again the Presentation layer's responsibility to convert the generic network format to a format that the receiving application can understand. Data encryption and decryption can also take place at the Presentation layer. 8

Page 9: Computer Networks Introduction

OSI: Session layer. This layer's responsibility is to provide a

communication channel between hosts. It provides a definition for managing the individual network channels, also called sessions, between two hosts. The Session layer is responsible for establishing a session between the hosts, as well as maintaining and ending the session. Some examples of the Session layer protocol are RPC (Remote Procedure Call), AppleTalk, and NFS (Network File System).

9

Page 10: Computer Networks Introduction

OSI: Transport layer. This layer's responsibility is to control the transmission of data

on the network. In other words, it provides flow control mechanisms to ensure data integrity between the nodes. The flow control mechanism acknowledges the receipt of every segment from the sending host and the proper sequencing of the segments. If the sender does not receive an acknowledgement from the recipient, the flow control mechanism at the sender's end is responsible for resending the segment. On the whole, the Transport layer's responsibility is to segment the data received from the Session layer and forward it to the Network layer. In addition, the Transport layer receives segmented data from the Network layer to reassemble the segments to forward them to the Session layer. The Transport layer is also responsible for establishing a logical connection between the destination node and the source node. Some examples of the Transport layer are TCP and UDP (User Datagram Protocol).

10

Page 11: Computer Networks Introduction

OSI: Network layer.

This layer's responsibility is to ensure the addressing of the hosts. It also ensures the routing of information between hosts across networks. In other words, the Network layer handles all of the transmission and traffic management among hosts. It also provides address resolution for the segments forwarded by the Data Link layer.

11

Page 12: Computer Networks Introduction

OSI: Data Link layer. This layer's responsibility is to define how data is accessed

from a physical medium. It provides a mechanism to format the information presented from a physical medium so the information can be passed to the Network layer. The information presented from a physical medium can be in the form of bits. The Data Link layer collates this information and formats it into frames. A frame is a unit of information that contains the destination address, the source address, an error checksum, and the data itself. The Data Link layer is also responsible for converting the information obtained from the Network layer into bits to forward it to the Physical layer. In addition, the Data Link layer is responsible for ensuring that the messages traversing the network reach the appropriate physical devices. This is possible because the Data Link layer manages the unique identity of the physical device on the network. It uses the concept of hardware addressing (MAC address) to identify a physical device. Some examples of the Data Link layer protocol are ARP (Address Resolution Protocol) and RARP (Reverse Address Resolution Protocol).

12

Page 13: Computer Networks Introduction

OSI: Physical layer.• This layer's responsibility is to manage the hardware

details of sending and receiving binary data over a physical channel. The physical channel is typically made up of wires such as twisted-pair and fiber optic cables. It can also be made up of wireless media such as infrared or radio waves. In general, the Physical layer provides a specification for interfacing with a physical channel based on the electrical and mechanical functions of the medium. The connectors at the Physical layer have different topologies defined for different network designs. Topologies are the structures in which you set up your network. Some examples are the star topology, the ring topology, and the bus topology. One example of the Physical layer is the Ethernet standard, which is the network protocol that defines how different devices on the network communicate with each other over the Physical layer.

13

Page 14: Computer Networks Introduction

TCP/IP reference model

Application Layer

Transport Layer

Network Layer

Data Link

Physical

• 5 layers• Application layer. This layer's responsibility is to

provide a common interface for any user application to communicate with the underlying layers. In other words, the Application layer is responsible for providing an interface between the user application and the network.

• Transport layer. This layer's responsibility is to control the flow of data between two communicating hosts. The Transport layer is responsible for breaking down data into packets and sending and receiving them from the Network layer.

• Network layer. This layer's responsibility is to route packets across the network. It is also responsible for some message control and group management.

• Link layer. This layer's responsibility is to handle the hardware-related details of the system. In other words, the Link layer is responsible for interfacing the operating system to the network interface card within the computer.

14

Page 15: Computer Networks Introduction

TCP/IP enabled communica

15

Page 16: Computer Networks Introduction

Internetwork communication

16

Page 17: Computer Networks Introduction

Homework

• Compare OSI and TCP/IP model

17

Page 18: Computer Networks Introduction

LAN Components

• 3 general characteristics:– A diameter of not more than a few kilometers.– A total data rate of at least several Mbps.– Completely ownership by a single organization.

• The medium in LAN is usually a twisted pairs of copper wires, or coaxial cable, or fiber optics. It may also be wireless transmission.

• Hardware in LAN includes network interface cards (NICs), servers, communication devices.

• NIC connects a machine to LAN.

• Server provides service to other machines.

• Communication devices include repeaters, bridges, routers, and gateways etc..

18

Page 19: Computer Networks Introduction

LAN components

LAN server

Repeater

Host

To WAN router

RouterOther LAN

Bridge

• Repeaters copy individual bits between cable segments.

• Bridges connect LANs together.• Routers or gateways connect

LANs to WANs or WANs to WANs and resolve incompatible addressing.

19

Page 20: Computer Networks Introduction

LAN Communication Concepts• In LAN, network control is distributed among the

devices on the network, it resides in the NIC firmware in each machine.

• LAN communication may be connectionless or connection-oriented.

• Connectionless messages (datagrams) are sent with the expectation that they will be received correctly. There is no acknowledgment of correct receipt. A higher layer must ask for retransmission if the message is received incorrectly.

• Connection-oriented communications include the acknowledgment of message as correct before they are passed on to the recipient.

20

Page 21: Computer Networks Introduction

Comm. Concepts contd.

• LANs have five major communications characteristics:• Medium: the means by which data is sent.• Transmission technique: In baseband technique, the

LAN signal is carried directly on the medium; in broadband system, the LAN signal is modulated on to an analog carrier signal, which allows several LANs to share the same medium.

• Network topology: the layout of the cabling.• Access control method: contention (Ethernet) and

token passing (token ring) for shared medium.• Data Rate: the raw ability to transfer information in

megabits per second.

21

Page 22: Computer Networks Introduction

Comm. Concepts contd.

• In LANs, the machines can be connected by shared medium or switched (point-to-point) medium.

• Shared medium: Multiple computers share a single interconnection medium (Ethernet).

• Switched medium: It allows communication directly from source to destination, without intermediate nodes to interfere with these signals.

22

Page 23: Computer Networks Introduction

WAN• Wide area networks (WANs) carry message at a lower

speed between computers that are separated by large distance.

• Many WANs and LANs can be combined to produce a single internetwork – a communication system that interconnects large collections of geographically dispersed computers.

• The computers interconnected by a WAN are called host computers. The communication medium is a set of communication circuits linking a set of dedicated computers called packet switches or packet switching exchanges (PSEs).

• The OSI layer architecture, TCP/IP layer architecture, or other layer architectures can be used in building WANs.

23

Page 24: Computer Networks Introduction

WAN• In WANs (packet networks), a message is

divided into packets before transmission and the packets are reassembled at the receiving computer (transport layer). A packet consists of a header and a data field. The header contains a transport address composed of the network address of a host and a port number.

• The PSEs operate the network by forwarding packets from one PSE to another along a route from sender to the recipient. PSEs are responsible for defining the route (network layer).

24

Page 25: Computer Networks Introduction

WAN• Every packet of data is stored temporarily by

each PSE along its route before it is forwarded to another PSE (store-and-forward communication). The routing operations introduce a delay at each point in the route, and the total transmission time for a message depends on the route it follows.

• Two types of data transport service can be provided: connection-oriented -- a `virtual connection is set up between a sending and a receiving process and is used for the transmission of a stream of data; connectionless – individual messages (datagrams) are transmitted to specified destinations.

25

Page 26: Computer Networks Introduction

Intranet

LAN

LAN

SW1

LAN

LAN

SW2

SW3

A

D

DATAT2 10 87

1012 15 19 87

26

Page 27: Computer Networks Introduction

LAN

LAN

WAN

S1F1

F2F3

LAN

LANF1F2

F2F1

S2

S3

A

D

DAS1 S3

Internet

27

Page 28: Computer Networks Introduction

Introduction to DLL

• Receives service from physical layer and provides service to the network layer.

• Receives service from network layer and provides service to physical layer.

• Responsible for carrying data from one hop to the next hop.

DATAT2 10 87

1012 15 19 87

28

Page 29: Computer Networks Introduction

Duties

packetinzing Addressing Error control Flow control Access control

Duties of DLL

Frame or cell MAC or VC CRC Prevent conflict or collision

DLL is for point to point, or node to node on a common linkLAN and WAN operate in DLL

12

15

19

87

bridge

29

Page 30: Computer Networks Introduction

IEEE standards

• 802 project- LLC (logical Link Control)- MAC (Media Access Control)

802.3:CSMA/CD

802.4: TOKEN BUS

802.5: TOKEN RING

802.6: DQDB

802.11: WIRELESS LAN

MAC

LLC

PHYSICAL LAYER

PHYSICAL LAYER

DLL

IEEE INTERNET

30

Page 31: Computer Networks Introduction

Design issues

• How to perform the duties stated in the last slide?

• DL can be designed to offer various services. 3 main responsibilities:– Unacknowledged Connectionless service.– Acknowledged connectionless service.– Connection oriented service.

31

Page 32: Computer Networks Introduction

Connection oriented service

• A connection is established before the data is sent. Each frame sent is numbered, and DL guarantees that the frame is indeed received. Each frame is received only once and in right order.

• Transfers have 3 distinct phases.– Connection establishes by initializing variables and counters

needed to keep track of frames received.– One or more frames are transmitted– Connection released by freeing variables, buffers and other

resources to maintain the connection.

32

Page 33: Computer Networks Introduction

Framing• Packetizing. Hand over the frame to

physical layer. Or create frames from raw data received from physical layer.

• Breaks up bit streams into discrete frames and compute checksums for each frame.– Frame gap; in addition to this

• Character count; rarely used now• Starting and ending character with character

stuffing• Start, end flags with bit stuffing• Physical layer coding violation

33

Page 34: Computer Networks Introduction

• Problem with character count– count character may be corrupted.

• Character delimiter– ASCII character sequence used as frame delimiter– When delimiter appears in the data consecutive

delimiter character is used as a escape sequence.

• Suitable for 8-bit character and ASCII code transfer.

34

Page 35: Computer Networks Introduction

• Start, end flags with bit stuffing– Start bit pattern: 01111110– If there are consecutive 5 1s on the data, DLL

automatically stuff a 0 bit after the consecutive 5 1s in the outgoing bit pattern. Receiver remove this 0 bit after the consecutive 5 1s.

• Use different encoding for data and frame separator.– Manchester encoding represent 1 by H-L and 0 by L-

H. H-H and L-L are not used for data. One can use H-H-L-L as frame delimiter.

35

Page 36: Computer Networks Introduction

Error control

• Need feedback for sending frames.• Waiting time for feedback: timer.• Retransmit when frame or the acknow is lost.• Potential danger to retransmitting.• Use sequence number to each outgoing frame.• Whole issue is of managing timers and

sequence numbers so as to ensure that each frame is ultimately passes to the NL at the destination exactly once.

36

Page 37: Computer Networks Introduction

Flow control

• How does a recv handle the situation when a sender sends frames faster than it can receive.

• Sender need feedback from recv to control its frame rate.

37

Page 38: Computer Networks Introduction

Access control

• Link management– Multiple access– Dedicated channel

38

Page 39: Computer Networks Introduction

Elementary data link protocols:Flow control protocols

39

Page 40: Computer Networks Introduction

• Physical, data link and Network layers are independent. Uses message to communi.

• Connection oriented, reliable channel.• Infinite supply of data.• No processing delay.• Simplex mode.• DL waits for a packet form NL. When and if DL recv a pack from NL,

it encapsulates it into a frame adding some control bits (header), and then handed over to physical layer. Transmitting HW appends checksum bits and then transmits frame on the cable.

• DL in rcvr waits for a frame from physical layer. DL may wait in an infinite loop or for an interrupt from physical layer. Recv HW recv a frame and computes the checksum. If checksum is ok frame is recvd undamaged and passed to DL. DL checks if the destination matches with its own id. If everything is ok, DL drops the frame header and passed the packet to NL.

40

Page 41: Computer Networks Introduction

Definitionsconst LastBit = ….; {determines the pkt size} doomsday = false; {repeat forever} MaxSeq = ….; {Highest Seq = 2n -1}type bit = 0..1; SequenceNr = 0 .. MaxSeq; packet = packed array [0 .. LastBit] of bit; FrameKind = (data, ack, nak);

Frame = packed recordkind: FrameKind;seq: SequenceNr;ack: SequenceNr;info: packet;

end;41

Page 42: Computer Networks Introduction

procedure wait (var event: EvType);begin {wait for an event to happen; return its type in

event} end.procedure FromNL(var p: packet);begin {Fetch info from NL for transmission} end;procedure ToNL(var p: packet);begin {delivers info from inbound frame to NL} end;procedure FromPhysL(var r: frame);begin {get an frame from PhysL and copy it to r} end;procedure ToPhysL(var s: frame);begin {pass the frame s to PhysL for transmission} end;procedure StartTimer(var k: SequencNr);begin {start the clock and enable TimeOut event} end;

Definitions contd.

42

Page 43: Computer Networks Introduction

procedure StopTimer(var k:SequenceNr);begin {Stop the clock and disable TimeOut event} end;procedure StartAckTimer;begin {Start aux timer for sending separate acks} end;procedure StopAcktimer;begin {Stop aux timer and disable NLIdle event} end;procedure EnableNL;begin {allows NL to cause a NLReady event} end;procedure DisableNL;begin {Forbids NL from causing a NLReady event} end;procedure inc(var k: SequenceNr);begin {increment k circularly} end;

Definitions contd.

43

Page 44: Computer Networks Introduction

Unrestricted simplex protocolAssumptions: Data trans in one direction only. Channel error free. No processing delay. Infinite buffer space.

Sender DL protocol:type EvType = (FrameArival);procedure sender1;var s: frame; buffer: packet;begin repeat

FromNL (buffer);s.info = buffer;ToPhysL(s);

until doomsdayend;

44

Page 45: Computer Networks Introduction

Receiver end DL:procedure receiver1;Var r: frame; event: EvType;begin repeat

wait(event); FromPhysL(r); ToNL(r.info);until doomsday;

end;

45

Page 46: Computer Networks Introduction

Simplex wait-and-Stop protocolThe main problem we have to deal with is how to prevent sender

from flooding the recevr with data faster than it can handle.

Assumption: recev has limited buffer, needs time to process frames. Needs mechanism to control the rate of frame-flow from sender.

• If the recvr requires a time t to execute FromPhysL+ToNL, the sender must transmit at an average rate less than one frame per t time. Moreover, recvr HW my not have automatic buffer and queuing.

• Recvr sends a dummy frame as the feedback => Ack.

• Sender wait for Ack before it sending the next frame.

• A half-duplex physical channel is sufficient here.

46

Page 47: Computer Networks Introduction

type Evtype = (FrameArrival);

procedure sender2;

var s:frame;

buffer: packet;

event: EvType;

begin

repeat

FromNL(buffer);

s.info = buffer;

ToPhysL(s);

wait(event);

until doomsday

end;

procedure receiver2;var s,r: frame;

event: EvType;begin

repeatwait(event);FromPhysL(r);ToNL(r.info);ToPhysL(s);

until doomsday;end;

47

Page 48: Computer Networks Introduction

Stop and Wait protocol for Noise channel

• Sending device keeps a copy of the last frame transmitted until it recvs an ack for that frame.

• Both data frames and ack frames are numbered alternatively 0 and 1. A data 0 frame is acknowledged by an ACK 1 frame, indicating that it has recved data frame 0 and expecting data frame 1.

• If the recvr detects an error in the recevd frame, it simply discard the frame and send no ack i.e. nAck. If the recvr recives a frame out of order, it knows that a frame is lost. It discards the out-of –order recvd frame.

• Sender has control variable S, that holds the number of the recently sent frame (0 or 1). The rcvr has a control variable, R, that holds the number of the next frame expected (0 or 1).

• The sender starts a timer when it sends a frame. If an ack is not received within timeout period, the sender assumes that the frame is lost and resends it.

• Rcvr sends only positive ack for frames received safely. Ack number always defines the next frame expected.

48

Page 49: Computer Networks Introduction

Operation: Normal

S=0

S=1

R=0

R=1

Ack 1

Ack 0

time

49

Page 50: Computer Networks Introduction

Lost frame

• A receiver remains silent and keeps it value of R.

• After the time out interval at the sender ends, sender sends another copy of the frame.

50

Page 51: Computer Networks Introduction

Lost Acknowledgement

• If the sender receives a damaged Ack, it discards it.

• When the timeout for Ack is over sender retransmits the frame.

• However, receiver discards the duplicate frame and sends the Ack again.

51

Page 52: Computer Networks Introduction

Delayed Ack

• Ack is received by the sender after the timeout for ack 0. The sender already retransmitted a copy of the frame 0.

• Since receiver expects the frame 1, it simply discards the duplicate frame 0 and sends ack 1.

52

Page 53: Computer Networks Introduction

Piggybacking

• Bidirectional transmission.

• Piggybacking combines data frame with acknowledgment

53

Page 54: Computer Networks Introduction

Sliding window protocols

• To improve efficiency multiple frames (outstanding frame) are sent:– Go back N

– Selective repeat

• Frames are numbered sequentially from 0 to 2N-1. If N is 3, frames are: 0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,1,2,3,…..

• Sliding window concept is used to hold the outstanding frame. Senders sliding window

54

Page 55: Computer Networks Introduction

55

G back N Protocol

Page 56: Computer Networks Introduction

Receivers 1 bit sliding window

• Always 1 bit window.• Hold outstanding frame;

the frame to be received next.

56

Window slides this direction

Page 57: Computer Networks Introduction

57

• S – seq.no of recently sent frame.

• SF – seq. no of the first frame in the window.

• SL – Last frame in the window.

• R – seq no of the frame it expects to receive.

• Sender sets a timer for each frame sent. Receiver has no timer.

S

SF SL

Sender Window

R

Co

ntro

l V

ariables

Page 58: Computer Networks Introduction

Go back N: Acknowledge

58

• Receiver discards all subsequent frames following an error one, and send no acknowledgement for those discarded

• Receiving window size = 1 (i.e., frames must be accepted in the order they were sent)

• Sending window might get full– If so, re-transmitting unacknowledged frames

• Wasting a lot of bandwidth if error rate is high

Page 59: Computer Networks Introduction

59

Go Back n: Normal Operation

Time 0 1 2 3 0 1 2 3 0Frame 0

ACK 1

0 1 2 3 0 1 2 3 0

Frame 1

0 1 2 3 0 1 2 3 0

Frame 2

ACK 2

0 1 2 3 0 1 2 3 0

S R

Frame 3

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

ACK 0

?

Page 60: Computer Networks Introduction

GBN: Error Packet

60

SW

RW

R:

Page 61: Computer Networks Introduction

61

GBN: Sender window size

• What is the maximum sending window size?• Maximum sending window size of =

MAX_SEQ, not MAX_SEQ+1– With n-bit sequence number,

MAX_SEQ = 2n – 1, maximum sending window size = 2n - 1

– e.g., for 3-bit window, MAX_SEQ = 7, so window size = 7

• Why?

Page 62: Computer Networks Introduction

62

Time 0 1 2 3 0 1 2 3 0Frame 0

ACK 1

0 1 2 3 0 1 2 3 0

Frame 10 1 2 3 0 1 2 3 0

Frame 2

ACK 2

0 1 2 3 0 1 2 3 0

S R

Frame 3

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

ACK 0

ACK 3

Wrong frame 0

Frame 0

Repeats frame 0

Sender window size: Problem

Page 63: Computer Networks Introduction

Sender window size

• Sender has to buffer unacknowledged frames• Acknowledge n means frames n,n-1,n-2, ... are

acknowledged (i.e., received correctly) and those buffers can be released

• One timer for each outstanding frame in sending window

• Window size must be less than 2m.• Piggybacking is possible to implement bidirectional

transmission.• Q: Explain the problem that can result in if the

window size is larger than or equal to 2m.

63

Page 64: Computer Networks Introduction

64

Select Repeat Protocol• Receiver stores correct frames following the bad

one• Sender retransmits the bad one after noticing• Receiver passes data to network layer and

acknowledge with the highest number• Receiving window > 1 (i.e., any frame within the

window may be accepted and buffered until all the preceding one passed to the network layer

• Might need large memory.

Page 65: Computer Networks Introduction

65

Negative Acknowledgement (NAK)

• SRP is often combined with NAK• When error is suspected by receiver, receiver

request retransmission of a frame– Arrival of a damaged frame– Arrival of a frame other than the expected

• Does receiver keep track of NAK?• What if NAK gets lost?• To nak, or not to nak: that is the question

Page 66: Computer Networks Introduction

66

Selective Repeat with NAK

Nak 2

, lost

Page 67: Computer Networks Introduction

67

Selective Repeat with NAK

Where’s the window now?

Where’s the window now?

Time 0 1 2 3 0 1 2 3 0Frame 0

ACK 1

0 1 2 3 0 1 2 3 0

Frame 1

0 1 2 3 0 1 2 3 0

Frame 2

ACK or NAK?

0 1 2 3 0 1 2 3 0

S R

Frame 3

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

Frame 2

0 1 2 3 0 1 2 3 0

0 1 2 3 0 1 2 3 0

NAK 2

X

ACK 3

Page 68: Computer Networks Introduction

Selective repeat

• Sender and receiver window size must be less than or equal to 2m/2. for m = 3, sequence is: 0,1,2,3,4,5,6,7. Window size = 4. initial frames are 0,1,2,3 in the window.

• Home work: Prove it.

68

Page 69: Computer Networks Introduction

HDLC

NRM

ABM

Normal Response mode

Asynchronous balanced mode

HDLC: High level data link control

69

Page 70: Computer Networks Introduction

HDLC

• Bit oriented. Use bit stuffing.• Control

– Sequence no., ackn., etc

• Data– Information. Arbitrarily long with reduced checksum efficiency.

• Checksum– Error control

• On idle flags sequences are transmitted continuously• Minimum frame length three fields (32 bits)+flag bits

70

Page 71: Computer Networks Introduction

• Three kinds of frames: Information, Supervisory, Unnumbered.

(a) Seq – frame sequence no. 3 bit sliding window. Next – piggybacked ackn. P/F – poll/final, P is used when computer is inviting the terminal to send data. All the frames sent by the terminal set the bit to P, except the final one, which is set to F.

Information

Supervisiony

Unnumbered

Control fields for three kinds of frames

71

Page 72: Computer Networks Introduction

• In some of the protocols the P/F bit is used to force the other machine to send a supervisory frame immediately rather than waiting for the reverse traffic onto which to piggyback the window information.

• Type – for different kinds of supervisory frames. Type 0 is RECEIVE READY, 1 is REJECT. Next field indicates frames to be retransmitted, Type 2 – receive not ready, Type 3 - selective reject.

• Unnumbered Frames – used for connectionless services. Differs greatly on implementation.

72

Page 73: Computer Networks Introduction

PPP• Point to Point Protocol• Purposes:

– router to router traffic– home user to ISP

• provide three main features:– Framing. Frame format also handles error detection– Link control protocols for bringing lines up, testing them,

negotiating options, and bringing them down when necessary. This protocol is called link control protocol (LCP). Supports sychronous and asynchronous circuits and bit and byte oriented encoding.

– A way to support different network layer protocols. Network Control protocol (NCP).

Moreover, PPP suports multiple protocols, allows IP address to be negotiated at connection time, permits authentication.

73

Page 74: Computer Networks Introduction

Working of PPP for User to ISP• PC first calls the provider’s router via modem. After the router modem has

answered the phone and established a physical connection, the PC sends the router a series of LCP packets in the payload field of one or more PPP frames. These packets and their responses select the PPP parameters to be used.

• once the parameters have been agreed upon, a series of NCP packets are sent to configure the network layer. Typically the pc wants to run a tcp/IP protocol stack, so it needs an IP address. Usually, ISP dynamically assigns one IP to each newly attached PC for the duration of its login session. NCP does this job.

• PC is now connected to internet, and can send/ receive data just like a host connected to a LAN. When the user is finished, NCP tears down the network layers connection and frees up the IP. then LCP shuts down the datalink layer connection. Finally the PC tells the modem to hangup the phone, releasing the physical layer connection.

74

Page 75: Computer Networks Introduction

PPP Frame format

01111110 11111111 00000011 protocol chekcum 01111110payload

Flag Address Control protocol variable 2 or 4 flag1 byte 1 byte 1 byte 1 or 2

flag, address and control bytes are fixedprotocol: tell what kind of packet is in payload. LCP, NCP, IP, IPX, AppleTalkpayload length is negotiated. default is 1500bytes.

75