Web view14.10.2015 · ARP – Address Resolution Protocol. Reverse ARP. 4. Different...
Transcript of Web view14.10.2015 · ARP – Address Resolution Protocol. Reverse ARP. 4. Different...
Function of osi model
Physical
The bits that are transmitted over the communication media
Deals with network hardware, bit encoding
Ex: copper, fiber, radio, satellite
Data Link
Activates, maintains, and deactivates the physical link
between two adjacent nodes (node-to-node delivery)
Deals with framing, windowing, flow control, error detection
and recovery
Network
Determines how best to route packets of data from source to
destination via intermediate network nodes
Deals with addressing, routing, fragmentation, and
congestion
Transport
Provides end-to-end message delivery and error recovery
Deals with end-to-end integrity and quality of service
Session
To establish, manage and terminate sessions
Controls the dialogue between two host applications
Reports exceptions to upper layers
Presentation
Resolves data representation differences
To translate, encrypt and compress data
Application
Perform functions to implement network applications
Ex: email, teleconferencing
The OSI model also has different Protocol Data Units (PDUs) associated with the
different layers. The OSI diagram shown above defines these as follows:
Layer 1 – bit streams
Layer 2 – frames
Layer 3 – packets
Layer 4 – segments
Layer 5,6,7 – data
The ideas introduced above are essential in order to properly understand basic
network principles such as line configuration, topology, transmission mode,
categories of networks and internetworks.
Line Configuration
[1]
An internetwork, the most famous of which is the Internet, is a connection of all of
these different types networks together! Of course, knowing the different types of
networks is only part of understanding how they communicate together. At the
physical layer we have all of the physical components of these different networks,
such as the hardware and communication media. At the next layer, we have
the data link layer which responds to service requests from the network layer
above it and and issues service requests to the physical layer below it.
The data link layer provides the functional and procedural means to transfer data
between network entities and might provide the means to detect and possibly
correct errors that may occur in the Physical layer. Examples of data link protocols
are Ethernet for local area networks and PPP, HDLC and ADCCP for point-to-point
connections. [3]
The three main services provided by the data link layer are:
line discipline – who should send now?
flow control – how much data should be sent?
Networking Devices
Repeaters
Bridges
Internetworking Devices
Routers
Gateways
[1]
Routers [4]
Routers are specialized computers that send the messages of every Internet user
speeding to their destinations along thousands of pathways. Much of the work to
get a message from one computer to another is done by routers, because they’re
the crucial devices that let messages flow between networks, rather than within
networks.
One of the tools a router uses to decide where a packet should go is
a configuration table. A configuration table is a collection of information,
including:
Information on which connections lead to particular groups of
addresses
Priorities for connections to be used
Rules for handling both routine and special cases of traffic
A configuration table can be as simple as a half-dozen lines in the smallest routers,
but can grow to massive size and complexity in the very large routers that handle
the bulk of Internet messages. A router, then, has two separate but related jobs:
The router ensures that information doesn’t go where it’s not
needed. This is crucial for keeping large volumes of data from
clogging the connections of “innocent bystanders.”
The router makes sure that information does make it to the
intended destination.
Gateway [5]
In a communications network, a network node equipped for interfacing with another
network that uses different protocols.
A gateway may contain devices such
as protocol translators, impedance matchingdevices, rate
converters, fault isolators, or signal translators as necessary to
provide system interoperability. It also requires the establishment of
mutually acceptable administrative procedures between the two
networks.
A protocol translation/mapping gateway interconnects networks
with different network protocol technologies by performing the
required protocol conversions.
Repeater [6]
A repeater is an electronic device that receives a signal and retransmits it at a
higher level or higher power, or onto the other side of an obstruction, so that the
signal can cover longer distances without degradation.
Because repeaters work with the actual physical signal, and do not attempt to
interpret the data being transmitted, they operate on the Physical layer, the first
layer of the OSI model.
Bridge [7]
A network bridge connects multiple network segments at the data link layer (layer
2) of the OSI model. Bridges are similar to repeaters or network hubs, devices that
connect network segments at the physical layer, however a bridge works by using
bridging where traffic from one network is managed rather than simply rebroadcast
to adjacent network segments.
—
[1] Prof. Shervin Shirmohammadi, University of Ottawa CEG4183 Course Notes,
Lecture 1
[2] HowStuffWorks.com – How OSI Works
[3] Wikipedia – Data Link Layer
[4] HowStuffWorks.com – How Routers Work
[5] Wikipedia – Gateway (telecommunications)
[6] Wikipedia – Repeater
[7] Wikipedia – Network Bridge
Posted in Courses, Higher Layer Network Protocols | Tagged network, osi, protocols | Leave a
reply
Internetworking and the Internet ProtocolPosted on July 2, 2013
Network Layer [1]
Provides the upper layers with independence from data transmission
and physical networking technologies
Responsible for sending data from source to destination (this
includes the nodes in between and is therefore not end-to-end)
Responsible for requesting network facilities such as priority, bit-
rate, etc…
Responsible for routing
Routing [1]
Autonomous System (AS) – set of networks and routers operated by
a single organization
Interior Router Protocol (IRP) – passing routing information within an
autonomous system
Exterior Router Protocol (ERP) – passing routing information
between different autonomous systems
Routing Approaches [1]
Distance Vector Routing – each node exchanges information with its
neighboring nodes (ex: Routing Information Protocol, RIP)
Link-state Routing – sends link costs of each of its network
interfaces to all routers (not just neighboring). Typically used with a
Dijkstra-based algorithm (ex: Open Shortest Path First, OSPF)
Path-vector Routing – router provides information about which
networks can be reached by a given router and the autonomous
systems that must be crossed (ex: Border Gateway Protocol, BGP)
[1]
Internet Architecture
In a TCP/IP internet, IP Routers provide interconnection among physical networks.[1]
Internet Protocol (IP)
The most-widely used internetworking protocol
Internetworking Requirements [1] – accommodate the differences among the
networks which form the intenetwork.
1. different addressing schemes
2. different maximum packet size
3. different network access mechanism
4. different timeouts
5. different transmission modes (connection oriented, connectionless)
6. error control
7. flow control
[1]
1. Different Addressing Scheme [1]
Introduce IP Address as a global address
All hosts on the internet must have a unique IP address
NOTE: Techniques such as IP-forwarding allow private IP
addresses that might be duplicated somewhere else.
[1]
[1]
Subnet and Subnet Masks [1]
Allow arbitrary complexity of internetworked LANs within an
organization
Insulate overall internet from growth of network numbers and
routing complexity
To rest of internet, site looks like single network
Each LAN is assigned a subnet number
Host portion of address is partitioned further into subnet number
and host number
Local routers route within subnetted network
Subnet mask indicates which bits are subnet number and which are
host number by doing a bitwise AND
2. Different Maximum Size [1]
Different networks have different Maximum Transmission Unit (MTU) sizes. What if a
packet reaches a network and it exceeds the networks MTU? This can be solved
with the following solution:
Use fragmentation to split large packets into smaller ones
Use reassembly at the destination only to put the fragments
together and build the original packet
Fragmentation and Reassembly [1]
When to re-assemble
At destination – results in packets getting smaller as data traverses
internet
Intermediate re-assembly
Need large buffers at routers
Buffers may fill with fragments
All fragments must go through same router
Inhibits dynamic routing
IP Fragmentation [1]
IP re-assembles at destination only
Uses fields in header
Data Unit Identifier (ID)
Identifies end system originated diagram
Source and destination address
Protocol layer generating data (ex: TCP)
Identification supplied by that layer
Data Length
Length of user data in octets
Offset
Position of fragment of user data in original datagram
In multiples of 64 bits (8 octets)
More flag
Indicates that this is not the last fragment
Dealing with Failure [1]
Re-assembly may fail if some fragments get lost
Re-assembly time out
Assigned to first fragment to arrive
If timeout expires before all fragments arrive, discard partial
data
3. Different Network Access [1]
Solved by abstracting networking functions in the networking layer,
and relying on Data Link Layer for networking access
Routers handle the difference in network access mechanism.
Address Mapping [1]
Sometimes, in order to reach a destination, there is no need to go
through an IP router.
In such a case, the physical address can be used directly
ARP – Address Resolution Protocol
Reverse ARP
4. Different Timeout [1]
Problem: different networks use different timeout mechanisms.
Solution: Introduce the concept of Datagram Lifetime.
Datagrams could loop indefinitely
Consumes resources
Transport protocol may need upper bound on datagram life
Datagram marked with lifetime
Time to Live (TTL) field in IP
Once lifetime expires, datagram discarded (not forwarded)
Hop count
Decrement time to live on passing through each router
5. Different Transmission Modes [1]
Use a connectionless architecture
Advantage:
Flexibility
Robust
No unnecessary overhead
Disadvantages
Not guaranteed delivery
Not guaranteed order of delivery
Reliability is responsibility of upper layers (ex: TCP)
6. Error Control [1]
Minimal error control, done only for the header
Router should attempt to inform source if packet discarded (using
ICMP)
Not guaranteed delivery
May inform higher layer protocol
7. Flow Control [1]
 Allows routers and/or stations to limit rate of incoming data
