SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
NOS Unit – 1 Notes
OSI model
What is OSI model?
The OSI (Open Systems Interconnection) model is a conceptual model that describes how data is
transmitted and received over a network. The model was developed by the International Organization for
Standardization (ISO) in the 1980s, and it serves as a framework for understanding how different
networking technologies work together.
The OSI model consists of seven layers, each of which performs a specific set of functions in the
transmission and reception of data. The layers are as follows:
List the layers of OSI model in detail
1. Physical layer: This layer is responsible for transmitting raw bits over a physical medium such as
copper wire, fibre optic cable, or radio waves. It defines the electrical, mechanical, and physical
characteristics of the physical medium.
2. Data link layer: This layer is responsible for transmitting data frames over a physical medium. It
provides error detection and correction, and it handles the flow control and access to the physical
medium.
3. Network layer: This layer is responsible for routing data packets from the source device to the
destination device across multiple network nodes. It determines the best path for data transmission
and handles network congestion.
4. Transport layer: This layer is responsible for providing reliable data transmission between two
devices. It ensures that data is delivered in the correct order and without errors. It also provides
flow control and error recovery.
5. Session layer: This layer establishes, maintains, and terminates sessions between devices. It
manages the communication between applications running on different devices.
6. Presentation layer: This layer is responsible for presenting data to applications in a format that
they can understand. It translates data into a standard format that can be recognized by different
applications.
7. Application layer: This layer provides services to end-users, such as email, file transfer, and web
browsing. It enables applications to access the network and exchange data with other applications.
What is the difference between TCP and UDP?
TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are both protocols used for
sending data over the Internet. However, they differ in several ways:
1. Reliability: TCP is a reliable protocol that guarantees the delivery of data in the correct order
without any errors. It uses a system of acknowledgments and retransmissions to ensure that all
data is received. UDP, on the other hand, is an unreliable protocol that does not guarantee the
delivery of data. It simply sends packets of data and does not wait for acknowledgments or
retransmit lost packets.
2. Connection-oriented vs connectionless: TCP is a connection-oriented protocol, which means that it
establishes a connection between the sender and receiver before data is transmitted. This ensures
that data is sent in the correct order and without errors. UDP is a connectionless protocol, which
means that it does not establish a connection before data is transmitted. This makes it faster and
more efficient than TCP, but also less reliable.
3. Order of delivery: TCP guarantees that data will be delivered in the order it was sent. UDP does not
guarantee the order of delivery and packets may arrive out of order.
4. Congestion control: TCP implements congestion control mechanisms to prevent network
congestion and ensure fair sharing of network resources. UDP does not implement any congestion
control mechanisms.
5. Handshake: TCP uses a three-way handshake process to establish a connection between the sender
and receiver. UDP does not use any handshake process.
6. Flow control: TCP implements flow control mechanisms to ensure that data is not sent too quickly
for the receiver to handle. UDP does not implement any flow control mechanisms.
7. Header size: The header of a TCP packet is larger than that of a UDP packet. This is because TCP
includes extra information such as sequence numbers, acknowledgments, and error checking. UDP,
on the other hand, has a smaller header, which makes it faster and more efficient.
8. Usage: TCP is typically used for applications that require reliable data transmission, such as web
browsing, email, and file transfer. UDP is typically used for applications that require fast, efficient
data transmission, such as online gaming, streaming video, and VoIP (voice over IP).
In summary, TCP is a reliable, connection-oriented protocol with a larger header size, while UDP is an
unreliable, connectionless protocol with a smaller header size. The choice between TCP and UDP depends
on the specific requirements of the application being used.
What is the difference between flow control and error control?
Flow Control Error Control
Purpose
Regulates the flow of data between
sender and receiver to prevent receiver
buffer overflow
Detects and corrects errors in data
transmission
Mechanism
Uses feedback mechanism to control the
rate of data transmission Uses error detection and correction codes
Responsibility
The sender and receiver both implement
flow control mechanisms
The sender is responsible for implementing
error control mechanisms, while the
receiver verifies the integrity of the data
Protocol
examples TCP, X.25, Frame Relay UDP, ICMP, CRC
Performance
impact
Can slow down data transmission if the
flow control mechanism is too restrictive
Adds overhead to the data transmission
process
Importance Essential for reliable data transmission
Essential for ensuring the accuracy of data
transmission
Common issues Buffer overflow, packet loss, congestion Bit errors, noise, interference
Outcome of
failure
Receiver buffer overflow, packet loss,
congestion
Data corruption, data loss, transmission
failure
Mitigation
Adjusting the flow control parameters,
increasing the receiver buffer size
Implementing error correction codes,
retransmitting lost packets, using forward
error correction
In summary, flow control and error control are two essential mechanisms used in data transmission to
ensure reliable and accurate data transfer. While flow control regulates the flow of data to prevent buffer
overflow and congestion, error control detects and corrects errors in data transmission to ensure the
accuracy of the data being transferred.
TCP/IP Model
Explain the TCP/IP model layers?
The TCP/IP model is a protocol stack that is widely used in computer networks to facilitate communication
between devices. The TCP/IP model consists of four layers, each of which serves a specific purpose in the
transmission and reception of data. Here's a brief explanation of each layer:
1. Network Access Layer: This layer is responsible for transmitting data between the network and the
physical medium that carries it. It defines how data is transmitted over the physical medium,
including issues such as data framing, physical addressing, and error detection and correction.
2. Internet Layer: This layer is responsible for routing data between networks, and for providing an
addressing scheme that enables devices on different networks to communicate with each other. It
is also responsible for fragmentation and reassembly of packets, and for error checking and packet
forwarding.
3. Transport Layer: This layer is responsible for providing end-to-end communication between
devices. It defines the mechanisms for establishing and terminating connections between devices,
and for transmitting data reliably between them. It also provides flow control and congestion
control mechanisms to ensure efficient use of network resources.
4. Application Layer: This layer is responsible for providing network services to end-users. It defines
the protocols and standards for applications such as email, file transfer, and web browsing. It also
provides the interface between the network and the applications, and defines the rules for data
exchange between them.
Explain the range of TCP/IP classes?
TCP/IP classful addressing is a method of allocating IP addresses to devices on a network based on the size
of the network. There are three classes of IP addresses defined under this scheme: Class A, Class B, and
Class C.
1. Class A addresses: This class of IP addresses has the highest order bit set to 0, and the next 7 bits
representing the network portion of the address. The remaining 24 bits are used for the host
portion of the address. This means that Class A addresses have a range of 1.0.0.0 to 126.0.0.0, with
each network having up to 16,777,214 hosts.
2. Class B addresses: This class of IP addresses has the first two bits set to 10, and the next 14 bits
representing the network portion of the address. The remaining 16 bits are used for the host
portion of the address. This means that Class B addresses have a range of 128.0.0.0 to 191.255.0.0,
with each network having up to 65,534 hosts.
3. Class C addresses: This class of IP addresses has the first three bits set to 110, and the next 21 bits
representing the network portion of the address. The remaining 8 bits are used for the host portion
of the address. This means that Class C addresses have a range of 192.0.0.0 to 223.255.255.0, with
each network having up to 254 hosts.
4. Class D and Class E addresses, which are reserved for multicast and experimental use, respectively.
Class D addresses range from 224.0.0.0 to 239.255.255.255, and are used for multicasting. Class E
addresses range from 240.0.0.0 to 255.255.255.255, and are reserved for experimental use.
Define TCP Header.
TCP (Transmission Control Protocol) is a protocol used for transmitting data over the internet. The TCP
header is a part of the TCP protocol and is attached to every TCP packet. The header contains information
about the packet and helps the receiver to identify and interpret the packet correctly. Here are the fields
that are typically included in a TCP header:
1. Source Port: This field identifies the port number used by the sender for the connection.
2. Destination Port: This field identifies the port number used by the receiver for the connection.
3. Sequence Number: This field contains the sequence number of the first byte of data in the packet.
4. Acknowledgment Number: This field contains the sequence number of the next byte of data the
sender expects to receive.
5. Data Offset: This field specifies the number of 32-bit words in the TCP header.
6. Reserved: This field is reserved for future use.
7. Flags: This field contains a number of flags that are used to control the TCP connection. The most
important flags are the SYN, ACK, and FIN flags.
8. Window Size: This field specifies the size of the receiving window in bytes.
9. Checksum: This field contains a checksum of the entire TCP packet.
10. Urgent Pointer: This field is used to indicate the end of urgent data, if any.
11. Options: This field is used for various TCP options, such as maximum segment size, window scaling,
and selective acknowledgments.
Routing Protocols
Define Routing protocols?
Routing protocols are a set of rules or algorithms that determine how network traffic is forwarded from
one router to another router in order to reach its destination across a complex network. The main purpose
of routing protocols is to enable routers to communicate with each other and dynamically update the
routing tables with information about the available network paths, so that traffic can be efficiently and
reliably routed through the network.
There are several types of routing protocols, including:
1. Distance vector routing protocols: These protocols calculate the distance to other routers in the
network by counting the number of hops or routers that a packet must travel to reach its
destination.
2. Link-state routing protocols: These protocols create a complete map of the network, including all
the routers, links, and subnets, and use this information to determine the shortest path to a
destination.
3. Hybrid routing protocols: These protocols combine the features of distance vector and link-state
routing protocols to provide a balance of simplicity and efficiency.
4. Path vector routing protocols: These protocols are used to support large-scale networks, such as
the Internet, and provide more control over the routing decisions by allowing routers to specify the
path that traffic should take.
5. Some of the popular routing protocols include RIP (Routing Information Protocol), OSPF (Open
Shortest Path First), EIGRP (Enhanced Interior Gateway Routing Protocol), BGP (Border Gateway
Protocol), and IS-IS (Intermediate System to Intermediate System).
Define Hub, Switch, Router, Gateway, IP and Mac Address?
1. Hub: A hub is a networking device that connects multiple devices together on a network. It
operates on the physical layer of the OSI model and broadcasts all incoming data to all connected
devices. This can cause network congestion and is why hubs are not commonly used in modern
networks.
2. Switch: A switch is a networking device that connects multiple devices together on a network. It
operates on the data link layer of the OSI model and is able to send data only to the intended
device, reducing network congestion. Switches are commonly used in modern networks.
3. Router: A router is a networking device that connects multiple networks together, such as LANs and
WANs. It operates on the network layer of the OSI model and uses routing tables to determine the
best path for data to travel between networks. Routers are used to direct traffic between networks
and improve network efficiency.
4. Gateway: A gateway is a networking device that connects different types of networks together,
such as a LAN and the Internet. It translates data between different protocols, such as TCP/IP and
HTTP, to ensure compatibility between networks.
5. IP address: An IP address is a unique numerical identifier assigned to every device on a network
that uses the Internet Protocol. It is used to identify the device's location on the network and
facilitate communication with other devices.
6. MAC address: A MAC address is a unique identifier assigned to every network interface controller
(NIC) on a device. It is used to identify the device's physical address on the network and facilitate
communication with other devices.
Explain and differentiate OSPF and EIGRP
OSPF (Open Shortest Path First) and EIGRP (Enhanced Interior Gateway Routing Protocol) are both
routing protocols used in computer networks. While they are both designed to achieve similar goals, there
are some significant differences between the two. Here are some of the key differences:
1. Algorithm type: OSPF uses a link-state routing algorithm, while EIGRP uses a hybrid routing
algorithm that combines distance vector and link-state routing.
2. Routing updates: OSPF sends periodic updates to all routers in the network, while EIGRP sends
updates only when there are changes in the network.
3. Metric calculation: OSPF uses cost as its metric for calculating the best path, while EIGRP uses
bandwidth, delay, reliability, load, and MTU size to calculate its metric.
4. Convergence time: OSPF has a slower convergence time, while EIGRP has a faster convergence time
due to its advanced features like Diffusing Update Algorithm (DUAL) and Feasible Successor.
5. VLSM support: OSPF supports Variable Length Subnet Masking (VLSM), which allows for more
efficient use of IP address space, while EIGRP also supports VLSM but to a limited extent.
6. Scalability: OSPF is suitable for large networks with a complex topology, while EIGRP is more
suitable for smaller networks with a simpler topology.
7. Vendor support: OSPF is an open standard protocol and is supported by multiple vendors, while
EIGRP is a proprietary protocol owned by Cisco and is supported only on Cisco devices.
DNS
Generalize the main tasks of DNS
DNS (Domain Name System) is a hierarchical decentralized naming system used to map domain names to
IP addresses and other resources on the Internet. The main tasks of DNS include:
1. Translation of domain names to IP addresses: DNS is used to convert human-readable domain
names (such as www.example.com) to their corresponding IP addresses (such as 192.0.2.1). This
allows devices to locate and communicate with web servers and other resources on the Internet.
2. Distribution and management of domain names: DNS manages the allocation and administration
of domain names and associated resources, such as IP addresses and mail servers. This includes
registering and renewing domain names, resolving disputes over ownership, and maintaining the
accuracy and integrity of the DNS database.
3. Load balancing: DNS can be used to distribute traffic across multiple servers by providing different
IP addresses in response to requests for the same domain name. This helps to ensure that no one
server is overwhelmed with traffic and that users are directed to the most available and efficient
server.
4. Security: DNS plays a critical role in maintaining the security of the Internet by providing
mechanisms for authentication, authorization, and encryption. This includes using DNSSEC (Domain
Name System Security Extensions) to prevent DNS spoofing and other attacks, as well as
implementing DNS-based security protocols like DKIM (DomainKeys Identified Mail) and SPF
(Sender Policy Framework) to protect against spam and other malicious activities.
Explain DNS Architecture using diagram
• At the top of the hierarchy is the Root Server, which is responsible for storing information about the top-
level domains (TLDs) such as .com, .net, .org, and so on. There are 13 Root Servers distributed around the
world, each with its own IP address.
• Below the Root Server are the TLD Servers, which are responsible for storing information about the
second-level domains (SLDs) such as example.com, google.com, amazon.com, and so on. There are
different TLD servers for each TLD.
• Next are the Authoritative Servers, which are responsible for storing information about specific domain
names, including their IP addresses, mail servers, and other records. There can be multiple authoritative
servers for each domain name, with each server containing a copy of the DNS records for that domain.
• Finally, at the bottom of the hierarchy are the Users, who access the Internet through their devices, such
as computers, smartphones, or tablets. When a user enters a domain name in their browser, the DNS
resolver on their device sends a query to the DNS system, starting from the Root Server and working its
way down the hierarchy until it finds the authoritative server for the requested domain. The authoritative
server then responds with the IP address associated with the domain name, allowing the user's device to
connect to the requested resource.
Define DNS in the internet by describing various domains and their purpose. Use
diagrams where ever is applicable.
The Domain Name System (DNS) is a hierarchical decentralized naming system used to map domain
names to IP addresses and other resources on the Internet. The purpose of DNS is to provide a human-
readable way to access resources on the Internet, such as websites, email servers, and other services.
• The DNS system is organized into domains, which are logical groupings of related resources. Each
domain is identified by a unique domain name, such as example.com, and is associated with one or
more IP addresses or other records.
• The DNS hierarchy is organized into different levels, with each level representing a different
domain. The highest level of the hierarchy is the root domain, which is represented by a single dot
(.) and is responsible for managing the top-level domains (TLDs) such as .com, .net, .org, and so on.
• Below the root domain are the TLDs, which are responsible for managing the second-level domains
(SLDs) such as example.com, google.com, and amazon.com. Each TLD is managed by a separate
organization, such as Verisign for .com and .net, and is responsible for maintaining a list of
authoritative name servers for the domains under its control.
• Below the TLDs are the SLDs, which represent specific domain names such as www.example.com or
mail.google.com. Each SLD is associated with one or more IP addresses or other records, which are
stored in authoritative name servers maintained by the domain owners or their service providers.
Here is a diagram that illustrates the DNS hierarchy:
In this diagram, the root domain is represented by a single dot, and the TLDs are shown as boxes with the
names of the TLDs inside them. Each TLD is associated with one or more authoritative name servers, which
are shown as circles with IP addresses inside them.
The SLDs are shown as boxes with the domain names inside them, and are associated with one or more
authoritative name servers maintained by the domain owners or their service providers. The records
associated with each domain name are stored in these authoritative name servers and are used to map the
domain name to one or more IP addresses or other resources on the Internet.
Debate recursive resolution and iterative resolution in DNS using an example.
Recursive resolution and iterative resolution are two methods that can be used by DNS resolvers to query
authoritative name servers to resolve domain names. Both methods involve the same basic process of
sending queries to authoritative name servers, but they differ in how the queries are handled and how the
results are returned to the resolver.
Recursive Resolution:
In recursive resolution, the DNS resolver sends a query to a recursive resolver, which then sends additional
queries to other name servers until it receives a final answer. The recursive resolver handles all of the
intermediate queries and returns the final result to the requesting resolver. This method is commonly used
by end-user devices such as laptops and smartphones to resolve domain names.
Here is an example of recursive resolution:
Suppose a user wants to access the website www.example.com. The resolver on the user's device sends a
query to the local recursive resolver, asking for the IP address of www.example.com. The recursive resolver
then sends a query to the root name server, asking for the IP address of the .com TLD. The root name
server responds with a referral to the .com TLD name servers, which the recursive resolver then queries for
the IP address of example.com. The .com TLD name servers respond with a referral to the example.com
name servers, which the recursive resolver then queries for the IP address of www.example.com. The
example.com name servers respond with the IP address of the website, which the recursive resolver then
returns to the requesting resolver on the user's device.
Iterative Resolution:
In iterative resolution, the DNS resolver sends a query to an authoritative name server and waits for a
response. If the authoritative name server does not have the information, it returns a referral to another
name server that might have the answer. The resolver then sends a query to that name server, and the
process repeats until the final answer is obtained. This method is commonly used by DNS servers to query
other DNS servers.
Here is an example of iterative resolution:
Suppose a DNS server needs to resolve the IP address of a domain name for a client request. The DNS
server sends a query to the root name server, asking for the IP address of the .com TLD. The root name
server responds with a referral to the .com TLD name servers, but it does not handle any additional
queries. The DNS server then sends a query to one of the .com TLD name servers, asking for the IP address
of example.com. The .com TLD name server responds with a referral to the example.com name servers,
but it does not handle any additional queries. The DNS server then sends a query to one of the
example.com name servers, asking for the IP address of www.example.com. The example.com name
server responds with the IP address of the website, which the DNS server then returns to the requesting
client.
Overall, both recursive and iterative resolution are important methods used by DNS resolvers to query
authoritative name servers and resolve domain names. Recursive resolution is generally used by end-user
devices, while iterative resolution is used by DNS servers to query other DNS servers.
DHCP
Explain working of DHCP with the help of an example. Discuss also its benefits.
DHCP stands for Dynamic Host Configuration Protocol, which is a network protocol used to assign IP
addresses and other network configuration parameters to devices on a network. DHCP servers can be used
to assign IP addresses to computers, smartphones, printers, and other network devices automatically. In
this way, DHCP simplifies network administration by automating the assignment of network addresses and
other network settings.
Here's an example of how DHCP works:
Suppose a new computer is added to a network. When the computer is powered on, it broadcasts a DHCP
discover message on the network, asking for an IP address and other network configuration information. A
DHCP server on the network receives the request and responds with a DHCP offer message, providing the
computer with an IP address and other network configuration information, such as subnet mask, default
gateway, and DNS server address.
The computer then sends a DHCP request message to the DHCP server, confirming that it wants to use the
offered IP address and network configuration. The DHCP server responds with a DHCP acknowledgement
message, assigning the IP address to the computer and providing it with the necessary network
configuration information. The computer can then use this information to communicate on the network.
Benefits of DHCP:
1. Simplifies network administration: DHCP simplifies the task of assigning IP addresses and other
network configuration parameters to devices on a network. This can reduce the workload of
network administrators, who no longer need to manually configure each device on the network.
2. Automatic IP address assignment: DHCP automates the assignment of IP addresses, making it easy
to add new devices to a network without having to worry about IP address conflicts.
3. Centralized management: DHCP servers can be centrally managed, making it easy to track and
manage IP address assignments and other network configuration parameters.
4. Efficient use of IP addresses: DHCP servers can dynamically assign IP addresses to devices on the
network, releasing them when they are no longer needed. This helps to conserve IP addresses and
ensures efficient use of available network resources.
5. Reduced network errors: DHCP can reduce the possibility of configuration errors on the network,
such as duplicate IP addresses or incorrect subnet masks, which can cause network errors and
connectivity problems.
Define DHCP client state diagram (make a diagram) and explain the transitions among
these states
The DHCP client state diagram shows the various states a DHCP client goes through during the DHCP
process. Here's a diagram:
The states in the DHCP client state diagram are as follows:
1. INIT: In this state, the DHCP client is initially started and waits for a DHCP server to respond.
2. SELECT: In this state, the DHCP client sends a DHCP discover message to the network, requesting an
IP address.
3. REQUEST: In this state, the DHCP client selects an IP address offered by a DHCP server and sends a
request for that address.
4. BOUND: In this state, the DHCP client has received an IP address and other network configuration
parameters from a DHCP server and can use them to communicate on the network.
5. RENEW/REBIND: In this state, the DHCP client attempts to renew its lease on the IP address
assigned by the DHCP server. If the client cannot renew the lease, it enters the REBIND state, where
it tries to obtain a new IP address from any available DHCP server.
6. RELEASE: In this state, the DHCP client releases the IP address assigned to it by the DHCP server and
returns to the INIT state, ready to start the DHCP process again.
The transitions between these states are as follows:
1. INIT -> SELECT: The client sends a DHCP discover message to the network to request an IP address.
2. SELECT -> REQUEST: The client selects an IP address offered by a DHCP server and sends a request
for that address.
3. REQUEST -> BOUND: The DHCP server assigns an IP address to the client and sends an
acknowledgement message. The client is now bound to the IP address.
4. BOUND -> RENEW/REBIND: The client attempts to renew its lease on the IP address assigned by
the DHCP server. If the renewal is successful, the client remains in the BOUND state. If not, it enters
the REBIND state.
5. RENEW/REBIND -> BOUND: If the client is able to renew its lease or obtain a new IP address from a
DHCP server, it enters the BOUND state.
6. BOUND -> RELEASE: The client releases the IP address assigned to it by the DHCP server and returns
to the INIT state, ready to start the DHCP process again.
Explain process used in DHCP server and client conversation.
The DHCP process involves a conversation between the DHCP server and the DHCP client. Here's a step-by-
step explanation of the process:
1. DHCPDISCOVER: The DHCP client broadcasts a DHCPDISCOVER message to the network, requesting
an IP address.
2. DHCPOFFER: The DHCP server responds with a DHCPOFFER message, offering an available IP
address to the DHCP client.
3. DHCPREQUEST: The DHCP client sends a DHCPREQUEST message to the DHCP server, requesting
the IP address offered in the previous step.
4. DHCPACK: The DHCP server responds with a DHCPACK message, confirming that the IP address has
been assigned to the DHCP client.
5. DHCPRENEW: When the DHCP lease is about to expire, the DHCP client sends a DHCPRENEW
message to the DHCP server, requesting to renew its lease.
6. DHCPACK (Renewal): The DHCP server responds with a DHCPACK message, either renewing the
lease or assigning a new IP address to the client.
7. DHCPRELEASE: When the DHCP client no longer needs the assigned IP address, it sends a
DHCPRELEASE message to the DHCP server, releasing the IP address back to the pool of available
addresses.
The DHCP server maintains a pool of available IP addresses and assigns one to a DHCP client when it
requests one. It also manages the lease time for the assigned IP address, which specifies how long the
client can use the address before it needs to be renewed or released.
The DHCP client, on the other hand, requests an IP address from the DHCP server and negotiates the lease
time for the address. It also sends renewal and release messages to the server as needed.
RPC
Describe the various types of remote procedure calls.
Remote Procedure Call (RPC) is a protocol used for inter-process communication between different
machines on a network. There are several types of Remote Procedure Calls, including:
1. Synchronous RPC: This is the most common type of RPC. In this model, the client application makes
a remote procedure call and waits for a response before proceeding with other tasks.
2. Asynchronous RPC: In this model, the client application makes a remote procedure call and does
not wait for a response. Instead, it continues with other tasks and periodically checks for a
response.
3. One-way RPC: This is a type of asynchronous RPC where the client application sends a message to
the server without expecting a response.
4. Broadcast RPC: This is a type of one-way RPC where the message is sent to all the machines on a
network. The machines that are interested in the message can process it, while the rest ignore it.
5. Multicast RPC: This is a type of broadcast RPC where the message is sent to a specific group of
machines on a network. The machines that are interested in the message can process it, while the
rest ignore it.
6. Deferred RPC: In this model, the client application sends a request to the server, but the server
does not process it immediately. Instead, it defers the processing until a later time.
7. Batched RPC: In this model, the client application sends multiple requests to the server in a single
message, and the server processes them all at once.
Explain the components of Remote Procedure Call.
Remote Procedure Call (RPC) is a protocol used for inter-process communication between different
machines on a network. The main components of an RPC system include:
1. Client: The client is the application or process that initiates the RPC call. It sends a request to the
server, specifying the name of the remote procedure to be executed and the parameters to be
passed.
2. Server: The server is the process that receives the RPC call and executes the remote procedure. It
processes the request and sends a response back to the client, containing the results of the
procedure execution.
3. Stub: The stub is a client-side component that acts as a proxy for the remote procedure. It marshals
the arguments passed by the client, creates a message to send to the server, and sends the message
over the network.
4. Skeleton: The skeleton is a server-side component that receives the message from the client,
unmarshals the arguments, and invokes the remote procedure. It then marshals the results and
sends them back to the client.
5. Protocol: The protocol is a set of rules that govern the format of the messages exchanged between
the client and server. It defines the structure of the message, the data types of the arguments and
results, and the error handling mechanism.
6. Transport: The transport is responsible for sending and receiving the messages over the network. It
provides the communication channel between the client and server, and may use various protocols
such as TCP/IP, UDP, or HTTP.
7. Naming service: The naming service is responsible for mapping the name of the remote procedure
to the location of the server. It allows the client to locate the server without knowing its network
address.
Explain the difference between remote procedure call and local calls
The main difference between local calls and remote procedure calls (RPCs) is the location of the target
procedure. In a local call, the target procedure is located in the same address space as the caller, while in
an RPC, the target procedure is located on a different machine on the network.
1. Performance: Local calls are generally faster than remote procedure calls since they do not involve
network communication. RPCs require message transmission over the network, which adds
overhead and latency.
2. Transparency: Local calls are transparent to the programmer since they use the same programming
language and data structures as the caller. RPCs require the use of a remote procedure call
protocol, which introduces additional complexity.
3. Fault tolerance: Local calls do not require fault-tolerance mechanisms since they are executed
within the same address space. RPCs require mechanisms to handle network failures, timeouts, and
server crashes.
4. Security: Local calls do not require security measures since they are executed within the same
address space. RPCs require security mechanisms to protect the communication over the network.
5. Language independence: Local calls are typically limited to the programming language used by the
caller. RPCs can support different programming languages and operating systems since they use a
standardized protocol.
Give the main goal of remote procedure call (RPC)
The main goal of Remote Procedure Call (RPC) is to provide a mechanism for inter-process communication
between different machines on a network, as if they were executing procedures on a local machine. RPC
allows applications to invoke procedures on remote machines as if they were local, which simplifies the
development of distributed applications and enables them to share resources and data over the network.
RPC hides the details of the communication between the client and server, such as message formatting
and network protocols, and presents a simple interface to the programmer. The main goal of RPC is to
make distributed computing transparent to the application developer, allowing them to focus on the
application logic rather than the underlying network infrastructure.
In summary, the main goal of RPC is to provide a simple and efficient mechanism for remote procedure
invocation, enabling distributed applications to communicate and share resources over a network.
Write a few RPC (remote procedure call) issues. Justify why remote procedure call (RPC) doesn’t fit in
OSI model
1. Performance: RPCs can add significant overhead to network communication, especially if the
network is slow or congested. The latency and bandwidth limitations of the network can affect the
overall performance of the system.
2. Security: RPCs can be vulnerable to security threats such as eavesdropping, man-in-the-middle
attacks, and data tampering. Encryption and authentication mechanisms are required to ensure the
security of RPCs.
3. Portability: RPCs require a standardized protocol and interface definition language to ensure
interoperability between different systems and programming languages. This can limit the flexibility
and portability of the system.
4. Scalability: RPCs can be difficult to scale since they require additional resources for network
communication and server management. As the number of clients and servers increases, the
complexity and management overhead of the system also increases.
5. Fault tolerance: RPCs can be prone to errors and failures, especially in a distributed system.
Mechanisms such as timeout handling, retry policies, and error recovery are required to ensure the
reliability and fault tolerance of the system.
Remote Procedure Call (RPC) does not fit neatly into the OSI model because it spans multiple layers of the
model. RPCs use lower-level transport protocols such as TCP or UDP for message transmission, but also
require higher-level protocol mechanisms such as message formatting and marshalling. Additionally, RPCs
rely on application-level semantics such as procedure invocation and response handling, which are not part
of the OSI model. Therefore, RPCs cannot be easily classified within the OSI model, and require a separate
model for their description and analysis.
Write architectural elements of RPC
1. Client: The client is the program or process that initiates the RPC request. It calls a local procedure
that corresponds to the remote procedure it wants to invoke.
2. Stub: The client-side stub is a software module that acts as a proxy for the remote procedure. It
marshals the parameters of the RPC request into a message and sends it over the network to the
server.
3. Network: The network is the communication medium used to transmit the RPC request and
response messages between the client and server. It can be a local area network (LAN), wide area
network (WAN), or the Internet.
4. Server: The server is the program or process that receives the RPC request and performs the
requested operation. It is responsible for processing the request and sending back a response to
the client.
5. Skeleton: The server-side skeleton is a software module that receives the RPC request message,
unmarshals the parameters, and calls the local procedure that implements the requested
operation.
6. Application: The application is the software that uses the RPC mechanism to enable inter-process
communication between different machines on a network. It can be a single program or a
collection of programs that work together to perform a specific task.
7. The architectural elements of RPC work together to enable transparent inter-process
communication between different machines on a network, allowing applications to share resources
and data over the network without the need for complex networking code.
Describe the advantages and disadvantages of using remote procedure calls compared to
alternative methods of communication
Remote Procedure Calls (RPC) offer several advantages and disadvantages compared to alternative
methods of communication:
Advantages:
1. Transparency: RPC provides a transparent way for processes running on different machines to
communicate with each other, as if they were running on the same machine.
2. Encapsulation: RPC encapsulates the details of the network communication, making it easier to
develop distributed applications without worrying about the underlying networking protocols.
3. Reusability: RPC allows the reuse of existing software components and libraries, making it easier to
develop distributed applications by leveraging existing code.
4. Scalability: RPC allows distributed applications to scale by adding more servers or clients to handle
increased load.
5. Interoperability: RPC supports different programming languages and operating systems, allowing
developers to use the best tool for the job.
Disadvantages:
1. Overhead: RPC introduces overhead due to the additional network communication and marshalling
and unmarshalling of data, which can affect the performance of the system.
2. Complexity: Developing and maintaining an RPC-based system can be complex due to the need to
handle network failures, timeouts, and error handling.
3. Security: RPC-based systems can be vulnerable to security threats such as man-in-the-middle
attacks and buffer overflow attacks.
4. Coupling: RPC-based systems can be tightly coupled, making it difficult to change the underlying
network protocols or migrate to a new system architecture.
5. Limited to synchronous communication: RPC is limited to synchronous communication, which can
lead to performance issues and scalability limitations.
Overall, RPC is a powerful tool for developing distributed applications, but it's important to consider the
tradeoffs and use it appropriately depending on the specific requirements of the system.
Network Monitoring
1. Types of network monitoring tools.
2. How network monitor interprets the protocols in a trace that has been captured.
3. Write the key considerations when determining the best network monitoring system for a
particular
4. organization.
5. Explain how network administrators can use network monitoring to improve network
performance.
6. Give the purpose of Microsoft Network Monitor.
7. Write the most common causes of network issues identified by NetMon.
8. How NetMon be used to detect and prevent security breaches.
9. Discuss the most important metrics to monitor in a Microsoft network.
10. Explain the most effective way to configure a network monitoring system.
11. Benefits of using NetMon for network monitoring.
12. Explain how NetMon helps to ensure high availability of the network.

Mais conteúdo relacionado

Semelhante a NOS Unit.pdf

Itmg360 chapter one_v05
Itmg360 chapter one_v05Itmg360 chapter one_v05
Itmg360 chapter one_v05
Anuja Lad
 

Semelhante a NOS Unit.pdf (20)

OSI &TCP/IP Model
OSI &TCP/IP ModelOSI &TCP/IP Model
OSI &TCP/IP Model
 
Bt0072 computer networks 1
Bt0072 computer networks  1Bt0072 computer networks  1
Bt0072 computer networks 1
 
computer network and chapter 7 OSI layers.pptx
computer network and chapter 7 OSI layers.pptxcomputer network and chapter 7 OSI layers.pptx
computer network and chapter 7 OSI layers.pptx
 
TCP IP PowerPoint presentation download.
TCP IP PowerPoint presentation download.TCP IP PowerPoint presentation download.
TCP IP PowerPoint presentation download.
 
Computer Networks Lecture Notes 01
Computer Networks Lecture Notes 01Computer Networks Lecture Notes 01
Computer Networks Lecture Notes 01
 
chapter 4.pptx
chapter 4.pptxchapter 4.pptx
chapter 4.pptx
 
Osi
OsiOsi
Osi
 
Computer Networks Notes Complete Syllabus
Computer Networks Notes Complete SyllabusComputer Networks Notes Complete Syllabus
Computer Networks Notes Complete Syllabus
 
