# How does the internet really look like ?

Discussion in 'Cisco' started by Skybuck Flying, Oct 5, 2005.

1. ### Skybuck FlyingGuest

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.

Skybuck Flying, Oct 5, 2005

2. ### Walter RobersonGuest

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.]

Walter Roberson, Oct 5, 2005

3. ### D-OGuest

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.

D-O, Oct 6, 2005
4. ### DomGuest

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.

Dom, Oct 6, 2005
5. ### Skybuck FlyingGuest

I found this picture describing three different layouts:

http://www.cybergeography.org/atlas/baran_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.

included.

Skybuck Flying, Oct 6, 2005
6. ### Skybuck FlyingGuest

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, Oct 6, 2005
7. ### Skybuck FlyingGuest

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.

Skybuck Flying, Oct 6, 2005
8. ### anybody43Guest

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.
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]

anybody43, Oct 6, 2005
9. ### Sam WilsonGuest

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
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.
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).
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

Sam Wilson, Oct 6, 2005
10. ### DomGuest

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.

Dom, Oct 6, 2005
11. ### DomGuest

Whoa, dude, chill out. I said nothing of computers and my subnetting only
provided enough address space for two routers in each subnet. The packets
hop from router to router. Maybe, when I said ring, you thought token ring.
I did not mean a token ring. The network I described is the internet,
retarded as it may be. The precise topology is a partial mesh. Please look
it up.

Dom, Oct 6, 2005
12. ### DomGuest

It's probably more accurate to say that the internet is a hierarchical
partial mesh.

Dom, Oct 6, 2005
13. ### DomGuest

Dom, Oct 6, 2005
14. ### Patrick M. HausenGuest

Hi!

But of course they do:

router1#sh ip bgp summary
BGP router identifier 217.29.47.117, local AS number 16188
BGP table version is 113354853, main routing table version 113354853
171332 network entries using 17304532 bytes of memory
....

There are currently 171332 different networks on the Internet
that I can reach and my router knows all of them. These are the

It's only 171332 because my router doesn't need to know
about every single host. All some-thousand customers of,
say, AOL, might be only one route to store. All the traffic
for them will end up at "AOL's central gateway to the Internet"
and this router will distribute the packets further.
(This is very simplified!)

E.g. I advertise (that's how it's called) 3 prefixes ("circles") to
the Internet - all other default free routers know about them.
These 3 prefixes contain roughly 200 networks of our backbone and
our customers (smaller circles). The outside world doesn't need
to know about them since they all are part of the 3 networks
(read: I == my routers on behalf of my instructions ;-)

Typical major ISP's networks aggregate even more (magnitudes more!)
only a small company.

If you really want to get an in-depth explanation you should
first look up some information for "CIDR", "Routing", "Netmask",
then look for this book:

http://www.amazon.com/exec/obidos/ASIN/0201634481/ref=cm_eaf_asin_title/

HTH,
Patrick

Patrick M. Hausen, Oct 6, 2005
15. ### Anne & Lynn WheelerGuest

a couple recent news items regarding glitches w/peering:

Internet Partitioning - Cogent vs Level 3?
Level 3 depeers Cogent
http://www.theregister.com/2005/10/06/level3_cogent/
unable to hit major sites
http://www.anandtech.com/news/shownews.aspx?i=25035

when we were doing original payment gateway

we were looking at some of the availability issues ... with things
like multi-homing, replicated components, multiple paths into
different parts of top level infrastructure, etc. ... in part, having
previously done ha/cmp project
http://www.garlic.com/~lynn/subtopic.html#hacmp

right in the middle of that, there was decision to migrate to
hierarchical routing policy ... because the purely dynamic routing
tables weren't scaling as the internet size grew ... aka some of the
stuff that could have been done for high availability with dynamic
remaining strategy was multiple A-record support. since we had some
amount of sign-off ... we could mandate it for the webservers to the
payment gateway. however, we for webserves and e-commerce, it was also
important for browsers to also support multiple A-record support.

A trivial example was an early major e-commerce website was sports
Sunday afternoon football ... and hoping to get traffic during
half-time. Their ISP at the time was still into taking down major city
centers on Sunday afternoon for various maintenance tasks. They needed
alternate paths to major internet backbone ... and browsers capable of
tracking alternate paths. It didn't do much good to have redundant
links into carefully selected points from various ISPs ... if the
basic infrastructure couldn't deal take advantage of the redundant

a major feature of the IMP-based arpanet in the 70s was dynamic route
finding. The IMP operation formed a homogeneous infrastructure
.... with the IMPs interconnected by 56kbit links. There were folklore
stories in the late 70s that the IMP dynamic routing infrastructure
overhead was sometimes consuming 40kbit-50kbit of the available 56kbit
with dynamic routing information chatter (another case where dynamic
routing was having difficulty scaling).

the switch-over from homegeneous networking to internetworking and
gateways was on 1/1/83. This is part of my frequent postings that
the internal network was larger than the internet/arpanet from just
about the beginning until mid-85 ... in part because the major nodes
in the internal network had effectively a form of gateway support from
the beginning
http://www.garlic.com/~lynn/subnetwork.html#internalnet

the transition to modern internet as an operatinal characteristic
.... as opposed to technology transition (aka 1/1/83) was with the
NSFNET backbone
http://www.garlic.com/~lynn/2002k.html#12 NSFNET Program Announcement
http://www.garlic.com/~lynn/2000e.html#10 NSFNET Award Announcement

Anne & Lynn Wheeler, Oct 6, 2005
16. ### Skybuck FlyingGuest

It seems what I described in skynet5.png is already supported by the
internet ?

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

It's called:

Hierarchical Routing Aggregation To Minimize Routing Table Entries

Ofcourse this would still require routing tables etc so it's a little bit
different but it comes close to skynet

Bye,
Skybuck.

Skybuck Flying, Oct 6, 2005
17. ### Skybuck FlyingGuest

No lol, you described a network with 4194304 hops.

Such a network is not even possible with internet since it only allows for
255 or 256 or so hops.

Besides from the internet limitation I think I understood your largest
theoretical network quite well...

As you say from router to router... (how many routers do you plan on using ?
4194304 ? which is not necessary when using some kind of bus or ring, see
ethernet, token ring, atm or so.

But ok, you choosed to go from router to router that's your choice.

Your described network would probably look like this a picture helps:

router - router - router - router
| | | |
comp comp comp comp

So to me it seems you would take an ethernet network and simply pull out all
the coax cables or utp cables and simply use utp cross over cable to go from
computer to computer or in this case from
computer to router, to router to computer, etc.

Bye,
Skybuck.

Skybuck Flying, Oct 6, 2005
18. ### Skybuck FlyingGuest

Cool so the internet does have huge tables gjez.

Thanks

Bye,
Skybuck.

Skybuck Flying, Oct 6, 2005
19. ### DomGuest

Yes, my theoretical network would suffer from the IP limitation of 8-bit
ttl. That doesn't mean the network couldn't exist, It just means that no
node could reach another more than 255 hops away. Now, if the routers
ignored the ttl... But, that's not really relevant. Four-million routers,
indeed. Let's get back to reality.

Router-to-router is not my choice, it is the way the internet works.
Remember, I said the internet is made up of routers and switches.

router-switch-router-switch-router-crossover-router-switch-router

Computers can plug into a switch anywhere along the way. Remember, routers
and computers are not connected to each other, they are connected to
networks.

Dom, Oct 6, 2005