I'm having a hard time understanding how a governing body assigns IP addresses, companies use BGP to advertise those IPs, and how the internet works. Then, where the hell does DNS come in?

Can anyone suggest a good read of how this stuff actually works? I suppose I have several questions. The first is, does ARIN (or any other governing body) actually matter? If they weren't around, would there be chaos? When they assign a block, they don't LITERALLY assign it? You have to use BGP to advertise, correct? I have always been used to a closed hosting environment (dedicated/shared) where you have routed IPs.

Then, how does DNS come in to play? With my registrar I am able to register a DNS server (eNom) - what does that actually mean? I've installed Bind and made all of that work, and I run my own DNS servers, but who are they registering that DNS server with? I just don't get it.

I feel like this is something I should know and I don't, and I'm getting really frustrated. It's like.. simple.. how does the internet work? From assigning IPs, to companies routing them, and DNS.

I guess I have an example - I have this IP space let's say 158.124.0.0/16 (example). The company has 158.124.0.0/17 internet facing. (First of all, why do companies get blocks of IPs assigned and then not use them? Why don't they use use reserved internal space 10.x and 192.x?). So, that's where I'm at. What would I do to actually get these IPs on the Internet and available? Let's say I have a data center in Chicago and one in New York. I'm not able to upload a picture, but I can link one here: http://begolli.com/wp-content/gallery/tech/internetworkings.png

I'm just trying to understand how from when the IP block is assigned, to a company using BGP (attaining a public AS #?), and then how DNS comes in to play?

What would something look like from my picture? I've tried to put together a scenario, not sure if I did a good job.

link|improve this question
5  
As a professional system administrator, or someone working in a related field, we are expected to know these things. For any bits that may be a little unclear vast numbers of books and Internet articles have already been published. This is also not the kind of question, or set of questions, that can be properly addressed by a Q&A site like SF. – John Gardeniers May 31 '11 at 22:48
1  
I don't really have a problem with this question - I look at it the same way as the "Subnetting 101" question & answer: It's something every sysadmin should know, but some may have slipped through without the requisite knowledge. We can't cover it as exhaustively as subnetting, but I think having it as a quick-and-dirty primer is a Good Thing. – voretaq7 Jun 1 '11 at 15:50
@John - I think there are many different levels. Like I stated, I grew up learning in a static environment as far as networks went. I never really dealt with ISPs, border routers, and configuring blocks of IPs. I have had the pleasure of having many dedicated servers, configuring linux distributions, securing them, running web applications, and being able to manage those boxes. There are different sides to the spectrum, and I don't think we are expected to know these things. We are expected to know specialized tasks. Some people know networking engineering real well.. others do not. – Vegim Jun 2 '11 at 16:08
feedback

3 Answers

The really quick version:

IPs are assigned in blocks by IANA to the regional registries (list and map), who then lease out the IPs to companies (usually ISPs). Those companies need some way of telling The World where to find a particular IP (or set thereof: subnets, et alli), this is where BGP comes into play. Within an network, even one as large as an ISP, they might use several routing protocols (RIP, OSPF, BGP, and ISIS come to mind). Companies are required to use their IPs now, or surrender them.

Humans don't remember numbers well, so we invented host names. There is a central registry for these, also managed by IANA, and they determine what records go on the root servers (huge simplification). You can use a registrar to "purchase" a domain name, which is a subdomain of the Top Level Domains (TLDs), like .com or .net. This registration essentially points that name to your DNS server, where A (and similar) Records are used to map a domain name like www.example.com to an IP like 192.0.2.5. When a client wants to resolve your IP from a domain name, the client contacts their DNS server which does a recursive lookup, starting with the root server, finding your DNS server and eventually getting the relevant information.

As for the "governing bodies" everyone agrees to use them; there are no (or very few) laws requiring anyone to cooperate. The Internet works because they do cooperate. Without the governing bodies there would be no coordination and means of easy cooperation. This is also the reason BGP is popular, everyone basically agrees to use it. In the days of ArpaNet they started with hand configured route tables; then gradually progressed to a more comprehensive system as the Internet grew in complexity. Similarly name resolution stated with host files that networks would distribute, and eventually grew into the DNS system we know today.

link|improve this answer
@Shane, thanks for the corrections! – Chris S Jun 1 '11 at 0:38
No problem! Good answer - this will be good to have to point to for people needing the overview. – Shane Madden Jun 1 '11 at 1:05
feedback

All advertisements to the public internet, the DFZ (default free zone), is done via BGP, how ISP's do internal routing varies a lot. Most would use BGP internally as well both between their own routers (BGP is often used in conjunction with an IGP such as OSPF) and also with clients, if you don't have your own AS number you can use a private AS to peer with your ISP and when they announce your address space to the DFZ they simply remove the private AS from the as-path. For smaller non-redundant links you can use static routing as well on the PE. The actual "assignment" is just in the database of your registrar, the whois database, RIPE/ARIN etc run their own databases for this purpose.

Try running the command whois 158.1240.0.0/16 on a Linux box.

Same goes with DNS, the reverse DNS server is specified in whois records.

link|improve this answer
feedback

and no, I'm not kidding(I got started with this book 15 years ago, but it's still very relevant): http://www.amazon.com/Internet-Dummies-John-R-Levine/dp/0764506749

Then, come back here with the BGP questions =)

link|improve this answer
1  
It looks like the first part of your answer go chopped off somehow. – John Gardeniers Jun 1 '11 at 1:34
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.