Skip to content
Snippets Groups Projects
Commit c700989a authored by Piotr Maślanka's avatar Piotr Maślanka
Browse files

content change

parent e26f771c
No related branches found
No related tags found
No related merge requests found
Pipeline #138 failed with stage
in 3 minutes and 45 seconds
......@@ -16,10 +16,12 @@ Rzeczy oznaczone tak, jak poniżej, dotyczą tego, co masz zawrzeć w sprawozdan
Podaj również numer zajęć laboratoryjnych (nr 1) oraz numer
zadania (to zadanie ma nr $lp$).
Mogą być to też pytania, na które w sprawozdaniu udzielisz odpowiedzi. Możesz pomagać
sobie wyszukiwarką internetową.
Mogą być to też pytania, na które w sprawozdaniu udzielisz odpowiedzi. Możesz, a nawet
będzie to konieczne, pomagać sobie wyszukiwarką internetową.
Teoria jest wpleciona w zadania. Po prostu czytaj i wykonuj polecenia. Miłej pracy!
Teoria jest wpleciona w zadania. Po prostu czytaj, wykonuj polecenia i zadawaj sobie dużo pytań.
Jeśli zupełnie utkniesz, a [Google](https://google.com/) nie będzie Ci w stanie pomóc, zapytaj
się prowadzącego.
# HTTP jako protokół tekstowy TCP
Jedną z rzeczy, którą początkującym informatykom trudno jest zrozumieć, jest różnica
......@@ -41,14 +43,14 @@ na jego _niezawodność_, te bajty mogą być dzielone, łączone, ogólnie mog
różne rzeczy. Jeśli wyślemy pakiet TCP o treści **Ala ma kota**, to niekoniecznie właśnie taki pakiet
dojdzie do nadawcy. Mogą dojść do niego na przykład dwa pakiety - **Ala m**, oraz po jakimś czasie
dopiero **a kota**. Nie mniej jednak, wszystko, czego wysłanie zostało zlecone, dojdzie
w takiej kolejności. Jeśli TCP odbierze _nowsze_ dane, nie mając _starszych_, będzie
w takiej kolejności. Jeśli TCP odbierze _późniejsze_ dane przed _wcześniejszymi_, będzie
"udawał" że ich nie ma, dopóki nie odbierze tych starszych. Nie nadaje się więc do
zastosowań, gdzie _stare_ pakiety po prostu nie są nam już potrzebne (np. wideokonferencje).
Z jednej strony więc rozpatrując TCP dostajemy pewne gwarancje, których sama warstwa sieciowa (w której)
działa tu IP, nam nigdy nie da, ale tracimy kontrolę nad swoimi pakietami. Pakiety mogą być
gubione i przychodzić nie po kolei - TCP ułoży je oraz ponowi transmisję za nas. Pisząc programy
korzystające z TCP **nie wolno zakładać** że dane dojdą w takich częściach w jakich zostały wysłane.
korzystające z TCP **nie wolno zakładać** że dane dojdą podzielone tak, jak zostały wysłane.
Po prostu są to ciągi bajtów. Cena, jaką za to płacimy, to wydajność - odbiorca musi odesłać potwierdzenie
odebrania danych.
......@@ -81,8 +83,8 @@ Błędy strony serwera (czyli nie z winy klienta) to 5xx.
Co to znaczy HTTP 404?
Wspominając o protokołach tekstowych raczej nie mówimy o pakietach. W końcu czytając książkę też
ciężko o nich mówić - są tam wyrazy, zdania, ale nie pakiety.
Wspominając o protokołach tekstowych raczej nie mówimy o pakietach, preferując raczej termin linia
(czyli tekst do znaku końca linii).
Wadą protokołu tekstowego jest fakt, że maszyna musi się nieco bardziej wysilić, aby skorzystać z
tego protokołu. Są one również wolniejsze. Zaletą jest ich zrozumiałość bez wyspecjalizowanego
......@@ -204,10 +206,11 @@ jakie zapytania są realizowane, abyśmy mogli obejrzeć swoją stronę.
# DNS jako protokół binarny UDP
Wyprzedzając zastrzeżenia - DNS może również działać za pomocą TCP. Jest jednak
pewien problem - do samego zestawienia połączenia TCP wymaga 3 pakietów, do przesłania
DNS może również działać za pomocą TCP. Najczęściej stosowane jest to wtedy,
kiedy rozmiar odpowiedzi przekracza 512 bajtów (ograniczenie to wynika z protokołu
DNS). Nie jest jednak używany w pracy codziennej - TCP wymaga 3 pakietów, do przesłania
odpowiedzi i zapytania 4 (1 na dane, 1 na potwierdzenie odbioru), a do rozłączenia
się aż 4. Ze względów wydajności najczęściej stosuje się do niego więc UDP.
się aż 4. Ze względów wydajności do DNS najczęściej stosuje się do niego więc UDP.
UDP to drugi najczęściej wykorzystywany protokół warstwy transportowej korzystający
z IP. Jest on protokołem bezpołączeniowym - czyli możemy do każdego wysłać pakiet
......@@ -224,15 +227,21 @@ wcześniej wymienionym zjawiskom. Programista **musi o tym pamiętać**.
Ponieważ nie wymaga on pamiętania zestawionych połączeń, jest bardziej wydajny
od TCP. Dlatego też zastosowano go w protokole DNS, służącym zasadniczo do zamiany
nazw domen postaci **wp.pl** na adresy postaci **212.77.98.9**. Ma on jeszcze
kilka innych zastosowań, o tym później.
nazw domen postaci **wp.pl** na adresy postaci **212.77.98.9**. Dopiero taki adres
umożliwia wysłanie czegoś (lub poproszenie o połączenie w TCP) do drugiej maszyny
w sieci IP. Ma on jeszcze kilka innych zastosowań, o tym później.
Zauważmy, że pakiety UDP mogą być tracone lub duplikowane. Nie wpływa to na działanie
DNS - zgubiony pakiet zawsze można odesłać, a zduplikowany stanu naszej wiedzy nie zmieni.
Na jakim porcie UDP działa DNS? A na jakim TCP?
DNS przypisuje nazwie domeny listę par _typ rekordu + wartość_. Jedna domena może mieć
Sam DNS przypisuje nazwie domeny listę par _typ rekordu + wartość_. Jedna domena może mieć
kilka różnych rekordów. Zazwyczaj będzie zawierać adres serwera DNS, który jest
odpowiedzialny za jej obsługę, adres IP, adres serwera e-mail, oraz dodatkowe informacje.
Serwer DNS może zwłaszcza wskazać na inny serwer DNS - nie musi być wszechwiedzący.
odpowiedzialny za jej obsługę (czyli to właśnie w niego właściciel domeny wpisał jej dane),
adres IP, adres serwera e-mail, oraz dodatkowe informacje.
Serwer DNS może zwłaszcza wskazać na inny serwer DNS jako posiadający informację, której
szukamy - nie musi być wszechwiedzący.
Jaka jest rola serwerów DNS root?
......@@ -245,8 +254,7 @@ DNS. System Windows ma wbudowanego klienta o nazwie **nslookup**.
Otwórz linię poleceń Windows. Wywołaj narzędzie **nslookup**. W jego linii poleceń
wydaj polecenie **help**. Przeczytaj uważnie i zrozum je.
Ustaw nslookup, aby udzielał wyczerpujących (exhaustive) informacji
o debugowaniu.
Ustaw nslookup, aby udzielał wyczerpujących informacji o debugowaniu.
Ustal adres IP $http_hostname$. Zanotuj odpowiedź nslookup.
......@@ -255,15 +263,24 @@ wydaj polecenie **help**. Przeczytaj uważnie i zrozum je.
Serwery DNS zazwyczaj pracują w trybie rekursywnym, tj. jeśli nie wiedzą,
to się dowiedzą, i dopiero odeślą zapytanie. Wymaga to od nich większej pracy,
ale klient ma swoją odpowiedź. **nslookup** pozwala wyłączyć ten tryb.
ale klient ma wtedy swoją odpowiedź.
Każdy serwer DNS zna adres do serwera obsługującego domenę poziom wyżej. Może również
znać serwery DNS odpowiedzialne za domeny bardziej szczegółowe. Zobaczmy ten mechanizm w akcji.
Do tego celu skonfigurujemy **nslookup** tak, aby używał zapytań nierekursywnych oraz
poszukiwania zaczął od jednego z serwerów root.
Wyłącz tryb rekursywny w nslookup. Zapisz polecenie.
Wymyśl jakąś nazwę domeny, z której ten komputer nie korzystał
jeszcze od uruchomienia.
Zapytaj o nią. Zapisz przebieg sesji (exhaustive debug).
Wyłącz tryb rekursywny w nslookup. Ustaw jako domyślny serwer root
Zanotuj polecenia, których użyłeś.
Wymyśl jakąś nazwę domeny .pl, z której ten komputer nie korzystał
jeszcze od uruchomienia. Niech składa się ona przynajmniej z 3 części.
Zapytaj o nią. Jeśli serwer nie udzieli odpowiedzi, a jedynie wskaże,
jaki inny serwer obsługuje tą domenę, ustaw go jako domyślny w nslookup.
Powtarzaj, aż nie uzyskasz adresu IP domeny.
Z jakim serwerem/serwerami DNS skontaktował się nslookup? Dlaczego?
Co to za serwery? Kto za nie odpowiada?
Zanotuj i skomentuj przebieg całej sesji. Z jakimi serwerami
kontaktował się nslookup? Kto odpowiada za ich utrzymanie?
DNS może również przechowywać inne informacje na temat tej domeny. Służą do
tego po prostu inne typy rekordów. Wykaz takich typów można znaleźć w sieci
......@@ -280,9 +297,10 @@ Internet.
Dlaczego ta odpowiedź jest autorytatywna?
Rekord *MX* służy do ustalenia, gdzie nadać pocztę, zaadresowaną pod konkretny
adres. Mając adres `stefan@example.com` zapytamy się o *MX* domeny `example.com`,
a później serwer obsługujący nasze konto pocztowe spróbuje tam dostarczyć
korespondencję.
adres. Gdy wyślemy naszemu serwerowi poczty wychodzącej list do kogoś, musi on
ustalić, pod jaki adres IP go dostarczyć. Mając adres `stefan@example.com` zapytamy
się więc o rekord *MX* domeny `example.com`, uzyskując adres IP, a następnie serwer
obsługujący nasze konto pocztowe spróbuje tam dostarczyć korespondencję.
Domeny można kupować. Służą do tego specjalne agencje, tzw. _registrarzy_. Po
uiszczeniu opłaty rejestracyjnej, oraz dorocznej abonamentowej, domena jest _nasza_.
......@@ -312,16 +330,16 @@ i poprosić o kontakt do tej osoby, lub przekazanie jej naszego kontaktu.
Wykonaj je, jeśli masz czas. Nie są obowiązkowe. Odpowiedzi zamieść w sprawozdaniu.
1. Ostatnio wprowadzonym kodem błędu HTTP jest 451. Co on oznacza? Skąd taka wartość (i dlaczego)?
2. HTTP w szyfrowanym wydaniu to HTTPS. Co zmieniono w protokole w stosunku do HTTP? Jak ułatwiono sobie tu życie za pomocą enkapsulacji i model ISO OSI?
3. Czy oprócz TCP i UDP istnieją jakieś inne protokoły warstwy transportowej korzystające z IP? Jakie? Co robią?
4. Co to jest Sender Policy Framework? Z jakiego mechanizmu DNS korzysta?
5. Co to jest NASK? Jaką rolę spełnia w administracji domenami `.pl`?
2. Czy oprócz TCP i UDP istnieją jakieś inne protokoły warstwy transportowej korzystające z IP? Jakie? Co robią?
3. Co to jest Sender Policy Framework? Z jakiego mechanizmu DNS korzysta?
4. Co to jest NASK? Jaką rolę spełnia w administracji domenami `.pl`?
5. HTTP w szyfrowanym wydaniu to HTTPS. Co zmieniono w protokole w stosunku do HTTP? Jak ułatwiono sobie tu życie za pomocą enkapsulacji i model ISO OSI?
# Wyślij sprawozdanie
To już prawie koniec zajęć.
To już prawie koniec zajęć. Zapisz swoje sprawozdanie.
Wyślij je na adres sprawozdania@henrietta.com.pl.
Wyślij je na adres sprawozdania@henrietta.com.pl.
W tytule umieść imię, nazwisko i numer zadania.
Załącz sprawozdanie, lub wklej je w treść maila.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment