background image

BSK Kolos 1

1. Hub

- 1 warstwa: fizyczna (przede wszystkim topologia gwizdy)
- przyłącza stacje do swoich wielu portów,  przesyła do wszystkich portów

-   tryb   half-duplex  (transmisja   w   jednym   kierunku  jednocześnie  w   kanale 
dwukierunkowym) 

- wzmacnia i regeneruje kształt sygnału (co wydłuża połączenie), potrzebuje zasilania
- gdy ulegnie awarii, cały podłączony segment nie działa, gdy host nie działa, inne 

urządzenia podpięte do huba działają
- zapobiega rozprzestrzenianiu się zbyt wielu błędnych ramek, ramek z uszkodzonego 

segmentu, zbyt długiemu nadawaniu stacji

4. Most
- 2 warstwa: łącza danych

- tryb nasłuchu – odbierają dane z medium transmisyjnego
- zwykle 2 porty łączących segmenty (stacje, huby), czyli zwiększa rozpiętość sieci

- zapisuje w tablicy pary: MAC + port dla podpiętych hostów, przesyła tylko między 
odpowiednimi portami

- proste urządzenie, nie filtruje błędnych ramek
- wprowadza opóźnienie

3. Switch

- 2 warstwa: łącza danych (przede wszystkim topologia gwiazdy)
-   kilkanaście   portów,   łączących   segmenty   (stacje,   huby,   switche),   czyli   zwiększa 

rozpiętość sieci
-   tryb   full-duplex  (transmisja   w  obu   kierunkach   jednocześnie  w   kanale 

dwukierunkowym)
- zapisuje w tablicy pary: MAC + port dla podpiętych hostów, przesyła tylko między 

odpowiednimi portami
- inteligentnie przełączane tryby: fast foward – śle od razu, store and forward – spr. 

błędne lub biorące udział w kolizji ramki, eliminuje je i śle (opóźnia)
- wprowadza opóźnienie

4. Router (Gateway)

- 3 warstwa: sieci
- łączy segmenty (również w różnych technologiach), zwiększa rozpiętość sieci

- konfigurowalny (np. przepustowość)
- routing – optymalna trasa wg tablicy (info o routerach, sieciach i ich stanie) statycznej 

lub dynamicznej (aktualizowana ręcznie przez admina lub automatycznie)
- izoluje LAN, przekazuje pakiety poza nią

-   dzięki   NAT   (tłumaczeniu   adr.   źródł.   hostów   na   jeden   zewnętrzny   IP   routera), 
reprezentuje sieć LAN w Internecie

- można wykorzystać jako firewalla: kontrolować połączenia, dostęp zabezpieczenia

background image

5. Brama domyślna/sieciowa (router)

Maszyna w sieci pośrednicząca w przesyłaniu pakietów LAN –  zewnętrzne  podsieci. 
Zwykle router jest takim węzłem, do którego kierowane są pakiety z hostów sieci LAN. 

Bez adresu bramy domyślnej (oraz IP i maski podsieci) niemożliwa jest komunikacja 
poza siecią LAN.

6. Maska podsieci

Liczba wyodrębniająca w adr. IP część sieciową od części hosta (IPv4 32b, IPv6 128b),. 
W IPv4: w postaci 4 liczb 8 bitowych, np. 255.255.255.0. W wyniku porównywania 

maski adresu (np. 255.255.255.0) z konkretnym adresem IP (np. 192.180.5.22) router 
otrzymuje   informację   o   tym,   która   część   identyfikuje   podsieć   (w   tym   przypadku 

192.180.5), a która dane urządzenie (.22).

7. Domena kolizji (Segment)
Pojedynczy segment w obrębie urządzeń 1 warstwy (karty sieciowe, modemy, huby). 

Dzielenie na segmenty z urządzeniami 2 i 3 warstwy (most, switch, router). Zasady 5-
4-3:   max   5   segmentów,   4   wzmacniaki   pomiędzy   dwoma   stacjami,   3   wypełnione 

segmenty/5.

8. Ethernet
Standard odmiany CSMA/CD (wykrywanie kolizji) umożliwiający budowanie sieci w 

oparciu o topologię fizyczną gwiazdy lub magistrali (nie pierścienia).
- 1 warstwa: fizyczna

- ciągły nasłuch
- half-duplex

- S – szczelina czasowa  czas transmisji 512 b dla 10 i 100 MB/s, żeby kolizja została 
wykryta; określa rozmiar ramki na 64B; ramki mniejsze – fragment kolizji lub słaba 

ramka – odrzucane
- czas propagacji – czas przejścia między dwoma najdalej oddalonymi stacjami w sieci

