How does the internet really look like ?

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:

formatting link
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

A's address is: yellow.green.purple.red B's address is: red.green.blue.yellow

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

formatting link
[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 sprintlink 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.

Reply to
Skybuck Flying
Loading thread data ...

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

Reply to
Walter Roberson

Wow, painful read. Have a look at

formatting link
and
formatting link
The table is missing two 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.

Please ask further questions concerning anything you don't understand. Let's just take 'em a few at a time, though.

Reply to
D-O

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.

Reply to
Dom

I found this picture describing three different layouts:

formatting link
My skynet looks mostly like the "decentralized" network.

formatting link
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.

Reply to
Skybuck Flying

formatting link
and
formatting link
The table is missing two

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.

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

So your small example has not really answered my question.

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.

Reply to
Skybuck Flying

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

Your number would be: 324.345.234.346.436.678.984.235.345.213

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.

Try to get your head around that ;)

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.

Little roads connecting to bigger roads.

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

For example.

World.Europe.Netherlands.SomeState.SomeCity.SomeRoad.SomeHouseNumber.

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.

Reply to
Skybuck Flying

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

formatting link
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.

formatting link
"Geoff Huston January 2001 The Internet continues along a path of seeming inexorable growth,..."

google for [internet default size routing table]

Good luck with your studies.

Reply to
anybody43

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

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

Reply to
Sam Wilson

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.

Let's consider the address space.

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.

formatting link

Reply to
Dom

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.

Reply to
Dom

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

Reply to
Dom

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 "circles" in your concept.

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 I advertise. (read: I == my routers on behalf of my instructions ;-)

Typical major ISP's networks aggregate even more (magnitudes more!) internal routes into a single external advertisement. We are 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", "Aggregation" via Google to get the concepts of IP addressing and then look for this book:

formatting link

HTH, Patrick

Reply to
Patrick M. Hausen

a couple recent news items regarding glitches w/peering:

Internet Partitioning - Cogent vs Level 3?

formatting link
3 depeers Cogent
formatting link
3 Peering Changes Causing Headaches; Roadrunner, Cogent users unable to hit major sites
formatting link
when we were doing original payment gateway
formatting link
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
formatting link
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 routing advertisement ... went away. at that point ... the primary 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 related ... which did some major advertisement and offerings during 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 links.

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

formatting link
the transition to modern internet as an operatinal characteristic ... as opposed to technology transition (aka 1/1/83) was with the NSFNET backbone
formatting link
NSFNET Program Announcement
formatting link
NSFNET Award Announcement

Reply to
Anne & Lynn Wheeler

Thanks for this link.

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

formatting link
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.

Reply to
Skybuck Flying

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.

Reply to
Skybuck Flying

Cool so the internet does have huge tables gjez.

Your post made me understand better how the internet works.

Thanks ;)

Bye, Skybuck.

Reply to
Skybuck Flying

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.

Reply to
Dom

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.