How does CDN DNS Work [closed] - networking

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 13 years ago.
Improve this question
Recently, I saw I introduction on CDN at
http://www.aflexi.net/technology/how-aflexi-cdn-works
I was wondering, why user's web browser will know it need to contact Aflexi DNS Server in Los Angeles, but not DNS Server provided by ISP (Like AOL)?
Thanks!

Your Internet Service Provider will likely push the DNS server information through the DHCP protocol (of course, you can override this information locally on your machine). This is how your machine will get configured with DNS servers to launch queries against.
The way a CDN works is as follows: companies relying on CDN based delivery of their contents will manage their domains through a CDN provider. When a request comes for say domain D, a machine will contact its configured DNS server and will be directed to the "authoritative entity" for the domain D in question. From this point, the CDN DNS server can reply with an answer that provides a binding to an IP address "closest" to where the request originated.
The property "closest" is determined, amongst other things, based on the requesting machine's IP address. It is nonetheless non-trivial to assign a "metric" based on this information: there is no direct correlation between "IP address" and "physical location", vital information for effecting as best as possible contents to the requesting machines.

This usually works by assigning the same IP address to a number of authoritative DNS servers for the domain around the world, and playing some tricks with routing in the internet default-free zone such that every request goes to the closest server (measured in network hops, not miles). This is called 'IP Anycast'. The different servers can then deliver whatever answers the provider wants them to. It's a good solution because network topology matters much more to performance than physical distance.

Related

Draytek vigor 2820 force specific traffic via static IP [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
I've got a Draytek Vigor 2820 that's used to connect to the internet. WAN1 is used as an ADSL backup, and WAN2 is our main fibre connection. WAN2 has a total of 6 IP addresses, a single dynamic one and 5 static IPs and is configured up as a PPPoE connection with DynamicIP.
I use NAT Port Redirection to open up some specific ports to various servers (web development, FTP, RDC etc)
I use NAT Open Ports to open up some static IP ports to specific servers
I use NAT Address Mapping to force all traffic received on one static IP to our Exchange server
What I want to do is to force outgoing traffic to use one of the static IPs and have hit a brick wall. Ideally I'd like to force specific traffic but would settle for all!
Under LAN is the ability to configure Static Routes, but this is purely there to allow internal routing (for VLANs).
Anybody else who has this type of router and can give me any suggestions?
OK, managed to work this one out.
Under WAN > Internet Access, select WAN2
On the PPPoE page, change the "Fixed IP" to Yes and enter one of the static IP's into the Fixed IP Address box. Click OK and then reboot the router.
All traffic will now go from that IP address. If you go back to the same page and click WAN IP Alias, the top spot will have the IP address entered in it which will likely be repeated in the list, I just removed the 'double' from the NAT pool and everything seems to work OK.
Sadly there appears to be no way of having all traffic to one IP being sent via one static IP

At what layer in the protocol stack does DNS happen? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
The community reviewed whether to reopen this question last month and left it closed:
Original close reason(s) were not resolved
Improve this question
Let's use a browser as an example. HTTP requests do not need to contain any IP addresses. So would www.example.com be translated into an IP address at the TPC layer?
EDIT
Seems like DNS is used to tell TCP which IP address to connect to. So does HTTP call DNS?
With this stack:
HTTP
DNS
TCP
DNS is a protocol that arguably sits at the application-level, but is a separate application in and of itself that makes use of the whole TCP/IP "stack". (LDAP is similar, if that helps "place" DNS.) It's a fundamental "phone book"-like directory for the Internet and has absolutely nothing specific to do with the HTTP protocol. DNS uses UDP and TCP transport to query other distributed DNS servers to answer client questions like "what IP addresses are associated with the name www.google.com?". Once a client application, like a web browser, has an IP address with which to connect, DNS is then out of the picture. The browser opens up a TCP connection to the IP address and then initiates the HTTP protocol over that TCP transport session to talk web stuff.
In OSI stack terms, DNS runs in parallel to HTTP in the Application Layer (layer 7).
DNS is in effect an application that is invoked to help out the HTTP application, and therefore does not sit "below" HTTP in the OSI stack.
DNS itself also makes use of UDP and more rarely TCP, both of which in turn use IP.
Application Layer - #7 of OSI
http://en.wikipedia.org/wiki/List_of_network_protocols_(OSI_model)
In response to your latest edit:
Doesn't DNS use UDP to send a response indicating any details of the requested IP (unless a certain size threshold is crossed 512bytes).
Well technically the client computer is the first to be "asked" which IP address should link to which domain name.
Which involves the term DNS resolver. Essentially it searches through previous queries which are cached on a clients computer and if it finds a match then it returns what would essentially be a normal DNS lookup (without leaving your local network to find an answer/address). You can actually edit this file on your own computer and the URL of your web browsers will actually show your changes.
I'd advise you to download and install wireshark. Run wireshark and visit some websites. You can see how DNS works. DNS (as already mentioned) is handled at the application layer. Almost all high level languages have libraries for the function 'gethostbyname'.
Python 3.3.3 (default, Nov 26 2013, 13:33:18)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> socket.gethostbyname("stackoverflow.com")
'198.252.206.16'
Take a browser for example, after acquiring the host from the DNS server using some form of gethostbyname, a standard TCP socket connection is established and the browser/webserver communicate over HTTP.
Regarding the OSI it is the Application layer - layer 7

setting up a server for local small office [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 6 years ago.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Improve this question
I am very new in networking and setting up server. I have only used XAMPP to develop my site locally on my desktop computer. I did some researches and learn about all those network equipment online, but I found myself still confused about what I need to do to set up a server between computers. So I hope I can find the answers from experts. I have 4 computers in my office, and I am trying to create a local network that allows all 4 computers to access the files and localhost in the desktop computer.
1.) I have a modem and a router. My desktop computer and the other 2 computers are using wireless while my sister's computer is using cable that connects to the modem. In order for my sister and the other computers to access my files and localhost, do I need to plug all of the computers into a switch?
2.) I have read online that people set up port forwarding to allow others to access their website online. But right now I am just trying to make a local files and web server, do I need to set up port forwarding as well?
I am using Windows Vista and XAMPP. I couldn't solve any of the questions and confusion after 1 week of looking through online. So if anyone has a detailed guide for setting local file/web server, that will help me so much and thank you for your time as well.
1) You do not need a switch for setting up a server. An switch is just a device that basicly expands the amount cabled network connections you have. Most routers come often with 4 LAN ports and one WAN(probably conencted to your modem).
If you have lets say, 5 computers that needs a cabled connection. You will need a switch to be able to connect all those computers at the same time.
2) You only need to do port forwarding if you want others to connect from outside your local network. If you want to put a website up on a server, you will need to port forward port 80 (the port for http) to your servers local IP.
All port forwaring does is to say to your router that if it gets a packet of data with this port number to your public IP, then send it to this spesific local IP adress (your server with XAMPP). If you don't port forward, the router doesent know what local ip adress to send the packet of data to, then it just discards it, which means others cant access your website.
If you want to open your website from outside your local network, and have port forwarded your router. You probably want to setup a domain with DDNS (dynamic domain name system).
What that does is that people can write something like "www.google.com" instead of your public ip adress. A good site for that is: http://www.no-ip.com . Keep in mind that if you don't want to add a domain and just use the ip adress, your routers public IP address may change over time. Unless you have ordered a static IP address from your ISP (Internet service provider).
For your file server i would suggest a FileZilla FTP Server (FTP = File Transport Protocoll). Set this up on your server machine and follow this tutorial: https://www.youtube.com/watch?v=251TQq98zmo . Then after you have set up and configured your FTP server, you can connect your clients to the server.
I would suggest this guide to connect your other machines to the FTP server:
http://www.wintuts.com/Map-Network-Drive
Keep in mind if you want to access your FTP server from outside your network you will need to port forward both port 20 and 21. For security reasons i will strongly suggesting a password on your FTP server, unless you want anyone to connect to it.
Hope this helped!
-Kad
(PS: just comment on this post if something is unclear, or have further questions! :D )

