LECTURE 4 - PROTOCOLS
LECTURE 4 - PROTOCOLS
LECTURE 4 - PROTOCOLS
A communications protocol is a system of digital rules for data exchange within or between computers.
A protocol must define the syntax, semantics, and synchronization of communication; the specified
behavior is typically independent of how it is to be implemented.
A protocol can therefore be implemented as hardware, software, or both. Communications protocols have
to be agreed upon by the parties involved. To reach agreement a protocol may be developed into a
technical standard
To implement a networking protocol, the protocol software modules are interfaced with a framework
implemented on the machine's operating system. This framework implements the networking
functionality of the operating system. The best known frameworks are the TCP/IP model and the OSI
model.
Some of the best known protocol suites include: IPX/SPX, X.25, AppleTalk and TCP/IP.
1
Direction of information flow needs to be addressed if transmissions can only occur in one
direction at a time as on half-duplex links. This is known as Media Access Control. Arrangements
have to be made to accommodate the case when two parties want to gain control at the same time.
Sequence control. We have seen that long bitstrings are divided in pieces, and then sent on the
network individually. The pieces may get lost or delayed or take different routes to their
destination on some types of networks. As a result pieces may arrive out of sequence.
Retransmissions can result in duplicate pieces. By marking the pieces with sequence information
at the sender, the receiver can determine what was lost or duplicated, ask for necessary
retransmissions and reassemble the original message.
Flow control is needed when the sender transmits faster than the receiver or intermediate network
equipment can process the transmissions. Flow control can be implemented by messaging from
receiver to sender.
Taxonomies
Classification schemes for protocols usually focus on domain of use and function.
As an example of domain of use - connection-oriented protocols and connectionless protocols are used
on connection-oriented networks and connectionless networks respectively.
For an example of function consider a tunneling protocol, which is used to encapsulate packets in a high-
level protocol, so the packets can be passed across a transport system using the high-level protocol.
2
Routing is the process of selecting best paths in a network. A routing protocol specifies how routers
communicate with each other, disseminating information that enables them to select routes between any
two nodes on a computer network. Routing algorithms determine the specific choice of route.
Each router has a priori knowledge only of networks attached to it directly. A routing protocol shares this
information first among immediate neighbors, and then throughout the network. This way, routers gain
knowledge of the topology of the network.
Although there are many types of routing protocols, three major classes are in widespread use on IP
networks:
Interior gateway protocols type 1, link-state routing protocols, such as OSPF and IS-IS
Interior gateway protocols type 2, distance-vector routing protocols, such as Routing Information
Protocol, RIPv2, IGRP.
Exterior gateway protocols are routing protocols used on the Internet for exchanging routing
information between Autonomous Systems, such as Border Gateway Protocol (BGP).
3
eBGP/iBGP
BGP is an interautonomous system routing protocol. When BGP is used between autonomous systems
(AS), the protocol is referred to as external BGP (eBGP). If a service provider is using BGP to exchange
routes within an AS, then the protocol is referred to as interior BGP (iBGP).
OSPF
Open Shortest Path First (OSPF) is a routing protocol developed for IP networks by the IGP working
group of the Internet Engineering Task Force (IETF). It was derived from several research efforts,
including a version of OSI's IS-IS routing protocol.
OSPF has two primary characteristics:
• It is an open protocol. Its specification is in the public domain (RFC 1247).
• It is based on the Shortest Path First (SPF) algorithm, sometimes known as the Dijkstra algorithm.
OSPF is a link-state routing protocol that calls for the sending of link-state advertisements (LSAs) to all
other routers within the same hierarchical area. Information on attached interfaces, metrics used, and
other variables are included in OSPF LSAs. As OSPF routers accumulate link-state information, they use
the SPF algorithm to calculate the shortest path to each node.
EIGRP
Enhanced Interior Gateway Routing Protocol (EIGRP) is Cisco's proprietary routing protocol, based on
IGRP. EIGRP is a distance-vector routing protocol, with optimizations to minimize routing instability
incurred after topology changes, and the use of bandwidth and processing power in the router. Routers
that support EIGRP will automatically redistribute route information to IGRP neighbors by converting the
32-bit EIGRP metric to the 24-bit IGRP metric. Most of the routing optimizations are based on the
Diffusing Update Algorithm (DUAL), which guarantees loop-free operation and provides fast router
convergence.
RIP
The Routing Information Protocol (RIP) is one of the oldest routing protocols still in wide use. Today's
open standard version of RIP, sometimes referred to as IP RIP, is formally defined in RFC 1058 and in
STD 56. RIP is a distance-vector routing protocol that uses hop count as a metric. RIP prevents routing
loops by implementing a limit on the number of hops allowed in source/destination paths, and also
implements split horizon, route poisoning and holddown mechanisms to prevent incorrect routing
information from being propagated.
IS-IS
Intermediate system to intermediate system (IS-IS) is a link-state routing protocol. It operates by reliably
flooding topology information throughout a network of routers. Each router then builds its own picture of
the network's topology. Packets or datagrams are forwarded based on the best topological path through
the network; IS-IS uses Dijkstra's algorithm for computing best paths. IS-IS was first defined in ISO/IEC
10589:2002 and was republished in RFC 1142 for the Internet community. IS-IS is an IGP, intended for
use within one administrative domain or network only.
Routing software
Many software implementations exist for most of the common routing protocols. Examples of open-
source applications are Bird Internet routing daemon, Quagga, GNU Zebra, OpenBGPD, OpenOSPFD,
and XORP.
Routed protocols
A routed protocol is used to deliver application traffic. It provides appropriate addressing information in
its Internet Layer (Network Layer) addressing to allow a packet to be forwarded from one network to
another.
4
Examples of routed protocols are the Internet Protocol (IP) and Internetwork Packet Exchange (IPX).
Dynamic Routing describes the capability of a system, through which routes are characterized by their
destination, to alter the path that the route takes through the system in response to a change in conditions.
Static routing is a form of routing that occurs when a router uses a manually-configured routing entry,
rather than information from a dynamic routing protocol to forward traffic. In many cases, static routes
are usually manually configured by a network administrator by adding in entries into a routing table,
though this may not always be the case
Uses
Static routing may have the following uses:-
Static routing can be used to define an exit point from a router when no other routes are available or
necessary. This is called a default route.
Static routing can be used for small networks that require only one or two routes. This is often more
efficient since a link is not being wasted by exchanging dynamic routing information.
Static routing is often used in complementary with dynamic routing to provide a failsafe backup in
the event that a dynamic route is unavailable.
Static routing is often used to help transfer routing information from one routing protocol to another
(routing redistribution).
Disadvantages
Static routing can have some potential disadvantages:
Human Error: In many cases, static routes are manually configured. This increases the potential for
input mistakes. Administrators can make mistakes and mistype in network information, or configure
incorrect routing paths by mistake.
Fault Tolerance: Static routing is not fault tolerant. This means that when there is a change in the
network or a failure occurs between two statically defined devices, traffic will not be re-routed. As a
result the network is unusable until the failure is repaired or the static route is manually reconfigured
by an administrator.
Administrative Distance: Static routes typically take precedence over routes configured with a
dynamic routing protocol. This means that static routes may prevent routing protocols from working
as intended. A solution is to manually modify the administrative distance.
Administrative overhead: Static routes must be configured on each router in the network(s). This
configuration can take a long time if there are many routers. It also means that reconfiguration can be
slow and inefficient. Dynamic routing on the other hand automatically propagates routing changes,
reducing the need for manual reconfiguration.
Exercise
Give the characteristics of the following:
Interior Gateway Routing Protocol (IGRP)
Enhanced Interior Gateway Routing Protocol (EIGRP)
OSPF
Border Gateway Protocol (BGP)
IS-IS