Velocity Reviews > How does the internet really look like ?

# How does the internet really look like ?

Skybuck Flying
Guest
Posts: n/a

 10-05-2005
Hi,

Suppose I had to construct my own global network then to get a basic
routing/addressing system going I would use the following layout:

Picture:

http://www.mycgiserver.com/~skybuck/Skynet5.png

Description in case the picture is unavailable:

Step 1: the super "backbone":

Draw a big circle of diameter 100 in the center. Color it red.

Step 2: smaller "backbones".

Draw smaller circles of diameter 50 around/outside the bigger circle.
Connect each smaller circle with a line to the big circle.
Give each smaller circle a unique color like red, blue, green, yellow etc.

Step 3: local network "backbones"

Draw smaller circles of diameter 20 around/outside the smaller circles.
Connect each 20 diameter circle with it's 50 diameter circle by a line.
Give each smaller circle a unique color like red, blue, green, yellow etc.

Step 4: the computers attached to each local network.

Draw tiny circles of diameter 8 or so around/outside the smaller circles of
20 diameter. Connect each tiny circle with the 20 diameter circle by a line.
Give each smaller circle a unique color like red, blue, green, yellow etc.

Step 5: the super backbone connected to the global backbone.

Draw a huge half circle in the left upper corner which represents the global
backbone and connect
the super back bone to it.

The picture should look something like this:

OOOOOO
OOOOOO
OOOOOO (global backbone)
OOOOOO
OOOOOO
/
red A / blue
O O O yellow | O Oyellow
\ | / | | /
OO | OO red OOgreen
OO green | OO OO---O blue
\ | \ / \
\ purple OOOO OOO O red
OOO OOOO /-- OOO blue
OOO-------OOOO -- OOO
OOO OOOOred (super backbone)
/ \
/ \ green O
OO OOO /
OO---O etc OOO --- OO -- O
\ OOO OO --O
O / \
OO O
OOblue
| \
O O yellow
B

For A to reach B the following happens:

A knows the address of B which is given: red.green.blue.yellow

A could also know it's own address but is not really required.
(It could be filled in while the packet travels up to the backbone, called
"on the fly")

A could simply broadcast it's packet on green. (Alternatively A could send
it directly to the green gateway hardware address if the green gateway
hardware address is known by A.)

The gateway at green picks up the packet looks at the destination address
and determines it's not for it's own local network so it needs to forward
the packet up to it's parent network which is purple.

The same thing then happens at purple so the packet ends up at red.

The destination address is RED.x.x.x so the packet does not need to go up
the global backbone.

The next addres is x.GREEN.x.x so the super backbone forwards it to the
green network.

The green network sees the next address is blue:
x.x.BLUE.x so it forwards it to blue.

The blue network sees the final address is yellow:
x.x.x.YELLOW

So it forwards it to computer B

Since all packets carry a source address as well, B can now also reach A via
the same mechanics etc.

A and B can thus communicate with each other.

This idea for a global network is very simple. The internet seems much more
complex than this.

It only has 4 bytes in it's ip address. So the maximum number of hops would
be about 8 or so ?
( 4 for the source and 4 for the destination ) or maybe 16 if gateways are
two computers connected to each other etc.

However looking at an arbitrary tracert this does not seem to be the case:

Tracing route to www.dictionary.com [66.161.12.81]
over a maximum of 30 hops:

1 5 ms 4 ms 6 ms hidden
2 8 ms 4 ms 6 ms hidden
3 10 ms 10 ms 9 ms hidden
4 18 ms 12 ms 11 ms 213.51.158.155
5 11 ms 11 ms 11 ms 217.149.47.157
6 11 ms 14 ms 11 ms 217.149.32.116
7 18 ms 19 ms 17 ms sl-bb23-lon-4-0.sprintlink.net
[213.206.129.143]

8 23 ms 18 ms 18 ms sl-bb21-lon-13-0.sprintlink.net
[213.206.128.55]

9 86 ms 87 ms 87 ms sl-bb21-tuk-10-0.sprintlink.net
[144.232.19.69]

10 88 ms 92 ms 89 ms sl-bb23-pen-13-0.sprintlink.net
[144.232.20.138]

11 89 ms 89 ms 89 ms sl-bb22-pen-14-0.sprintlink.net
[144.232.8.178]

