Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Class Note 22.02.21

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Computer Communication

Network

Dr. Jaydeb Bhaumik


Associate Professor
Dept. of ETCE
Jadavpur University
Course Content
• Introduction to transport of data traffic over networks of digital
transmission media, architecture concepts in 150’s OSI layered model
in computer communication. Physical layer standards, Data link layer.
ARQ scheme and their analysis. Delay models based on queueing theory.
Network layer, Topology, routing, flow control, congestion control, inter
networking. Multiple access, local area network (LAN) IEEE standards for
LAN’s Transport layer; issues and standards integrated service network.
• Communication protocol: Higher protocol layer, transport layer, session
layer, design issue and RPC’s presentation layer, Design issue. ASNI data
compression technique, cryptography, Application layer design issue, File
transfer, concurrency control, Electronic mail, virtual protocols.
• Formal specification of protocols, specification languages, Estelle, SDZ,
Lotos, validation techniques, protocol analysis and synthesis, executable
protocol. Validation of IBM’s SNA. Reliability and vulnerability of
computer communication network.
Addresses for private networks

To separate the addresses used inside the home or business and the ones used
for the Internet, the Internet authorities have reserved three sets of addresses
as private addresses.

Any organization can use an address out of this set without permission from
the Internet authorities. Everyone knows that these reserved addresses are for
private networks. They are unique inside the organization, but they are not
unique globally. No router will forward a packet that has one of these
addresses as the destination address.
Network Address Translation
 The number of home users and small businesses that want to use the
Internet is ever increasing. In the beginning, a user is connected to the
Internet with a dial-up line, which means that user was connected for a
specific period of time. An ISP with a block of addresses could dynamically
assign an address to this user. An address was given to a user when it was
needed. But today, home users and small businesses can be connected by
an ADSL and cable modem. In most situation, however only a portion of
computers in small network need access to the internet simultaneously. So
the number of allocated addresses does not have to match with the number
of computers in the network.

 A solution to this problem is called network address translation (NAT).


NAT enables a user to have a large set of addresses internally and one
address, or a small set of addresses, externally. The traffic inside can use
the large set; the traffic outside, the small set.

 The site must be connected to the global Internet through router that runs
the NAT software.
A NAT implementation

Figure shows the private network uses private addresses. The router that
connects the network to the global address uses one private address and one
global address. The rest of the Internet sees only the NAT router with the
Address 200.24.5.8. But the private network is invisible to the rest of the
Internet.
Addresses Translation in a NAT

All the outgoing packets go through the NAT router, which replaces the source
address in the packet with global NAT address. All incoming packets also pass
through the NAT router, which replaces the destination address in the packet
with the appropriate private address.
Translation using one IP Address
In its simplest form, a translation table has only two columns; the private
address and the external address. When router translates the source address of
the outgoing packet, it also makes note of the destination address-where the
packet is going. When the response comes back from the destination, the
router uses the source address of the packet (as the external address) to find
the private address of the packet.

In this strategy, communication must always be initiated by the private


network. Communication with the Internet is always initiated from the
customer site, using a client program such as HTTP, TELNET or FTP to
access the corresponding server program. For example, when e-mail is stored
in the mailbox of the customer until retrieved.

A private network cannot run a server program for clients outside of its
network if it is using NAT technology. Only one private network host can
access the external host.
NAT address translation table

Translating the source addresses for outgoing packets is straightforward. But it


is difficult for incoming packets since there may be tens or hundreds of
private IP addresses, each belonging to one specific host. The problem is
Solved if the NAT router has a translation table.
Using a Pool of IP Addresses
NAT router uses a pool of global addresses. For example, instead of using only
one global address (200.24.5.8) the NAT router can use say four addresses
(200.24.5.8, 200.24.5.9, 200.24.5.10, 200.24.5.11). In this case four private
Network hosts can communicate with the four external hosts at the same time
because each pair of addresses defines a connection.

Drawbacks: No more than four connection can be made to the same


destination. No private network host can access two external server programs
(e.g. HTTP and TELNET) at the same time. Likewise, two private network
hosts cannot access the same external server program at the same time.
Using both IP address and Port Numbers
To allow a many-to-many relationship between private network hosts and
external server programs, we need more information in the translation table.
Suppose two hosts with address 172.18.3.1 and 172.18.3.2 inside a private
network need to access the HTTP server on external host 25.8.3.2. If the
translation table has five columns, instead of two, that include the source and
destination port numbers then the ambiguity can be eliminated
ISP and NAT

An ISP that serves dial-up customers can use NAT technology to conserve
addresses. For example, suppose an ISP is granted 1000 addresses, but has
100,000 customers. Each of the customer is assigned a private network
address.
IPv6 Addresses
Despite all short-term solutions, address depletion is still a long-term problem
for the Internet. This and other problems in the IP protocol itself have been the
motivation for IPv6.

