CIS6930: Advanced Topics in Networking

advertisement
• Review of key networking techniques:
– Reliable communication over unreliable
channels
– Error detection and correction
– Medium access control
– routing
– Congestion control
• Reliable communication over unreliable
channels:
– Positive acknowledgement with retransmission
(PAR)
• Sender progresses only after receiving positive ACK
• Sender retransmits if timeout
• Receiver only accepts the correct packet (a sequence
number is required to do this).
– Sliding window protocol
• PAR + pipelined communication.
• Senders allows multiple outstanding packets
• Receivers buffer out of order packets
• Error detection/correction
– CRC checksum
• Sender/receiver agrees on the generator
• Sender makes sure that all messages sent can be
divisible by the generator
– Add n 0-bits to the message
– Perform binary division
– Add the remainder to the message
• Receiver verifies a message is valid by dividing the
message by the generator
• CRC checksum used in Ethernet frame
– Internet checksum
• 1’s complement of the sums of 16 bit numbers
• Used in UDP, TCP, etc.
• Error detection/correction
– Error correction.
• Is typically more expensive than detecting
errors and retransmission
• Used only when retransmission is expensive
or when retransmission is inefficient
– Ad hoc mobile networks
– Satellite link
– Real time applications (Video streaming)
• Medium access control:
– Use when multiple stations can access a
shared channel
– There are three types of medium access
control protocols.
• Protocols that allow collisions: try out your
luck and fix the problem if collision occurs.
• Collision free protocols: make sure that no
collision can possibly happen
• Limited collision protocols: have the
combined advantages of the previous two
types of protocols.
• Protocols that allow collisions
– ALOHA, slotted ALOHA, CSMA,
CSMA/CD
• Collision free protocols
– Bitmap method, binary countdown, token
based.
• Limited collision protocols
– Adaptive tree walk
• Routing
– Flooding
– Shortest path routing (Dijkstra algorithm)
• Centralized algorithm
– Distributed routing algorithms have two
components:
• Maintaining the topology information
• Compute the routes
– Distance vector algorithm
• Each router distributes its routing table to its
neighbors
• Each router updates its routing table based on the
tables received from its neighbors.
• Routing
– Link state algorithm
• Each router obtain the link information for
links directly connected to the router
• Each router flood the network with the link
state information (all routers in the system
receive link state packets).
• Shortest path algorithm is used to compute
routes based on the link state database.
• Congestion control:
– Congestion is a global event.
– Congestion happens when the network cannot
handle the number of data injected into the
network.
– Congestion control techniques:
• Open loop or close loop
• Can be done either in the network layer or transport
layer
• Traffic shaping
– Leaky bucket algorithm and token bucket algorithm
•
•
•
•
Admission control
Chock packet
Hop-by hop chock packet
Load sheding
• Congestion control mechanism in the
Internet:
– Done in TCP
– Slow start, AIMD
– Early random drop.
Download