12 129 ms 137 ms 130 ms sl-bb21-fw-15-0.sprintlink.net
[144.232.9.31]
13 156 ms 156 ms 157 ms sl-bb22-ana-12-0.sprintlink.net
[144.232.20.131]

14 157 ms 159 ms 157 ms sl-bb21-ana-15-0.sprintlink.net
[144.232.1.173]

15 157 ms 156 ms 156 ms sl-st20-la-13-0.sprintlink.net
[144.232.20.67]
16 153 ms 153 ms 153 ms sl-sbcint-5-0.sprintlink.net
[144.232.154.230]
17 155 ms 153 ms 152 ms ex2-p3-0.eqlaca.sbcglobal.net
[151.164.191.226]

18 156 ms 153 ms 155 ms bb1-p6-0.crrvca.sbcglobal.net
[151.164.41.34]
19 156 ms 158 ms 154 ms core2-p4-0.crrvca.sbcglobal.net
[151.164.41.1]
20 157 ms 157 ms 159 ms bb2-p5-0.irvnca.sbcglobal.net
[151.164.41.13]
21 155 ms 157 ms 154 ms ded1-g0-3-0.irvnca.sbcglobal.net
[151.164.42.41]

22 158 ms 157 ms 156 ms bb1-z-g1-0-0.irv.sbcidc.com [66.161.96.9]
23 155 ms 154 ms 156 ms core2-z-g1-1.irv.sbcidc.com [216.65.209.14]
24 158 ms 155 ms 156 ms acs2-a-g2-1.irv.sbcidc.com [216.65.208.110]
25 159 ms 157 ms 157 ms 66.161.12.81

Well looking at the names I see about 4 names like:
hidden
sbcglobal
sbcidc

Looking at the the ip's I see many different ip's, how does one explain that
?

I could imagine some kind of linked network like so:

O backbone
O-O-O-O-O-/

Packets can only go up or down etc... so that shouldn't be too much of
problem.

Is it also possible to connect multiple network with each other and have
them connected to a backbone as well like so ?:

OOO
OOO
OOO
/ \
/ \
OO OO -- O
OO -----?----OO -- O
/ \
O O

Such a "subnetwork interconnection" could explain why some say packets can
take a different route ? does this explain it ?

I would appreciate seeing some (network) diagrams how the internet really
works (by using simple circles and lines etc)

Bye,
Skybuck.

Walter Roberson
Guest
Posts: n/a

 10-05-2005
In article <di1hk2\$8jd\$(E-Mail Removed)1.ov.home.nl>,
Skybuck Flying <(E-Mail Removed)> wrote:
>Is it also possible to connect multiple network with each other and have
>them connected to a backbone as well like so ?:

Yes, and that is not uncommon.

You've also over-emphasized the "backbone". While there are some
major backbone devices (usually associated with *major* long distance
aggregation), for the purposes you were discussing, there are a number
of backbones. Each major provider runs their own.

Packets between two different major providers cross on "multihomed"
routers that are run in cooperation with both providers. Often there
will be several such crossover points ("peering"). For any one packet
in transit, the choice of cross-over point depends upon the policies
(and charging structures!) agreed upon between the providers, and

As internal rates for any one provider to transport traffic are usually
less than the other provider would charge, -typically- any one packet
would stay within the original provider until it gets to the crossover
point that is electronically "nearest" to the destination. There will
always be exceptions, though, due to congestion -- or because sometimes
a different provider's rates to transport traffic might be lower than
one's own costs [think of satellite or radio links -- they are more
expensive than fibre, so an ISP that has an extensive satellite network
might find it less expensive to let someone else transport packets
staying within the same country.]
--
If you like, you can repeat the search with the omitted results included.

D-O
Guest
Posts: n/a

 10-06-2005
routes which you'll need to fill in yourself.

Forget the colors. Draw a diagram with routers and write out the routing
tables by hand and use real IP addresses. The internet is a partial mesh of
routers and switches. The routers direct traffic between unique logical IP
networks. Routers utilize the BGP4 routing protocol, among others, to share
routing information. If a router knows multiple routes to a destination, the
router will utilize a routing algorithm to deicide which route the traffic
will take. A backbone is just the preferred path across a network.

just take 'em a few at a time, though.

Dom
Guest
Posts: n/a

 10-06-2005
It's odd how you're trying to reconcile the maximum number of hops. Check
this out. I can subnet a class-c in to 64 networks and connect them with
routers. That means 64 hops from end to end. I can subnet class-b and
class-a networks in the same fashion to create networks with 16384 and
4194304 hops from end to end, respectively.

