# Sieci z kurpielem ## Gniazda Gniazda - podstawowy element składający się na komunikację internetową Model OSI ![](https://i.imgur.com/WKGaF7O.png) Gniazda występują w warstwie transportowej tj 4 od dołu ( w modelu ARPA 3 od dołu) Wiadomość którą wysyła się przez gniazdą nazywamy datagramem lub segmentem w zależności od protokołu zastosowanego w warstwie **Identyfikacja serwera (ale też i klienta) odbywa się przez wymienienie adresu komputera(np ipv4) i portu** Numer portu to liczba całkowita i dodatnia dwu bajtowa(65 tyś z groszem) Niektóre porty są zastrzeżone dla standardowych usług Oprócz adresu oraz numeru portu potrzebny jest protokół którym odbywa się komunikacja: UDP - używany do przesyłania jednego komunikatu(datagramu) przez proces nadawcy do procesu odbiorcy TCP - używany do tworzenia stałego połaczenia miedzy dwoma procesami, przekazywania danych(sagmentów) w obie strony, kontrola poprawności przesyłu dancyh w obie strony i zamknięcie połaczenia **Z czego składa się datagram/segmentów -> nagłówka i treści** **Skąd sie bierze treść datagramu/segementu -> z komunikatu warstwy wyższej** **Co używa UDP? DNS, DHCP, TFTP, transmisja multimediów** UDP - jest protokołem bezpołączeniowym ![](https://i.imgur.com/NaHR3Gt.png) TCP - protokół połączeniowy, wiadomości przekazywane w obie strony, można wyróżnic proces inicjujący(klient) oraz oczekujący(serwer), spełnia 6 podstawowych zadań: **1) budowa połączenia 2) Podstawowy transfer danych 3) Niezawodnośc tego transferu 4) Kontrola przepływu danych 5) Multipleksowanie 6) Nadrzędnośc(bezpieczeństwo** ![](https://i.imgur.com/R28kbU1.png) **Główne zadania protokołu TCP:** Numer sekwencyjny i numer potwierdzenia -> Realizacja niezawodnośc transferu TCP budowa połączenia oparta jest o zasade potrójnego uzgodnienia: 1) klient wysyła flagę SYN i wybiera wartość pola SEQ=x, 2) Serwer ustawia flagę ACK oraz numer potwierdzenia ACK=x+1 3) Serwer ustawia SYN, wybiera swoje SEQ=y 4) Klient ustawia flagę ACK oraz numer potwierdzenia ACK=y+1 Zakończenie połączenia może być inicjowane przez kazdą ze stron klient/serwer, sygnalizowane jest przez nadanie flagi FIN, strona wysyłająca FIN jest dalej gotowa do odbioru Gniazdo to zbiór 3 elementowy {Adres_internetowy, Port, Typ_protokołu} ---------------------------------------------- -------------------------------------------- ## DHCP Komputer dołączony do sieci musi mieć: - adresIP - maskę podsieci - adres IP bramki - adres IP serwera nazw ARP - Adress resolution Protocol -> jaki adres MAC ma jeden z moich najblizszych sasiadów RARP(reverse ARP) - historyczny protokół oferujący ograniczoną autokonfigurację, pozwalał na otrzymanie adresu IP Bootstrap Protocol(warstwa aplikacji) - przeznaczony do konfiguracji dowolnego urządzenia sieciowego używa protokołów komunikacyjnych UDP oraz IP Podstawowe zadania: - Wyszukiwanie własnego adresu IP klienta, - wyszukiwanie adresu IP serwera bootp, - wyszukiwanie nazwy pliku który będzie załadowany i uruchomiony na maszynie klienta Protokół pracuje w trybie klient-serwer: serwer 67/udp, klient 68/udp oraz używa dwóch rodzajów pakietów(zapytanie i odpowiedź) Klient który chce otrzymać adres zapyuje o adres TYLKO RAZ! (Jesli chcemy odświezyć to trzeba zrestartować klienta BOOTP) Komunikat Bootp jest opakowany w nagłówek UDP oraz naglówek IP. Następnie jest wysyłany w sieć(na adres rozgłaszania) do portu 67, adres klienta to zera bo nie zna swojego adresu, Nie zna adresu serwera więc wstawia adres rozgłoszeniowy, wstawia xid(identyfikator), sekundy i flagi, Następnie serwer odpowiada danymi jeżeli ma je w bazie danych(sprawdza po adresie MAC klienta) BOOTP to protokół statyczny (dane klienta muszą być wpisywane do bazy danych) **DHCP** Zgodnośc z poprzednim protokołem BOOTP, możliwość dzierżawienia adresu(otrzymania tymczasowego adresu), Serwer DHCP gromadzi i zapamiętuje dane konfiguracyjne o klientach DHCP scenariusz: -Klient zgłasza chęc dzierżawy adresu IP na określony czas, -Serwe przydziela adres IP klientowi gwarantując że w określonym czasie parametry dzierżawy nie zmienią sie -Po wygasnieciu czasu dzierżawy adres może być przydzielony innemu klientowi -Klient może zgłośić chęć przedłużenia czasu dzierżawy, chęć otrzymaniu stałego adresu Dane przekazywane przez DHCP to adres, bramka, maska, adres serwera DNS Są trzy podstawowe metody przyznawania konfiguracji: 1) Metoda ręczna = Administrator sieci na serwerze DHCP ręcznie konfiguruje adres IP klienta -> gdy klient zgłasza się do serwera ten sprawdza adres sprzętowy klientai znajduje odpowiadający mu adres IP 2) Metoda automatyczna = Klient łączyąc się z serwerem pierwszy raz otrzymuje losowy adres IP, serwer rezerwuje ten przydzielony adres na zawsze dla klienta 3) Metoda dynamiczna: Klient dostaje adres IP z pewnej puli na okreslony okres czasu, po upływie tego czasu dierżawy serwer DGCO zabiera adres i może go przydzielić innemu klientowi ![](https://i.imgur.com/cDO1Y8B.png) Klient: nie zna swojego adresu więc wypełnia je zerami, adres serwera to zera, w diagramie UDP dajemy odpowidnie porty, transaction identifier -> numer który nas będzie identyfikował Typy komunikatów DHCP: ![](https://i.imgur.com/7yscMdS.png) Tak działa DHCP ![](https://i.imgur.com/bwg9J7P.png) ------ ------ ## ACL NAT PAT **ACL** - Access Control List - często używany sposób kontroli dostępów do zasobów: - komputera - serwera usługi - sieci lokalnej Plik posiada zazwyczaj jednego właściciela, jedną grupę do której należy, pozostałych użytkowników r- prawo do czytania w - prawo do pisania(modyfikacji, usunięcia) x- prawo do wykonywania Model ACL obejmuje właściciela pliku oraz zdefiniowanego ACL_USER Grupę pliku oraz ACL_GROUP ACL_MASK Generalnie chodzi o to że oprócz zwykłych praw, można mieć prawa ACL i wtedy sie też sprawdza po tych prawach ACL ACL - zapora ogniowa Filtrowanie pakietów: to podejmowanie decyzji na podstawie zawartości nagłówka co dalej robić z pakietem Listy ACL - reguły zapór ogniowych które odnoszą sie do konkretnej warstwy i protokołu sieciowego(np iptables) Reguła to najmniejsza jednostka konfiguracji filtra która zawiera się w łańcuchach Reguła zawiera : • zbiór warunków, jakie musi spełniać pakiet, oraz • akcję, jaka zostanie wykonana, gdy warunki zostaną spełnione. Podstawowe decyzje w regułach DROP, REJECT, ACCEPT mogą być podjęte w stosunku do pakietu w każdym łańcuchu **NAT** Nat(network address translation) - warstwa łącza danych. Istotą NAT jest zamiana adresów MAC. Mosty - pozwalają połączyć dwa segmenty sieci lokalnej w jeden segment(nie psując fizycznej topologii) W jakim łańcuchu wpisuje się reguły modyfikujące adres nadawcy pakietu? w jakim to łańcuchu tablicy nat modyfikuje się odbiorce pakietu? odp na dwa wyższe to ![](https://i.imgur.com/3pty7OH.png) jakie adresy trzeba zmodyfikować jeśli siec firmową chcemy podłączyc do internetu? adres nadawcy w jaki sposób przejmować ruch ze swiata zeby był rozłozony na kilka komputerów w firmie adres odbiorcy **PAT** Zmiana portów może być realizowana przez urzadzenie które ma dostep do komunikató TCP oraz UDP zajmuje się tablicą iptables Typy natowania: **statyczna tablica nat**: mapowanie 1:1 **Dynamiczne tablica NAT** wiele do wielu **PAT** maskarada: wiele do jeden --------------------- -------------------- **VLAN** VLAN to logicznie wydzielona czesc segmentu sieci lokalnej, tworząc vlany dzielimy segment sieci lokalnej na logiczne czesci w rmach warstwy 2(łącza danych). Domyślnym VLAN jest VLAN1 Data VLAN - ramki zawierają dane np o użytkownikach Protokół VTP - vlan trunking protocol