Computer Networks and Security (18CS52) Notes
Computer Networks and Security (18CS52) Notes
Prepared By:
Mohan Babu G, M.Tech
Assistant Professor
Dept. of ISE, BIT
BANGALORE INSTITUTE OF TECHNOLOGY
K R Road, V V Pura, Bangalore-560004
Department of Information Science & Engineering
TABLE OF CONTENTS
Page
Contents
No.
iii
Program Outcomes (POs)
VISION
To establish and develop the Institute as the center of higher
learning, ever abreast with expanding horizon of knowledge in the
field of Engineering and Technology with entrepreneurial
thinking, leadership excellence for life-long success and solve
societal problems.
MISSION
Provide high quality education in the Engineering disciplines
from the undergraduate through doctoral levels with creative
academic and professional programs.
Develop the Institute as a leader in Science, Engineering,
Technology, Management and Research and apply knowledge
for the benefit of society.
Establish mutual beneficial partnerships with Industry,
Alumni, Local, State and Central Governments by Public
Service Assistance and Collaborative Research.
Inculcate personality development through sports, cultural and
extracurricular activities and engage in the social, economic
and professional challenges.
i
Department of Information Science & Engineering
VISION
MISSION
ii
PROGRAMME OUTCOMES (POs)
Students in the Information Science and Engineering programme should at the time
of their graduation be in possession of:
5. Modern tool usage: Ability to create and use the techniques, skills and modern
engineering tools necessary for engineering practice.
The graduates of Information Science and Engineering can develop and use IT tools
necessary for resolve complex engineering activity.
iv
7. Environment and Sustainability: Ability to apply the IT professional knowledge
to produce the sustainable development without affecting environmental issues.
The graduates of Information Science and Engineering professionals works towards
the sustainable growth of the society without causing or having the knowledge of its
effects on the environmental and societal contexts.
11. Project management Finance: Ability to work with good engineering and
managerial skills under proper financial constraints.
The graduates of Information Science and Engineering will be able to understand the
project management techniques and teamwork necessary for successful completion
of projects within the stipulated period with effective utilization of resources and
allocated budget.
12. Life-Long Learning: Ability to recognize the need for and to engage in life-long
learning.
The graduates of Information Science and Engineering will be able recognize the
advances in relevant field by learning and adapting new engineering technologies to
sustain in the modern technological arena.
v
PROGRAMME EDUCATIONAL OBJECTIVES (PEOs)
1. Uplift the students through Information Technology Education.
2. Provide exposure to emerging technologies and train them to
Employable in multidisciplinary industries.
3. Motivate them to become good professional Engineers and
Entrepreneur.
4. Inspire them to prepare for Higher Learning and Research.
iii
COMPUTER NETWORKS AND SECURITY-18CS52 2020
MODULE–1 10 Hours
Application Layer: Principles of Network Applications: Network Application
Architectures, Processes Communicating, Transport Services Available to
Applications, Transport Services Provided by the Internet, Application-Layer
Protocols. The Web and HTTP: Overview of HTTP, Non-persistent and Persistent
Connections, HTTP Message Format, User-Server Interaction: Cookies, Web
Caching, The Conditional GET, File Transfer: FTP Commands & Replies, Electronic
Mail in the Internet: SMTP, Comparison with HTTP, Mail Message Format, Mail
Access Protocols, DNS; The Internet's Directory Service: Services Provided by DNS,
Overview of How DNS Works, DNS Records and Messages, Peer-to-Peer
Applications: P2P File Distribution, Distributed Hash Tables, Socket Programming:
creating Network Applications: Socket Programming with UDP, Socket
Programming with TCP.
MODULE–2 10 Hours
Transport Layer : Introduction and Transport-Layer Services: Relationship
Between Transport and Network Layers, Overview of the Transport Layer in the
Internet, Multiplexing and Demultiplexing: Connectionless Transport: UDP,UDP
Segment Structure, UDP Checksum, Principles of Reliable Data Transfer: Building a
Reliable Data Transfer Protocol, Pipelined Reliable Data Transfer Protocols, Go-
Back-N, Selective repeat, Connection- Oriented Transport TCP: The TCP
Connection, TCP Segment Structure, Round-Trip Time Estimation and Timeout,
Reliable Data Transfer, Flow Control, TCP Connection Management, Principles of
Congestion Control: The Causes and the Costs of Congestion, Approaches to
Congestion Control, Network-assisted congestion-control example, ATM ABR
Congestion control, TCP Congestion Control: Fairness.
MODULE–3 10 Hours
The Network layer: What's Inside a Router?: Input Processing, Switching, Output
Processing, Where Does Queuing Occur? Routing control plane, IPv6,A Brief foray
into IP Security, Routing Algorithms: The Link-State (LS) Routing Algorithm, The
Distance-Vector (DV) Routing Algorithm, Hierarchical Routing, Routing in the
Internet, Intra-AS Routing in the Internet: RIP, Intra-AS Routing in the Internet:
OSPF, Inter/AS Routing: BGP, Broadcast and Multicast Routing: Broadcast Routing
Algorithms and Multicast.
MODULE–4 10 Hours
Network Security: Overview of Network Security: Elements of Network Security,
Classification of Network Attacks, Security Methods, Symmetric-Key Cryptography:
Data Encryption Standard (DES), Advanced Encryption Standard (AES), Public-Key
Cryptography: RSA Algorithm, Diffie-Hellman Key-Exchange Protocol,
Authentication: Hash Function, Secure Hash Algorithm (SHA), Digital Signatures,
Firewalls and Packet Filtering, Packet Filtering, Proxy Server
MODULE–5 10 Hours
Multimedia Networking Applications: Properties of video, properties of Audio,
Types of multimedia Network Applications, Streaming stored video: UDP
Streaming, HTTP Streaming, Adaptive streaming and DASH, content distribution
Networks, case studies: Netflix, You Tube and Kankan. Network Support for
Multimedia: Dimensioning Best-Effort Networks, Providing Multiple Classes of
Service, Diffserv, Per-Connection Quality-of- Service (QoS) Guarantees: Resource
Reservation and Call Admission
Question paper pattern:
The question paper will have TEN questions.
There will be TWO questions from each module.
Each question will have questions covering all the topics under a module.
The students will have to answer FIVE full questions, selecting ONE full question
from each module.
Text Books:
1. James F Kurose and Keith W Ross, Computer Networking, A Top-Down Approach,
Sixth edition, Pearson,2017 .
Reference Books:
1. Behrouz A Forouzan, Data and Communications and Networking, Fifth
Edition,McGraw Hill, Indian Edition
2. Larry L Peterson and Brusce S Davie, Computer Networks, fifth edition, ELSEVIER
3. Andrew S Tanenbaum, Computer Networks, fifth edition, Pearson
4. Mayank Dave, Computer Networks, Second edition, Cengage Learning.
• Examples of network-applications:
1) Web 5) Social networking (Facebook, Twitter)
2) File transfers 6) Video distribution (YouTube)
3) E-mail 7) Real-time video conferencing (Skype)
4) P2P file sharing 8) On-line games (World of Warcraft)
1) Client-Server Architecture
• In this architecture, there is a server and many clients distributed over the network
(Figure 1.1a).
• The server is always-on while a client can be randomly run.
• The server is listening on the network and a client initializes the communication.
• Upon the requests from a client, the server provides certain services to the client.
• Usually, there is no communication between two clients.
• The server has a fixed IP address.
• A client contacts the server by sending a packet to the server's IP address.
• A server is able to communicate with many clients.
• The applications such as FTP, telnet, Web, e-mail etc use the client-server architecture.
2) P2P Architecture
• There is no dedicated server (Figure 1.1b).
• Pairs of hosts are called peers.
• The peers communicate directly with each other.
• The peers are not owned by the service-provider. Rather, the peers are laptops controlled
by users.
• Many of today's most popular and traffic-intensive applications are based on P2P
architecture.
• Examples include file sharing (BitTorrent), Internet telephone (Skype) etc.
• Main feature of P2P architectures: self-scalability.
• For ex: In a P2P file-sharing system,
Each peer generates workload by requesting files.
Each peer also adds service-capacity to the system by distributing files to other
peers.
• Advantage: Cost effective, normally, server-infrastructure & server bandwidth are not
required.
• Three challenges of the P2P applications:
1. ISP Friendly
Most residential ISPs have been designed for asymmetrical bandwidth usage.
Asymmetrical bandwidth means there is more downstream-traffic than
upstream-traffic.
But P2P applications shift upstream-traffic from servers to residential ISPs,
which stress on the ISPs.
2. Security
Since the highly distribution and openness, P2P applications can be a
challenge to security.
3. Incentive
Success of P2P depends on convincing users to volunteer bandwidth &
resources to the applications.
System. When processes are running on the same end system, they can communicate with
each other with interprocess communication, using rules that are governed by the end
system’s operating system
1.2.1 Process
• A process is an instance of a program running in a computer.(IPC inter-process
communication).
• The processes may run on the 1) same system or 2) different systems.
1) The processes running on the same end-system can communicate with each other
using IPC.
2) The processes running on the different end-systems can communicate by exchanging
messages.
i) A sending-process creates and sends messages into the network.
ii) A receiving-process receives the messages and responds by sending messages
back.
1.2.2. Client & Server Processes
• A network-application consists of pairs of processes:
1) The process that initiates the communication is labeled as the client.
2) The process that waits to be contacted to begin the session is labeled as the server.
• For example:
1) In Web application, a client-browser process communicates with a Web-server-
process.
2) In P2P file system, a file is transferred from a process in one peer to a process in
another peer.
1.2.3. Interface between the Process and the Computer Network Socket
• Any message sent from one process to another must go through theunderlying-network.
• A process sends/receives message through a software-interface of underlying-network
called socket.
• Socket is an API between the application-layer and the transport layer within a host
(Figure 1.2).
• The application-developer has complete control at the application-layer side of the
socket.
• But, the application-developer has little control of the transport-layer side of the socket.
For ex: The application-developer can control:
The choice of transport-protocol: TCP or UDP. (API Application
Programming Interface)
The ability to fix parameters such as maximum-buffer & maximum-segment-
sizes.
2. Throughput
• Throughput is the rate at which the sending-process can deliver bits to the receiving-
process.
• Since other hosts are using the network, the throughput can fluctuate with time.
• Two types of applications:
2.1. Bandwidth Sensitive Applications
These applications need a guaranteed throughput. For ex: Multimedia applications
Some transport-protocol provides guaranteed throughput at some specified rate (r
bits/sec).
2.2. Elastic Applications
These applications may not need a guaranteed throughput. For ex: Electronic
mail, File transfer & Web transfers.
3. Timing
• A transport-layer protocol can provide timing-guarantees.
• For ex: guaranteeing every bit arrives at the receiver in less than 100 msec.
• Timing constraints are useful for real-time applications such as
→ Internet telephony
→ Virtual environments
→ Teleconferencing and
→ Multiplayer games
4. Security
• A transport-protocol can provide one or more security services.
• For example,
1) In the sending host, a transport-protocol can encrypt all the transmitted-data.
2) In the receiving host, the transport-protocol can decrypt the received-data.
1. Connection-Oriented Service
Before the start of communication, client & server need to exchange control-
information.
This phase is called handshaking phase.
Then, the two processes can send messages to each other over the connection.
After the end of communication, the applications must tear down the connection.
2. Reliable Data Transfer Service
The communicating processes must deliver all data sent without error & in the
proper order.
• TCP also includes a congestion-control.
• The congestion-control throttles a sending-process when the network is congested.
• The types of messages exchanged, for example, request messages and response
Messages
• The syntax of the various message types, such as the fields in the message and how the
fields are delineated the semantics of the fields, that is, the meaning of the information in
the fields
• Rules for determining when and how a process sends messages and responds to Messages
Example 1: The Web is a client-server application that allows users to obtain documents
from Web servers on demand. The Web application consists of many components,
including a standard for document formats (that is, HTML), Web browsers (for example,
Firefox and Microsoft Internet Explorer), and web servers (for Example, Apache and
Microsoft servers), and an application-layer protocol. The Web’s application-layer
protocol, HTTP, defines the format and sequence of messages exchanged between browser
and Web server. Thus, HTTP is only one piece of the Web application.
Example 2: an Internet e-mail application also has many components, including mail
servers that house user mailboxes; mail clients (such as Microsoft Outlook) that allow users
to read and create messages; a standard for defining the structure of an e-mail message; and
application-layer protocols that define how messages are passed between servers, how
messages are passed between servers and mail clients, and how the contents of message
headers are to be interpreted. The principal application-layer protocol for electronic mail is
SMTP (Simple Mail Transfer Protocol) [RFC 5321]. Thus, e-mail’s principal application-
layer protocol, SMTP, is only one piece (albeit, an important piece) of the e-mail
application.
1.6. The Web & HTTP
• The appearance of Web dramatically changed the Internet.
• Web has many advantages for a lot of applications.
• It operates on demand so that the users receive what they want when they want it.
• It provides an easy way for everyone make information available over the world.
• Hyperlinks and search engines help us navigate through an ocean of Web-sites.
• Forms, JavaScript, Java applets, and many other devices enable us to interact with pages
and sites.
• The Web serves as a platform for many killer applications including YouTube, Gmail,
and Face book.
1) Hostname = “www.someSchool.edu ”
2) Path name = “/some Department/picture.gif”.
• The web browsers implement the client-side of HTTP. For ex: Google Chrome, Internet
Explorer
• The web-servers implement the server-side of HTTP. For ex: Apache
1.6.2. HTTP
• HTTP is Web’s application-layer protocol (Figure 1.3) (HTTP HyperText Transfer
Protocol).
• HTTP defines
→ How clients request Web-pages from servers and
→ How servers transfer Web-pages to clients.
• When a user requests a Web-page, the browser sends HTTP request to theserver.
• Then, the server responds with HTTP response that contains the requested-objects.
• HTTP uses TCP as its underlying transport-protocol.
• The HTTP client first initiates a TCP connection with theserver.
• After connection setup, the browser and the server-processes access TCP through their
sockets.
• HTTP is a stateless protocol.
• Stateless means the server sends requested-object to client w/o storing state-info about
the client.
• HTTP uses the client-server architecture:
1) Client
Browser that requests receive and displays Web objects.
2) Server
Web-server sends objects in response to requests.
Figure 1.4: Back-of-the-envelope calculation for the time needed to request and receive
an HTML file
• RTT is the time taken for a packet to travel from client to server and then back to the
client.
• The total response time is sum of following (Figure 1.4):
i) One RTT to initiate TCP connection (RTT Round Trip Time).
ii) One RTT for HTTP request and first few bytes of HTTP response to return.
iii) File transmission time.
i.e. Total response time = (i) + (ii) + (iii) = 1 RTT+ 1 RTT+ File transmission time
= 2(RTT) + File transmission time
HTTP with Persistent Connections
• Problem with Non-Persistent Connections:
1) A new connection must be established and maintained for each requested-object.
Hence, buffers must be allocated and state info must be kept in both the client and
server.
This results in a significant burden on the server.
2) Each object suffers a delivery delay of two RTTs:
i) One RTT to establish the TCP connection and
ii) One RTT to request and receive an object.
• Solution: Use persistent connections.
• With persistent connections, the server leaves the TCP connection open after sending
responses.
• Hence, subsequent requests & responses b/w same client & server can be sent over same
connection
• The server closes the connection only when the connection is not used for a certain
amount of time.
GET/somedir/page.html HTTP/1.1
Host: www.someschool.edu
Connection: close
User-agent: Mozilla/5.0
Accept-language: english
2) URL
“/somedir/page.html”: This is the object requested by the browser.
3) Version
“HTTP/1.1”: This is version used by the browser.
• The request-message contains 4 header-lines. The meaning of the header-lines is as
follows:
1) “Host: www.someschool.edu” specifies the host on which the object resides.
2) “Connection: close” means requesting a non-persistent connection.
3) “User-agent: Mozilla/5.0” means the browser used is the Firefox.
4) “Accept-language:eng” means English is the preferred language.
• The method field can take following values: GET, POST, HEAD, PUT and DELETE.
1) GET is used when the browser requests an object from the server.
2) POST is used when the user fills out a form & sends to the server.
3) HEAD is identical to GET except the server must not return a message-body in
the response.
4) PUT is used to upload objects to servers.
5) DELETE allows an application to delete an object on a server.
3) A cookie file kept on the user’s end-system and managed by the user’sbrowser.
4) A back-end database at the Web-site.
Figure 1.8: Clients requesting objects through a Web-cache (or Proxy Server)
Figure 1.9: FTP moves files between local and remote file systems
SMTP
• SMTP is the most important protocol of the email system.
• Three characteristics of SMTP (that differs from other applications):
Message body uses 7-bit ASCII code only.
Normally, no intermediate mail-servers used for sending mail.
Mail transmissions across multiple networks through mail relaying.
• Here is how it works:
1) Usually, mail-servers are listening at port 25.
2) The sending server initiates a TCP connection to the receiving mail-server.
3) If the receiver's server is down, the sending server will try later.
4) If connection is established, the client & the server perform application-layer
handshaking.
5) Then, the client indicates the e-mail address of the sender and the recipient.
6) Finally, the client sends the message to the server over the same TCP connection.
1.10.3.1. POP
• POP is an extremely simple mail access protocol.
• POP server will listen at port 110.
• Here is how it works:
The user-agent at client's computer opens a TCP connection to the main server.
POP then progresses through three phases:
1) Authentication
The user-agent sends a user name and password to authenticate the user.
2) Transaction
The user-agent retrieves messages.
Also, the user-agent can
→ mark messages for deletion
→ remove deletion marks &
→ obtain mail statistics.
The user-agent issues commands, and the server responds to each command with
a reply.
There are two responses:
i) +OK: used by the server to indicate that the previous command was fine.
ii) –ERR: used by the server to indicate that something is wrong.
3) Update
After user issues a quit command, the mail-server removes all messages marked
fordeletion.
• Disadvantage:
The user cannot manage the mails at remote mail-server. For ex: user cannot delete
messages.
1.10.3.2. IMAP
• IMAP is another mail access protocol, which has more features than POP.
• An IMAP server will associate each message with a folder.
• When a message first arrives at server, the message is associated with recipient's INBOX
folder
• Then, the recipient can
→ move the message into a new, user-created folder
→ read the message
→ delete the message and
→ search remote folders for messages matching specific criteria.
• An IMAP server maintains user state-information across IMAP sessions.
1) Host Aliasing
A host with a complicated hostname can have one or more alias names.
3) Load Distribution
DNS is also used to perform load distribution among replicated servers.
Busy sites are replicated over multiple servers & each server runs on a different
system.
4) Maintenance
The single DNS server would have to keep records for all Internet hosts.
This centralized database has to be updated frequently to account for every new
host.
2.Top-level domain (TLD) Servers: These servers are responsible for top-level
Domains such as com, org, net, edu, and gov, and all of the country top-level
domains such as uk, fr, ca, and jp. The company Verisign Global Registry Services
Maintains the TLD servers for the com top-level domain, and the company Educause
maintains the TLD servers for the edu top-level domain.
• The example shown in Figure 1.13 makes use of both recursive queries and iterative
queries.
• The query 1 sent from cis.poly.edu to dns.poly.edu is a recursive query. This is because
→ the query asks dns.poly.edu to obtain the mapping on its behalf.
• But the subsequent three queries 2, 4 and 6 are iterative. This is because
→ all replies are directly returned to dns.poly.edu.
• A resource-record is a 4-tuple that contains the following fields: (Name, Value, Type,
TTL)
• TTL (time to live) determines when a resource should be removed from a cache.
• The meaning of Name and Value depend on Type:
1) If Type=A, then Name is a hostname and Value is the IP address for the
hostname.
Thus, a Type A record provides the standard hostname-to-IP address mapping. For
ex: (relay1.bar.foo.com, 145.37.93.126, A)
2) If Type=NS, then
i) Name is a domain (such as foo.com) and
ii) Value is the hostname of an authoritative DNS server.
This record is used to route DNS queries further along in the query chain. For ex:
(foo.com, dns.foo.com, NS) is a Type NS record.
3) If Type=CNAME, then Value is a canonical hostname for the alias hostname
Name.
This record can provide querying hosts the canonical name for a hostname. For
ex: (foo.com, relay1.bar.foo.com, CNAME) is a CNAME record.
4) If Type=MX, Value is the canonical name of a mail-server that has an alias
hostname Name.
MX records allow the hostnames of mail-servers to have simple aliases. For ex:
(foo.com, mail.bar.foo.com, MX) is an MX record.
DNS Messages
• Two types of DNS messages: 1) query and 2) reply.
• Both query and reply messages have the same format.
• Figure 1.16 compares the minimum distribution-time for the client-server and P2P
architectures.
Bittorrent
• The collection of all peers participating in the distribution of a particular file is called a
torrent.
• Peers download equal-size chunks of the file from one another. Chunk size = 256
KBytes.
• The peer also uploads chunks to other peers.
• Once a peer has acquired the entire file, the peer may leave the torrent or remain in the
torrent.
• Each torrent has an infrastructure node called tracker.
• Here is how it works (Figure 1.17):
1) When a peer joins a torrent, the peer
→ registers itself with the tracker and
→ periodically informs the tracker that it is in the torrent.
2) When a new peer joins the torrent, the tracker
→ randomly selects a subset of peers from the set of participating peers and
→ sends the IP addresses of these peers to the new peer.
3) Then, the new peer tries to establish concurrent TCP connections with all peers
on this list.
All peers on the list are called neighboring-peers.
4) Periodically, the new peer will ask each of the neighboring-peers for the set of
chunks.
DEPARTMENT OF ISE, BIT Page 35
COMPUTER NETWORKS AND SECURITY-18CS52 2020
• To choose the chunks to download, the peer uses a technique called rarest-first.
• Main idea of rarest-first:
→ Determine the chunks that are the rarest among the neighbors and
→ Request then those rarest chunks first.
Problem: It is not realistic to let the peer to store all of the other peer's identifiers.
Solution: Use a circular arrangement.
Figure 1.18: (a) A circular DHT. Peer 3 wants to determine who is responsible for key 11.
(b) A circular DHT with shortcuts
from socket import * //This line declares socket within the program.
serverName = ‘hostname’ // This line sets the server name to “hostname”.
serverPort = 12000 // This line sets the server port# to “12000”.
clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM) //This line creates the client’s socket
message = raw_input(’Input lowercase sentence:’) //This line reads the data at the client
clientSocket.sendto(message,(serverName, serverPort)) //This line sends data into the socket
modifiedMessage, serverAddress = clientSocket.recvfrom(2048) // This line receives data from socket
print modifiedMessage //This line displays received-data on the screen
clientSocket.close() //This line closes the socket. The process then terminates.
MODULE-WISE QUESTIONS
PART 1
1) Explain client-server & P2P architecture. (8*)
2) With block diagram, explain how application processes communicate through a socket.
(8*)
3) Explain 4 transport services available to applications. (4)
4) Briefly explain 2 transport layer protocols. (4)
5) With block diagram, explain the working of Web & HTTP. (8*)
6) Explain HTTP non-persistent & persistent connections. (8*)
7) With general format, explain HTTP request- & response-messages. (8*)
8) With a diagram, explain how cookies are used in user-server interaction. (6*)
9) With a diagram, explain the working of web caching. (6*)
10) With a diagram, explain the working of FTP. (6*)
PART 2
11) With a diagram, explain the working of e-mail system. (6*)
12) Briefly explain 3 mail access protocols. (6*)
13) Briefly explain the working of DNS. (8*)
14) With general format, explain DNS messages. (6*)
15) Explain P2P File Distribution. (6)
16) With a diagram, explain the working of BitRorrent. (6*)
17) With a diagram, explain the working of Distributed Hash Table. (6)
18) Draw flow diagram for the client-server application using TCP. Also, write code
for the client- & server-sides of the application. (8*)
19) Draw flow diagram for the client-server application using UDP. Also, write
code for the client- & server-sides of the application. (8)
Endpoint Identification
• Each socket must have a unique identifier.
• Each segment must include 2 header-fields to identify the socket (Figure 2.2):
Source-port-number field and
Destination-port-number field.
• Each port-number is a 16-bit number: 0 to 65535.
• The port-numbers ranging from 0 to 1023 are called well-known port-numbers
and are restricted. For example: HTTP uses port-no 80
FTP uses port-no 21
• When we develop a new application, we must assign the application a port-
number, which are known as ephemeral ports (49152–65535).
Figure 2.5: Two clients, using the same destination-port-no (80) to communicate with the
same Web- server application
2.4. Connectionless Transport: UDP
• UDP is an unreliable, connectionless protocol.
Unreliable service means UDP doesn’t guarantee data will arrive to destination-
process.
Connectionless means there is no handshaking b/w sender & receiver before
sending data.
• It provides following 2 services:
i) Process-to-process data delivery and
ii) Error checking.
• It does not provide flow, error, or congestion control.
• At the sender, UDP
→ takes messages from the application-process
→ attaches source- & destination-port-nos and
→ passes the resulting segment to the network-layer.
• At the receiver, UDP
→ examines the destination-port-no in the segment and
→ delivers the segment to the correct application-process.
• It is suitable for application program that
→ needs to send short messages &
→ cannot afford the retransmission.
• UDP is suitable for many applications for the following reasons:
1) Finer Application Level Control over what Data is Sent, and when.
When an application-process passes data to UDP, the UDP
→ packs the data inside a segment and
→ passes immediately the segment to the network-layer.
On the other hand,
In TCP, a congestion-control mechanism throttles the sender when the n/w is
congested
2) No Connection Establishment.
TCP uses a three-way handshake before it starts to transfer data.
UDP just immediately passes the data without any formal preliminaries.
Thus, UDP does not introduce any delay to establish a connection.
That’s why, DNS runs over UDP rather than TCP.
3) No Connection State.
TCP maintains connection-state in the end-systems.
This connection-state includes
→ receive and send buffers
→ congestion-control parameters and
→ Sequence- and acknowledgment-number parameters.
On the other hand,
In UDP, no connection-state is maintained.
4) Small Packet Header Overhead.
The TCP segment has 20 bytes of header overhead in every segment.
On the other hand, UDP has only 8 bytes of overhead.
Table 2.1: Popular Internet applications and their underlying transport protocols
Problem is thus of central importance to networking. Indeed, if one had to identify a “top-
ten” list of fundamentally important problems in all of networking, this would be a
candidate to lead the list
Figure 2.7 illustrates the framework for our study of reliable data transfer. The
service abstraction provided to the upper-layer entities is that of a reliable channel
Through which data can be transferred. With a reliable channel, no transferred data bits are
corrupted (flipped from 0 to 1, or vice versa) or lost, and all are delivered in the order in
which they were sent.
Figure 2.7: Reliable data transfer: Service model and service implementation
• On the sender, rdt_send() will be called when a packet has to be sent on the channel.
• On the receiver,
i) rdt_rcv()will be called when a packet has to be recieved on the channel.
ii) deliver_data() will be called when the data has to be delivered to the upper layer
In this section we consider only the case of unidirectional data transfer that is data
transfer from the sending to the receiving side. The case of reliable bidirectional (that is,
full-duplex) data transfer is conceptually no more difficult but considerably more tedious
to explain. Although we consider only unidirectional data transfer, it is important to note
that the sending and receiving sides of our protocol will nonetheless need to transmit
packets in both directions, as indicated in Figure 2.7.
• The finite-state machine (FSM) definitions for the rdt1.0 sender and receiver are shown
in Figure 2.8.
• The sender and receiver FSMs have only one state.
• In FSM, following notations are used:
i) The arrows indicate the transition of the protocol from one state to another.
ii) The event causing the transition is shown above the horizontal line labelling the
transition.
iii) The action taken when the event occurs is shown below the horizontal line.
iv) The dashed arrow indicates the initial state.
• On the sender, rdt
→ accepts data from the upper layer via the rdt_send(data) event
→ creates a packet containing the data (via the action make_pkt(data)) and
→ sends the packet into the channel.
• On the receiver, rdt
→ receives a packet from the underlying channel via the rdt_rcv(packet) event
→ removes the data from the packet (via the action extract (packet, data)) and
→ passes the data up to the upper layer (via the action deliver data (data)).
2.5.1.2. Reliable Data Transfer over a Channel with Bit Errors: rdt2.0
• Consider data transfer over an unreliable channel in which bits in a packet may be
corrupted.
• We call this protocol as rdt2.0.
• The message dictation protocol uses both
→ Positive acknowledgements (ACK) and
→ Negative acknowledgements (NAK).
• The receiver uses these control messages to inform the sender about
→ what has been received correctly and
→ what has been received in error and thus requires retransmission.
• Reliable data transfer protocols based on the retransmission are known as ARQ protocols.
• Three additional protocol capabilities are required in ARQ protocols:
1) Error Detection
A mechanism is needed to allow the receiver to detect when bit-errors have
occurred.
UDP uses the checksum field for error-detection.
Error-correction techniques allow the receiver to detect and correct packet bit-
errors.
2) Receiver Feedback
Since the sender and receiver are typically executing on different end-systems.
The only way for the sender to learn about status of the receiver is by the receiver
providing explicit feedback to the sender.
For example: ACK & NAK
3) Retransmission
A packet that is received in error at the receiver will be retransmitted by the
sender.
• Figure 2.9 shows the FSM representation of rdt2.0.
2.5.1.6. Reliable Data Transfer over a Lossy Channel with Bit Errors: rdt3.0
• Consider data transfer over an unreliable channel in which packet lose may occur.
• We call this protocol as rdt3.0.
• Two problems must be solved by the rdt3.0:
1) How to detect packet loss?
2) What to do when packet loss occurs?
• Solution:
The sender
→ sends one packet & starts a timer and
→ waits for ACK from the receiver (okay to go ahead).
If the timer expires before ACK arrives, the sender retransmits the packet
and restarts the timer.
• The sender must wait at least as long as
1) A round-trip delay between the sender and receiver plus
2) Amount of time needed to process a packet at the receiver.
• Implementing a time-based retransmission mechanism requires a countdown timer.
• The timer must interrupt the sender after a given amount of time has expired.
• Figure 2.14 shows the sender FSM for rdt3.0, a protocol that reliably transfers data over
a channel that can corrupt or lose packets;
• Figure 2.15 shows how the protocol operates with no lost or delayed packets and how it
handles lost data packets.
• Figure 2.18 and 2.19 give a FSM description of the sender and receivers of a GBN
protocol.
5.4.3.GBN Receiver
• If a packet with sequence-number n is received correctly and is in order, the receiver
→ sends an ACK for packet n and
→ delivers the packet to the upper layer.
• In all other cases, the receiver
→ discards the packet and
→ resends an ACK for the most recently received in-order packet.
• Figure 2.20 shows the operation of the GBN protocol for the case of a window-size of
four packets.
• The sender sends packets 0 through 3.
• The sender then must wait for one or more of these packets to be acknowledged before
proceeding.
• As each successive ACK (for ex, ACK0 and ACK1) is received, the window slides
forward and the sender transmits one new packet (pkt4 and pkt5, respectively).
• On the receiver, packet 2 is lost and thus packets 3, 4, and 5 are found to be out of order
and are discarded.
• The sender retransmits only those packets that it suspects were erroneous.
• Thus, avoids unnecessary retransmissions. Hence, the name “selective-repeat”.
• The receiver individually acknowledge correctly received packets.
• A window-size N is used to limit the no. of outstanding, unacknowledged packets in the
pipeline.
• Figure 2.21 shows the SR sender’s view of the sequence-number space.
2.5.1. SR Sender
• The various actions taken by the SR sender are as follows:
1) Data Received from above.
When data is received from above, the sender checks the next available
sequence-number for the packet.
If the sequence-number is within the sender’s window;
Then, the data is packetized and sent;
Otherwise, the data is buffered for later transmission.
2) Timeout.
Timers are used to protect against lost packets.
Each packet must have its own logical timer. This is because
→ only a single packet will be transmitted on timeout.
DEPARTMENT OF ISE, BIT Page 68
COMPUTER NETWORKS AND SECURITY-18CS52 2020
3) ACK Received.
If an ACK is received, the sender marks that packet as having been received.
If the packet’s sequence-number is equal to send base, the window base is
increased by the smallest sequence-number.
If there are un transmitted packets with sequence-numbers that fall within
the window, these packets are transmitted.
2.5.2. SR Receiver
• The various actions taken by the SR receiver are as follows:
1) Packet with sequence-number in [rcv_base, rcv_base+N-1] is correctly
received.
In this case,
→ received packet falls within the receiver’s window and
→ Selective ACK packet is returned to the sender.
If the packet was not previously received, it is buffered.
If this packet has a sequence-number equal to rcv_base, then this packet and any
previously buffered and consecutively numbered packets are delivered to the upper
layer.
The receive-window is then moved forward by the no. of packets delivered to the
upperlayer.
For example: consider Figure 2.22.
¤ When a packet with a sequence-number of rcv_base=2 is received, it
and packets 3, 4, and 5 can be delivered to the upper layer.
2) Packet with sequence-number in [rcv_base-N, rcv_base-1] is correctly
received.
In this case, an ACK must be generated, even though this is a packet that
the receiver has previously acknowledged.
3) Otherwise.
Ignore the packet.
Table 2.2: Summary of reliable data transfer mechanisms and their use
Mechanism Use, Comments
Checksum Used to detect bit errors in a transmitted packet.
Timer Used to timeout/retransmit a packet because the packet (or its ACK)
was lost.
Because timeouts can occur when a packet is delayed but not lost,
duplicate copies of a packet may be received by a receiver.
Sequence- Used for sequential numbering of packets of data flowing from sender
number to receiver.
Gaps in the sequence-numbers of received packets allow the receiver
to detect a lost packet.
Packets with duplicate sequence-numbers allow the receiver to detect
duplicate copies of a packet.
Acknowledgment Used by the receiver to tell the sender that a packet or set of packets
has been received correctly.
Acknowledgments will typically carry the sequence-number of the
packet or packets being acknowledged.
Acknowledgments may be individual or cumulative, depending on the
protocol.
Negative Used by the receiver to tell the sender that a packet has not been
acknowledgme received correctly.
nt Negative acknowledgments will typically carry the sequence-number
of the packet that was not received correctly.
Window, The sender may be restricted to sending only packets with sequence-
pipelining numbers that fall within a given range.
By allowing multiple packets to be transmitted but not yet
acknowledged,
Sender utilization can be increased over a stop-and-wait mode of
operation.
• URG
¤ This bit indicates the segment contains urgent-data.
5) Receive Window
This field defines receiver’s window size
This field is used for flow control.
6) Checksum
This field is used for error-detection.
7) Urgent Data Pointer
This field indicates the location of the last byte of the urgent data.
8) Options
This field is used when a sender & receiver negotiate the MSS for use in high-
speed networks.
Figure 2.25: Sequence and acknowledgment-numbers for a simple Telnet application over
TCP
2)The receiver
→ keeps the out-of-order bytes and
→ waits for the missing bytes to fill in the gaps.
• DevRTT is defined as
“An estimate of how much SampleRTT typically deviates from EstimatedRTT.”
• If the SampleRTT values have little fluctuation, then DevRTT will be small.
If the SampleRTT values have huge fluctuation, then DevRTT will be large.
Second Scenario
• As shown in Figure 2.29, Host-A sends two segments back-to-back.
• Host-B sends two separate acknowledgments.
• Suppose neither of the acknowledgments arrives at Host-A before the timeout.
• When the timeout event occurs, Host-A resends the first-segment and restarts the timer.
• The second-segment will not be retransmitted until ACK for the second-segment
arrives before the new timeout.
Third Scenario
• As shown in Figure 2.30, Host-A sends the two segments.
• The acknowledgment of the first-segment is lost.
• But just before the timeout event, Host-A receives an acknowledgment-no 120.
• Therefore, Host-A knows that Host-B has received all the bytes up to 119.
• So, Host-A does not resend either of the two segments.
Figure 2.31: Fast retransmit: retransmitting the missing segment before the segment’s
timer expires
Receive Buffer
• Receiver maintains receive buffer to hold data even if it arrives out-of-order.
• Receive buffer maintains 2 pointers: LastByteRead and LastByteRcvd. The relation b/w
these two is:
•Receiver throttles the sender by advertising a window that is smaller than the
amount of free space that it can buffer as:
• To setup the connection, three segments are sent between the two hosts.
Therefore, this process is referred to as a three-way handshake.
• Suppose a client-process wants to initiate a connection with a server-process.
• Figure 2.33 illustrates the steps involved:
Figure 2.35: Congestion scenario 1: Two connections sharing a single hop with infinite
buffers
• Let
Sending-rate of Host-A = λin bytes/sec
Outgoing Link’s capacity = R
• Packets from Hosts A and B pass through a router and over a shared outgoing link.
• The router has buffers.
• The buffers stores incoming packets when packet-arrival rate exceeds the outgoing link’s
capacity
• Figure 2.36 plots the performance of Host-A’s connection.
Figure 2.36: Congestion scenario 1: Throughput and delay as a function of host sending-
rate
Figure 2.37: Scenario 2: Two hosts (with retransmissions) and a router with finite
buffers
• The receiver needs one copy of this packet and will discard the retransmission.
• The work done by the router in forwarding the retransmitted copy of the original packet was
wasted.
Scenario 3: Four Senders, Routers with Finite Buffers, and Multihop Paths
• Four hosts transmit packets, each over overlapping two-hop paths.
• This is illustrated in Figure 2.39.
Figure 2.39: Four senders, routers with finite buffers, and multihop paths
• Consider the connection from Host-A to Host C, passing through routers R1 and R2.
• The A–C connection
→ shares router R1 with the D–B connection and
→ shares router R2 with the B–D connection.
• Case-1: For extremely small values of λin,
→ buffer overflows are rare (as in congestion scenarios 1 and 2) and
→ the throughput approximately equals the offered-load.
• Case-2: For slightly larger values of λin, the corresponding throughput is also larger. This is
because
→ more original data is transmitted into the network
→ Data is delivered to the destination and
→ Overflows are still rare.
• Case-3: For extremely larger values of λin.
2.7.3. Network Assisted Congestion Control Example: ATM ABR Congestion Control
• ATM (Asynchronous Transfer Mode) protocol uses network-assisted approach for
congestion-control.
• ABR (Available Bit Rate) has been designed as an elastic data-transfer-service.
i) When the network is under loaded, ABR has to take advantage of the spare available
bandwidth.
ii) When the network is congested, ABR should reduce its transmission-rate.
• When an RM-cell arrives at a destination, the cell will be sent back to the sender
• Thus, RM-cells can be used to provide both
→ Direct network feedback and
→ Network feedback via the receiver.
i) If sender perceives that there is little congestion, then sender increases its data-
rate.
ii) If sender perceives that there is congestion, then sender reduces its data-rate.
• This approach raises three questions:
1) How does a sender limit the rate at which it sends traffic into its connection?
2) How does a sender perceive that there is congestion on the path?
3) What algorithm should the sender use to change its data-rate?
• The sender keeps track of an additional variable called the congestion-window (cwnd).
• The congestion-window imposes a constraint on the data-rate of a sender.
• The amount of unacknowledged-data at a sender will not exceed minimum of (cwnd &
rwnd), that is:
Slow Start
• When a TCP connection begins, the value of cwnd is initialized to 1 MSS.
• TCP doubles the number of packets sent every RTT on successful transmission.
• Here is how it works:
As shown in Figure 2.42, the TCP
→ sends the first-segment into the network and
→ waits for an acknowledgment.
When an acknowledgment arrives, the sender
→ increases the congestion-window by one MSS and
→ sends out 2 segments.
When two acknowledgments arrive, the sender
→ increases the congestion-window by one MSS and
→ sends out 4 segments.
This process results in a doubling of the sending-rate every RTT.
• Thus, the TCP data-rate starts slow but grows exponentially during the slow start phase.
2) When the value of cwnd equals ssthresh, TCP enters the congestion avoidance
state.
3) When three duplicate ACKs are detected, TCP
→ performs a fast retransmit and
→ enters the fast recovery state.
• TCP’s behavior in slow start is summarized in FSM description in Figure 2.43.
Fast Recovery
• The value of cwnd is increased by 1 MSS for every duplicate ACK received.
• When an ACK arrives for the missing segment, the congestion-avoidance state is entered.
• If a timeout event occurs, fast recovery transitions to the slow-start state.
• When the loss event occurred
→ value of cwnd is set to 1 MSS, and
→ value of ssthresh is set to half the value of cwnd.
• There are 2 versions of TCP:
1) TCP Tahoe
An early version of TCP was known as TCP Tahoe.
TCP Tahoe
→ cut the congestion-window to 1 MSS and
→ entered the slow-start phase after either
i) timeout-indicated or
ii) triple-duplicate-ACK-indicated loss event.
2) TCP Reno
The newer version of TCP is known as TCP Reno.
TCP Reno incorporated fast recovery.
Figure 2.44 illustrates the evolution of TCP’s congestion-window for both Reno and
Tahoe.
Fairness
• Congestion-control mechanism is fair if each connection gets equal share of the link-
bandwidth.
• As shown in Figure 2.46, consider 2 TCP connections sharing a single link with
transmission-rate R.
• Assume the two connections have the same MSS and RTT.
• Figure 2.47 plots the throughput realized by the two TCP connections.
If TCP shares the link-bandwidth equally b/w the 2 connections, then the
throughput falls along the 45-degree arrow starting from the origin.
MODULE-WISE QUESTIONS
PART 1
1) With a diagram, explain multiplexing and demultiplexing. (6*)
2) Explain the significance of source and destination-port-no in a segment. (4*)
3) With a diagram, explain connectionless multiplexing and demultiplexing. (4)
4) With a diagram, explain connection oriented multiplexing and demultiplexing. (4)
5) Briefly explain UDP & its services. (6*)
6) With general format, explain various field of UDP segment. Explain how checksum is
calculated (8*)
7) With a diagram, explain the working of rdt1.0. (6)
8) With a diagram, explain the working of rdt2.0. (6*)
9) With a diagram, explain the working of rdt2.1. (6)
10) With a diagram, explain the working of rdt3.0. (6*)
11) With a diagram, explain the working of Go-Back-N. (6*)
12) With a diagram, explain the working of selective repeat. (6*)
13) Explain the following terms: (8)
i) Sequence-number
ii) Acknowledgment
iii) Negative acknowledgment
iv) Window, pipelining
PART 2
14) Briefly explain TCP & its services. (6*)
15) With general format, explain various field of TCP segment. (6*)
16) With a diagram, explain the significance of sequence and acknowledgment numbers. (4*)
17) With a diagram, explain the reliable data transfer with few interesting scenarios. (8)
18) With a diagram, explain fast retransmit in TCP. (6*)
19) With a diagram, explain flow Control in TCP. (6)
20) With a diagram, explain connection management in TCP. (8*)
21) With a diagram, explain the causes of congestion with few scenarios. (8)
22) Briefly explain approaches to congestion control. (6*)
23) With a diagram, explain ATM ABR congestion control. (8)
24) With a diagram, explain slow start in TCP. (6*)
25) With a diagram, explain fast recovery in TCP. (6*)
1.2 Switching
Three types of switching fabrics (Figure 3.7):
1. Switching via memory
2. Switching via a bus and
3. Switching via an interconnection network.
Disadvantage
• If 2 packets have to use same output-port, then one packet has to wait. This is because only
one packet can be sent over any given bus at a time.
• At output-port, packet-scheduler is used to choose one packet among those queued for
transmission.
• The packet-scheduling can be done using
→ first-come-first-served (FCFS) or
→ weighted fair queuing (WFQ).
• Packet scheduling plays a crucial role in providing QoS guarantees.
• If there is less memory to hold an incoming-packet, a decision must be made to either
1) Drop the arriving packet (a policy known as drop-tail) or
2) Remove one or more already-queued packets to make room for the newly arrived
packet.
1.5. IPV6
IPv6 (Internet Protocol version 6) is a set of specifications from the Internet Engineering Task
Force (IETF) that's essentially an upgrade of IP version 4 (IPv4). The basics of IPv6 are similar
to those of IPv4 -- devices can use IPv6 as source and destination addresses to pass packets
over a network, and tools like ping work for network testing as they do in IPv4, with some
slight variations.
The most obvious improvement in IPv6 over IPv4 is that IP addresses are lengthened from 32
bits to 128 bits. This extension anticipates considerable future growth of the Internet and
provides relief for what was perceived as an impending shortage of network addresses. IPv6
also supports auto-configuration to help correct most of the shortcomings in version 4, and it
has integrated security and mobility features.
• CIDR, subnetting and NAT could not solve address-space exhaustion faced by IPv4.
3) Options
• In, IPv6, next-header field is similar to the options field in IPv4.
• This field identifies type of extension header that follows the basic header.
• To support extra functionalities, extension headers can be placed b/w base header and
payload.
IPV4 IPV6
1 IPv4 addresses are 32 bit length IPv6 addresses are 128 bit length
2 Fragmentation is done by Fragmentation is done only by sender
sender and forwarding routers
3 Does not identify packet flow Contains Flow Label field that
for QoS handling specifies packet flow for QoS handling
4 Includes Options up to 40 bytes Extension headers used for optional
data
5 Includes a checksum Does not includes a checksum
6 Address Resolution Protocol Address Resolution Protocol (ARP) is
(ARP) is available to map replaced with Neighbor Discovery
IPv4 addresses to MAC Protocol (NDP)
addresses
7 Broadcast messages are Broadcast messages are not available
available
8 Manual configuration (Static) of Auto-configuration of addresses is
IP addresses or DHCP (Dynamic available
configuration) is required to
configure IP addresses
9 IPSec is optional, external IPSec is required
10 IPv4 addresses are binary IPv6 addresses are binary numbers
numbers represented in decimals. represented in hexadecimals.
11 IPv4 is less compatible to mobile IPv6 is more compatible to mobile
networks than IPv6. networks than IPv4.
2. Tunneling
• Tunneling is illustrated in Figure 3.21.
• Suppose two IPv6-nodes B and E
→ want to interoperate using IPv6 datagrams and
→ are connected by intervening IPv4 routers.
DEPARTMENT OF ISE, BIT Page 110
COMPUTER NETWORKS AND SECURITY-18CS52 2020
• The intervening-set of IPv4 routers between two IPv6 routers are referred as a tunnel.
• Here is how it works:
On the sending side of the tunnel:
→ IPv6-node B takes & puts the IPv6 datagram in the data field of an IPv4
datagram.
→ The IPv4 datagram is addressed to the IPv6-node E.
On the receiving side of the tunnel: The IPv6-node E
→ receives the IPv4 datagram
→ extracts the IPv6 datagram from the data field of the IPv4 datagram and
→ routes the IPv6 datagram to IPv6-node F
3. Data Integrity
IPsec allows the receiver to verify that the datagram’s header fields.
The encrypted payload is not modified after transmission of the datagram into the n/w.
4. Origin Authentication
The receiver is assured that the source-address in datagram is the actual source of
datagram.
A graph is used to formulate routing problems. Recall that a graph G = (N,E) is a set N of
nodes and a collection E of edges, where each edge is a pair of nodes from N. In the context
of network-layer routing, the nodes in the graph represent routers—the points at which
packet-forwarding decisions are made—and the edges connecting these nodes represent the
physical links between these routers. Such a graph abstraction of a computer network is
shown in Figure 4.27.
As shown in Figure 4.27, an edge also has a value representing its cost. Typically, an edge’s
cost may reflect the physical length of the corresponding link. we’ll simply take the edge costs
as a given and won’t worry about how they are determined.
For any edge (x,y) in E, we denote c(x,y) as the cost of the edge between nodes x and y. If the
pair (x,y) does not belong to E, we set c(x,y) = ∞. Also, throughout we consider only
undirected graphs (i.e., graphs whose edges do not have a direction), so that edge (x,y) is the
same as edge (y,x) and that c(x,y) = c(y,x). Also, a node y is said to be a neighbor of node x if
(x,y) belongs to E.
network. Dijkstra’s algorithm is iterative and has the property that after the kth iteration of the
algorithm, the least-cost paths are known to k destination nodes, and among the least-cost paths
to all destination nodes, these k paths will have the k smallest costs. Let us define the following
notation:
D(v): cost of the least-cost path from the source node to destination v as of this iteration
of the algorithm.
p(v): previous node (neighbor of v) along the current least-cost path from the source to
v.
N: subset of nodes; v is in N if the least-cost path from the source to v is definitively
known.
The global routing algorithm consists of an initialization step followed by a loop. The number
of times the loop is executed is equal to the number of nodes in the network. Upon termination,
the algorithm will have calculated the shortest paths from the source node u to every other node
in the network.
• Example: Consider the network in Figure 3.22 and compute the least-cost paths from
u to all possible destinations.
Table 3.5: Running the link-state algorithm on the network in Figure 3.20
Figure 3.23 shows the resulting least-cost paths for u for the network in Figure 3.22.
Figure 3.24 illustrates the operation of the DV algorithm for the simple three node network
• The second column therefore displays, for each node, the node’s new distance vector
along with distance vectors just received from its neighbours.
• Note, that node x’s estimate for the least cost to node z, Dx(z), has changed from 7 to 3.
• The process of receiving updated distance vectors from neighbours, recomputing
routing-table entries, and informing neighbours of changed costs of the least-cost path
to a destination continues until no update messages are sent.
• The algorithm remains in the quiescent state until a link cost changes.
→ compares computed-hash value with the hash value carried in packet and
verifies the packet’s authenticity
2) Multiple Same Cost Paths
When multiple paths to a destination have same cost, OSPF allows multiple paths to
be used.
3) Integrated Support for Unicast & Multicast Routing
Multicast OSPF (MOSPF) provides simple extensions to OSPF to provide for
multicast-routing.
MOSPF
→ uses the existing OSPF link database and
→ adds a new type of link-state advertisement to the existing broadcast
mechanism.
4) Support for Hierarchy within a Single Routing Domain
An autonomous-system can be configured hierarchically into areas.
In area, an area-border-router is responsible for routing packets outside the area.
Exactly one OSPF area in the AS is configured to be the backbone-area.
The primary role of the backbone-area is to route traffic between the other areas in the
AS.
1. Basics
• Pairs of routers exchange routing-information over semi-permanent TCP connections using
port-179.
• One TCP connection is used to connect 2 routers in 2 different autonomous-systems. Semi
permanent TCP connection is used to connect among routers within an autonomous-system.
• Two routers at the end of each connection are called peers.
The messages sent over the connection is called a session.
• Two types of session:
1) External BGP (eBGP) session
This refers to a session that spans 2 autonomous-systems.
1) AS-PATH
This attribute contains the ASs through which the advertisement for the prefix has
passed.
When a prefix is passed into an AS, the AS adds its ASN to the ASPATH attribute.
Routers use the AS-PATH attribute to detect and prevent looping advertisements.
Routers also use the AS-PATH attribute in choosing among multiple paths to the
same prefix.
2) NEXT-HOP
This attribute provides the critical link between the inter-AS and intra-AS routing
protocols.
This attribute is the router-interface that begins the AS-PATH.
• BGP also includes
→ attributes which allow routers to assign preference-metrics to the routes.
→ attributes which indicate how the prefix was inserted into BGP at the origin AS.
DEPARTMENT OF ISE, BIT Page 126
COMPUTER NETWORKS AND SECURITY-18CS52 2020
3. Route Selection
• For 2 or more routes to the same prefix, the following elimination-rules are invoked
sequentially:
1) Routes are assigned a local preference value as one of their attributes.
2) The local preference of a route
→ will be set by the router or
→ will be learned by another router in the same AS.
3) From the remaining routes, the route with the shortest AS-PATH is selected.
4) From the remaining routes, the route with the closest NEXT-HOP router is selected.
5) If more than one route still remains, the router uses BGP identifiers to select the
route.
4. Routing Policy
• Routing policy is illustrated as shown in Figure 3.30.
• Let A, B, C, W, X & Y = six interconnected autonomous-systems. W, X & Y = three stub-
networks.
A, B & C = three backbone provider networks.
• All traffic entering a stub-network must be destined for that network.
All traffic leaving a stub-network must have originated in that network.
• Clearly, W and Y are stub-networks.
• X is a multihomed stub-network, since X is connected to the rest of the n/w via 2 different
providers
• X itself must be the source/destination of all traffic leaving/entering X.
• X will function as a stub-network if X has no paths to other destinations except itself.
• There are currently no official standards that govern how backbone ISPs route among
themselves.
N-way Unicast
• Given N destination-nodes, the source-node
→ makes N copies of the packet and
→ transmits then the N copies to the N destinations using unicast routing (Figure 3.31).
• Disadvantages:
1) Inefficiency
If source is connected to the n/w via single link, then N copies of packet will traverse
this link.
2) More Overhead & Complexity
An implicit assumption is that the sender knows broadcast recipients and their
addresses.
Obtaining this information adds more overhead and additional complexity to a
protocol.
3) Not suitable for Unicast Routing
It is not good idea to depend on the unicast routing infrastructure to achieve broadcast.
2. Controlled Flooding
• A node can avoid a broadcast-storm by judiciously choosing
→ when to flood a packet and when not to flood a packet.
• Two methods for controlled flooding:
1) Sequence Number Controlled Flooding
A source-node
→ puts its address as well as a broadcast sequence-number into a broadcast-
packet
→ sends then the packet to all neighbors.
Each node maintains a list of the source-address & sequence# of each broadcast-
packet.
When a node receives a broadcast-packet, the node checks whether the packet is in
this list.
If so, the packet is dropped; if not, the packet is duplicated and forwarded to all
neighbors.
2) Reverse Path Forwarding (RPF)
If a packet arrived on the link that has a path back to the source; Then the router
transmits the packet on all outgoing-links. Otherwise, the router discards the
incoming-packet.
Such a packet will be dropped. This is because
→ the router has already received a copy of this packet (Figure 3.32).
3. Spanning - Tree Broadcast
• This is another approach to providing broadcast. (MST Minimum Spanning Tree).
• Spanning-tree is a tree that contains each and every node in a graph.
• A spanning-tree whose cost is the minimum of all of the graph’s spanning-trees is called a
MST.
• Here is how it works (Figure 3.33):
1) Firstly, the nodes construct a spanning-tree.
2) The node sends broadcast-packet out on all incident links that belong to the spanning-
tree.
3) The receiving-node forwards the broadcast-packet to all neighbors in the spanning-
tree.
• Disadvantage:
Complex: The main complexity is the creation and maintenance of the spanning-tree.
4. Center Based Approach
• This is a method used for building a spanning-tree.
• Here is how it works:
1) A center-node (rendezvous point or a core) is defined.
2) Then, the nodes send unicast tree-join messages to the center-node.
3) Finally, a tree-join message is forwarded toward the center until the message either
→ arrives at a node that already belongs to the spanning-tree or
→ arrives at the center.
• Figure 3.34 illustrates the construction of a center-based spanning-tree.
1.11.2. Multicast
• Multicasting means a multicast-packet is delivered to only a subset of network-nodes.
• A number of emerging network applications requires multicasting. These applications
include
1) Bulk data transfer (for ex: the transfer of a software upgrade)
2) Streaming continuous media (for ex: the transfer of the audio/video)
3) Shared data applications (for ex: a teleconferencing application)
4) Data feeds (for ex: stock quotes)
5) Web cache updating and
6) Interactive gaming (for ex: multiplayer games).
• Two problems in multicast communication:
1) How to identify the receivers of a multicast-packet.
2) How to address a packet sent to these receivers.
• A multicast-packet is addressed using address indirection.
• A single identifier is used for the group of receivers.
• Using this single identifier, a copy of the packet is delivered to all multicast receivers.
• In the Internet, class-D IP address is the single identifier used to represent a group of
receivers.
• The multicast-group abstraction is illustrated in Figure 3.35.
Figure 3.35: The multicast group: A datagram addressed to the group is delivered to all
members of the multicast group
1. IGMP
• In the Internet, the multicast consists of 2 components:
1) IGMP (Internet Group Management Protocol)
IGMP is a protocol that manages group membership.
It provides multicast-routers info about the membership-status of hosts connected to
the n/w
The operations are i) Joining/Leaving a group and ii) monitoring membership
2) Multicast Routing Protocols
These protocols are used to coordinate the multicast-routers throughout the Internet.
A host places a multicast address in the destination address field to send
packets to a set of hosts belonging to a group.
• The IGMP protocol operates between a host and its attached-router.
• Figure 3.36 shows three first-hop multicast-routers.
Figure 3.36: The two components of network-layer multicast in the Internet: IGMP and
multicast- routing protocols
3) leave_group
This message is optional.
The host sends this message to leave the multicast-group.
• How does a router detect when a host leaves the multicast-group?
Answer: The router infers that a host is no longer in the multicast-group if it no longer
responds to a membership_query message. This is called soft state.
Figure 3.37: Multicast hosts, their attached routers, and other routers
MODULE-WISE QUESTIONS
PART 1
1) List out network-layer services. (2)
2) With a diagram, explain virtual circuit network. (6*)
3) With a diagram, explain datagram network. (6*)
4) Compare datagram & virtual-circuit networks. (4*)
5) With a diagram, explain 4 components of router. (6*)
6) With a diagram for each, explain 3 types of switching fabrics. (8*)
7) Briefly explain IP & its services. (4*)
8) With general format, explain various field of IPv4. (8*)
9) Explain fragmentation. Explain 3 fields related to fragmentation (6*)
10) Briefly explain IPv4 addressing. (8)
11) With a diagram, explain subnet addressing. (6*)
12) With a diagram, explain the working of DHCP. (6*)
13) With a diagram, explain the working of NAT. (6*)
14) Briefly explain ICMP. (8)
15) Explain changes from IPv4 to IPv6. (4*)
16) With general format, explain various field of IPv6. (8*)
17) Briefly explain IPv4 fields not present in IPv6. (4)
18) Compare IPv4 & IPv6. (4*)
19) Explain 2 strategies to make transition from IPv4 to IPv6. (8*)
20) Briefly explain IPSec & its services. (6)
PART 2
21) Define routing algorithm. Explain 3 classification of routing algorithm. (6*)
22) Explain Dijkstra’s algorithm with example. (8*)
23) Explain Bellman-Ford algorithm with example. (8*)
24) Compare distance vector & link state protocols. (4*)
25) Explain the intra-AS and inter-AS routing protocols. (4*)
26) With a diagram, explain the working of RIP. (6*)
27) With a diagram, explain the working of OSPF. (6*)
28) With a diagram, explain the working of BGP. (8*)
29) What are disadvantages of N-way Unicast and Uncontrolled Flooding? (4)
30) Explain the following broadcast routing algorithms: (8*)
i) Controlled flooding
ii) Spanning - tree broadcast
31) Briefly explain multicasting & its applications. (4)
32) Briefly explain the working of IGMP. (4)
33) Briefly explain two methods used for building a multicast-routing tree. (6*)
34) Briefly explain three multicast routing protocols. (4)
MODULE-5
Multimedia Networking: Properties of video, properties of Audio, Types of
multimedia Network Applications, Streaming stored video: UDP Streaming,
HTTP Streaming, Adaptive streaming and DASH, content distribution Networks,
case studies: Netflix, You Tube and Kankan.
Network Support for Multimedia: Dimensioning Best-Effort Networks,
Providing Multiple Classes of Service, Diffserv, Per-Connection Quality-of-
Service (QoS) Guarantees: Resource Reservation and Call Admission.
Multimedia Networking
We define a multimedia network application as any network application that employs audio or
video. In this section, we provide a taxonomy of multimedia applications. We’ll see that each
class of applications in the taxonomy has its own unique set of service requirements and design
issues. But before diving into an in-depth discussion of Internet multimedia applications, it is
useful to consider the intrinsic characteristics of the audio and video media themselves.
3) Prefetching Video
The client downloads the video at a rate higher than the consumption rate.
Thus, prefetching video-frames that are to be consumed in the future.
This prefetched video is stored in the client application buffer
• Nowadays, most video-streaming applications use HTTP streaming. For example: YouTube
• When server receives new HTTP request, the server sends the requested-bytes.
• Disadvantage:
When a user repositions to a future point in the video, some prefetched-but-not-yet-
viewed data will go unwatched. This results in a waste of bandwidth and server-
resources.
DASH
• The video is encoded into several different versions.
• Each version has a different bit-rate and a different quality level.
• Two main tasks:
4) The client dynamically requests video-chunks from the different versions: low &
high.
i) When the available bandwidth is high, the client selects chunks from a
high-rate version. For ex: Fiber connections can receive a high-quality
version.
ii) When the available bandwidth is low, the client naturally selects from a
low-rate version. For ex: 3G connections can receive a low-quality version.
5) The client adapts to the available bandwidth if end-to-end bandwidth changes during
session.
This feature is particularly important for mobile-users.
The mobile-users see their bandwidth fluctuate as they move with respect to base-
stations.
• HTTP server stores following files:
1) Each video version with a different URL.
2) Manifest file provides a URL for each version along with its bit-rate.
• Here is how it works:
1) First, the client requests the manifest file and learns about the various versions.
2) Then, the client selects one chunk at a time by specifying
→ URL and
→ byte range in an HTTP GET request message.
3) While downloading chunks, the client
→ measures the received bandwidth and
DEPARTMENT OF ISE, BIT Page 166
COMPUTER NETWORKS AND SECURITY-18CS52 2020
CDN Types
• A CDN
→ manages servers in multiple geographically distributed locations
→ stores copies of the videos in its servers, and
→ attempts to direct each user-request to a CDN that provides the best user experience.
• The CDN may be a private CDN or a third-party CDN.
Figure 5.3: Using IP any cast to route clients to closest CDN cluster
1. Packet Loss
• By default, most existing VoIP applications run over UDP.
• The UDP segment is encapsulated in an IP datagram.
• The datagram passes through router buffers in the path from sender to receiver
Problem:
There is possibility that one or more buffers are full.
In this case, the arriving IP datagram may be discarded.
Possible solution:
Loss can be eliminated by sending the packets over TCP rather than over UDP.
However, retransmissions are unacceptable for real-time applications they increase
delay.
Packet-loss results in a reduction of sender‟s transmission-rate, leading to buffer
starvation.
2. End-to-End Delay
• End-to-end delay is the sum of following delays:
3. Packet Jitter
• Jitter refers to varying queuing delays that a packet experiences in the network’s routers.
• If the receiver
→ ignores the presence of jitter and
→ plays out audio-chunks,
Then the resulting audio-quality can easily become unintelligible.
• Jitter can often be removed by using sequence numbers, timestamps, and a playout delay
5.4.3.1. FEC
• The basic idea of FEC: Redundant information is added to the original packet stream.
• The redundant information can be used to reconstruct approximations of some of the lost-
packets.
• Two FEC mechanisms:
1) Block Coding
A redundant encoded chunk is sent after every n chunks.
The redundant chunk is obtained by exclusive OR-ing the n original chunks.
If anyone packet in a group is lost, the receiver can fully reconstruct the lost-packet.
Disadvantages:
1) If 2 or more packets in a group are lost, receiver cannot reconstruct the lost-
packets.
2) Increases the playout delay. This is because
→ Receiver must wait to receive entire group of packets before it can begin
playout.
2) Lower Resolution Redundant Information
A lower-resolution audio-stream is sent as the redundant information.
For example: The sender creates
→ Nominal audio-stream and
→ Corresponding low-resolution, low-bit-rate audio-stream.
The low-bit-rate stream is referred to as the redundant-stream.
As shown in Figure 5.4, the sender constructs the nth packet by
→ taking the nth chunk from the nominal stream and
→ appending the nth chunk to the (n–1)st chunk from the redundant-stream
Advantage:
Whenever there is packet-loss, receiver can hide the loss by playing out low-bit-
rate chunk.
5.4.3.2. Interleaving
• A VoIP application can send interleaved audio.
• The sender resequences units of audio-data before transmission.
• Thus, originally adjacent units are separated by a certain distance in the transmitted-stream.
• Interleaving can mitigate the effect of packet-losses.
• Interleaving is illustrated in Figure 5.5.
• For example:
If units are 5 msecs in length and chunks are 20 msecs (that is, four units per chunk),
then
→ the first chunk contains the units 1, 5, 9, and 13
→ the second chunk contains the units 2, 6, 10 & 14 and so on.
• Advantages:
1) Improves the perceived quality of an audio-stream.
2) Low overhead.
3) Does not increase the bandwidth requirements of a stream.
• Disadvantage:
1) Increases latency. This limits use for VoIP applications.
RTP Basics
• RTP runs on top of UDP.
• The RTP packet is composed of i) RTP header & ii) audio chunk
• The header includes
i) Type of audio encoding
ii) Sequence number and
iii) Timestamp.
• The application appends each chunk of the audio-data with an RTP header.
• Here is how it works:
1) At sender-side:
i) A media chunk is encapsulated within an RTP packet.
ii) Then, the packet is encapsulated within a UDP segment.
iii)Finally, the UDP segment is handed over to IP.
2) At receiving-side:
i) The RTP packet is extracted from the UDP segment.
ii) Then, the media chunk is extracted from the RTP packet.
iii)Finally, the media chunk is passed to the media-player for decoding and rendering
• If an application uses RTP then the application easily interoperates with other multimedia
applications
• For example:
If 2 different companies use RTP in their VoIP product, then users will be able to
communicate.
• What RTP does not provide?
i) It does not provide any mechanism to ensure timely delivery of data.
ii) It does not provide quality-of-service (QoS) guarantees.
iii)It does not guarantee delivery of packets.
iv) It does not prevent out-of-order delivery of packets.
• RTP encapsulation is seen only at the end systems.
• Routers do not distinguish between
1) Payload Type
i) For an audio-stream, this field is used to indicate type of audio encoding that is being
used.
For example: PCM, delta modulation.
Table 5.1 lists some of the audio payload types currently supported by RTP.
ii) For a video stream, this field is used to indicate the type of video encoding.
For example: motion JPEG, MPEG.
Table 5.2 lists some of the video payload types currently supported by RTP.
2) Sequence Number
• This field increment by one for each RTP packet sent.
• This field may be used by the receiver to detect packet loss and to restore packet sequence.
3) Timestamp
• This field reflects the sampling instant of the first byte in the RTP data packet.
• The receiver can use timestamps
→ to remove packet jitter in the network and
→ to provide synchronous playout at the receiver.
• The timestamp is derived from a sampling clock at the sender.
4) Source Identifier (SRC)
• This field identifies the source of the RTP stream.
• Typically, each stream in an RTP session has a distinct SRC.
5.5.2. SIP
• SIP (Session Initiation Protocol) is an open and lightweight protocol.
• Main functions of SIP:
1) It provides mechanisms for establishing calls b/w a caller and a callee over an IP
network.
2) It allows the caller to notify the callee that it wants to start a call.
3) It allows the participants to agree on media encodings.
4) It also allows participants to end calls.
5) It provides mechanisms for the caller to determine the current IP address of the
callee.
Figure 5.7: SIP call establishment when Alice knows Bob‟s IP address
• Consider an example: Alice wants to call Bob.
• Alice‟s & Bob‟s PCs are both equipped with SIP-based software for making and receiving
phone calls.
• The following events occur:
1) An SIP session begins when Alice sends Bob an INVITE message.
This INVITE message is sent over UDP to the well-known port 5060 for SIP.
The INVITE message includes
i) An identifier for Bob ([email protected])
ii) An indication of Alice‟s current IP address
iii)An indication that Alice desires to receive audio, which is encoded in format
AVP 0.
DEPARTMENT OF ISE, BIT Page 179
COMPUTER NETWORKS AND SECURITY-18CS52 2020
2) Then, Bob sends an SIP response message (which resembles an HTTP response
message).
The response message is sent over UDP to the well-known port 5060 for SIP.
The response message includes
i) 200 OK
ii) An indication of Bob‟s current IP address
iii)An indication that Bob desires to receive audio, which is encoded in format
AVP 3.
3) Then, Alice sends Bob an SIP acknowledgment message.
4) Finally, Bob and Alice can talk.
• Three key characteristics of SIP:
1) SIP is an out-of-band protocol
The SIP message & the media-data use different sockets for sending and receiving.
2) The SIP messages are ASCII-readable and resemble HTTP messages.
3) SIP requires all messages to be acknowledged, so it can run over UDP or TCP.
SIP Messages
• Suppose that Alice wants to initiate a VoIP call to Bob.
• Then, her message will look something like this:
ii) A soft guarantee means the application will receive its requested QoS with high
probability.
Insight 1:
• Packet marking allows a router to distinguish among packets belonging to different classes
of traffic.
• If audio application starts sending packets at 1.5 Mbps or higher, then the HTTP packets will
starve.
DEPARTMENT OF ISE, BIT Page 184
COMPUTER NETWORKS AND SECURITY-18CS52 2020
Insight 2:
• It is desirable to provide a degree of traffic isolation among classes.
• Thus, one class is not adversely affected by another class of traffic that misbehaves.
Figure 5.10: Policing (and marking) the audio and HTTP traffic classes
1. FIFO
• FIFO (First-In-First-Out) is illustrated in Figure 5.12 & Figure 5.13.
• Packets are transmitted in order of their arrival at the queue.
• Packets arriving at the queue wait for transmission if the link is currently busy.
• Packets are discarded when they arrive at a full buffer.
• When a packet is completely transmitted over outgoing-link, the packet is removed from the
queue.
• Disadvantages:
1) This is not possible to provide different information flows with different QoS.
2) Hogging occurs when a user
→ sends packets at a high rate and
→ fills the buffers in the system
Thus, depriving other users of access to the buffer.
4. WFQ
• WFQ (Weighted Fair Queuing) is illustrated in Figure 5.18.
• Each user flow has its own buffer, but each user flow also has a weight that determines its
relative share of the bandwidth.
• If buffer 1 has weight 1 and buffer 2 has weight 3, then buffer 1 will receive 1/4 of the
bandwidth and buffer 2 will receive 3/4 of the bandwidth.
• In each round, each non-empty buffer would transmit a number of packets proportional to its
weight.
• WFQ systems are means for providing QoS guarantees.
• WFQ is also a work-conserving queuing discipline.
• Thus, WFQ will immediately move on to the next class when it finds an empty queue.
• Admission process is defined as The process of declaring flow’s QoS requirement, & then
deciding either to accept or block the flow.
Insight 4:
• If sufficient resources are not available, and QoS is to be guaranteed, a call admission
process is needed to decide whether to accept or block the flow.
MODULE-WISE QUESTIONS
PART 1
1) Briefly explain properties of Video. (4*)
2) Briefly explain properties of Audio. (4)
3) Briefly explain three broad categories of multimedia network applications. (6*)
4) Briefly explain UDP streaming stored video application. (4*)
5) With a diagram, explain streaming stored video over HTTP/TCP. (6*)
6) Briefly explain adaptive streaming & DASH. (6*)
7) Briefly explain CDN, its motivation & its type. (6)
8) With a diagram, explain CDN Operation. (6*)
9) Briefly explain three approaches for cluster-selection. (6)
10) List out and explain three challenges to the design of real-time applications. (6)
11) Briefly explain two FEC mechanisms. (6*)
12) With a diagram, explain interleaving. (6*)
PART 2
QUESTION BANK
MODULE I
Application Layer
1. Explain briefly about the Network Application architecture
MODULE III
1. Define Router
MODULE V
Multimedia Networking Applications
1. Explain how the streaming is stored for audio and video
do
c- RTT 1?Oms. Compute
EE
E! (1) RTT after each saryle RTT is obtained, Assume cr: 0.125
En RTT is 100 kfore fost of obtained.
Cor,npute DevRTT, 0"25 ard first of these
^ BE (04 Marks)
bd samples are
^dO -k
bo<
cgd
^
=L
}E
4a. three phases (08 Marks)
d4 b. structuIs (04 Marks)
^Ed
,ra a) c. of Go-Back (04 Marks)
!o
-9=
a
_ sA
tra.
5a. Give of IPV6 and explain (06 Marks)
hv b. message in IGMP? (03 Marks)
9E
5<) c. Wrib link state and if ts the following Eraph with source node
aa tE
^ EE dRefer (07 Marks)
HO
eg d&1
>\ qi
boo
qco
&M
^ ()=
a.;i
F>
69
o-
-^
U< 2*
-i ..i n
t!) "&,v b Fig.Qs(c)
o "t
z
^f
d OR
o
o. 6 a- What is the structure of a,routsr. (07 Marks)
b. List the algorithms? Explain prry one sf-them. (04 Marks)
c. Desgribe the .AS routing protocols in dgJail (05 Marks)
A
d"&l
,{ilk,/
,.%, 1 of2
&
KLE Dr. M.S. Sheshgiri College of Engineering & Technology, Library, Belagavi
"rfu
ww
15CS52
Module-4
7 a. Illustrate the two difftrent approaches for routing toa (08 Marks)
b. With a neat diagranq bring out the steps for mobile to home agent.
(08 Marks)
OR
8 a" Bring out the components of 3G Cellular (08 Marks)
b. Statehandoffi lMhat are the steps invo (05 Marks)
c. Explain the tkee phases,of rnobile IP. (03 Marks)
9 a. Briug out the leaky bucket for traffrc Dohcmg-i B/ (07 Marks)
b. Clasiff the multimedia lications. *qF (03 Marks)
c. Describe the link (06 Marks)
&"\
dg
OR &sglr "Y
10 L. Lisr the storedvideo. bxDldn anv one of them. (08 Marks)
b. Explain the
,SJ
4tr
@
4*#"
4fu
%/
.&
&tM
4ru
&J
&
: 2 of2
q q&4
"&M,',
ru Y
&
*%"e
W KLE Dr. M.S. Sheshgiri College of Engineering & Technology, Library, Belagavi
KLE Dr. M.S. Sheshgiri College of Engineering & Technology, Library, Belagavi - 590008
KLE Dr. M.S. Sheshgiri College of Engineering & Technology, Library, Belagavi - 590008
KLE Dr. M.S. Sheshgiri College of Engineering & Technology, Library, Belagavi
KLE Dr. M.S. Sheshgiri College of Engineering & Technology, Library, Belagavi
JiI
l
-".- i'r'"15CS/IS52
';' i *.4'
USN ,ri
Fifth Sem ester B.E. Degree Exam rp3Jion, Dec. 2Ol8 I J an.z0lg
Gomputer Nef:uflorks
'1.' ."lL'.
Time: 3 hrs. '' .t';' ,ti:il
i, Mu*' Marks:80
Note: Answer any FIVEfull questions,fuosing ONEfull questionftom each module.
o
-o ,-t "-"lsj-lEodule-l ""'r4,
Explain HTTP messages. . o+.'-&.i. :
O oi,ro*:a.,
d
o. I a. (08 Marks)
(u
+t,
o
i')* .,*t' OR ,*"-f' tt:
o
2 a. Explain FTP with its cffiands and replies. (08 Mat'ks)
dg
bo- b. Explain SMTP. ..fuq;: (o4Marhs)
y- c. Explain DNS roS'<fu6c8 record. . "llltll, (04 Marks)
-o
oo
-6
ll l''
jtl vroouid-z
-
.= e.l
cd+ 3a. ExplainSepdei' s view of sequence _nyr.ob* and its opera:i:q:n Goback N protoco(h8
Marks)
!r bO
tso
b.
:du1
Draw'ffiP segment structure andie>mlain. (08 Marks)
-ol: CO
- t; -.
,j,l;',,,'
o> tn
- 3c .oR .'i-. "n,I!-'
.1
'' 'ti
'
do rl . "'Ia,6...'
o!
bo(
(od
..+.!. Modulo-,3
!5 3 a. With diagram explaih router architectule*. (0E Mat*s)
d<
b. Explain IP fragmentation. ; rjo
(0E Marks)
€d S "1."
oe { 'r'&,, oR
o-; 6 a. vector (08 Marks)
routers. t:,i (04 Marks)
tor (04 Marks)
ots
'- ao
qtE
90
^ =-
O.=
>.! 7 architecture. (08 Ma rks)
oo" (08 Ma rks)
trbo
o= "F"
po
,> ''rr OR ,,t
;" 'l
LJ<
8a. Explain steps of handoffarfioQ!le user. (08 Marks)
b Exp lai n H LR, VLR, horn$* ai(dress, c are-o f-ad dress. (08 Marks)
-.i c..i
u;i,#.,
z
o
,r-" @.5,
9 a. With diagram, expJ,liq, naiVe architecture for audio/video streaming (08 Marks)
-F
d
a
b. Explain audio gg1gfpssion i n internet. (08 Marks)
d' oR
10 a. With diag{ar4, explain interaction between client and server using RTSP. (08 Mad<s)
b. ExOtaw.,hn,fiistreaming from streaming server to a media player is done. (08 Marts)
.r, * ****
KLE Dr. M.S. Sheshgiri College of Engineering & Technology, Library, Belagavi
ll
KLE Dr. M.S. Sheshgiri College of Engineering & Technology, Library, Belagavi