Now, wrap your mind around this. I can take my string of 64 networks and
link the networks at the far ends to form a ring. This greatly reduces the
number of hops between destinations because traffic can travel either way
around the ring. All things being equal, our routing algorithm will route
traffic over the shortest path. Let's also consider that our 64 networks are
connected with many different types of links. A routing algorithm which
accounts for link speed and state can help us route traffic over a quicker,
more reliable path.

Skybuck Flying
Guest
Posts: n/a

 10-06-2005
I found this picture describing three different layouts:

http://www.cybergeography.org/atlas/...nets_large.gif

My skynet looks mostly like the "decentralized" network.

http://www.mycgiserver.com/~skybuck/Skynet5.png

I think internet probably looks like a "distributed" network.

So internet is much complexer and needs routers/special algorithms to move
packets from A to B across the network.

Though the internet is probably not completely distributed since there is
speak of different classess/levels/layers etc.

So maybe the internet is a combination of the decentralized network and the
distributed networks.

For example smaller distributed networks more or less connected in a
decentralized way.

Bye,
Skybuck.

"Walter Roberson" <(E-Mail Removed)-cnrc.gc.ca> wrote in message
news:di1ll5\$kf7\$(E-Mail Removed)...
> In article <di1hk2\$8jd\$(E-Mail Removed)1.ov.home.nl>,
> Skybuck Flying <(E-Mail Removed)> wrote:
> >Is it also possible to connect multiple network with each other and have
> >them connected to a backbone as well like so ?:

>
> Yes, and that is not uncommon.
>
> You've also over-emphasized the "backbone". While there are some
> major backbone devices (usually associated with *major* long distance
> aggregation), for the purposes you were discussing, there are a number
> of backbones. Each major provider runs their own.
>
> Packets between two different major providers cross on "multihomed"
> routers that are run in cooperation with both providers. Often there
> will be several such crossover points ("peering"). For any one packet
> in transit, the choice of cross-over point depends upon the policies
> (and charging structures!) agreed upon between the providers, and
> upon which links are reachable and not overloaded at the time.
>
> As internal rates for any one provider to transport traffic are usually
> less than the other provider would charge, -typically- any one packet
> would stay within the original provider until it gets to the crossover
> point that is electronically "nearest" to the destination. There will
> always be exceptions, though, due to congestion -- or because sometimes
> a different provider's rates to transport traffic might be lower than
> one's own costs [think of satellite or radio links -- they are more
> expensive than fibre, so an ISP that has an extensive satellite network
> might find it less expensive to let someone else transport packets
> staying within the same country.]
> --
> If you like, you can repeat the search with the omitted results

included.

Skybuck Flying
Guest
Posts: n/a

 10-06-2005

"D-O" <(E-Mail Removed)> wrote in message
news:43448cc3\$0\$2861\$(E-Mail Removed) enews.net...
> Wow, painful read. Have a look at

> routes which you'll need to fill in yourself.

Ok, this is very simple example.

It's easy to see that router A has to be informed about router B and vice
versa.

Now suppose we extend this example so that we have a chain of 1000 routers.

A few questions:

1. Is it possible to have a chain of 1000 routers like this ? probably yes.

2. Would this mean router 1 would have to have 999 routes defined in it's
routing table to all the other routers/networks.

What if there are 1 million of these routers etc.

I want to know how the internet works on a bigger scale... because routers
probably dont have enough memory to store all possible routes ???

So there must be some sort of algorithm/mechanism that solves the routing
problem.

For example...

Suppose router 1 has only 500 memory slots. It can't store the other 499
routes.

How would internet technology solve this problem ???

Bye,
Skybuck.

Skybuck Flying
Guest
Posts: n/a

 10-06-2005

"Dom" <dom@invalid> wrote in message
news:4344b4f7\$0\$2861\$(E-Mail Removed) enews.net...
> It's odd how you're trying to reconcile the maximum number of hops. Check
> this out. I can subnet a class-c in to 64 networks and connect them with
> routers. That means 64 hops from end to end. I can subnet class-b and
> class-a networks in the same fashion to create networks with 16384 and
> 4194304 hops from end to end, respectively.

I could simply connect 1.000.000.000.000.000.000.000 computers to a ring and
simply use a unique number for each computer.