Hosting a web from my PC (Using IIS7) [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I was wondering why not host the application from my office itself? I have a static IP. What else do I need to make my local server accessible on the Internet? I know I need a domain name but I am new to hosting so I don't know how to go about it. How will I link my static WAN IP to the domain. Right now when I type my WAN IP on the net , my ISP shows up a site blocked page. I don't know what to do.
It is an ASP.net web app.
There are a number of things that need to fall in place before the web application will be accessible from the Internet.
You need to open the relevant ports on your router/firewall (Port 80/443 for web apps).
If you are in a NAT situation you need to forward the ports to the right machine.
The machine also needs to have its firewall set to open the ports.
The above steps will allow the page to load via the IP address only. To load the page with a domain name you need to adjust your site's DNS server to recognize the IP address for that domain name.
All of this is very broad because without knowing your exact configuration detailed answers can't be given.
First, are your sure the IP address you have at your office is a static public ip address? You may have an internal IP. What I mean is that YOUR Computer may have an internal IP address so yo would need to configure your router to forward connections to port 80 to your specific IP address inside your LAN.
You can register your domain at any registrar of your choice (I am hesitant to mention one). You should have an option to link your domain name to your IP address somewhere at the registrar's site. After you do this, you should be able to go http://yourdomainjustregistered.com and hit your IIS Server.
My understanding is that versions of IIS that are shipped with regular home computers have restrictions on how many connections can be made concurrently. You would need to get a Server version of Windows.
If your ISP shows a site blocked page when you type your ip address, it may be the case that they block port 80 to their customers so that they don't run personal websites without paying them a fee. You need to find out what's their policy regarding this, drop them if they do something like this and find another ISP. Alternatively, you can run your web server on a different port (8180, for example) and use all kinds of techniques to redirect users that hit http://yourdomain.com to this port on your box. You would need to adjust IIS to listen on this port too.

IIS7: Separate IP Addresses Vs Same IP Address with Separate Ports [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am setting up multiple sites on IIS7.
What are the pros and cons of:
Setting up all the sites on the same IP address but different ports
versus
Setting up all the sites on different IP addresses.
Also,what are the implications for SSL certificates(any any other aspects that you may know of) between the above two approaches?
First, each site that uses SSL, must be bound to an IP address. SSL sites can only be segmented by IP (and port) and cannot be segmented by host name.
The only implication by segmenting by host is that if a given site goes down (literally stopped) and if there is a site listening only on IP, it will "choose" that site. So, the effect is a user goes to site A and sees the stuff from site B. If all sites segment on host, this isn't a problem.
For public sites that assume 80 and 443 for http and https, you really can only segment on IP or host. Most users will not be expecting to navigate to something on a different port and you would need to open special ports on the hosting system's firewall to allow for requests on those ports.

Resources