- Ti=Ri*S – czas oczekiwania stacji po koizji, by znów nadawać; i – max l. Prób

9. Pola Ethernet
Preambuła – zerojedynkowy ciąg na początek ramki

SFD – start frame datalimiter , początek komunikacji
MAC do/ MAC z

Długość – ilość danych
Dane – min 46B, bo szczlina czasowa def. dł. nagłówka na 64B

FCS – frame check sum, spr. czy ramki nieuszkodzone

10. Adresy MAC
Adres źródłowy MAC: pojedynczy

Adres   docelowy   MAC:   singlecast   (pojedynczy),   multicast   (grupowy),   broadcast 
(rozgłoszeniowy: FF:FF:FF:FF:FF:FF)

background image

11. ARP

- warstwa 2: łącza danych
- Adress Resolution Protocol

- zamienia IP → MAC
- kiedy nie znamy MAC, a chemy wysłać hostowi

Adres docelowy MAC broadcast, docelowy IP znamy. Pytamy o MAC hosta o danym IP, 
A → B. Jeśli B ma ten IP, to odpowiada podając swój MAC, a A zapisuje sobie te parę w 

tablicy.

12. Proxy ARP
- połączenie point to point

- router pośredniczy między A → B, A wysyła, router podaje swój IP, a odbiera dane 
jeśli posiada w tablicy IP hosta A.

13. RARP

- Reverse Address Resolution Protocol
- zamienia MAC → IP

- gdy podłączymy nową stację do sieci
A → B. B nie zna swojego IP, więc wysyła zapytanie. Wysyła nagłówek Ethernet z 

docelowym   MAC   broadcast,   docelowym   IP   adres   rozgłoszeniowy,   MAC   źródłowy 
aa:aa..., ip: 0.0.... Tablica danych (server RARP) zwraca mu jego IP.

14. Gratuitous ARP

- ARP request lub reply
- aktualizacja tablic ARP innych maszyn

- informuje switche o zmianie IP na jego porcie
Wykrywanie dublowania IP: kiedy stacja chce wiedzieć, czy jako jedyna posiada dane 

IP.  Wysyła swój MAC, jak dostanie odpowiedź, to znaczy, że w sieci jest duplikat.

15. Domena rozgłoszeniowa
Wszystkie  stacje w LAN, które dostają broadcast.

16. IP

- warstwa 3: sieci
- bezpołączeniowy – nie spr. gotowości odbioru

- niepewny – nie wykrywa błędów
- jednostka: datagram

- schemat adresowania sieci
- trasowanie – routing – wybór trasy datagramu po IP

- dzieli dane – fragmentacja/defragmentacja

background image

17. Pola IP

Wersja [4]– nr wersji IP (v4 czy v6)

IHL[4]   –   dł.   nagłówka   min.   5   32   bitowych   słów   kolejno   włącznie   z   adresem 
docelowym, opcje już nie muszą wchodzić w skład.

ToS [8]– jakość: opóźnienie, przepustowość, niezawodność
Dł. całk. [16]- nagłówek + dane max ok. 65,5 tys. bitów, bo 16 bitów dł. pola; min. 20 

bajtów, bo taka dł. nagłówka
ID [16]– losowa wartość, dla fragmentowanego datagramu

Flagi [3] – sterowanie fragmentacją: czy dozwolony/ostatni/który datagram?
Przemieszczenie fragmentacji [13] – pozycja, od której wstawiamy dane, korzysta z ID

TTL [8] - czas życia, max życie datagramu (przejście przez router TTL -1), jeśli 0 giń
Protocol [8] – nr protokołu wyższej warstwy

Suma kontrolna [16] – ciągle obliczana, bo nagłówek ciągle się zmienia, np. TTL, spr. 
czy nie ma błędu

Adres źródła IP/ Adres docelowy IP [32]
Opcje [x] – zachowanie przy fragmentacji, klasa, np. kontrola, numer

Uzupełnienie [x] – dopełnia do 32b
Dane - ...

18. ICMP

- warstwa 3: sieci
- Internet Control Message Protocol

- protokół kontrolny, obsuguje i wykrywa awarie
- steruje przepływem danych (np. jak sieć nienadąża wysyła komunikat)

- przekierowuje
- kiedy TTL 0 – wysyła komunikat o przeterminowaniu datagramu

- transportowany wewnątrz datagramów IP
- jednostka: ramka

-   przykładowe   typy:   echo   reply/request   (odpowiedź/prośba   ping),   destination 
ureachable,   source   quench   (tłumienie   nadawcy),   redirect   meddage,   traceroute 

(śledzenie trasy)

