2014-02-09 5 views
5

Verwenden wir einen Browser als Beispiel. HTTP-Anfragen müssen keine IP-Adressen enthalten. Würde also www.example.com auf der TPC-Ebene in eine IP-Adresse übersetzt?Auf welcher Schicht im Protokollstack passiert DNS?

EDIT

Scheint, wie DNS verwendet wird, TCP zu sagen, welche IP-Adresse zu verbinden. So funktioniert HTTP-Anruf DNS?

Mit diesem Stapel:

HTTP


DNS


TCP

+0

http://en.wikipedia.org/wiki/List_of_network_protocols_%28OSI_model%29 –

Antwort

6

DNS ist ein Protokoll, das wohl auf der Anwendungsebene sitzt, aber eine separate Anwendung an sich ist, die den gesamten TCP/IP- "Stack" nutzt. (LDAP ist ähnlich, wenn das hilft "DNS" zu platzieren.) Es ist ein grundlegendes "Telefonbuch" -ähnliches Verzeichnis für das Internet und hat absolut nichts spezifisch mit dem HTTP-Protokoll zu tun. DNS verwendet UDP- und TCP-Transport, um andere verteilte DNS-Server abzufragen, um Clientfragen wie "Welche IP-Adressen sind mit dem Namen www.google.com verknüpft?" Zu beantworten. Sobald eine Clientanwendung wie ein Webbrowser eine IP-Adresse hat, mit der eine Verbindung hergestellt werden kann, ist DNS nicht mehr im Bild. Der Browser öffnet eine TCP-Verbindung zu der IP-Adresse und leitet dann das HTTP-Protokoll über diese TCP-Transportsitzung ein, um Web-Inhalte zu sprechen.

0

In Bezug auf die OSI ist es die Anwendungsschicht - Schicht 7

3

Appli Layer-Kation - # 7 von OSI

http://en.wikipedia.org/wiki/List_of_network_protocols_(OSI_model)

Als Antwort auf Ihre neueste edit:

keine DNS Verwendung UDP eine Antwort senden unter Angabe aller Details der angeforderten IP (es sei denn, eine bestimmte Größe Schwelle ist 512 Bytes überschritten).

+0

Ich meinte, dass die Ergebnisse von DNS für die Kommunikation über TCP verwendet werden. Ich wollte nicht sagen, dass die Kommunikation mit dem DNS-Server über TCP erfolgt. – user2939415

0

Ich würde Ihnen raten, Wireshark herunterzuladen und zu installieren. Führen Sie wireshark und besuchen Sie einige Websites. Sie können sehen, wie DNS funktioniert. DNS (wie bereits erwähnt) wird auf der Anwendungsschicht behandelt. Fast alle Hochsprachen haben Bibliotheken für die Funktion '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' 

beispielsweise einen Browser nehmen, nachdem den Host aus dem DNS-Server zu erwerben, irgendeine Form von gethostbyname verwendet, eine Standard-TCP-Socket-Verbindung hergestellt ist, und der Browser/Webserver kommuniziert über HTTP.

2

Nun technisch ist der Client-Computer der erste, der gefragt wird, welche IP-Adresse mit welchem ​​Domainnamen verknüpft werden soll.

Was beinhaltet den Begriff DNS-Resolver. Im Wesentlichen durchsucht es vorherige Abfragen, die auf einem Client-Computer zwischengespeichert werden, und wenn es eine Übereinstimmung findet, gibt es eine normale DNS-Suche zurück (ohne dass Ihr lokales Netzwerk eine Antwort/Adresse findet). Sie können diese Datei auf Ihrem eigenen Computer bearbeiten und die URL Ihres Webbrowsers zeigt Ihre Änderungen an.

+0

Beginnt eine HTTP-Anfrage diesen Prozess? – user2939415

4

In OSI-Stack Bedingungen läuft DNS parallel in der Anwendungsschicht (Schicht 7) HTTP.

DNS ist in Wirklichkeit eine Anwendung, die aufgerufen wird, um die HTTP-Anwendung zu unterstützen, und daher nicht "unter" HTTP im OSI-Stapel sitzt.

DNS selbst verwendet auch UDP und seltener TCP, die wiederum IP verwenden.

+0

aber ist nicht DNS-Server technisch in einem anderen Netzwerk, so gehen wir von HTTP zu DNS gehen wir direkt von der Anwendung zur Anwendung oder von der Anwendung zum Transport zum Netzwerk zu physischen dann zu physikalischen von DNS .... @ Alnitak – iajnr

Verwandte Themen