OSPF Open Shortest Path First - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

OSPF Open Shortest Path First

Description:

1) maintains a timer, waiting for an ACK from the other end ... Each ACK, which specifies how many bytes have been received, contains a window ... – PowerPoint PPT presentation

Number of Views:115
Avg rating:3.0/5.0
Slides: 21
Provided by: homePos
Category:
Tags: ospf | ack | first | open | path | shortest

less

Transcript and Presenter's Notes

Title: OSPF Open Shortest Path First


1
OSPF (Open Shortest Path First) RIP is based
on Bellman-Ford algorithm (Distance vector
routing protocol) - good for small systems -
slow convergence IETF worked on a successor -gt
OSPF. -gt will become the main IGP in near
future.
(cf) 1. distance vector routing - Each router
updates its routing table based on distance
vector that it receives from its neighbors (ex
Bellman-Ford) 2. link-state routing - each
router tests the status of its links and sends
the information to other routers throughout
the autonomous system (ex Dijkstra) OSPF is
based on link-state routing protocol. Other
two main features 1) type of service routing
-gt allows separate routes for each one
separately 2) load balancing
2
BGP (Border Gateway Protocol) BGP system
exchanges network reachability information with
other BGP systems -gt includes the full path of
autonomous systems that traffic must transit to
reach these net-works BGP uses TCP Establish
a TCP connection and then exchange the entire BGP
routing table
- After receiving routing info from the
neighbors, F examines them to see which is the
best. FEG, FBCG, FDCG
3
Multicasting - IGMP Each multicast group has a
unique multicast address (class D)
host group membership in a host group is
dynamic no restriction on of hosts in a
group some multicast group addresses are
assigned as well-known addresses by IANA -gt
permanent host groups.
4
Mapping Multicast group addresses to Ethernet
Addresses - Ethernet uses the low-order bit of
the high-order byte to distinguish unicast
address (0) from multicast addresses (1) -
IANA owns an Ethernet address block, 00005e
(high-order 24 bits) - IANA allocates half of
this block for multicast addresses. -gt The
first byte of any Ethernet address must be 01 to
specify a multicast address -gt Ethernet
addresses corresponding to IP multicasting are in
the 01005e000000 01005e7fffff - The
mapping places the low-order 23 bits of the
multicast group ID into these 23 bits of the
Ethernet address
- Since the upper 5 bits of the multicast group
ID are ignored in the mapping, it is not unique
32 different group IDs may map to each ethernet
address - Since the set of addresses is large
enough, the chances of two or more groups
choosing addresses with all low-order 23 bits
identical is very small. - IP software checks
addresses on all incoming datagrams and discards
any unwanted datagrams.
5
IGMP (Internet Group Management Protocol) -
lets all systems on the physical network know
which hosts currently belong to which multicast
groups. - The information is required by the
multicast router, so they know which multicast
datagrams to forward onto which interface. -
IGMP has a fixed-size message with no optional
data.
6
- A host sends IGMP report when the first process
joins a group - A multicast router sends an IGMP
query at regular intervals - A host responds to
an IGMP query by sending IGMP report for each
group that still contains at least one
process. - Hosts that are members of multiple
groups do not send multiple responses at the same
time. - Hosts listen to responses from other
hosts and suppress any of their responses that
are unnecessary. -gt multicast routers only
need to know whether at least one host on the
network remains a member of a group -
After a multicast router sends a IGMP request,
all hosts assign a random delay to their
response -gt when the host with smallest delay
sends its response, other participating hosts
receive a copy and do not send their
responses. -gt Using these queries and reports, a
multicast router keeps a table of which hosts
have memberships of multicast groups.
- all host group address 244.0.0.1 -gt all
the hosts and routers on a physical network -gt
each host automatically joins this multicast
group when it is initialized -gt membership in
this group is never reported. - Multicasting is
implemented by special multicast router. -
Multicast routers use DVMRP to pass group
membership info. among themselves. -gt they use
the info. to establish routers so they can
deliver a copy of a multicast datagram to every
member of the multicast group. - DVMRP uses
IGMP message to carry information.
7
3. UDP (User Datagram Protocol) provides an
unreliable connectionless delivery service using
IP to transport messages between machines No
acks, no ordering, no flow control Many
application programs that rely on UDP work well
in a local environment(highly reliable,
low-delay), but fail in dramatic ways when
used in larger Internet. Message Format
- Source port and destination port 16-bit
UDP protocol port numbers used to demultiplex
datagrams
among the processes waiting
to receive them - Message length count of
bytes in the UDP datagram, including the UDP
header and the user data.
min value 8 (header alone) - UDP
checksum optional (while with TCP, it is
mandatory). -gt to allow implementations to
operate with little computational overhead when
using UDP across a highly reliable local
network. - IP does not compute a checksum on
the data portion -gt UDP checksum provides the
only way to cover UDP header and data
8
UDP pseudo-header - To compute the checksum,
UDP prepends a 12-byte pseudo-header -gt to
let UDP double check that the data has arrived at
the correct destination - The length of the UDP
datagram can be an odd number of bytes, while the
checksum algorithm adds 16-bit words
(solution) Append a pad byte of 0 to the end -
A pad byte and the pseudo-header are not
transmitted, nor included in the length
- To verify the checksum, the receiver extracts
the fields of pseudo-header from the IP header,
reassemble them into the pseudo-header format,
and recompute the checksum - Some port numbers
called well-known port numbers are permanently
assigned through-out the Internet. (ex port
69 for tftp)
9
4. TCP (Transmission Control Protocol) TCP
provides a connection-oriented, reliable,
byte-stream service - connection-oriented
establish a TCP connection with other before they
can exchange data - reliable service
1) maintains a timer, waiting for an ACK from the
other end 2) resequences the data and then
passes the received data in the correct order to
the application 3) discards duplicate data
4) provides flow control - byte-stream
service Application programs send a data stream
by repeatedly passing data bytes. -gt to make
transfer efficient, implementations usually
collect enough bytes to fill a reasonably large
datagram before transmitting it across an
internet -gt S puts a stream of bytes into
TCP and the same stream of bytes appears at D.
TCP defines an end point to be a pair of integers
(host, port) (ex) A connection from 128.10.2.3
to 141.233.98.60 (128.10.2.3, 1184) and
(141.233.98.60, 53) called socket pair
-gt TCP identifies a connection by both
endpoints -gt a given TCP port can be shared
by multiple connections on the same machine
10
Flow control - TCP views the data stream as a
sequence of bytes that it divides into segments
for transmission. - Each segment travels across
an internet in a single IP datagram. - TCP uses
a specialized sliding window mechanism for
efficient transmission and flow control. -
Sliding window mechanism operates at the byte
level, not at the segment level - Bytes of the
data stream are numbered sequentially, and S
keeps three pointers associated with every
connection.
- TCP allows the window size to vary over time -
Each ACK, which specifies how many bytes have
been received, contains a window advertisement
that specifies how many additional bytes of
data the receiver is prepared to accept. 1)
increased window advertisement -gt S increases
its sliding window size 2) decreased window
advertisement -gt S decrease its sliding window
size
11
(No Transcript)
12
- Sequence first bytes of data in this
segment. - ACK (the sequence of the last
successfully received byte) 1
valid only if the ACK flag is on - HLEN (Header
Length) length of the header in 32-bit words
-gt
required because the length of the option field
is variable - 6 flags URG Urgent
pointer field is valid ACK Ack field
is valid PSH The receiver should pass
this data to the application ASAP (Push)
RST Reset the connection SYN
Synchronize sequence s to initiate connection
FIN S is finished sending data - Window
size TCP advertises how much data it is willing
to accept every time it sends a segment by
specifying its buffer size in
the window size field. -gt
the of bytes, starting with the one specified
by the ACK field - Checksum covers TCP
segment, the header and data - Urgent pointer
accommodate out of band signaling
-gt allows S to specify data as urgent,
meaning that the receiver should be notified of
its arrival as
quickly as possible, regardless of its position
in the stream. -gt Valid
only if the URG flag is set
-gt Urgent pointer points to the last byte of
urgent data
13
- option Maximum Segment Size (MSS) option -gt
(most common option) -gt specifies the
maximum sized segment that the sender want to
receive -gt when a connection is established,
each end can announce its MSS. -gt if the two
end points lie on the same physical network, TCP
usually computes a MSS such that the
resulting datagrams will match the network MTU
-gt If one end does not receive an MSS option
from the other end, a default of 526 bytes is
assumed 576 (default IP datagram size)
- 20 (standard size of IP header) - 20 (standard
size of TCP header) 1) Small MSS low
network utilization 2) Large MSS good
network utilization (problem) when large
datagrams travel across a network with small MTU,
IP must fragment them Ideal MSS occurs when
IP datagrams carrying the segments are as large
as possible without requiring
fragmentation anywhere along the path from S
to D
14
Acknowledgments and Retransmission - A TCP ACK
specifies the sequence of the next byte that
the receiver expects to receive cumulative ACK
15
Timeout and Retransmission - Every time it
sends a segment, TCP starts a timer and waits for
an ACK - If the timer expires before the
segment has been Acked, TCP assumes that the
segment was lost retransmit it -
(Problems) 1) A segment may travel across
various paths to D 2) the delay at each
router depends on traffic -gt it is
impossible to know a priori how quickly ACKs will
return to S - (Solution) adaptive
retransmission algorithm 1) TCP record the
time at which each segment is sent (A) and the
time at which an ACK arrives for the
segment (B). 2) TCP computes round trip
sample or measured RTT (M) B - A 3) when it
obtains a measured RTT (M), TCP adjust its RTT
- when it sends a segment, TCP computes a timeout
value as a function of the current RTT
16
- Jacobsons approach calculating Timeout based
on both the mean and variance provides much
better
response to wide fluctuations in the RTT than
just calculating the timeout as a
constant multiple of the
mean.
Karns Algorithm - A segment is transmitted
timer expires Retransmission an ACK arrives Q
Is the ACK for the original transmission or the
second? retransmission ambiguity problem. A
Neither - If timer expires and causes a
retransmission, TCP increases the timeout
new_timeout ? x timeout (typically, ? 2)
-gt timer backoff strategy - when computing the
RTT estimate, ignore samples that correspond to
retransmitted segments, but use a back off
strategy, and retain the value for subsegment
segments until a valid sample is obtained -gt
Karns Algorithm
17
TCP congestion control - detecting congestion
timeout caused by a lost packet - cause of
packet loss i) unreliable transmission media
ii) congested
router -gt packet loss caused by
transmission media is very rare -gt Most
timeouts are caused by congested router
-gt TCP assumes that timeouts are caused by
congestion - To control congestion, TCP
maintains congestion window - At any time, TCP
acts as if the window size is
allowed_window min (receiver_advertisement,
congestion_window) - In the steady state
(non-congestion state) congestion_window
receiver_advertisement - when a new
connection is established, the congestion window
is initialized to one segment. (i.e., the
segment size announced by the other end) 1)
Each time an ACK is received before the timer
expires, the congestion window is increased by
one segment -gt slow start 2) S
starts by transmitting one segment and waiting
for its ACK -gt if received, congestion window is
incremented from one to two -gt two
segments can be sent -gt if each of these two
segment is acknowledged -gt the congestion
window increased to four. ..... 3) congestion
window keeps growing exponentially until either a
timeout occurs or receiver_advertisement
is reached. - when a timeout occurs (i.e.,
congestion occurs), one-half of current window
size is saved in threshold, and congestion
window is set to one segment - Slow start is
done while congestion_window threshold. - From
the point (congestion_window threshold) on,
successful transmissions grow the congestion
window linearly increase congestion by one
only if all segments in the congestion window
have been acknowledged.
18
(No Transcript)
19
Establishing a TCP connection -gt three-way
handshake
- Each machine chooses an initial sequence at
random
Closing a TCP connection
20
Push operation - TCP is free to divide data
stream into segments for transmission - TCP can
accumulate enough bytes in a buffer to make
segments reasonably long, reducing high
overhead that occurs when segments contain a few
data bytes. - To accommodate interactive users,
TCP provides a push operation that an application
can use to force delivery of bytes currently
in the buffer without waiting for the buffer to
fill (PSH flag)
The END
Write a Comment
User Comments (0)
About PowerShow.com