background image

19. Pola ICMP

Typ [8], Kod [8], Suma [16] = 32 bity + 32 bity opcjonalnych danych

20. TCP

- warstwa 4: transportowa
 Transmision Control Protocol

- połączeniowy
- niezawodny

- strumieniowy (dane = strumień)
- jednostka: segment

- wykorzystuje PAR – wysyłanie, aż nastąpi potwierdzenie poprawnej transakcji
- retransmisja, jeśli suma kontrolna się nie zgadza

(…) pola TCP, 3 way handshake (...)

UDP

- warstwa 4: transportowa
- bezpołączeniowy, nie ustanawia połączenia, nie spr. gotowości

- bardziej efektywny od TCP, ale brak zabezpieczeń (aplikacja może o to zadbać)
- dobry dla małej ilości danych

- jednostka: pakiet

Pola UDP

Port   nadawcy   [16]   –     opcjonalny,   może   być   do   niego   zwrócona   wiadomość,   jeśli 
nieużywane = 0

Port odbiorcy [16]– identyfikuje, wymagany
Długość [16] - całego datagramu: nagłówek i dane. Min 8B bajtów i jest to długość 

nagłówka. Datagram max 65,5 tys. B, ze względu na dł. tego pola 
Suma kontrolna [16] – spr. poprawność danych (sk w IP nie spr. danych), opcjonalne

background image

Port

