You are on page 1of 149




A computer network is a group of interconnected computers A collection of computers and devices connected to each other. Allows computers to communicate with each other and share resources and information.

Building a Network

To build a network
Identify the set of constraints and requirements based on Application programmer Network designer Network provider


Connectivity point to point or multiple access Links physical medium Nodes,clouds computer
Switched Network Circuit Switched Packet Switched Uses store and forward Establishes dedicated circuit More efficient in working

Provides Systematic procedure for forwarding messages Unicasting Multicasting

Cost effective Resources sharing How system resource is shared effectively by multiple users multiplexing

Multiplexing methods

STDM - Synchronous time division multiplexing FDM - Frequency division multiplexing

Network Architecture

Provides a general, effective, fair, and robust connectivity of computers Provides a blueprint

Types OSI Architecture Internet Architecture


Open Systems Interconnection (OSI) model is a reference model developed by ISO (International Organization for Standardization) in 1984
OSI model defines the communications process into Layers Provides a standards for communication in the network Primary architectural model for inter-computing and Inter networking communications. network communication protocols have a structure based on OSI Model

OSI Architecture

Internet Architecture

TCP/IP Architecture Four Layer model TCP,UDP,FTP,HTTP,SMTP Protocols used Internet Protocol Graph

Direct Links: Outline

Physical Layer

Link technologies Encoding

Link Layer

Framing Error Detection Reliable Transmission (ARQ protocols) Medium Access Control:

Existing protocols: Ethernet, Token Rings, Wireless

Link Technologies


Cat 5 twisted pair, 10-100Mbps, 100m Thin-net coax, 10-100Mbps, 200m Thick-net coax, 10-100Mbps, 500m Fiber, 100Mbps-2.4Gbps, 2-40km Copper based: T1 (1.544Mbps), T3 (44.736Mbps) Optical fiber: STS-1 (51.84Mbps), STS-N (N*51.84Mbps)

Leased Lines:

Link Technologies

Last-Mile Links: POTS (56Kbps), ISDN (2*64Kbps) xDSL: ADSL (16-640Kbps, 1.554-8.448Mbps), VDSL (12.96Mbps-55.2Mbps) CATV: 40Mbps downstream, 20Mbps upstream Wireless Links: Cellular, Satellite, Wireless Local Loop


An efficient data transmission technique It is a message forwarding system in which data packets, called frames, are passed from one or many start-points to one


Byte oriented Protocol(PPP)

BISYNC Binary Synchronous Communication DDCMP Digital Data Communication Message Protocol

Bit oriented Protocol(HDLC) Clock based Framing(SONET)

Byte oriented Protocol(PPP)



PPP Frame Format Flag Address Control Protocol Payload Flag

DDCMP Frame Format








Bit Oriented Protocol(HDLC)

Collection of Bits 1.HDLC High-Level Data Link Control

2.Closed Based Framing(SONET) Synchronous Optical Network

HDLC Frame Format

Beginning sequence Header Body CRC Ending sequence

Bit Stufffing After 5 consecutive 1s insert 0 Next bit is 0 stuffed removed Next bit is 1 end of frame or erorr

Closed Based Framing(SONET)

STS-1 Frame
9 rows of 90 byte each First 3 byte for overhead rest contains data Payload bytes scrambled- exclusive OR Supports Multiplexing

9 rows

90 columuns


Detecting Errors In Transmission Electrical Interference, thermal noise

Approaches Two Dimensional Parity Internet Checksum Algorithm Cyclic Redundancy Check

Two Dimensional Parity

7 bits of data Number of 1s even 8 bits including parity odd

0000000 (0)
1010001 (3)



1101001 (4)
1111111 (7)



Transmission sent using even parity:

A wants to transmit: 1001 A computes parity bit value: 1^0^0^1 = 0 A adds parity bit and sends: 10010 B receives: 10010 B computes parity: 1^0^0^1^0 = 0 B reports correct transmission after observing expected even result.

Transmission sent using odd parity:

A wants to transmit: 1001 A computes parity bit value: ~(1^0^0^1) = 1 A adds parity bit and sends: 10011 B receives: 10011 B computes overall parity: 1^0^0^1^1 = 1 B reports correct transmission after observing expected odd result.

Reliable Transmission
Deliver Frames Reliably
Accomplished by Acknowledgements and Timeouts ARQ-Automatic Repeat Request

Mechanism: Stop and Wait Sliding Window Concurrent Logical Channels

Stop And Wait ARQ

The source station transmits a single frame and then waits for an acknowledgement (ACK). Data frames cannot be sent until the destination stations reply arrives at the source station. It discards the frame and sends a negative acknowledgement (NAK) back to the sender causes the source to retransmit the damaged frame in case of error

Acknowledgements & Timeouts

Fram e
Timeout Timeout Time

Receiv er

Fram e

Receiv er


Fram e





Fram e

Receiv er

Fram e

Receiv er


Fram e


Fram e






Stop & wait sequence numbers

Sender Receiver Sender Timeout Receiver Sender Receiver Timeout






Simple sequence numbers enable the client to discard

duplicate copies of the same frame
Stop & wait allows one outstanding frame, requires two distinct sequence numbers

Stop And Wait

Sliding Window
bi-directional data transmission protocol used in the data link layer (OSI model) as well as in TCP

It is used to keep a record of the frame sequences sent respective acknowledgements received by both the users.

Sliding Window: Sender

Assign sequence number to each frame (SeqNum) Maintain three state variables:

Maintain invariant: LFS - LAR <= SWS Advance LAR when ACK arrives Buffer up to SWS frames SWS

send window size (SWS) last acknowledgment received (LAR) last frame sent (LFS)


Sequence Number Space

SeqNum field is finite; sequence numbers wrap around Sequence number space must be larger then number of outstanding frames SWS <= MaxSeqNum-1 is not sufficient

suppose 3-bit SeqNum field (0..7) SWS=RWS=7 sender transmit frames 0..6 arrive successfully, but ACKs lost sender retransmits 0..6 receiver expecting 7, 0..5, but receives the original incarnation of 0..5

SWS < (MaxSeqNum+1)/2 is correct rule Intuitively, SeqNum slides between two halves of sequence number space

Sliding Window: Receiver

receive window size (RWS) largest frame acceptable (LFA) last frame received (LFR) Maintain invariant: LFA RWS - LFR <= RWS

Maintain three state variables


if LFR < SeqNum < = LFA accept if SeqNum < = LFR or SeqNum > LFA discarded Send cumulative ACKs send ACK for largest frame

Frame SeqNum arrives:

such that all frames less than this have been received

UNIT II LAN Technology

LAN (Local Area Network) refers to a group of computers interconnected into a network Objective: they are able to communicate, exchange information and share resources (e.g. printers, application programs, database etc). the same computer resources can be used by multiple users in the network, regardless of the physical location of the resources.

LAN Architecture
Describes the way in which the components in a Local Area Network are connected LAN Topologies: Star Ring Bus Tree


All stations are connected by cable (or wireless) to a central point, such as hub or a switch. central node is operating in a broadcast fashion such as a Hub transmission of a frame from one station to the node is retransmitted on all of the outgoing links.

All nodes on the LAN are connected in a loop and their Network Interface Cards (NIC) are working as repeaters. No starting or ending point. Each node will repeat any signal that is on the network regardless its destination. The destination station recognizes its address and copies the frame into a local buffer. The frame continues to circulate until it returns to the source station, where it is removed. Example:Token Ring (IEEE 802.5) FDDI (IEEE 802.6) another protocol used in the


All nodes on the LAN are connected by one linear cable, which is called the shared medium. Every node on this cable segment sees transmissions from every other station on the same segment. At each end of the bus is a terminator, which absorbs any signal, removing it from the bus. This medium cable apparently is the single point of failure. Example:Ethernet (IEEE 802.3)

Is a logical extension of the bus topology.

