[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OT: time and computer networks

On Thu, 2004-12-02 at 00:59 -0500, Matt Price wrote:
> hi folks,
> ok...  this is way OT.  but I thought I'd put this question to the
> most knowledgable group of people I know...
> I have to give a lecture on the history of timekeeping technologies.
> I want to end with late c.20/ early c21 technologies of synchronized
> timekeeping.  GPS is one obvious example, NTP is another.  But
> puttingthe lecture together I realized I don'trelaly understand why
> it's important for computer networks to have fine-grain
> synchronization.  So I thought I'd ask some geeks (as my sig says, I'm
> only a hemi-geek):  why does a network need careful clock
> synchronization?  Are packets like railroad cars -- in the sense that
> it's VERY important to know which got sent first, and which is ocming
> next -- and if you screw up the timeable, you get a catastrophe?  Or
> is there more flexibility in the system?  

Modern computer timekeeping has little to do with actual transmission of
data over a network, at least as far as Ethernet-based networks are
concerned. Now, if you're talking about a T1, for example, timing is
still critical. Due to the way T1's transmit data, they require a timing
subcarrier to keep the sender and receiver in tune with each other.

Ethernet, on the other hand, is based on sequencing. So a packet sent
now vs a packet sent two minutes from now don't necessarily need to
arrive in the correct order, as the receiving side will re-order them
once they're all in. (There are limitations to this of course, but
they're outside of the scope of what I'm going to go into here.)

Modern timekeeping systems have primarily been put in place for the
benefit of the humans using the computers, not so much the computers
themselves. The reason that things like NTP are so accurate is not
because the majority of people using them NEED them to be so accurate,
but because:

1) The people who originally designed them were uber-geeks who knew that
there was only one 'right' way to do things, and getting clocks within
100 ms of each other just wasn't good enough because it wasn't the
'right' way.

2) The people who originally NEEDED them were people who play with nukes
and alien specimens (well, maybe not the latter, but who knows) and they
absolutely HAVE to have the EXACT time.

Today, the big benefit of having closely synchronized networks is in
business, and especially financial applications. Say that I'm a huge
corporation, with a $1,000,000,000 bank account, and I want to buy
another corporation for $1,200,000,000. I just sold a whole bunch of my
product and earned $210,000,000 on the deal. I know that the money will
be in my account at 11:00 am. At 11:00:00:01 my computers begin the
purchase of the new company. If the bank and I aren't on the same time,
the transaction is going to fail and I might very well get slapped with
a multi-million dollar bank charge in the process.

Granted, this is a rather extreme and unrealistic example, but that's
one of the reasons why computer networks nowadays need to be
synchronized so closely.

Hope that helps. And when you're done giving the lecture, be sure to
urge the listeners to use Debian and give up the evils that are
Windows. :)

Alex Malinovich
Support Free Software, delete your Windows partition TODAY!
Encrypted mail preferred. You can get my public key from any of the
pgp.net keyservers. Key ID: A6D24837

Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: