DNS, Informatyka, Technikum, SOiSK, Klasa 4, strona


DNS (ang. Domain Name System, system nazw domenowych) - system serwerów, protokół komunikacyjny oraz usługa zapewniająca zamianę adresów znanych użytkownikomInternetu na adresy zrozumiałe dla urządzeń tworzących sieć komputerową. Dzięki wykorzystaniu DNS nazwa mnemoniczna, np. pl.wikipedia.org, może zostać zamieniona na odpowiadający jej adres IP, czyli 91.198.174.232 Usługa DNS warstwy aplikacji modelu TCP/IP, jest związana z portem 53 TCP/UDP.

Adresy DNS składają się z domen internetowych rozdzielonych kropkami. Dla przykładu w adresie Wikipedii org oznacza domenę funkcjonalną organizacji, wikipedia domenę należącą do fundacji Wikimedia, a pl polską domenę w sieci tej instytucji. W ten sposób możliwe jest budowanie hierarchii nazw, które porządkują Internet.

DNS to złożony system komputerowy oraz prawny. Zapewnia z jednej strony rejestrację nazw domen internetowych i ich powiązanie z numerami IP. Z drugiej strony realizuje bieżącą obsługę komputerów odnajdujących adresy IP odpowiadające poszczególnym nazwom.

System DNS posiada następujące cechy:

Przykład działania systemu DNS

Oto przykład działania systemu DNS. Użytkownik komputera wpisuje w swojej przeglądarce stron WWW adres internetowy pl.wikipedia.org. Przeglądarka musi poznać adres IP komputera będącego serwerem WWW dla tej strony. Cały proces przebiega zgodnie z tabelą.

Pobieranie adresu DNS

Wysyła

Odbiera

Komunikat

Uwagi

Przeglądarka

Serwer DNS providera (194.204.152.34)

Czy znasz adres IP komputerapl.wikipedia.org?

Przeglądarka wysyła pakiet UDP z pytaniem do serwera DNS zdefiniowanego w konfiguracji systemu operacyjnego - najczęściej jest to serwer DNS providera Internetu, (dla TPSA jest to np. 194.204.152.34).

Serwer DNS providera (194.204.152.34)

Główny serwer DNS (198.41.0.4)

Czy znasz adres IP komputerapl.wikipedia.org?

Serwer DNS providera (194.204.152.34) wysyła zapytanie do jednego z 13 serwerów głównych (np. tego o adresie IP 198.41.0.4).

Główny serwer DNS (198.41.0.4)

Serwer DNS providera (194.204.152.34)

Nie znam, ale dla domeny orgserwerami są 204.74.112.1 i204.74.113.1.

Zapytany serwer główny (198.41.0.4) odpowiada na zapytanie serwera providera.

Serwer DNS providera (194.204.152.34)

Serwer DNS domeny "org" (204.74.112.1)

Czy znasz adres IP komputerapl.wikipedia.org?

Serwer DNS wysyła do jednego z tych 2 serwerów (np. tego o adresie IP 204.74.112.1) zapytanie.

Serwer DNS domeny "org" (204.74.112.1)

Serwer DNS providera (194.204.152.34)

Nie znam, ale dla domenywikipedia.org serwerami są216.21.226.87 i 216.21.234.87.

Serwer domeny "org" odpowiada.

Serwer DNS providera (194.204.152.34)

Serwer domeny "wikipedia.org" (216.21.226.87)

Czy znasz adres IP komputerapl.wikipedia.org?

Serwer DNS wysyła do jednego z tych 2 serwerów, np. tego o adresie IP 216.21.226.87 zapytanie.

Serwer DNS domeny "wikipedia.org" (216.21.226.87)

Serwer DNS providera (194.204.152.34)

pl.wikipedia.org ma adres IP 207.142.131.245.

Serwer domeny "wikipedia.org" (216.21.226.87) odpowiada.

Serwer DNS providera (194.204.152.34)

Przeglądarka

pl.wikipedia.org ma adres IP 207.142.131.245.

Serwer DNS TPSA (194.204.152.34) odpowiada przeglądarce.

Przeglądarka

Serwer "pl.wikipedia.org" (207.142.131.245)

Transakcja pobrania strony WWW.

Przeglądarka łączy się z serwerem "pl.wikipedia.org" (o adresie IP 207.142.131.245) i wyświetla otrzymaną stronę.

Protokół DNS