The transmission medium is a branching cable no closed loops. The tree layout begins at a point called the head-end one or more cables start, and each of these may have branches. The branches in turn may have additional branches to allow quite complex layouts.


Token Ring

All stations are connected in a ring and each station can directly hear transmissions only from its immediate neighbor. Permission to transmit is granted by a message (token) that circulates around the ring. Token Ring as defined in IEEE 802.5 is originated from the IBM Token Ring LAN technologies. Token-passing networks move a small frame, called a token Possession of the token grants the right to transmit. The information frame circulates the ring until it reaches the intended destination station, which copies the information for further processing. The information frame continues to circle the ring and is finally removed when it reaches the sending station. The sending station can check the returning frame to see whether the frame was seen and subsequently copied by the destination.

local-area network (LAN) covered by the IEEE 802.3. two modes of operation:

half-duplex full-duplex modes.

Three basic elements : 1. the physical medium used to carry Ethernet signals between computers, 2. a set of medium access control rules embedded in each Ethernet interface that allow multiple computers to fairly arbitrate access to the shared Ethernet channel, 3. an Ethernet frame that consists of a standardized set of bits used to carry data over the system

IEEE 802.5 Format

Frame Format IEEE 802.5

IEEE 802.3 MAC Data Frame Format


The process by which the radio waves are propagated through air and transmits data
Wireless technologies are differentiated by :

Protocol Connection typePoint-to-Point (P2P) SpectrumLicensed or unlicensed


Infrared Wireless Transmission

Tranmission of data signals using infrared-light waves

sends data over long distances (regions, states, countries) at up to 2 megabits per second (AM/FM Radio)

Microwave Radio

Communications Satellites microwave relay stations in orbit around the earth.

UNIT III Packet Switching

Is a network communications method Groups all transmitted data, irrespective of content, type, or structure into suitably-sized blocks, called packets. Optimize utilization of available link capacity Increase the robustness of communication. When traversing network adapters, switches and other network nodes packets are buffered and queued, resulting in variable delay and throughput, depending on the traffic



each packet is labeled with a connection ID rather than an address. Example:Datagram packet switching


each packet is labeled with a destination address Example:X.25 vs. Frame Relay

Star Topology

Source Routing
0 Switch 1 3 2 3 0 1 1 3 0 0 1 2 Switch 2 3 1 3 2 0 1

Host A 0 1 3 0 Switch 3 3 2 Host B

Virtual Circuit Switching

Explicit connection setup (and tear-down) phase Subsequence packets follow same circuit Sometimes called connection-oriented model 0 Switch 1
3 2 5 1 3 11 2 Switch 2 1 0

Analogy: phone call Each switch maintains a VC table

Host A 7

0 Switch 3 3 4 2 Host B

Datagram Switching

No connection setup phase Each packet forwarded independently Sometimes called connectionless model Host D Analogy: postal system Each switch maintains a forwarding (routing) table
0 Switch 1 3 Host C 2 1 2 Switch 2 3 0 Host A 1 Host E Host F

Host G 1

0 Switch 3 Host B 3 2

Host H

Virtual Circuit Model

Typically wait full RTT for connection setup before sending first data packet. While the connection request contains the full address for destination each data packet contains only a small identifier, making the per-packet header overhead small. If a switch or a link in a connection fails, the connection is broken and a new one needs to be established. Connection setup provides an opportunity to reserve resources.

Datagram Model

There is no round trip delay waiting for connection setup; a host can send data as soon as it is ready. Source host has no way of knowing if the network is capable of delivering a packet or if the destination host is even up. Since packets are treated independently, it is possible to route around link and node failures. Since every packet must carry the full address of the destination, the overhead per packet is higher than for the connection-oriented model.

Bridges and Extended LANs

LANs have physical limitations (e.g., 2500m) Connect two or more LANs with a bridge accept and forward strategy level 2 connection (does not add packet header)
A B C Port 1 Bridge Port 2

Ethernet Switch = Bridge on Steroids


Spanning Tree Algorithm

Problem: loops

A B B3 B5 B2 E D B7 F K

B1 G H B6 I