Limited in connectionless systems
Send flow control packets
Requesting reduced flow
ex: ICMP
—[1] Prof. Shervin Shirmohammadi, University of Ottawa CEG4183 Course Notes,
Lecture 2
Posted in Courses, Higher Layer Network Protocols | Tagged network, protocol, tcp-ip | Leave
a reply
Transmission Control Protocol (TCP)Posted on December 9, 2007
The Transmission Control Protocol (TCP) is used to provide reliable, in-order delivery
of messages over a network.
Reasons for TCP
The Internet Protocol (IP) works by exchanging groups of information called packets.
Packets are short sequences of bytes consisting of a header and a body. The header
describes the packet’s destination, which routers on the Internet use to pass the
packet along, in generally the right direction, until it arrives at its final destination.
The body contains the application data.
Continue reading →
Posted in Courses, Higher Layer Network Protocols | Tagged ip, network, packets, rtp, tcp, udp
|Leave a reply
The Transport Layer and UDPPosted on December 8, 2007
2
Transport Layer
The transport layer is one of the 7 layers of the OSI model. It’s purpose is to provide
robust end-to-end service to to the upper layers and is responsible for end-to-end
delivery of the message. Therefore, the transport layer must consider addressing,
reliability, flow control and multiplexing in order to accomplish it’s main goals.
Reliable delivery is not a compulsory service for the transport layer, however since
this layer is expected to be responsible for delivering the messages from end-to-
end, it only makes sense to implement reliable delivery at this layer. Reliable
delivery is provided by using error control, sequence control, loss control and
duplication control.
Sequence control is very important because messages not arriving in order can
cause very important information to be lost or even overwritten. For example, when
one process relies on another, the order in which messages arrive will influence the
final result meaning that sequence errors will lead to errors in the application. This
is similar to the complexities encountered when working with databases or other
applications that are multi-threaded. Consider performing a mathematical
calculation. If one process retrieves the stored value to be used in the calculation
just before the second process updates that value, then even if that value is
updated, the first process is unfortunately using the incorrect value for its
calculation.
Of course, if sequence control is an important issue, obviously so it loss control! If
messages are not even received, the complexity in dealing with such is far more
complex than worrying about putting messages back in order which can be
accomplished by the use of sequence numbers. If messages are being lost after
transmission over a network, it is not necessary to somehow make sure the lost
messages are re-sent in a timely fashion. All this must be accomplished in a way
such that performance of the system and entire network is not compromised.
Duplication control is important to consider as well because as the speed of
networks continue to increase, it becomes possible for different messages to be
identified as duplicated and discarded. Similarly, if a packet can become corrupted
or erroneous, it is possible then for the sequence number of a real message to be
incorrect and cause a duplicate. Also it is entirely possible for a duplicate message
to be sent by the sender itself, and therefore this duplicate should be detected to
avoid errors.
Flow control is yet another important component of transport to consider. Imagine
all these messages that are being delivered over a network, some coming from very
high-speed users, others from slower users possibly still using a dial-up connection.
Without flow control, a slower user could quickly become completely flooded with
messages and suddenly be unable to do anything. Flow control therefore
establishes window sizes to try and make sure the network or users do not run into
this problem.
Multiplexing refers to the process where multiple messages are combined into a
single signal. Demultiplexing is the reverse process of taking a single signal and
splitting it into multiple messages. The transport layer performs a multiplexing (to
data link layer)/demultiplexing(from data link layer) function with respect to the
interface between itself and the layers below it.
With regard to the transport layer, a connection is not necessarily required since
messages can be sent by UDP which is connectionless. Therefore, a connection is
only required when a connection-oriented transport protocol is being used. If using
a connection-oriented transport protocol, then it is important to consider the
complexities involved with connection establishment and connection release.
Establishing a connection is a rather straight-forward concept. A connection request
is sent, and then the sender waits for an acknowledgment confirming the
connection. However, problems can occur when duplicate or expired connection
requests or acknowledgments show up!
UDP – User Datagram Protocol
UDP is a way of sending data over a network, however unlike TCP, ordering and
reliability is not part of the protocol. Because this reduces a significant amount of
overhead, UDP is actually faster and more efficient than TCP. However, for
applications that require reliable or guaranteed delivery, UDP will not be acceptable.
There is also no flow control or congestion control. UDP can have optional error
detection, but does not have any method for recovery. Unlike TCP, UDP is
compatible with packet broadcasting which is the sending of a message to everyone
on a network
Posted in Courses, Higher Layer Network Protocols | Tagged flow control, multiplexing, osi
model, reliable delivery, tcp, transport layer, udp | 2 Replies
T H IS WEB S IT E H O ST E D B Y :
REC ENT PO S TS
The Oldest Profession in the World
Webalizer Server Log Viewer Web Stats Explained
People for the Ethical Treatment of Software (PETS)
Raspberry Pi Assembly Language Beginners: Hands On Guide
Software Size Estimation
Search
CAT E GO R IES
Books
Code
Computer Architecture
Computer Programming
Courses
Hardware
Higher Layer Network Protocols
Open Source
Papers
Questions and Answers
Security in Computing
Software
Software Development
Software Engineer Humor
Software Project Management
Telecommunicatins Software Design and Analysis