Zapytania i odpowiedzi DNS są najczęściej transportowane w pakietach UDP. Każdy komunikat musi się zawrzeć w jednym pakiecie UDP (standardowo 512 oktetów, ale wielkość tę można zmieniać pamiętając również o ustawieniu takiej samej wielkości w MTU - Maximum Transmission Unit). W innym przypadku przesyłany jest protokołem TCP i poprzedzony dwubajtową wartością określającą długość zapytania i długość odpowiedzi (bez wliczania tych dwóch bajtów). Format komunikatu DNS został zdefiniowany w RFC 1035.

Format komunikatu DNS:

NAGŁÓWEK - (Header)

ZAPYTANIE - (Question) do serwera nazw

ODPOWIEDŹ - (Answer) zawiera rekordy będące odpowiedzią

ZWIERZCHNOŚĆ - (Authority) wskazuje serwery zwierzchnie dla domeny

DODATKOWA - (Additional) sekcja informacji dodatkowych


Forma nagłówka, który określa rolę całego komunikatu:

Sekcja nagłówka występuje zawsze. W sekcji zapytania zawsze znajduje się jedno zapytanie zawierające nazwę domenową, żądany typ danych i klasę (IN). Sekcja odpowiedzi zawiera rekordy zasobów stanowiące odpowiedź na pytanie.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

ID

QR

OPCODE

AA

TC

RD

RA

Z

RCODE

QDCOUNT

ANCOUNT

NSCOUNT

ARCOUNT

0 - QUERY - standardowe zapytanie,

1 - IQUERY - zapytanie zwrotne,

2 - STATUS - pytanie o stan serwera,

3-15 - zarezerwowane do przyszłego użytku

0 - brak błędu

1 - błąd formatu - serwer nie potrafił zinterpretować zapytania

2 - błąd serwera - wewnętrzny błąd serwera

3 - błąd nazwy - nazwa domenowa podana w zapytaniu nie istnieje

4 - nie zaimplementowano - serwer nie obsługuje typu otrzymanego zapytania

5 - odrzucono - serwer odmawia wykonania określonej operacji, np. transferu strefy

6-15 - zarezerwowane do przyszłego użytku

TCP (ang. Transmission Control Protocol) - połączeniowy, niezawodny, strumieniowy protokół komunikacyjny wykorzystywany do przesyłania danych pomiędzy procesami uruchomionymi na różnych maszynach, będący częścią szeroko wykorzystywanego obecnie stosu TCP/IP -korzysta z usług protokołu IP do wysyłania i odbierania danych oraz ichfragmentacji wtedy, gdy jest to konieczne[1]. Protokół TCP operuje w warstwie transportowej modelu OSI. Został opracowany bazując na badaniach Vintona Cerfa oraz Roberta Kahna[1][2]i jest opisany w dokumencie RFC793.

Nawiązywanie połączenia[edytuj]

W protokole TCP do nawiązania połączenia pomiędzy dwoma hostami wykorzystywana jest procedura nazwana three-way handshake. W sytuacji normalnej jest ona rozpoczynana, gdy host A chce nawiązać połączenie z hostem B, procedura wygląda następująco[1]:

Jeśli host odbierający połączenie nie chce lub nie może odebrać połączenia, powinien odpowiedzieć pakietem z ustawioną flagą RST (reset).

Transmisja danych[edytuj]

W celu weryfikacji wysyłki i odbioru TCP wykorzystuje sumy kontrolne i numery sekwencyjne pakietów. Odbiorca potwierdza otrzymanie pakietów o określonych numerach sekwencyjnych ustawiając flagę ACK. Brakujące pakiety są retransmitowane. Host odbierający pakiety TCP defragmentuje je i porządkuje je według numerów sekwencyjnych tak, by przekazać wyższym warstwom modelu OSI pełen złożony segment.

Zakończenie połączenia[edytuj]

Prawidłowe zakończenie połączenia może być zainicjowane przez dowolną stronę. Polega ono na wysłaniu pakietu z ustawioną flagą FIN (finished). Pakiet taki wymaga potwierdzenia flagą ACK. Najczęściej po otrzymaniu pakietu z flagą FIN, druga strona również kończy komunikację wysyłając pakiet z flagami FIN i ACK. Pakiet taki również wymaga potwierdzenia przez przesłanie ACK.

Dopuszcza się również awaryjne przerwanie połączenia poprzez przesłanie pakietu z flagą RST (reset). Pakiet taki nie wymaga potwierdzenia.

Stany połączenia[edytuj]

Połączenie TCP może znajdować się w jednym z następujących stanów:

LISTE

Gotowość do przyjęcia połączenia na określonym porcie przez serwer.