Each computer would simply put it's message/packet on the ring and it would
go around the ring and finally reach it's destination.

For example my unique number would be: 1.234.453.353.236.567.234.565.235.544

These numbers would simply be encoded with Skybuck's universal code.

So the point of the story is such a "network" would not require any routing
at all.

What you described is a somewhat retarded network where each computer is
connected with a router like so:

C1 R1 C2 R2 C3 R3 C4 R4 C5 R5 C6 R6

This explains your enormous hop count. The packets can only hope from
computer to router to computer to router etc.

If you are retarded enough to choose a random number/address for each router
then there is no logical structure at all.

This would mean each router would now need a gigantic routing table.

You also described a ring so, suppose Rend is connected to Cbegin then each
packet could be forward to the left or to the right. That would cut the hop
count in half.

Ofcourse such a network still requires the routers to learn about all the
other routers which means traffic overhead.

Finally each router would learn how far each other router is and thus each
router can choose if the packet should go left or right depending on which
is the shorter route.

The problem with your "retarded" network is that if one computer or
router fails the network starts to malfunction... the ring would be broken
and some routers might not be able to reach the others.

My "ring" network doesn't have routers so no point of failure there. Also if
computers fail the rest of the network can simply continue communicating.

Only when the ring is truely physically broken the network falls apart

So while your network seems retarded lol. It does continue to function a
little bit even when the ring is broken in certain places (though your
network would also be a lot more expensive router/memory/overhead wise )

The problem with both networks is ofcourse that this is nearly impossible to
create physically.

It's nearly impossible to construct a single ring which goes through every
house hold and every building and every computer on the face of the planet

Nor would this be desirable because of the reasons above

So it makes more sense to use the highway/roads approach.

So how do we find people in real life. By special addressing.

For example.

So the world wide postal system has a certain maximum number of hops.

That's how my skynet works as well, it would have a certain maximum number
of hops.

The whole network construction of skynet could be dynamic. Levels/computers
could simply retrieve their address dynamically. If the network is expanded
or changed all computers on the network could be notified of this changed
and relinked etc (this information would need to be stored for some time to
allow offline computers to come online and be notified etc) Skynet could
also scale indefinetly.

Skynet would allow the addressing scheme to scale indefinetly by using a
null terminator, just like a null terminated string. For each "level" 0 is
invalid and reversed to indicate a termination.

For example:

Level.Level.Level.Level.Level.0

The zero indicates that the addressing has come to an end.

Each level could be encoded by simply using a byte. This would mean that
each level has 255 connection points. However connection point 1 could be
reversed to indicate the gateway. So that leaves 254 connections per level.
Each ring would thus have 254 connection points as soon as the network has
to become larger than 254 connection points/computers a higher level ring is
constructed and two lower level rings are attached to the higher level ring.
Thus creating 254 connections points on level 1 which can be connected to
254 level zero rings. Creating a total ammount of computer: 254 * 254 =
64516

As soon as the network needs to become larger than 64516 computers than
another higher level ring is constructed level 2. Level 2 can thus have 254
level 1 rings and these level 1 rings can have 254 level zero rings, so
that's 254*254*254 = 16387064

There is no limit to the ammount of levels so the network can scale
indefinetly.

For example:

Level10.Level9.Level8.Level7.Level6.Level5.Level4. Level3.Level2.Level1.Level
0.0

11 Levels.

254*254*254*254*254*254*254*254*254*254*254 = 283903589048977364007778304
computers.

The addressing scheme is efficient since it uses simply binary/byte coding.

However this limits each ring to 254 connections which might be undesirable.

Since more connections than 254 would need a gateway, which could mean a
bottleneck at the gateway and extra investment in gateway hardware and
devices etc.

It might be desirable to construct a huge fiber optic ring and connect as
many computers as possible to it without any gateway/router bullshit.

So to make the number of connection per level scale indefinetly "Skybuck's
universal code" could be used to encode the numbers so that they can be any
size.

Here is a comparision:

Binary/byte encoded address: (each level value must be between 2 and 254)

232.12.245.12.65.34.213.0

Skybuck decoded address: (each level can have a value as big as necessary )

21342.24.2345.1342342.0

(Search google for "Skybuck's Universal code" to find out how the encoding
works )

Bye,
Skybuck.

anybody43@hotmail.com
Guest
Posts: n/a

 10-06-2005