CISSP - Chapter 4 - Network Fundamental
CISSP - Chapter 4 - Network FundamentalCISSP - Chapter 4 - Network Fundamental
CISSP - Chapter 4 - Network Fundamental
 
CN Module 1 ppt final 20.08.2020.ppt
CN Module 1 ppt final 20.08.2020.pptCN Module 1 ppt final 20.08.2020.ppt
CN Module 1 ppt final 20.08.2020.ppt
 
Osi model
Osi modelOsi model
Osi model
 
OsI reference model
OsI reference modelOsI reference model
OsI reference model
 
Cn
CnCn
Cn
 
Ccna introduction
Ccna introductionCcna introduction
Ccna introduction
 
CN-OSI-TCP-Models-001.pdf
CN-OSI-TCP-Models-001.pdfCN-OSI-TCP-Models-001.pdf
CN-OSI-TCP-Models-001.pdf
 
unit-1fon (1).pptx
unit-1fon (1).pptxunit-1fon (1).pptx
unit-1fon (1).pptx
 
Itmg360 chapter one_v05
Itmg360 chapter one_v05Itmg360 chapter one_v05
Itmg360 chapter one_v05
 
Unit1-INTRODUCTION AND PHYSICAL LAYER.pptx
Unit1-INTRODUCTION AND PHYSICAL LAYER.pptxUnit1-INTRODUCTION AND PHYSICAL LAYER.pptx
Unit1-INTRODUCTION AND PHYSICAL LAYER.pptx
 