B4 J

Bridges run a distributed spanning tree algorithm

select which bridges actively forward developed by Radia Perlman now IEEE 802.1 specification

Algorithm Details

Bridges exchange configuration messages id for bridge sending the message id for what the sending bridge believes to be root bridge distance (hops) from sending bridge to root bridge Each bridge records current best configuration message for each port Initially, each bridge believes it is the root

Algorithm Details

Bridges exchange configuration messages id for bridge sending the message id for what the sending bridge believes to be root bridge distance (hops) from sending bridge to root bridge Each bridge records current best configuration message for each port Initially, each bridge believes it is the root


An internetwork is a collection of individual networks, connected by intermediate networking devices, that functions as a single large network. different kinds of network technologies that can be interconnected by routers and other networking devices to create an internetwork


Local-area networks (LANs)enabled multiple users in a relatively small geographical area to exchange files and messages, as well as access shared resources such as file servers and printers. Wide-area networks (WANs) interconnect LANs with geographically dispersed users to create connectivity. technologies used for connecting LANs include T1, T3, ATM, ISDN, ADSL, Frame Relay, radio links, and others.


IPV4 Packet Header

Version HLen Ident TOS Length Flags Offset




SourceAddr Destination Addr Options(variable) Pad(variable) Data

Datagram Delivery

Packet Format

IPV4 Packet header

Fragmentation and Reassembly

Fragmentation and Reassembly

Fragmentation and Reassembly

(RARP)Reverse Address Resolution Protocol

(RARP) is a Link layer networking protocol RARP is described in internet EngineeringTask ForceETF) publication RFC 903 It has been rendered obsolete by the Bootstrap Protocol (BOOTP) and the modern Dynamic Host Configuration Protocol(DHCP) BOOTP configuration server assigns an IP address to each client from a pool of addresses. BOOTP uses the User Datagram Protocol (UDP)

is the process of selecting paths in a network along which to send network traffic.

Routing is performed for many kinds of networks, including the telephone network electronic data networks (such as the Internet), and transportation networks.


determining optimal routing paths and transporting information groups (typically called packets) through an internetwork. In the context of the routing process, the latter of these is referred to as packet switching. Although packet switching is relatively straightforward, path determination can be very complex.

Distance Vector:

Distance Vector routing protocols are based on Bellman and Ford algorithms. Distance Vector routing protocols are less scalable such as RIP supports 16 hops and IGRP has a maximum of 100 hops. Distance Vector are classful routing protocols which means that there is no support of Variable Length Subnet Mask (VLSM) and Classless Inter Domain Routing (CIDR). Distance Vector routing protocols uses hop count and composite metric. Distance Vector routing protocols support discontiguous subnets.

Link State:

Link State routing protocols are based on Dijkstra algorithms. Link State routing protocols are very much scalable supports infinite hops. Link State routing protocols are classless which means that they support VLSM and CIDR. Cost is the metric of the Link State routing protocols. Link State routing protocols support contiguous subnets.

UNIT IV Reliable Byte Stream

TCP Overview

End to end issues

Segment format

Connection establishment

TCP sliding window

Stream control Transmission Protocol

Simple demultiplexor

TCP Congestion Control

Determines the network capacity Adjust the number of packets that can have safely in transit Acks to pace the transmission of packets TCP is self clocking Avoids congestion Maxwindow=MIN(CongestionWindow,AdvertisedWindo w) EffectiveWindow=MaxWindow-(LastByteSentLastByteAcked)

Caused By

the shortage of buffer space. slow links. slow processors Possible solutions

End-to-end versus link-by-link control Rate-Based versus Credit-Based control The rate-based traffic-flow technique constantly Integrated congestion control

Integrated congestion control

Principles of Congestion Control


informally: too many sources sending too much data too fast for network to handle different from flow control! manifestations: lost packets (buffer overflow at routers) long delays (queueing in router buffers) a top-10 problem!

Scenario 1: Queuing Delays

two senders, two receivers one router, infinite buffers no retransmission

Host A

lin : original data