Skybuck,

You have identified a number of key problems that have
been successfully overcome in order to implement The
Internet as we see it today.

To get started you could read Computer Networks (Andrew
Tannenbaum). Get the latest edition.

The easiest routing protocol to understand is probably RIP
version 1. The Internet uses BGP4.
Even RIP though has many potential subtlties of behaviour
however it is effectively obsolete so I wouldn't worry about
them too much.

The specification of the Internet Protocols (most of them anyway)
is stated in RFC's which are (of course) published
on the Internet.

ftp://ftp.rfc-editor.org/in-notes/rfc1058.txt
"Routing Information Protocol"

Do a traceroute e.g. use www.network-tools.com if you have
no access yourself.

How many hops do you see?

30 or less is about the absolute Max.

>From a Corporate net in London to Corporate net in NY is 15 hops

over the internet.

IP is limited to 255 hops by design [IP header time to Live field].

There are backbone links that take you across the whole USA
in one hop. It is only one hop across the Atlantic

Most routers in the world do not have the wold routing table
but instead use "default routing" possibly with exceptions.

The area of the Internet that has the full table is called
something like the default-free Internet routing table.

http://www.potaroo.net/papers/ipj/4-1-bgp.pdf
"Geoff Huston January 2001
The Internet continues along a path of seeming inexorable growth,..."

google for [internet default size routing table]

Sam Wilson
Guest
Posts: n/a

 10-06-2005
In article <di2na2\$t51\$(E-Mail Removed)1.ov.home.nl>, Skybuck Flying
<(E-Mail Removed)> wrote:

> "D-O" <(E-Mail Removed)> wrote in message
> news:43448cc3\$0\$2861\$(E-Mail Removed) enews.net...
> > Wow, painful read. Have a look at

> > routes which you'll need to fill in yourself.

>
> Ok, this is very simple example.
>
> It's easy to see that router A has to be informed about router B and vice
> versa.
>
> Now suppose we extend this example so that we have a chain of 1000 routers.
>
> A few questions:
>
> 1. Is it possible to have a chain of 1000 routers like this ? probably yes.

In theory, yes of course - why not? In practice no IP packet can cross
more than 255 routers because of the TTL field (look it up - Google is

> 2. Would this mean router 1 would have to have 999 routes defined in it's
> routing table to all the other routers/networks.

Not necessarily. Default routes ("everything else is thataway") or
aggregation ("everything that begins 123... is thataway") help cut down
the size of the tables required.

> What if there are 1 million of these routers etc.
>
>
> I want to know how the internet works on a bigger scale... because routers
> probably dont have enough memory to store all possible routes ???

See above, but actually there is a "default free zone" in the "middle"
of the Internet that does exactly that - some router somewhere must
know where everything is or else packets addressed to nonexistent
destinations would loop forever (or until their TTL field expired).

> So there must be some sort of algorithm/mechanism that solves the routing
> problem.
>
> For example...
>
> Suppose router 1 has only 500 memory slots. It can't store the other 499
> routes.
>
> How would internet technology solve this problem ???

By putting more memory in; by designing more efficient storage and
search algorithms; by inventing, or at least generalising, aggregation
(see Internet history of the early 1990s concerning aggregation and
CIDR - Classless InterDomain Routing).

IPv6 is another barrel of laughs completely.

Sam

Dom
Guest
Posts: n/a

 10-06-2005
Route aggregation. Confining an address range to a certain geographical area
reduces the size of routing tables. The best example of route aggregation is
your computer at the edge of the internet. It has a single route to reach
the entire internet. All possible destinations are aggregated into a single
route. CIDR also helps reduce the size of routing tables by allowing the
definition of classless networks. Some routers have more routes than others,
but no router knows about all other routers. No router needs to know that
much. A router only needs to know about routers to which it is directly
connected and the destinations that those routers can reach.

a.. Class A addresses begin with 0xxx, or 1 to 126 decimal.
a.. Class B addresses begin with 10xx, or 128 to 191 decimal.
a.. Class C addresses begin with 110x, or 192 to 223 decimal.
a.. Class D addresses begin with 1110, or 224 to 239 decimal.
a.. Class E addresses begin with 1111, or 240 to 254 decimal.

Theoretically, we could have five routers connected by a switch at the
middle of the internet, each handling a different address class. These five
routers, together, can reach the entire internet and each one would only
require five routes to do it.