An IPv6 address is 128 bits long


Abbreviated IPv6 addresses

Only leading zero can be dropped. We can remove zeros all together and
replace them with double colon. Abbreviation is allowed only once per
address.
Network Layer
 The network layer is responsible for the host-to-host delivery of messages.
This delivery includes many issues such as the design of logical addresses to
uniquely define any host connected to the Internet. It also requires some
routing protocols that help the network-layer packets to find their way from
the source to the destination.

 The first duty of the network layer is definitely packetizing: encapsulating


the payload (data received from upper layer) in a network-layer packet at
the source and decapsulating the payload from the network layer packet at
the destination. In other words, one duty of the network layer is to carry a
payload from the source to the destination without changing it or using it.
Cont.
 The source host receives the payload from an upper layer protocol, adds a
header that contains the source and destination address and some other
information that is required by the network layer protocol and delivers the
packet to the data link layer. The source is not allowed to change the
content of the payload unless it is too large for delivery and needs to be
fragmented.

 If the packet is fragmented at the source or at routers along the path, the
network layer is responsible for waiting until all fragments arrive,
reassembling them and delivering them to the upper layer protocol. Routers
just inspect the addresses for the purpose of forwarding the packet to the
next network on the path.
Desirable Properties of a Router
 Correctness and Simplicity: The packets are to be correctly delivered.
Simpler the routing algorithm, it is better since overhead is low. With
increasing complexity of the routing algorithms the overhead also
increases.

 Robustness: Once a major network becomes operative, it may be expected


to run continuously for years without any failure. It is the ability of the
network to deliver packets via some route even in the case of failures. The
algorithms designed for routing should be able to cope with changes in the
topology and traffic without requiring all jobs in all hosts to be aborted and
the network rebooted every time some router goes down.
Cont.
 Stability: The algorithm should converge to equilibrium fast in the case of
changing condition in the network.

 Fairness: Every node connected to the network should get a fair chance
of transmitting their packets. This is generally done on a first come first
serve basis.

 Optimality: The routing algorithms should be optimal in terms of


throughput and minimizing mean packet delays. Here there is a trade-off
and one has to choose depending on his suitability.
Classification of Routing Algorithms
Cont.
Non-Adaptive Routing
Routing Algorithms
Non-Hierarchical Routing: In this type of routing, interconnected networks
are viewed as a single network, where bridge, routers and gateways are just
additional nodes.

• Every node keeps information about every other node in the network
• In case of adaptive routing, the routing calculations are done and updated
for all nodes.

 These two are the disadvantages of non-hierarchical routing, since the


table size and the routing calculations become too large as the networks get
bigger. So this type of routing is feasible only for small networks.
Hierarchical Routing

This is essentially, a ‘divide and conquer’ strategy. The network is divided into
different regions and a router for a particular region knows only about its own
domain and other routers. Thus the network is viewed at two levels:

 The sub-network level, where each node in a region has information about
its peers in the same region and about the region’s interface with other
regions. Different regions may have different ‘local’ routing algorithms.

 The network level, where each region is considered as a single node


connected to its interface node. The routing algorithm at this level handle
the routing of packets between two interface nodes and is isolated from
intra-regional transfer.

 Once the hierarchy is imposed on the network, it is followed and


possibility of direct paths is ignored. This may lead to sub optimal routing.
Hierarchical routing
Shortest Path Routing
The idea is to build a graph of the subnet, with each node of the graph representing
a router and each arc of the graph representing a communication line (often called
a link). To choose a route between a given pair of routers, the algorithm just finds
the shortest path between them on the graph.

One way of measuring the shortest path length is the number of hops. Another
metric is the geographic distance in kilometers. However, many other metrics
besides hops and physical distance are also possible. For example, each arc could
be labeled with the mean queueing and transmission delay for some standard test
packet as determined by hourly test runs. With this graph labeling, the shortest
path is the fastest path rather than the path with the fewest arcs or kilometers.
Cont.
Cont.
In the general case, the labels on the arcs could be computed as a function of
the distance, bandwidth, average traffic, communication cost, mean queue
length, measured delay, and other factors. By changing the weighting function,
the algorithm would then compute the ''shortest'' path measured according to
any one of a number of criteria or to a combination of criteria.

Several algorithms for computing the shortest path between two nodes of a graph
are known. This one is due to Dijkstra (1959). Each node is labeled (in
parentheses) with its distance from the source node along the best known path.
Initially, no paths are known, so all nodes are labeled with infinity. As the
algorithm proceeds and paths are found, the labels may change, reflecting better
paths. A label may be either tentative or permanent. Initially, all labels are
tentative. When it is discovered that a label represents the shortest possible path
from the source to that node, it is made permanent and never changed thereafter.
Cont.
Cont.
Example
Thank You

You might also like