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

shorter build script

parent 162f74b6
No related branches found
No related tags found
No related merge requests found
Pipeline #142 passed with stage
in 4 minutes and 59 seconds
......@@ -8,6 +8,9 @@ Przeznaczone dla grupy L5 (I rok EE-DI, 2016/2017).
PDF pobierz w zakładce [Pipelines](http://git.dms-serwis.com.pl/henrietta/inf2_eedi/pipelines) z pozycji **latest**, opcją
_download build artifacts_.
Po wybraniu katalogu z odpowiednim numerem zajęć laboratoryjnych, wybierz wersję o numerze podanym
przez prowadzącego.
# Stan
* Lab 1 - **gotowe**
......
......@@ -6,5 +6,5 @@ EE-DI, WEiI PRz
Instrukcja ta jest dostępna w formie źródłowej pod adresem
[http://git.dms-serwis.com.pl/henrietta/inf2_eedi](http://git.dms-serwis.com.pl/henrietta/inf2_eedi).
Będą tu pojawiać się instrukcje do kolejnych laboratoriów.
Pod tym adresem będą pojawiać się również instrukcje do kolejnych laboratoriów.
......@@ -21,15 +21,15 @@ będzie to konieczne, pomagać sobie wyszukiwarką internetową.
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.
się prowadzącego. Chętnie wyjaśni Ci on również, dlaczego coś zrobiono _tak, a nie inaczej_.
# HTTP jako protokół tekstowy TCP
Jedną z rzeczy, którą początkującym informatykom trudno jest zrozumieć, jest różnica
w protokołach TCP i UDP. Oba są protokołami warstwy transportowej OSI działającymi
na podstawie protokołu IP (czyli do komunikacji należy mieć adres IP), jednak
implementującymi nieco inne usługi.
na podstawie protokołu IP (czyli do komunikacji należy mieć adres IP), jednak o nieco innych
charakterystykach i zakresach użycia.
TCP, czyli _Transmission Control Protocol_, to połączeniowy, niezawodny i strumieniowy protokół.
TCP, czyli _Transmission Control Protocol_, to **połączeniowy**, **niezawodny** i **strumieniowy** protokół.
* **połączeniowy** - zanim dojdzie do transmisji danych, należy zestawić _połączenie_. Obie maszyny
muszą więc uzgodnić, że będą ze sobą rozmawiać. Nie można wysłać pakietu TCP tak po prostu (no,
......@@ -213,20 +213,26 @@ DNS). Nie jest jednak używany w pracy codziennej - TCP wymaga 3 pakietów, do p
odpowiedzi i zapytania 4 (1 na dane, 1 na potwierdzenie odbioru), a do rozłączenia
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
UDP (_User Datagram Protocol_) 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
UDP i nie musi się on go spodziewać. Pakiety UDP mogą jednak być:
* dostarczane nie po kolei
* duplikowane (wysyłasz jeden, dostajesz dwa)
* gubione
Podobnie jak TCP wykorzystuje on porty. Tutaj jednak programista wysyła całe
pakiety (czyli ciąg bajtów o ustalonej długości), a po drugiej stronie odbiera
również te same pakiety. Nie są one modyfikowane, jak w TCP, ale mogą podlegać
Podobnie jak TCP wykorzystuje on porty. Jest to jednak w przeciwieństwie do TCP
protokół *datagramowy*, czyli tutaj programista wysyła całe
tzw. datagramy (czyli ciąg bajtów o ustalonej długości), a po drugiej stronie odbiera
również te same pakiety (czyli taki sam ciąg bajtów). Nie są one dzielone, ani łączone,
jak w TCP, ale mogą podlegać
wcześniej wymienionym zjawiskom. Programista **musi o tym pamiętać**.
Ponieważ nie wymaga on pamiętania zestawionych połączeń, jest bardziej wydajny
Jeśli programista wyśle większy pakiet UDP niż zalecany (zazwyczaj 512 bajtów), może on
ulec fragmentacji. Zjawiska **fragmentacji UDP** należy unikać, bo wtedy możliwa jest
sytuacja w której jeden fragment dotrze, a drugi nie, co skutkuje chaosem.
Ponieważ UDP wymaga on pamiętania zestawionych połączeń, jest wydajniejszy
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**. Dopiero taki adres
umożliwia wysłanie czegoś (lub poproszenie o połączenie w TCP) do drugiej maszyny
......@@ -249,11 +255,13 @@ szukamy - nie musi być wszechwiedzący.
Wymień przynajmniej 3 organizacje, będące operatorami serwera root
DNS.
Jest to protokół binarny, nie możemy więc wpisywać go ręcznie. Musimy użyć klienta
DNS. System Windows ma wbudowanego klienta o nazwie **nslookup**.
Jest to protokół binarny, nie możemy więc wpisywać go ręcznie jako tekst. Musimy użyć
specjalnego programu, tzw. **resolvera**.
System Windows udostępnia wbudowanego klienta DNS 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.
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 informacji o debugowaniu.
......@@ -344,4 +352,4 @@ To już prawie koniec zajęć. Zapisz swoje sprawozdanie.
W tytule umieść imię, nazwisko i numer zadania.
Załącz sprawozdanie, lub wklej je w treść maila.
Miłego dnia!
Gotowe!
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