{"id":372,"date":"2019-08-03T16:55:02","date_gmt":"2019-08-03T21:55:02","guid":{"rendered":"http:\/\/killernat.com\/?p=372"},"modified":"2019-08-03T16:58:03","modified_gmt":"2019-08-03T21:58:03","slug":"networking-a-phoned-in-analogy","status":"publish","type":"post","link":"http:\/\/killernat.com\/?p=372","title":{"rendered":"Networking: a phoned in analogy"},"content":{"rendered":"\n<p>I was trying to explain to some one how in a fairly top level way the internet works and had a hard time going it this morning it hit me everyone know how to call someone and Generally how phones work so i started writing.<\/p>\n\n\n\n<h2>DNS(domain name server):<\/h2>\n\n\n\n<p>You get a phone and a phone number for your company and no one  knows that number but everyone know your company&#8217;s name. So to tell  everyone your phone# you call up the company that makes the phone books (authoritative name server and registar)  and say my companies phone# is XXX XXX  XXXX  and to inform the phone operators of this. It takes some time  for that company to print the updated list and send it to the operators(dns recurser) around the world.  So when someone calls the operator (a known  phone number by many many people but not all)  and asks for  company Y  the operator says they should call XXX XXX XXXX to talk to you. However if  someone from a different city calls their operator (could be a different  number entirely) The operator will check their records and say &#8220;hold on  for a second let me get that information for you&#8221;  and call the next towns or even the state operator (root  server) (sometimes 2 or 3 other towns) and ask  &#8220;do you know the phone number for Y?&#8221;  If they don&#8217;t which will  do the same as the first operator and ask around,  until one of them calls your cities operator and get the phone  number of your company. this information will get passed all the way back to the  original operator and then the client that made the original request. When each  operator got that number they wrote it down to ad to their lisk to known numbers for the next time someone  asks for company Y.DDNS: same situation as before but instead you had  the cheaper option to not always keep the same phone number and so it  will change at random(ish) depending on your phone company (dhcp server)  but they will tell the receptionist (gateway router) that number when  she calls in to ask for the new number in the morning, could be the same  as yesterday but could be different. But she will never tell you (local  server) what that number is  and will only tell you your extension,   unless you go read her notes (network status)  so to get around this you  call a friend that has caller ID   (whats my number) and they tell you  the number they see on their end. so you  call up the phone book company  and tell them your new number so the operator can be told of the  change <\/p>\n\n\n\n<h2>DDNS (dynamic  domain name server)<\/h2>\n\n\n\n<p>Same situation as before but instead you had  the cheaper option  to not always keep the same phone number and share one in a pool of rotating phone numbers. And so it  will change at  randomish intervals  depending on your phone company&#8217;s policies.  The phone company will  tell the receptionist (gateway router) that number when  she calls in  to ask if she has a new number in the morning, could be the same  as  yesterday but could be different.  The receptionist will never tell you (the local server) what that number is  and will only tell you your phones extension,   unless you go read her notes (network status).  So to get around this you  call a friend that has caller ID  (whats my number) and they tell you   the number they see on their end. After that  you  call up the phone book  company (registar)  and tell them your new number so the operators can be told of  the  new change.<\/p>\n\n\n\n<h2>DHCP ( Dynamic Host Configuration Protocol )<\/h2>\n\n\n\n<p>Basically the IT guy who manages the phone numbers to each department or in terms of public numbers the phone company managing and assigning a phone number.<\/p>\n\n\n\n<h2>NAT (network address translation)<\/h2>\n\n\n\n<p>You (the server software) are working for a company (subnet)  and  have a specific extension (port) in your department which has its own internal phone number (server and hardware  IP  ). You can be reached at lets say extension 443 and someone is calling the  phone number they got from their operator and expects to talk to someone at  extension 443 to get the information needed. When the client calls they say to the receptionist (router \/   firewall) &#8220;I need to talk to 443&#8221; the client cant directly call those internal  department phone numbers. The receptionist was told by her manager if someone asks for 443 to  forward the call to the department&#8217;s leader( firewall)  who yells to the   room &#8220;who has 443?&#8221; you (the server software) answers &#8220;I do&#8221; so they  route the call to you  who can then openly talk(packets) to the client.   If  you are sick (server offline) no one answers  however the client keeps asking for information and no one responds. so the client hangs up after a while(time   out).<\/p>\n\n\n\n<h2>Port forwarding:<\/h2>\n\n\n\n<p>Same as before someone is calling asking to talk to  443 but your department leader (firewall) hates that number and wont let anyone use it (blocked port) so they give you a different extension like 993 for no reason. the receptionist is told that when she calls a department to say  &#8220;this client wants to talk to  993&#8221;  even though they originally asked to talk to 443.<\/p>\n\n\n\n<h2>Firewalls:<\/h2>\n\n\n\n<h6>(in a very general sense)<\/h6>\n\n\n\n<h3> Outgoing port blocking: <\/h3>\n\n\n\n<p>     Just as before someone is calling 443  the  receptionist calls your   department but because the team lead (firewall)  hates 443 he broke the   microphone  so when you answer the routed call   you can hear everything   the client says and you keep responding but  they cant hear anything back so they  hang up (time out). And at each one of the previous  steps there is a   leader(firewall) who can shutdown the call or send it to a different person along the way if they  don&#8217;t like something   about it (iptables rules).   <\/p>\n\n\n\n<h3> Incoming port blocking: <\/h3>\n\n\n\n<p> when a client calls in to speak to extension 022 The firewall  tells the client to fuck   off  (REJECT),  He can also  not tell anyone that  there ever was a call (DROP), or he can send the client to somewhere else entirely(NAT).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was trying to explain to some one how in a fairly top level way the internet works and had a hard time going it this morning it hit me everyone know how to call someone and Generally how phones work so i started writing. DNS(domain name server): You get a phone and a phone number for your company and no one knows that number but everyone know your company&#8217;s name. So to tell everyone your phone# you call up the company that makes the phone books (authoritative name server and registar) and say my companies phone# is XXX XXX XXXX and to inform the phone operators of this. It takes some time for that company to print the updated list and send it to the operators(dns recurser) around the world. So when someone calls the operator (a known phone number by many many people but not all) and asks for company Y the operator says they should call XXX XXX XXXX to talk to you. However if someone from a different city calls their operator (could be a different number entirely) The operator will check their records and say &#8220;hold on for a second let me get that information for you&#8221; and call the next towns or even the state operator (root server) (sometimes 2 or 3 other towns) and ask &#8220;do you know the phone number for Y?&#8221; If they don&#8217;t which will do the same as the first operator and ask around, until one of them calls your cities operator and get the phone number of your company. this information will get passed all the way back to the original operator and then the client that made the original request. When each operator got that number they wrote it down to ad to their lisk to known numbers for the next time someone asks for company Y.DDNS: same situation as before but instead you had the cheaper option to not always keep the same phone number and so it will change at random(ish) depending on your phone company (dhcp server) but they will tell the receptionist (gateway router) that number when she calls in to ask for the new number in the morning, could be the same as yesterday but could be different. But she will never tell you (local server) what that number is and will only tell you your extension, unless you go read her [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[18,44,1],"tags":[38,41,40,35,39,36,33,34,43,42,37],"_links":{"self":[{"href":"http:\/\/killernat.com\/index.php?rest_route=\/wp\/v2\/posts\/372"}],"collection":[{"href":"http:\/\/killernat.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/killernat.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/killernat.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/killernat.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=372"}],"version-history":[{"count":3,"href":"http:\/\/killernat.com\/index.php?rest_route=\/wp\/v2\/posts\/372\/revisions"}],"predecessor-version":[{"id":375,"href":"http:\/\/killernat.com\/index.php?rest_route=\/wp\/v2\/posts\/372\/revisions\/375"}],"wp:attachment":[{"href":"http:\/\/killernat.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=372"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/killernat.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=372"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/killernat.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}