Liczba 16b (0-65,5 tys. b). 0-1024 – well-known ports (porty niskie zarezerwowane 
przez   organizację   dla   standardowych   usług.   Porty   wysokie   –   pozostałe   do 

wykorzystania. Większość połączeń: niskie → wysokie.

DNS
- warstwa 7: aplikacji

- system nazw domenowych, serwerów, protokół + obsługa bazy adresów sieciowych
- tłumaczy nazwy domenowe na IP

- rejestracja domen, powiązanie ich z IP, obsługa odnajdywania IP dla nazw
- jednostka logiczna: zapytanie

- cały komunikat przesyłany w jednym pakiecie UDP (w TCP + 2 bajty określające dł. 
zapytania)

Rodzaje zapytań

- Rekurencyjne
Musi   zwrócić   adres   IP   stacji   lub   błąd.   Stosowane   między   resolverem   a   serwerem 

(providera?). Serwery uczestniczące zapamiętują odwzorowanie, podnosi efektywność 
systemu.   Serwer   zostaje   on   obarczony   odpowiedzialnością   za   cały   proces 

wyszukiwania informacji i nie może odesłać klienta do innego serwera  nazw.
- Iteracyjne

Zwraca   najlepszą   odpowiedź   na   podstawie   danych   lokalnych,   odsyłając   w   razie 
konieczności   klienta   do   innych   serwerów   DNS.   Stosowane   między   serwerami: 

podrzędny pyta nadrzędnego.
- Odwrotne

Znajdowanie   nazwy   dla   adresu   IP.     Jeśli   chcemy   zablokować   stronę,   musimy 
zablokować również to, bo użytkownik może dostać się na WWW wpisując IP.

Odpowiedzi na zapytania

autorytatywne  –   pozytywna   odpowiedź   pochodząca   bezpośrednio   z   bazy   danych 
serwera; ma bit uwierzytelniania (AA – Authoritative Answer) - odpowiedź z serwera 

bezpośrednio uwierzytelniającego poszukiwaną nazwę.
nieautorytatywne – odpowiedź spoza bazy danych serwera; buforowane przez serwer 

przez czas TTL (podany w odpowiedzi) i usuwane.

Format komunikatu
Nagłówek (Header)

Zapytanie (Question) – do serwera nazw
Odpowiedź (Answer) – rekordy z odpowiedzią

Zwierzchność (Authority) – serwery zwierzchnie domeny
Dodatkowa (Additional) – info dodatkowe

background image

Nagłówek

Pola nagłówka

ID [16 bitów] – identyfikator, jednoznaczne powiązanie zapytania i odpowiedzi
QR [1 bit] – (Query or Response) – komunikat jest zapytaniem (0) czy odpowiedzią (1)

OPCODE [4 bity] – rodzaj zapytania wysyłanego od klienta, jest przypisywany przez 
serwer do odpowiedzi. Wartości:

0 – QUERY – standardowe zapytanie,
1 – IQUERY – zapytanie zwrotne,

2 – STATUS – pytanie o stan serwera,
3-15 – zarezerwowane do przyszłego użytku

AA [1 bit] (Authoritative Answer) - odpowiedź jest autorytatywna.
TC [1 bit] (TrunCation) – odpowiedź nie zmieściła się w jednym pakiecie UDP i została 

obcięta
RD [1 bit] (Recursion Desired) – klient żąda rekurencji, pole kopiowane do odpowiedzi

RA [1 bit] (Recursion Available) – serwer obsługuje zapytania rekurencyjne
Z [3 bity] – zarezerwowane na przyszłość, wyzerowane

RCODE [4 bity] (Response CODE) kod odpowiedzi. Przyjmuje wartości:
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

QDCOUNT [16 bitów] – określa liczbę wpisów w sekcji zapytania
ANCOUNT [16 bitów] – określa liczbę rekordów zasobów w sekcji odpowiedzi

NSCOUNT [16 bitów] – określa liczbę rekordów serwera w sekcji zwierzchności
ARCOUNT [16 bitów] – określa liczbę rekordów zasobów w sekcji dodatkowej

Rekordy

A – adres, mapuje nazwę domeny DNS na jej 32-bitowy adres IPv4.
AAAA - adres, mapuje nazwę domeny DNS na jej 128-bitowy adres IPv6.

CNAME  - nazwa kanoniczna, ustanawia alias nazwy domeny; wszystkie wpisy DNS 
oraz poddomeny są poprawne także dla aliasu.

MX - wymiany poczty (mail exchange), mapuje nazwę domeny DNS na nazwę serwera 
poczty oraz jego priorytet.

PTR – wskaźnik, mapuje adres IPv4 lub IPv6 na nazwę kanoniczną hosta, pozwala na 
implementację odwrotnej translacji adresów DNS (reverse DNS lookup).

NS - serwer nazw, mapuje nazwę domenową na listę serwerów DNS dla tej domeny.
SOA  -   adres   startowy   uwierzytelnienia   (start   of   authority),   ustala   serwer   DNS 

dostarczający   autorytatywne   informacje   o   domenie   internetowej,   łącznie   z   jej 
parametrami (np. TTL).

background image

SRV  - usługi (service), dodatkowe info o lokalizacji danej  usługi, którą udostępnia 

serwer wskazywany przez adres DNS.
TXT – dołączenie tekstu do rekordu DNS

HTTP

- warstwa 7: aplikacji
-  Hypertext Transfer Protocol,  protokół przesyłania dokumentów hipertekstowych w 

WWW
- port 80

- określa formę żądań klienta i odpowiedzi serwera
- jednostka logiczna: wiadomość

- bezstanowy – nie zachowuje info o poprzednich transakcjach, zmniejsza to obciążenie 
serwera

-   zastosowanie   stanów   –   ciasteczka/sesje   po   stronie   serwera/ukryte   parametry 
serwera

Kody stanu dla HTTP

- 1xx – informacja (odebrane, w trakcie wykonywania)
- 2xx – sukces (odebrane; zrozumiane i zaakceptowane)

- 3xx – przekierowanie (trzeba podjąć dalsze kroki by zakończyć żądanie)
- 4xx – błąd klienta (zła składnia, lub niemożliwe do realizacji)

- 5xx – błąd serwera (serwer nie może wykonać żądania)

Metody (cele żądania)
POST – żądanie odebrania danych, np.: upload plików, formularze, dane autoryzowane 

(dane lecą w ciele kodu)
GET – żądanie  zasobu  wskazanego przez  URI, format: nagłówek + dane (w pasku 

adresu pobieranie stanu na podstawie parametrów), ograniczone przez dł. odnośnika 
do skryptu

HEAD – żądanie zasobu w formie nagłówka (jak GET), testowanie
DELETE – żądanie usunięcia zasobu (dla uprawnionych userów)

LINK – żądanie ustawienia relacji między istniejącymi zasobami
UNLINK – żądanie usunięcia relacji między istniejącymi zasobami

OPTIONS – żądanie informacji: jakie metody obsługuje serwer
PUT – żądanie odbioru pliku przez serwer

TRACE – testowanie, żądanie zwrotu nagłówka, jaki dostał serwer
CONNECT – dla serwerów pośredniczących, pełni funkcję tunelowania

PATH – żądanie częściowej zmiany zasobu

Różnica między POST i GET
GET - do operacji pobierających dane, na przykład do wyświetlenia użytkownikowi

POST - do operacji zmieniającej stan w systemie (ew. pobierania danych, gdzie chcemy 
się choć troszkę zabezpieczyć przed zmasowanym linkowaniem)

Wskazanie zasobu dla metody
URI – ujednolicony id zasobów; standaryzowany łańcuch znaków reprezentowany:

URL – lokalizator, wskazuje miejsce i sposób (ścieżkę i protokół)
URN – nazwa