Host B

unlimited shared output link buffers

large delays when congested maximum achievable throughput

Scenario 2: Retransmits

one router, finite buffers sender retransmission of lost packet

Host A
lin : original data l'in : original data, plus retransmitted data


Host B

finite shared output link buffers

Scenario 3: Congestion Near Receiver

four senders multihop paths timeout/retransmit

l Q: what happens as in and l increase ?


Host A

lin : original data l'in : original data, plus retransmitted data

finite shared output link buffers

Host B

Approaches towards congestion control

Two broad approaches towards congestion control: End-end congestion control:

Network-assisted congestion control:

no explicit feedback from network congestion inferred from end-system observed loss, delay approach taken by TCP

routers provide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate sender should send at

TCP Congestion Control

end-end control (no network How does sender assistance) perceive congestion? sender limits transmission: loss event = timeout LastByteSent-LastByteAcked or 3 duplicate acks CongWin TCP sender reduces rate (CongWin) after Roughly, loss event CongWin rate = Bytes/sec RTT three mechanisms:

CongWin is dynamic, function of perceived network congestion

AIMD slow start conservative after timeout events

multiplicative decrease: cut CongWin in half after loss event
congestion window 24 Kbytes

additive increase: increase CongWin by 1 MSS every RTT in the absence of loss events: probing

16 Kbytes

8 Kbytes


Long-lived TCP connection

TCP Slow Start

When connection begins, CongWin = 1 MSS

Example: MSS = 500 bytes & RTT = 200 msec initial rate = 20 kbps

When connection begins, increase rate exponentially fast until first loss event

available bandwidth may be >> MSS/RTT

desirable to quickly ramp up to respectable rate

TCP Slow Start (more)

When connection begins, increase rate exponentially until first loss event: double CongWin every RTT done by incrementing CongWin for every ACK received Summary: initial rate is slow but ramps up exponentially fast

Host A

Host B



Refinement (more)
Q: When should the exponential increase switch to linear? A: When CongWin gets to 1/2 of its value before timeout.


Variable Threshold At loss event, Threshold is set to 1/2 of CongWin just before loss event

TCP sender congestion control

Event ACK receipt for previously unacked data ACK receipt for previously unacked data Loss event detected by triple duplicate ACK Timeout State Slow Start (SS) TCP Sender Action CongWin = CongWin + MSS, If (CongWin > Threshold) set state to Congestion Avoidance CongWin = CongWin+MSS * (MSS/CongWin) Commentary Resulting in a doubling of CongWin every RTT

Congestio n Avoidance (CA) SS or CA

Additive increase, resulting in increase of CongWin by 1 MSS every RTT Fast recovery, implementing multiplicative decrease. CongWin will not drop below 1 MSS. Enter slow start

Threshold = CongWin/2, CongWin = Threshold, Set state to Congestion Avoidance Threshold = CongWin/2, CongWin = 1 MSS, Set state to Slow Start Increment duplicate ACK count for segment being acked

SS or CA

Duplicate ACK

SS or CA

CongWin and Threshold not changed

Congestion Avoidance Mechanisms

Helps to avoid congestion Additional functionality into the router to assist in anticipation of congestion to control congestion once it happens

to repeatedly increase load in an effort to find t he point at which congestion occurs, and then b ack off


router-centric: DECbit and RED Gateways host-centric: TCP Vegas



Add binary congestion bit to each packet header Router monitors average queue length over last busy+ idle cycle

set congestion bit if average queue length gre ater than 1 when packet arrives
attempts to balance throughput against delay


End Hosts destination echos bit back to source source records how many packets resulted in set bit if less than 50% of last window's worth had bit set, then increase CongestionWindow by 1 packet if 50% or more of last window's worth had bit set, t hen decrease CongestionWindow by 0.875 times

Random Early Detection (RED)

Notification is implicit just drop the packet (TCP will timeout)

could make explicit by marking the packet

Early random drop rather than wait for queue to become full, dro p each arriving packet with some drop probabi lity whenever the queue length exceeds some drop level