Osi models
Osi modelsOsi models
Osi models
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

NOS Unit.pdf

  • 1. NOS Unit – 1 Notes OSI model What is OSI model? The OSI (Open Systems Interconnection) model is a conceptual model that describes how data is transmitted and received over a network. The model was developed by the International Organization for Standardization (ISO) in the 1980s, and it serves as a framework for understanding how different networking technologies work together. The OSI model consists of seven layers, each of which performs a specific set of functions in the transmission and reception of data. The layers are as follows: List the layers of OSI model in detail 1. Physical layer: This layer is responsible for transmitting raw bits over a physical medium such as copper wire, fibre optic cable, or radio waves. It defines the electrical, mechanical, and physical characteristics of the physical medium. 2. Data link layer: This layer is responsible for transmitting data frames over a physical medium. It provides error detection and correction, and it handles the flow control and access to the physical medium. 3. Network layer: This layer is responsible for routing data packets from the source device to the destination device across multiple network nodes. It determines the best path for data transmission and handles network congestion. 4. Transport layer: This layer is responsible for providing reliable data transmission between two devices. It ensures that data is delivered in the correct order and without errors. It also provides flow control and error recovery. 5. Session layer: This layer establishes, maintains, and terminates sessions between devices. It manages the communication between applications running on different devices. 6. Presentation layer: This layer is responsible for presenting data to applications in a format that they can understand. It translates data into a standard format that can be recognized by different applications. 7. Application layer: This layer provides services to end-users, such as email, file transfer, and web browsing. It enables applications to access the network and exchange data with other applications.
  • 2. What is the difference between TCP and UDP? TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are both protocols used for sending data over the Internet. However, they differ in several ways: 1. Reliability: TCP is a reliable protocol that guarantees the delivery of data in the correct order without any errors. It uses a system of acknowledgments and retransmissions to ensure that all data is received. UDP, on the other hand, is an unreliable protocol that does not guarantee the delivery of data. It simply sends packets of data and does not wait for acknowledgments or retransmit lost packets. 2. Connection-oriented vs connectionless: TCP is a connection-oriented protocol, which means that it establishes a connection between the sender and receiver before data is transmitted. This ensures that data is sent in the correct order and without errors. UDP is a connectionless protocol, which means that it does not establish a connection before data is transmitted. This makes it faster and more efficient than TCP, but also less reliable. 3. Order of delivery: TCP guarantees that data will be delivered in the order it was sent. UDP does not guarantee the order of delivery and packets may arrive out of order. 4. Congestion control: TCP implements congestion control mechanisms to prevent network congestion and ensure fair sharing of network resources. UDP does not implement any congestion control mechanisms. 5. Handshake: TCP uses a three-way handshake process to establish a connection between the sender and receiver. UDP does not use any handshake process. 6. Flow control: TCP implements flow control mechanisms to ensure that data is not sent too quickly for the receiver to handle. UDP does not implement any flow control mechanisms. 7. Header size: The header of a TCP packet is larger than that of a UDP packet. This is because TCP includes extra information such as sequence numbers, acknowledgments, and error checking. UDP, on the other hand, has a smaller header, which makes it faster and more efficient. 8. Usage: TCP is typically used for applications that require reliable data transmission, such as web browsing, email, and file transfer. UDP is typically used for applications that require fast, efficient data transmission, such as online gaming, streaming video, and VoIP (voice over IP). In summary, TCP is a reliable, connection-oriented protocol with a larger header size, while UDP is an unreliable, connectionless protocol with a smaller header size. The choice between TCP and UDP depends on the specific requirements of the application being used.
  • 3. What is the difference between flow control and error control? Flow Control Error Control Purpose Regulates the flow of data between sender and receiver to prevent receiver buffer overflow Detects and corrects errors in data transmission Mechanism Uses feedback mechanism to control the rate of data transmission Uses error detection and correction codes Responsibility The sender and receiver both implement flow control mechanisms The sender is responsible for implementing error control mechanisms, while the receiver verifies the integrity of the data Protocol examples TCP, X.25, Frame Relay UDP, ICMP, CRC Performance impact Can slow down data transmission if the flow control mechanism is too restrictive Adds overhead to the data transmission process Importance Essential for reliable data transmission Essential for ensuring the accuracy of data transmission Common issues Buffer overflow, packet loss, congestion Bit errors, noise, interference Outcome of failure Receiver buffer overflow, packet loss, congestion Data corruption, data loss, transmission failure Mitigation Adjusting the flow control parameters, increasing the receiver buffer size Implementing error correction codes, retransmitting lost packets, using forward error correction In summary, flow control and error control are two essential mechanisms used in data transmission to ensure reliable and accurate data transfer. While flow control regulates the flow of data to prevent buffer overflow and congestion, error control detects and corrects errors in data transmission to ensure the accuracy of the data being transferred.
  • 4. TCP/IP Model Explain the TCP/IP model layers? The TCP/IP model is a protocol stack that is widely used in computer networks to facilitate communication between devices. The TCP/IP model consists of four layers, each of which serves a specific purpose in the transmission and reception of data. Here's a brief explanation of each layer: 1. Network Access Layer: This layer is responsible for transmitting data between the network and the physical medium that carries it. It defines how data is transmitted over the physical medium, including issues such as data framing, physical addressing, and error detection and correction. 2. Internet Layer: This layer is responsible for routing data between networks, and for providing an addressing scheme that enables devices on different networks to communicate with each other. It is also responsible for fragmentation and reassembly of packets, and for error checking and packet forwarding. 3. Transport Layer: This layer is responsible for providing end-to-end communication between devices. It defines the mechanisms for establishing and terminating connections between devices, and for transmitting data reliably between them. It also provides flow control and congestion control mechanisms to ensure efficient use of network resources. 4. Application Layer: This layer is responsible for providing network services to end-users. It defines the protocols and standards for applications such as email, file transfer, and web browsing. It also provides the interface between the network and the applications, and defines the rules for data exchange between them. Explain the range of TCP/IP classes? TCP/IP classful addressing is a method of allocating IP addresses to devices on a network based on the size of the network. There are three classes of IP addresses defined under this scheme: Class A, Class B, and Class C. 1. Class A addresses: This class of IP addresses has the highest order bit set to 0, and the next 7 bits representing the network portion of the address. The remaining 24 bits are used for the host portion of the address. This means that Class A addresses have a range of 1.0.0.0 to 126.0.0.0, with each network having up to 16,777,214 hosts.
  • 5. 2. Class B addresses: This class of IP addresses has the first two bits set to 10, and the next 14 bits representing the network portion of the address. The remaining 16 bits are used for the host portion of the address. This means that Class B addresses have a range of 128.0.0.0 to 191.255.0.0, with each network having up to 65,534 hosts. 3. Class C addresses: This class of IP addresses has the first three bits set to 110, and the next 21 bits representing the network portion of the address. The remaining 8 bits are used for the host portion of the address. This means that Class C addresses have a range of 192.0.0.0 to 223.255.255.0, with each network having up to 254 hosts. 4. Class D and Class E addresses, which are reserved for multicast and experimental use, respectively. Class D addresses range from 224.0.0.0 to 239.255.255.255, and are used for multicasting. Class E addresses range from 240.0.0.0 to 255.255.255.255, and are reserved for experimental use. Define TCP Header. TCP (Transmission Control Protocol) is a protocol used for transmitting data over the internet. The TCP header is a part of the TCP protocol and is attached to every TCP packet. The header contains information about the packet and helps the receiver to identify and interpret the packet correctly. Here are the fields that are typically included in a TCP header: 1. Source Port: This field identifies the port number used by the sender for the connection. 2. Destination Port: This field identifies the port number used by the receiver for the connection. 3. Sequence Number: This field contains the sequence number of the first byte of data in the packet. 4. Acknowledgment Number: This field contains the sequence number of the next byte of data the sender expects to receive. 5. Data Offset: This field specifies the number of 32-bit words in the TCP header. 6. Reserved: This field is reserved for future use. 7. Flags: This field contains a number of flags that are used to control the TCP connection. The most important flags are the SYN, ACK, and FIN flags. 8. Window Size: This field specifies the size of the receiving window in bytes. 9. Checksum: This field contains a checksum of the entire TCP packet. 10. Urgent Pointer: This field is used to indicate the end of urgent data, if any. 11. Options: This field is used for various TCP options, such as maximum segment size, window scaling, and selective acknowledgments.
  • 6. Routing Protocols Define Routing protocols? Routing protocols are a set of rules or algorithms that determine how network traffic is forwarded from one router to another router in order to reach its destination across a complex network. The main purpose of routing protocols is to enable routers to communicate with each other and dynamically update the routing tables with information about the available network paths, so that traffic can be efficiently and reliably routed through the network. There are several types of routing protocols, including: 1. Distance vector routing protocols: These protocols calculate the distance to other routers in the network by counting the number of hops or routers that a packet must travel to reach its destination. 2. Link-state routing protocols: These protocols create a complete map of the network, including all the routers, links, and subnets, and use this information to determine the shortest path to a destination. 3. Hybrid routing protocols: These protocols combine the features of distance vector and link-state routing protocols to provide a balance of simplicity and efficiency. 4. Path vector routing protocols: These protocols are used to support large-scale networks, such as the Internet, and provide more control over the routing decisions by allowing routers to specify the path that traffic should take. 5. Some of the popular routing protocols include RIP (Routing Information Protocol), OSPF (Open Shortest Path First), EIGRP (Enhanced Interior Gateway Routing Protocol), BGP (Border Gateway Protocol), and IS-IS (Intermediate System to Intermediate System). Define Hub, Switch, Router, Gateway, IP and Mac Address? 1. Hub: A hub is a networking device that connects multiple devices together on a network. It operates on the physical layer of the OSI model and broadcasts all incoming data to all connected devices. This can cause network congestion and is why hubs are not commonly used in modern networks.
  • 7. 2. Switch: A switch is a networking device that connects multiple devices together on a network. It operates on the data link layer of the OSI model and is able to send data only to the intended device, reducing network congestion. Switches are commonly used in modern networks. 3. Router: A router is a networking device that connects multiple networks together, such as LANs and WANs. It operates on the network layer of the OSI model and uses routing tables to determine the best path for data to travel between networks. Routers are used to direct traffic between networks and improve network efficiency. 4. Gateway: A gateway is a networking device that connects different types of networks together, such as a LAN and the Internet. It translates data between different protocols, such as TCP/IP and HTTP, to ensure compatibility between networks. 5. IP address: An IP address is a unique numerical identifier assigned to every device on a network that uses the Internet Protocol. It is used to identify the device's location on the network and facilitate communication with other devices. 6. MAC address: A MAC address is a unique identifier assigned to every network interface controller (NIC) on a device. It is used to identify the device's physical address on the network and facilitate communication with other devices. Explain and differentiate OSPF and EIGRP OSPF (Open Shortest Path First) and EIGRP (Enhanced Interior Gateway Routing Protocol) are both routing protocols used in computer networks. While they are both designed to achieve similar goals, there are some significant differences between the two. Here are some of the key differences: 1. Algorithm type: OSPF uses a link-state routing algorithm, while EIGRP uses a hybrid routing algorithm that combines distance vector and link-state routing. 2. Routing updates: OSPF sends periodic updates to all routers in the network, while EIGRP sends updates only when there are changes in the network. 3. Metric calculation: OSPF uses cost as its metric for calculating the best path, while EIGRP uses bandwidth, delay, reliability, load, and MTU size to calculate its metric.
  • 8. 4. Convergence time: OSPF has a slower convergence time, while EIGRP has a faster convergence time due to its advanced features like Diffusing Update Algorithm (DUAL) and Feasible Successor. 5. VLSM support: OSPF supports Variable Length Subnet Masking (VLSM), which allows for more efficient use of IP address space, while EIGRP also supports VLSM but to a limited extent. 6. Scalability: OSPF is suitable for large networks with a complex topology, while EIGRP is more suitable for smaller networks with a simpler topology. 7. Vendor support: OSPF is an open standard protocol and is supported by multiple vendors, while EIGRP is a proprietary protocol owned by Cisco and is supported only on Cisco devices. DNS Generalize the main tasks of DNS DNS (Domain Name System) is a hierarchical decentralized naming system used to map domain names to IP addresses and other resources on the Internet. The main tasks of DNS include: 1. Translation of domain names to IP addresses: DNS is used to convert human-readable domain names (such as www.example.com) to their corresponding IP addresses (such as 192.0.2.1). This allows devices to locate and communicate with web servers and other resources on the Internet. 2. Distribution and management of domain names: DNS manages the allocation and administration of domain names and associated resources, such as IP addresses and mail servers. This includes registering and renewing domain names, resolving disputes over ownership, and maintaining the accuracy and integrity of the DNS database. 3. Load balancing: DNS can be used to distribute traffic across multiple servers by providing different IP addresses in response to requests for the same domain name. This helps to ensure that no one server is overwhelmed with traffic and that users are directed to the most available and efficient server. 4. Security: DNS plays a critical role in maintaining the security of the Internet by providing mechanisms for authentication, authorization, and encryption. This includes using DNSSEC (Domain Name System Security Extensions) to prevent DNS spoofing and other attacks, as well as implementing DNS-based security protocols like DKIM (DomainKeys Identified Mail) and SPF (Sender Policy Framework) to protect against spam and other malicious activities.
  • 9. Explain DNS Architecture using diagram • At the top of the hierarchy is the Root Server, which is responsible for storing information about the top- level domains (TLDs) such as .com, .net, .org, and so on. There are 13 Root Servers distributed around the world, each with its own IP address. • Below the Root Server are the TLD Servers, which are responsible for storing information about the second-level domains (SLDs) such as example.com, google.com, amazon.com, and so on. There are different TLD servers for each TLD. • Next are the Authoritative Servers, which are responsible for storing information about specific domain names, including their IP addresses, mail servers, and other records. There can be multiple authoritative servers for each domain name, with each server containing a copy of the DNS records for that domain. • Finally, at the bottom of the hierarchy are the Users, who access the Internet through their devices, such as computers, smartphones, or tablets. When a user enters a domain name in their browser, the DNS resolver on their device sends a query to the DNS system, starting from the Root Server and working its way down the hierarchy until it finds the authoritative server for the requested domain. The authoritative server then responds with the IP address associated with the domain name, allowing the user's device to connect to the requested resource.
  • 10. Define DNS in the internet by describing various domains and their purpose. Use diagrams where ever is applicable. The Domain Name System (DNS) is a hierarchical decentralized naming system used to map domain names to IP addresses and other resources on the Internet. The purpose of DNS is to provide a human- readable way to access resources on the Internet, such as websites, email servers, and other services. • The DNS system is organized into domains, which are logical groupings of related resources. Each domain is identified by a unique domain name, such as example.com, and is associated with one or more IP addresses or other records. • The DNS hierarchy is organized into different levels, with each level representing a different domain. The highest level of the hierarchy is the root domain, which is represented by a single dot (.) and is responsible for managing the top-level domains (TLDs) such as .com, .net, .org, and so on. • Below the root domain are the TLDs, which are responsible for managing the second-level domains (SLDs) such as example.com, google.com, and amazon.com. Each TLD is managed by a separate organization, such as Verisign for .com and .net, and is responsible for maintaining a list of authoritative name servers for the domains under its control. • Below the TLDs are the SLDs, which represent specific domain names such as www.example.com or mail.google.com. Each SLD is associated with one or more IP addresses or other records, which are stored in authoritative name servers maintained by the domain owners or their service providers. Here is a diagram that illustrates the DNS hierarchy:
  • 11. In this diagram, the root domain is represented by a single dot, and the TLDs are shown as boxes with the names of the TLDs inside them. Each TLD is associated with one or more authoritative name servers, which are shown as circles with IP addresses inside them. The SLDs are shown as boxes with the domain names inside them, and are associated with one or more authoritative name servers maintained by the domain owners or their service providers. The records associated with each domain name are stored in these authoritative name servers and are used to map the domain name to one or more IP addresses or other resources on the Internet. Debate recursive resolution and iterative resolution in DNS using an example. Recursive resolution and iterative resolution are two methods that can be used by DNS resolvers to query authoritative name servers to resolve domain names. Both methods involve the same basic process of sending queries to authoritative name servers, but they differ in how the queries are handled and how the results are returned to the resolver. Recursive Resolution: In recursive resolution, the DNS resolver sends a query to a recursive resolver, which then sends additional queries to other name servers until it receives a final answer. The recursive resolver handles all of the intermediate queries and returns the final result to the requesting resolver. This method is commonly used by end-user devices such as laptops and smartphones to resolve domain names. Here is an example of recursive resolution: Suppose a user wants to access the website www.example.com. The resolver on the user's device sends a query to the local recursive resolver, asking for the IP address of www.example.com. The recursive resolver then sends a query to the root name server, asking for the IP address of the .com TLD. The root name server responds with a referral to the .com TLD name servers, which the recursive resolver then queries for the IP address of example.com. The .com TLD name servers respond with a referral to the example.com name servers, which the recursive resolver then queries for the IP address of www.example.com. The example.com name servers respond with the IP address of the website, which the recursive resolver then returns to the requesting resolver on the user's device. Iterative Resolution: In iterative resolution, the DNS resolver sends a query to an authoritative name server and waits for a response. If the authoritative name server does not have the information, it returns a referral to another name server that might have the answer. The resolver then sends a query to that name server, and the process repeats until the final answer is obtained. This method is commonly used by DNS servers to query other DNS servers.
  • 12. Here is an example of iterative resolution: Suppose a DNS server needs to resolve the IP address of a domain name for a client request. The DNS server sends a query to the root name server, asking for the IP address of the .com TLD. The root name server responds with a referral to the .com TLD name servers, but it does not handle any additional queries. The DNS server then sends a query to one of the .com TLD name servers, asking for the IP address of example.com. The .com TLD name server responds with a referral to the example.com name servers, but it does not handle any additional queries. The DNS server then sends a query to one of the example.com name servers, asking for the IP address of www.example.com. The example.com name server responds with the IP address of the website, which the DNS server then returns to the requesting client. Overall, both recursive and iterative resolution are important methods used by DNS resolvers to query authoritative name servers and resolve domain names. Recursive resolution is generally used by end-user devices, while iterative resolution is used by DNS servers to query other DNS servers. DHCP Explain working of DHCP with the help of an example. Discuss also its benefits. DHCP stands for Dynamic Host Configuration Protocol, which is a network protocol used to assign IP addresses and other network configuration parameters to devices on a network. DHCP servers can be used to assign IP addresses to computers, smartphones, printers, and other network devices automatically. In this way, DHCP simplifies network administration by automating the assignment of network addresses and other network settings. Here's an example of how DHCP works: Suppose a new computer is added to a network. When the computer is powered on, it broadcasts a DHCP discover message on the network, asking for an IP address and other network configuration information. A DHCP server on the network receives the request and responds with a DHCP offer message, providing the computer with an IP address and other network configuration information, such as subnet mask, default gateway, and DNS server address. The computer then sends a DHCP request message to the DHCP server, confirming that it wants to use the offered IP address and network configuration. The DHCP server responds with a DHCP acknowledgement message, assigning the IP address to the computer and providing it with the necessary network configuration information. The computer can then use this information to communicate on the network.
  • 13. Benefits of DHCP: 1. Simplifies network administration: DHCP simplifies the task of assigning IP addresses and other network configuration parameters to devices on a network. This can reduce the workload of network administrators, who no longer need to manually configure each device on the network. 2. Automatic IP address assignment: DHCP automates the assignment of IP addresses, making it easy to add new devices to a network without having to worry about IP address conflicts. 3. Centralized management: DHCP servers can be centrally managed, making it easy to track and manage IP address assignments and other network configuration parameters. 4. Efficient use of IP addresses: DHCP servers can dynamically assign IP addresses to devices on the network, releasing them when they are no longer needed. This helps to conserve IP addresses and ensures efficient use of available network resources. 5. Reduced network errors: DHCP can reduce the possibility of configuration errors on the network, such as duplicate IP addresses or incorrect subnet masks, which can cause network errors and connectivity problems. Define DHCP client state diagram (make a diagram) and explain the transitions among these states The DHCP client state diagram shows the various states a DHCP client goes through during the DHCP process. Here's a diagram:
  • 14. The states in the DHCP client state diagram are as follows: 1. INIT: In this state, the DHCP client is initially started and waits for a DHCP server to respond. 2. SELECT: In this state, the DHCP client sends a DHCP discover message to the network, requesting an IP address. 3. REQUEST: In this state, the DHCP client selects an IP address offered by a DHCP server and sends a request for that address. 4. BOUND: In this state, the DHCP client has received an IP address and other network configuration parameters from a DHCP server and can use them to communicate on the network. 5. RENEW/REBIND: In this state, the DHCP client attempts to renew its lease on the IP address assigned by the DHCP server. If the client cannot renew the lease, it enters the REBIND state, where it tries to obtain a new IP address from any available DHCP server. 6. RELEASE: In this state, the DHCP client releases the IP address assigned to it by the DHCP server and returns to the INIT state, ready to start the DHCP process again. The transitions between these states are as follows: 1. INIT -> SELECT: The client sends a DHCP discover message to the network to request an IP address. 2. SELECT -> REQUEST: The client selects an IP address offered by a DHCP server and sends a request for that address. 3. REQUEST -> BOUND: The DHCP server assigns an IP address to the client and sends an acknowledgement message. The client is now bound to the IP address. 4. BOUND -> RENEW/REBIND: The client attempts to renew its lease on the IP address assigned by the DHCP server. If the renewal is successful, the client remains in the BOUND state. If not, it enters the REBIND state. 5. RENEW/REBIND -> BOUND: If the client is able to renew its lease or obtain a new IP address from a DHCP server, it enters the BOUND state. 6. BOUND -> RELEASE: The client releases the IP address assigned to it by the DHCP server and returns to the INIT state, ready to start the DHCP process again. Explain process used in DHCP server and client conversation. The DHCP process involves a conversation between the DHCP server and the DHCP client. Here's a step-by- step explanation of the process: 1. DHCPDISCOVER: The DHCP client broadcasts a DHCPDISCOVER message to the network, requesting an IP address. 2. DHCPOFFER: The DHCP server responds with a DHCPOFFER message, offering an available IP address to the DHCP client. 3. DHCPREQUEST: The DHCP client sends a DHCPREQUEST message to the DHCP server, requesting the IP address offered in the previous step. 4. DHCPACK: The DHCP server responds with a DHCPACK message, confirming that the IP address has been assigned to the DHCP client.
  • 15. 5. DHCPRENEW: When the DHCP lease is about to expire, the DHCP client sends a DHCPRENEW message to the DHCP server, requesting to renew its lease. 6. DHCPACK (Renewal): The DHCP server responds with a DHCPACK message, either renewing the lease or assigning a new IP address to the client. 7. DHCPRELEASE: When the DHCP client no longer needs the assigned IP address, it sends a DHCPRELEASE message to the DHCP server, releasing the IP address back to the pool of available addresses. The DHCP server maintains a pool of available IP addresses and assigns one to a DHCP client when it requests one. It also manages the lease time for the assigned IP address, which specifies how long the client can use the address before it needs to be renewed or released. The DHCP client, on the other hand, requests an IP address from the DHCP server and negotiates the lease time for the address. It also sends renewal and release messages to the server as needed. RPC Describe the various types of remote procedure calls. Remote Procedure Call (RPC) is a protocol used for inter-process communication between different machines on a network. There are several types of Remote Procedure Calls, including: 1. Synchronous RPC: This is the most common type of RPC. In this model, the client application makes a remote procedure call and waits for a response before proceeding with other tasks. 2. Asynchronous RPC: In this model, the client application makes a remote procedure call and does not wait for a response. Instead, it continues with other tasks and periodically checks for a response. 3. One-way RPC: This is a type of asynchronous RPC where the client application sends a message to the server without expecting a response. 4. Broadcast RPC: This is a type of one-way RPC where the message is sent to all the machines on a network. The machines that are interested in the message can process it, while the rest ignore it. 5. Multicast RPC: This is a type of broadcast RPC where the message is sent to a specific group of machines on a network. The machines that are interested in the message can process it, while the rest ignore it. 6. Deferred RPC: In this model, the client application sends a request to the server, but the server does not process it immediately. Instead, it defers the processing until a later time. 7. Batched RPC: In this model, the client application sends multiple requests to the server in a single message, and the server processes them all at once.
  • 16. Explain the components of Remote Procedure Call. Remote Procedure Call (RPC) is a protocol used for inter-process communication between different machines on a network. The main components of an RPC system include: 1. Client: The client is the application or process that initiates the RPC call. It sends a request to the server, specifying the name of the remote procedure to be executed and the parameters to be passed. 2. Server: The server is the process that receives the RPC call and executes the remote procedure. It processes the request and sends a response back to the client, containing the results of the procedure execution. 3. Stub: The stub is a client-side component that acts as a proxy for the remote procedure. It marshals the arguments passed by the client, creates a message to send to the server, and sends the message over the network. 4. Skeleton: The skeleton is a server-side component that receives the message from the client, unmarshals the arguments, and invokes the remote procedure. It then marshals the results and sends them back to the client. 5. Protocol: The protocol is a set of rules that govern the format of the messages exchanged between the client and server. It defines the structure of the message, the data types of the arguments and results, and the error handling mechanism. 6. Transport: The transport is responsible for sending and receiving the messages over the network. It provides the communication channel between the client and server, and may use various protocols such as TCP/IP, UDP, or HTTP. 7. Naming service: The naming service is responsible for mapping the name of the remote procedure to the location of the server. It allows the client to locate the server without knowing its network address. Explain the difference between remote procedure call and local calls The main difference between local calls and remote procedure calls (RPCs) is the location of the target procedure. In a local call, the target procedure is located in the same address space as the caller, while in an RPC, the target procedure is located on a different machine on the network. 1. Performance: Local calls are generally faster than remote procedure calls since they do not involve network communication. RPCs require message transmission over the network, which adds overhead and latency. 2. Transparency: Local calls are transparent to the programmer since they use the same programming language and data structures as the caller. RPCs require the use of a remote procedure call protocol, which introduces additional complexity. 3. Fault tolerance: Local calls do not require fault-tolerance mechanisms since they are executed within the same address space. RPCs require mechanisms to handle network failures, timeouts, and server crashes. 4. Security: Local calls do not require security measures since they are executed within the same address space. RPCs require security mechanisms to protect the communication over the network.
  • 17. 5. Language independence: Local calls are typically limited to the programming language used by the caller. RPCs can support different programming languages and operating systems since they use a standardized protocol. Give the main goal of remote procedure call (RPC) The main goal of Remote Procedure Call (RPC) is to provide a mechanism for inter-process communication between different machines on a network, as if they were executing procedures on a local machine. RPC allows applications to invoke procedures on remote machines as if they were local, which simplifies the development of distributed applications and enables them to share resources and data over the network. RPC hides the details of the communication between the client and server, such as message formatting and network protocols, and presents a simple interface to the programmer. The main goal of RPC is to make distributed computing transparent to the application developer, allowing them to focus on the application logic rather than the underlying network infrastructure. In summary, the main goal of RPC is to provide a simple and efficient mechanism for remote procedure invocation, enabling distributed applications to communicate and share resources over a network. Write a few RPC (remote procedure call) issues. Justify why remote procedure call (RPC) doesn’t fit in OSI model 1. Performance: RPCs can add significant overhead to network communication, especially if the network is slow or congested. The latency and bandwidth limitations of the network can affect the overall performance of the system. 2. Security: RPCs can be vulnerable to security threats such as eavesdropping, man-in-the-middle attacks, and data tampering. Encryption and authentication mechanisms are required to ensure the security of RPCs. 3. Portability: RPCs require a standardized protocol and interface definition language to ensure interoperability between different systems and programming languages. This can limit the flexibility and portability of the system. 4. Scalability: RPCs can be difficult to scale since they require additional resources for network communication and server management. As the number of clients and servers increases, the complexity and management overhead of the system also increases. 5. Fault tolerance: RPCs can be prone to errors and failures, especially in a distributed system. Mechanisms such as timeout handling, retry policies, and error recovery are required to ensure the reliability and fault tolerance of the system.
  • 18. Remote Procedure Call (RPC) does not fit neatly into the OSI model because it spans multiple layers of the model. RPCs use lower-level transport protocols such as TCP or UDP for message transmission, but also require higher-level protocol mechanisms such as message formatting and marshalling. Additionally, RPCs rely on application-level semantics such as procedure invocation and response handling, which are not part of the OSI model. Therefore, RPCs cannot be easily classified within the OSI model, and require a separate model for their description and analysis. Write architectural elements of RPC 1. Client: The client is the program or process that initiates the RPC request. It calls a local procedure that corresponds to the remote procedure it wants to invoke. 2. Stub: The client-side stub is a software module that acts as a proxy for the remote procedure. It marshals the parameters of the RPC request into a message and sends it over the network to the server. 3. Network: The network is the communication medium used to transmit the RPC request and response messages between the client and server. It can be a local area network (LAN), wide area network (WAN), or the Internet. 4. Server: The server is the program or process that receives the RPC request and performs the requested operation. It is responsible for processing the request and sending back a response to the client. 5. Skeleton: The server-side skeleton is a software module that receives the RPC request message, unmarshals the parameters, and calls the local procedure that implements the requested operation. 6. Application: The application is the software that uses the RPC mechanism to enable inter-process communication between different machines on a network. It can be a single program or a collection of programs that work together to perform a specific task. 7. The architectural elements of RPC work together to enable transparent inter-process communication between different machines on a network, allowing applications to share resources and data over the network without the need for complex networking code.
  • 19. Describe the advantages and disadvantages of using remote procedure calls compared to alternative methods of communication Remote Procedure Calls (RPC) offer several advantages and disadvantages compared to alternative methods of communication: Advantages: 1. Transparency: RPC provides a transparent way for processes running on different machines to communicate with each other, as if they were running on the same machine. 2. Encapsulation: RPC encapsulates the details of the network communication, making it easier to develop distributed applications without worrying about the underlying networking protocols. 3. Reusability: RPC allows the reuse of existing software components and libraries, making it easier to develop distributed applications by leveraging existing code. 4. Scalability: RPC allows distributed applications to scale by adding more servers or clients to handle increased load. 5. Interoperability: RPC supports different programming languages and operating systems, allowing developers to use the best tool for the job. Disadvantages: 1. Overhead: RPC introduces overhead due to the additional network communication and marshalling and unmarshalling of data, which can affect the performance of the system. 2. Complexity: Developing and maintaining an RPC-based system can be complex due to the need to handle network failures, timeouts, and error handling. 3. Security: RPC-based systems can be vulnerable to security threats such as man-in-the-middle attacks and buffer overflow attacks. 4. Coupling: RPC-based systems can be tightly coupled, making it difficult to change the underlying network protocols or migrate to a new system architecture. 5. Limited to synchronous communication: RPC is limited to synchronous communication, which can lead to performance issues and scalability limitations. Overall, RPC is a powerful tool for developing distributed applications, but it's important to consider the tradeoffs and use it appropriately depending on the specific requirements of the system.
  • 20. Network Monitoring 1. Types of network monitoring tools. 2. How network monitor interprets the protocols in a trace that has been captured. 3. Write the key considerations when determining the best network monitoring system for a particular 4. organization. 5. Explain how network administrators can use network monitoring to improve network performance. 6. Give the purpose of Microsoft Network Monitor. 7. Write the most common causes of network issues identified by NetMon. 8. How NetMon be used to detect and prevent security breaches. 9. Discuss the most important metrics to monitor in a Microsoft network. 10. Explain the most effective way to configure a network monitoring system. 11. Benefits of using NetMon for network monitoring. 12. Explain how NetMon helps to ensure high availability of the network.