SYN-SENT 

Pierwsza faza nawiązywania połączenia przez klienta. Wysłano pakiet z flagą SYN. Oczekiwanie na pakiet SYN+ACK.

SYN-RECEIVED 

Otrzymano pakiet SYN, wysłano SYN+ACK. Trwa oczekiwanie na ACK. Połączenie jest w połowie otwarte (ang. half-open).

ESTABLISHED 

Połączenie zostało prawidłowo nawiązane. Prawdopodobnie trwa transmisja.

FIN-WAIT-1 

Wysłano pakiet FIN. Dane wciąż mogą być odbierane ale wysyłanie jest już niemożliwe.

FIN-WAIT-2 

Otrzymano potwierdzenie własnego pakietu FIN. Oczekuje na przesłanie FIN od serwera.

CLOSE-WAIT 

Otrzymano pakiet FIN, wysłano ACK. Oczekiwanie na przesłanie własnego pakietu FIN (gdy aplikacja skończy nadawanie).

CLOSING 

Połączenie jest zamykane.

LAST-ACK 

Otrzymano i wysłano FIN. Trwa oczekiwanie na ostatni pakiet ACK.

TIME-WAIT 

Oczekiwanie w celu upewnienia się, że druga strona otrzymała potwierdzenie rozłączenia. Zgodnie z RFC 793 połączenie może być w stanie TIME-WAIT najdłużej przez 4 minuty.

CLOSED 

Połączenie jest zamknięte.


Nagłówek TCP[edytuj]

TCP Header

Offsets

0

1

2

3

Octet

Bit

 0

 1

 2

 3

 4

 5

 6

 7

 8

 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

0

  0

Port nadawcy

Port odbiorcy

4

 32

Numer sekwencyjny

8

 64

Numer potwierdzenia (jeżeli flaga ACK jest ustawiona)

12

 96

Długość nagłówka

Zarezerwowane

N
S

C
W
R

E
C
E

U
R
G

A
C
K

P
S
H

R
S
T

S
Y
N

F
I
N

Window Size

16

128

Checksum

Wskaźnik priorytetu (jeżeli flaga URG jest ustawiona)

20
...

160
...

Opcje (jeżeli długość nagłówka > 5, to pole jest uzupełniane "0")
...


Port nadawcy - 16-bitowy numer identyfikujący port nadawcy.

Port odbiorcy - 16-bitowy numer identyfikujący port odbiorcy.

Numer sekwencyjny - 32-bitowy identyfikator określający miejsce pakietu danych w pliku przed fragmentacją (dzięki niemu, można "poskładać" plik z poszczególnych pakietów).

Numer potwierdzenia - 32-bitowy numer będący potwierdzeniem otrzymania pakietu przez odbiorcę, co pozwala na synchronizację nadawanie-potwierdzenie.

Długość nagłówka - 4-bitowa liczba, która oznacza liczbę 32-bitowych wierszy nagłówka, co jest niezbędne przy określaniu miejsca rozpoczęcia danych. Dlatego też nagłówek może mieć tylko taką długość, która jest wielokrotnością 32 bitów.

Zarezerwowane - 4-bitowy ciąg zer, zarezerwowany dla ewentualnego przyszłego użytku.

Flagi 8-bitowa informacja/polecenie dotyczące bieżącego pakietu. Poszczególne flagi oznaczają:

Szerokość okna - 16-bitowa informacja o tym, ile danych może aktualnie przyjąć odbiorca. Wartość 0 wskazuje na oczekiwanie na segment z innym numerem tego pola. Jest to mechanizm zabezpieczający komputer nadawcy przed zbyt dużym napływem danych.

Suma kontrolna - 16-bitowa liczba, będąca wynikiem działań na bitach całego pakietu, pozwalająca na sprawdzenie tego pakietu pod względem poprawności danych.

Wskaźnik priorytetu - jeżeli flaga URG jest włączona, informuje o ważności pakietu.

Opcje - czyli ewentualne dodatkowe informacje i polecenia:

W przypadku opcji 2 to tzw. Uzupełnienie, które dopełnia zerami długość segmentu do wielokrotności 32 bitów (patrz: informacja o polu "Długość nagłówka")

UDP (ang. User Datagram Protocol - protokół pakietów użytkownika) - jeden z podstawowych protokołów internetowych. Umieszcza się go w warstwie czwartej (transportu) modelu OSI.

