review of key networking techniques: –reliable communication over unreliable channels –error...
TRANSCRIPT
• 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.