Random Early Detection (RED)

RED: fills in the details compute average queue length


0 < Weight < 1 (usually 0.002) SampleLen is queue length each time a pac ket arrives

Random Early Detection (RED

Random Early Detection (RED)

two queue length thresholds if AvgLen ? MinThreshold then enqueue the packet if MinThreshold < AvgLen < MaxThreshold calculate probability P if MaxThreshold ? AvgLen drop arriving packet

UNIT V Domain Name Service

is a hierarchical naming system for computers, services in the Internet is an IETF-standard name service. enables client computers on your network to register and resolve DNS domain names. names are used to find and access resources offered by other computers on your network or other networks, such as the Internet.

three main components of DNS:

Domain name space and associated resource records (RRs)

DNS Name Servers

DNS Resolvers

Domain name space for the Internet. Domain Names


Electronic mail abbreviated as e-mail or email is method of creating, transmitting, or storing primarily text-based human communications with digital communications systems

based on a store-and-forward model in which e-mail computer server systems, accept, forward, or store messages on behalf of users

SMTP(Simple Mail Transfer Protocol)

is an Internet standard for electronic mail transmission is a TCP/IP protocol used in sending and receiving email to send and receive mail messages to send and receive mail messages

SMTP(Simple Mail Transfer Protocol)

SMTP(Simple Mail Transfer Protocol)


Multipurpose Internet Mail Extensions SMTP is ASCII based allows multi part messages containing content of various types combined into one message Types

GIF graphics files PostScript files MIME messages can contain

text, images, audio, video, and other applicationspecific data.

format of messages

textual message bodies in character sets other than USASCII, an extensible set of different formats for non-textual message bodies, multi-part message bodies, and textual header information in character sets other than USASCII.


is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks such as name servers and distributed object management systems, through extension of its request methods, error codes and headers [47]. typing and negotiation of data representation allows systems to be built independently of the data being transferred.


to monitor network-attached devices for conditions that warrant administrative attention

SNMP basic components

Managed devices Agents Network-management stations (NMSs) Managed devices Agents Network-management stations (NMSs)

Email Features

Email is Fast Email is Inexpensive Email is Easy to Filter Transmission is Secure and Reliable

1.Fast - Messages can be sent anywhere around the world in an instant - Transmission usually costs nothing, or at the most, very little 3.simple - Easy to use, after initial set-up 4.efficient - Sending to a group can be done in one step 5.versatile - Pictures, powerpoints or other files can be sent too

World Wide Web

Hypertext and Hypermedia

Browser Architecture
Static Document/HTML Dynamic Document/CGI Active Document/Java

Distributed services


Browser architecture

Categories of Web documents

Static document

Boldface tags

Effect of boldface tags

Beginning and ending tags

Common tags
Beginning Tag Ending Tag Meaning

Skeletal Tags
<HTML> <HEAD> <BODY> </HTML> </HEAD> </BODY> Defines an HTML document Defines the head of the document Defines the body of the document Title and Header Tags <TITLE> <Hn> </TITLE> </Hn> Defines the title of the document Defines the title of the document

Common tags (continued)

Beginning Tag Ending Tag Meaning

Text Formatting Tags

<B> <I> <U> </B> </I> </U> Boldface Italic Underlined



Superscript Data Flow Tag



Centered Line break

Common tags (continued)

Beginning Tag Ending Tag List Tags <OL> <UL> <LI> </OL> </UL> </LI> Ordered list Unordered list An item in a list Image Tag <IMG> Defines an image Hyperlink Tag <A> </A> Defines an address (hyperlink) Executable Contents <APPLET> </APPLET> The document is an applet Meaning

Dynamic document

Active document

Skeleton of an applet

Instantiation of the object defined by an applet

Creation and compilation

HTML document carrying an applet

File Transfer

File Transfer User Interface Anonymous

Note: FTP uses the services of TCP. It needs two TCP connections. The well-known port 21 is used for the control connection, and the well-known port 20 is used for the data connection.


Using the control connection

Using the data connection

File transfer