Jest to protokół bezpołączeniowy, więc nie ma narzutu na nawiązywanie połączenia i śledzenie sesji (w przeciwieństwie do TCP). Nie ma też mechanizmów kontroli przepływu i retransmisji. Korzyścią płynącą z takiego uproszczenia budowy jest większa szybkość transmisji danych i brak dodatkowych zadań, którymi musi zajmować się host posługujący się tym protokołem. Z tych względów UDP jest często używany w takich zastosowaniach jak wideokonferencje, strumienie dźwięku w Internecie i gry sieciowe, gdzie dane muszą być przesyłane możliwie szybko, a poprawianiem błędów zajmują się inne warstwy modelu OSI. Przykładem może być VoIP lub protokół DNS.

UDP udostępnia mechanizm identyfikacji różnych punktów końcowych (np. pracujących aplikacji, usług czy serwisów) na jednym hoście dzięki portom (porównaj: gniazdo). UDP zajmuje się dostarczaniem pojedynczych pakietów, udostępnionych przez IP, na którym się opiera. Kolejną cechą odróżniającą UDP od TCP jest możliwość transmisji do kilku adresów docelowych na raz (tzw. multicast).

Pakiety UDP, zwane też datagramami, zawierają oprócz nagłówków niższego poziomu nagłówek UDP. Składa się on z pól zawierających sumę kontrolną, długość pakietu oraz porty: źródłowy i docelowy.

Podobnie jak w TCP, porty UDP zapisywane są na dwóch bajtach (szesnastu bitach), więc każdy adres IP może mieć przypisanych 65536 różnych zakończeń. Z przyczyn historycznych, porty 0-1023 zarezerwowane są dla dobrze znanych usług sieciowych - dla aplikacji użytkownika przydziela się porty od 1024.

Struktura nagłówka UDP

+

Bity 0 - 15

16 - 31

0

Port nadawcy

Port odbiorcy

32

Długość

Suma kontrolna

64

 
Dane
 

Port nadawcy

identyfikuje port, z którego została wysłana wiadomość, kiedy znaczący to wskazuje port wysyłającego procesu i może zostać przyjęty jako port, do którego powinna zostać zwrócona wiadomość zwrotna w przypadku braku innej informacji. Port nadawcy jest polem opcjonalnym. Gdy pole to nie jest używane przyjmuje wartość zero.

Port odbiorcy

identyfikuje port odbiorcy i jest polem wymaganym.

Długość

16-bitowe pola specyfikują długość w bajtach całego datagramu: nagłówek i dane. Minimalna długość to 8 bajtów i jest to długość nagłówka. Wielkość pola ustala teoretyczny limit 65,527 bajtów, dla danych przenoszonych przez pojedynczy datagram UDP.

Suma kontrolna

16 bitowe pole, które jest użyte do sprawdzania poprawności nagłówka oraz danych. Pole jest opcjonalne. Ponieważ IP nie wylicza sumy kontrolnej dla danych, suma kontrolnaUDP jest jedyną gwarancją, że dane nie zostały uszkodzone.



Wyszukiwarka

Podobne podstrony:
Sieci komputerowe, Informatyka, Technikum, SOiSK, Klasa 4, strona
Serwer, Informatyka, Technikum, SOiSK, Klasa 4, strona
Stopa błędów, Informatyka, Technikum, SOiSK, Klasa 4
Dane techniczne przewodu UTP kat 5e, Informatyka, Technikum, SOiSK, Klasa 4
IP, Informatyka, Technikum, SOiSK, Klasa 4
Frame Relay, Informatyka, Technikum, SOiSK, Klasa 4
Cykliczny kod nadmiarowy, Informatyka, Technikum, SOiSK, Klasa 4
Ramka ETERNIT, Informatyka, Technikum, SOiSK, Klasa 4
Zadanie 1, Informatyka, Technikum, SOiSK
Podpisywanie sterowników w systemie Windows, Informatyka, Technikum, UTK, klasa 3
Maska podsieci, Informatyka, Technikum, UTK, klasa 3, karta sieciowa
okna dialogowe, Informatyka, Technikum, SOiSK
Zadanie na SOiSK, Informatyka, Technikum, SOiSK
ustawienia kjarty sieciowej, Informatyka, Technikum, UTK, klasa 3, karta sieciowa
Lab 13 14 15 16 Multimedia Klasa 4 2011 2012 Lista4, Informatyka, Technikum, Grafika
informatyka(1), technik informatyk, soisk utk
Korloy Frezowanie Informacje techniczne 2011
Informator techniczny Wonderware 010
informacje techniczne

więcej podobnych podstron