MadSci Network: Computer Science

Re: How is the route taken by each packet of data across the net determined?

Date: Tue May 26 13:50:42 1998
Posted By: Curtis Chen, Other (pls. specify below), Webmaster, AT&T Labs
Area of science: Computer Science
ID: 895860174.Cs

Hey there P.Karthik!

I'll answer your questions in reverse order.

First, all data packets sent over a network like the Internet have equal 
priority.  You'll have better throughput if you're using a faster 
connection which sends more packets in the same time period, but the 
packets themselves can't be "ranked".  That kind of priority assignment 
would be very difficult to manage and much too easily abused.

Clearly, it's impossible to ensure that the packets sent from one computer 
to another will arrive in the correct order.  So a packet 
assembler/disassembler on each end handles the task of sequentially 
numbering the packets before they're sent, and reassembling them in the 
correct order after they're received.  If any packets are missing or 
delayed, the receiving host may send specific requests for those packets to 
the originating host.  If any packets take too long to arrive, as in the 
case of streaming audio or video, the receiving host may simply ignore 
them, resulting in loss of resolution.  The amount of data loss which will 
be tolerated depends on the application receiving the data-- for example, 
RealAudio allows a large percentage of lost data, while an FTP download 
requires all data to be intact and may thus take longer to complete.

The route taken by a packet through the network is determined by the 
various routers (historically known as "gateways"), bridges, and hosts on 
the network.  These devices store information on the shortest paths between 
locations within their home networks, and routinely trade 
information about the reachability and cost/metric (e.g., number of 
point-to-point hops) of other networks.  Most of this data is gathered 
automatically, and network measurements take priority over geographical 
location, which is why you might see your packets travelling over a fast 
connection from Los Angeles to Salt Lake City to San Francisco, instead of 
directly from LA to SF over a much slower connection.  (You can use the 
Unix program "traceroute" to see the exact path your packets follow from 
one host to another.)

Since most of this routing information is collected without human 
intervention, and networks can go down without warning, it's possible for 
networks to become unreachable.  In that case, a system administrator can 
manually update his network's routing tables to try to specify a viable 
route to other networks.  Normally, though, this practice is inefficient 
because it's impossible for a human to measure network statistics as 
quickly or precisely as an electronic device.

Hope this helps!

not a pinging aardvark

Current Queue | Current Queue for Computer Science | Computer Science archives

Try the links in the MadSci Library for more information on Computer Science.

MadSci Home | Information | Search | Random Knowledge Generator | MadSci Archives | Mad Library | MAD Labs | MAD FAQs | Ask a ? | Join Us! | Help Support MadSci

MadSci Network,
© 1995-1998. All rights reserved.