• Review: Routing algorithms • Distance Vector algorithm.

advertisement
• Review: Routing algorithms
• Distance Vector algorithm.
– What information is maintained in each router?
– How to distribute the global network information?
– How to compute the new routing table?
• Distance Vector algorithm
– what is the major problem of this algorithm?
» The count to infinity problem.
• Link State algorithm
– What information is gathered by each router?
– How to distribute the global network information?
– How to compute the new routing table?
• Next issue: Congestion control
– What is congestion control? Mechanisms to
prevent hosts from flooding the network.
– Congestion control .vs. flow control?
• Both typically require the sender to slow down.
• Causes are different
– flow control -- link, local
– congestion control -- network, global
• Example:
– 50 stations are connected by a 10Mbps Ethernet, all
stations want to send data at 500Kbps.
– 50 stations are connected by a 10Mbps Ethernet, one
station wants to send data to another station at 500Kbps.
The receiving station can only process data at 100Kbps.
– Congestion control mechanisms:
– Open loop (proactive): prevent the congestion from
happening.
– Closed loop (reactive): detect the congestion and do
something to fix the problem.
• Traffic shaping:
– congestion is typically caused by bursty traffic
– traffic shaping forces the traffic to be not so bursty
– Leaky Bucket algorithm.
» each host connected to the network has an interface
containing a "leaky bucket” (a queue)
» Packets can arrive at any rate
» Packets are discarded when the bucket overflows.
» Packets depart at a constant rate.
– Example: a burst data of 200Mbps for 40 ms, using leaky
bucket algorithm with a data rate of 16Mbps?
– Congestion control mechanisms:
• Traffic shaping:
– The leaky bucket algorithm has a constant data rate, we
want the communication to be a little bursty when the
computer needs it.
– Token bucket algorithm.
» A packet can go if there is a token. The token is
destroyed after the packet is gone.
» A token is generated very T second
» Tokens can be accumulated to an upper bound.
» Many variations. A token bucket algorithm is
typically described using three parameters: (burst size,
average rate, max rate)
• Admission control
– like the telephone system, when there is congestion, reject
service to avoid making the situation worse
• Choke packet: (used in both VC and datagram)
– Each router monitors the utilization of its output lines
– When the utilization is above a threshold, send chock
packet to the source host
– The source will then slow down sending the packets to the
same destination.
– The source will avoid listening to the choking packet for a
while
• Hop by Hop chock packet
– LA to NY at 155Mbps, 30 msec, 4.6Mb in the place that
causes congestion, choke packets sending to the source
may take too long to take effect
– Instead, ask every intermediate router to slow down.
» quick relief at the point of congestion
» more buffer at upstream routers
• load shedding
– I am congested now, let me drop some packets to make the
network easilier.
– Which packet to drop?
» based on service: ftp -- wine policy (older is better),
real time -- milk policy (newer is better)
» indicated by the source which packets that are more
important. (prioritize packets)
– Next issue: Internetworking.
• many networks exist: ATM, Ethernet, DECNET ...
• These networks have lot of differences:
– services: connection-oriented and connectionless
– Protocols: IP, SNA, IPX
– Addressing: Flat and hierachical
– Packet size:
– Quality of Service: support or not
– Error Handling:
• How to send packets from one network to another
network?
– Two types of internetworking.
• Concatenated Virtual Circuits:
– A connection to a remote host is set up by concatenating
virtual circuits in all networks it passes by.
– Gateways response for converting packet format and
maintaining VC.
– Work best when all network have the same properties.
» all reliable, all unreliable.
– Can also be done on transport layer for datagram subnets.
• Connectionless internetworking:
– inject datagrams into subnets and hope for the best
– packets may not follow the same route
– also works on VC subnet.
– Some problems with internetworking
• format conversion can be hard:
– Example: IP address is different of OSI address (phone
number) IP address <--> OSI address IP address <--> IPX
address
• fragmentation:
– Maximum packet size is different in different networks
– Fragmentation deals with the cases when large packet
sends to the network whose maximum packet size is small.
– How to do this?
» solution 1: make it not happening, network
unreachable.
– Solution 2: chop the large packet into small
fragments and send fragments as individual
internet packets.
• Problem: when to put the packet back together?
– at gateways:
» transparent to other networks
» high overhead -- all packet must pass through the
same exit gateway
– at the destination:
» every fragment is treated as an internet packet
» smart end hosts (may not always be true)
» fragments must be numbered
» retransmission overhead (can be complicated).
– Tunneling.
• Internetworking for the general case is extremely
difficult.
• Common case: source and destination are on the
same type of network. Different networks in
between.
• How it works?
– Source sends packets to an intermediate gateway
– Intermediate gateways put the whole packet into the
payload field (don't interpret).
– The destination will understand the packet.
– Firewalls:
– routers with packet filtering capability
– forward a packet only when the packet passes its testing.
Download