# SIECI KOMPUTEROWE - opracowanie > 2019 # Woźniak ### **1. Porównaj warstwowe architektury sieciowe ISO-OSI i TCP/IP (wskaż ich podstawowe założenia, podobieństwa i różnice oraz najważniejsze funkcjonalności i/lub protokoły realizowane przez poszczególne warstwy)** Model wzorcowy ISO/OSI (ang. Open System Interconnection Reference Model) to kompleksowy standard podzielony na 7 etapów. Według modelu OSI, każdy protokół komunikuje się ze swoim odpowiednikiem w warstwie odległej. Dane są przekazywane (jak przez stos) aż do warstwy fizycznej, która przesyła do odległego hosta. Obecnie nieużywana technologia, gdyż nie pasuje do obecnych potrzeb. Model TCP/IP jest obecnie używany; ma mniej warstw od ISO/OSI, ponieważ nie były one potrzebne. Warstwy te odpowiadają jednej lub większej ilości warstw w modelu ISO/OSI. Model ogólnie lepiej opisuje strukturę dzisiejszego internetu. Warstwy mogą być pisane niezależnie od siebie przy założeniu pewnych standardów. ![](https://i.imgur.com/acNOHHx.png) //TODO Do poprawy (warstwy te mogą zachodzić na siebie) | ISO/OSI | TCP/IP | Opis warstwy | Protokoły przykładowe | | -------- | -------- | -------- | ---- | | Fizyczna | Dostępu do sieci | Realizuje fizyczne przesyłanie danych poprzez odpowiednie sygnały | 100BaseTX, DSL, 802.11 | | Łącza danych | Dostępu do sieci | Zapewnia połączenia między konkretnymi urządzeniami, koryguje błędy, odpowiada za pakowanie w ramki i odpakowywanie | Token Ring, Ethernet, 802.11, RARP | | Sieci | Internet | Wybiera odpowiednią trasę do przesyłania danych, ochrona sieci przed przeciążeniami, segmentacja pakietów, odpowiedzialna za jakość świadczonych usług | IP, ICMP, ARP | | Transportowa | Trasportowa | Przezroczysty przekaz danych, retransmisja pakietów | TCP, UDP | | Sesji | Aplikacji | Nawiązywanie i utrzymawanie połączenia między dwoma procesami | Sockety | | Prezentacji | Aplikacji | Kompresja, szyfrowanie danych, przekazywanie danych do postaci standardowej | TLS, SSL ~~HTTPS~~ | | Aplikacji | Aplikacji | Udostępnia usługi oferowane przez OSI, w TCP/IP realizowane jest to na urządzeniach końcowych | HTTPS, SSH, DHCP | ### **2. Porównaj dwa standardowe rozwiązania sieciowe: IEEE 802.3 i IEEE 802.11 (tryb DCF) (w tabeli - ze szczególnym uwzględnieniem podobieństw - różnic w dostępie do medium)** Nie wiem czy to wystarczy | Cecha | 802.3 | 802.11 DCF | | -------- | -------- | -------- | | Mechanizm ochrony przed kolizcjami | CSMA/CD | CSMA/CA | | Wstępna rezerwacja medium | Brak | RTS/CTS | | Minimalna długość ramki | 64 bajty | Brak | | Maksymalna długość ramki | 1518 bajtów | 2336 bajtów | | Wykrywanie kolizji (feedback) | CD | ACK | | Rozstrzyganie konfliktów | Binary Expotentail Backoff |BEB | |Liczba prób dostępu | do 16 | do 6 | | Początkowy czas odeczekiwania | Stały | Losowy | | Struktura ramek | Prosta | Złożona | | Rodzaje ramek | 1 | Wiele | | Problem stacji ukrytych | Nie | Tak | | Priorytety | ~~Nie~~ Z nagrania z wykładu wynika, że tak | 802.11e | | Dostęp do kanału wolnego | Po okresie nasłuchu - możliwość przerwania transmisji | Po okresie nasłuchu - brak możliwości przerwania transmisji | | Wydajność przy małym ruchu | Dobra | Dobra | | Deterministyczny czas dostępu do medium | Nie | Nie | | Jakość obsługi aplikacji czasu rzeczywistego | Słaba | Słaba | ### **3. Porównaj i zilustruj na prostych diagramach zasady dostępu proponowane w trybach DCF i PCF sieci standardu IEEE 802.11** DCF - dostęp rywalizacyjny, opiera się na CSMA/CA. Opiera się na wysyłaniu ramek rts/cts w celu rezerwacji medium. Jeśli zostanie wykryte, że medium jest wolne, to stacja odczekuje DIFS i zaczyna nadawanie. Potwierdzenie odebrania ramki jest sygnalizowane ramką ACK. Warto wspomnieć, że jest coś takiego jak Network Allocation Wector. Zarówno CTS, jak i RTS wysyają informacje o planowanym czasie zajętości pasma/wysyłania. Dzięki temu inne stacje wiedzą jakiego czasu zajętości się spodziewać. Teoretycznie istnieje ACK i to ono mówi, że transmisja się zakończyła, ale zawsze może zdarzyć się coś nieprzewidywanego. PCF - Opcjonalna metoda dostępu, w której istnieją wymagania co do czasu dostępu. Zapewnia dostęp bez potrzeby rywalizacji. Point Coordinator wskazuje, która stacja ma prawo do wysyłania ramki. Zapobiega problemowi stacji ukrytej. Oś czasu jest podzielona na okres rywalizacyjny (działa DCF) i okres bezkolizyjnego dostępu (działa PCF). Każda superramkę poprzedza Beacon frame wysyłany w regularnych odstępach czasu, który informuje o długościach okresu bezkolizyjnego w danym czasie (tutaj też istnieje NAV). Podczas tego okresu contention-free PC może odpytywać dane stacje (CF-pool) | Cechy | DCF | PCF | | -------- | -------- | -------- | | Tryb pracy | Asynchroniczny | Synchroniczny | | Kolizje | Istnieją (rts i cts zwiększają szanse uniknięcia) | Brak | | Sterowanie | Zdecentralizowane | Point Coordinator | | Metoda dostępu | Rywalizacyjna | Przepytywanie | | Ograniczenia czasowe transmisji | Tak | Tak | | Potwierdzanie | ACK | ACK | | Problemy | Problem ukrytej końcówki | Konieczność stałej architektury sieci, braku inteferencji spoza sieci | | Priorytety | Tak | Tak | **Uważam że warto tu wspomnieć o czasach wg. priorytetów** **SIFS (Short InterFrame Spacing)** - gdy realizowany jest proces wymiany informacji, np. RTS, CTS, ACK, data. **PIFS (PCF IFS)** - gdy brak akcji w okresie SIFS, Acces Point może wysyłać ramki Beacon lub Pool. **DIFS (DCF IFS)** - gdy brak akcji w PIFS, stacja może podjąć próbę dostępu do medium. **EIFS (Extended IFS)** - najniższy priorytet do raportowania uszkodzonych lub nieznanych ramek. ![](https://i.imgur.com/hCojLPV.png) ![](https://i.imgur.com/8ABZC6l.png) D1, D2, ... - ramki Pool ### **4. Wyjaśnij wpływ stacji ukrytych na efektywność pracy sieci WLAN. Podaj sposoby ograniczania wpływu tego zjawiska na pracę sieci.** ![](https://i.imgur.com/JvwlckY.png) A chce wysłać coś do B i C chce wysłać coś do B. C nie wie, że A już coś wysyła. Powoduje to kolizje, więc ramki nie docierają poprawnie - trzeba retransmitować. Mogą powstać poważne opóźnienia, gdyż żadna ze stacji nie wykrywa opóźnienia. Rozwiązaniem są ramki RTS/CTS (wzajemne powiadamianie - handshake). SIFS - czas, który stacja odczekuje po wysłaniu ramki, aby upewnić że informacja się rozeszła. Stacja wysyła ramkę RTS informującąc, że chce coś wysłać Stacja docelowa odsyła CTS - Informuje, że medium jest wolne i można nadawać Stacja wysyła dane Stacja docelowa odsyła ACK W tym czasie, gdy stacje wysyłają CTS i RTS, inne stacje wiedzą, że nie mogą nadawać. Gdy te stacje otrzymają ACK, to wiedzą, że medium jest wolne. Rozwiązaniem jest w sumie też PCF, ale musimy mieć stałą architekturę sieci. Problem stacji odkrytej (exposed mode) - polega na tym że stacja B chce wysłać coś do C i myśli, że kanał jest zajęty, bo A komunikuje się z D i A jest w zasięgu stacji B. ![](https://i.imgur.com/ZMmQJoA.png) ### **5. Podaj podstawowe założenia oraz zależności wiążące czułość odbiornika z parametrami transmisyjnymi i propagacyjnymi (bilans energetyczny).** ##### Założenia: Systemy łączności bezprzewodowej wykorzystują wspólny kanał transmisyjny. Wzrost przepustowości w systemie WLAN jest trudniejszy niż w sieci bezprzewodowej. Tylko część mocy nadawanej P dociera do układu odbiorczego. Nie da się też stosować CSMA/CD jak w Ethernecie, a jedynie możemy stosować rozwiązania typu CSMA/CA + RTS/CTS, PCF w celu zmniejszenia szans na kolizje. Problemem jest to, że na tych samych częstotliwościach może działać wiele urządzeń nie respektująch tych zasad (W Ethernecie mamy połączenie urządzenie-urządzenie lub trochę więcej (np. za pomocą koncentratora), mimo to znamy ilość urządzeń). ##### Zależności: Na propagację i parametry BER (Bit Error Rate) w systemie WLAN wpływ mają: * Rozproszenie energii * Tłumienie, powodowane opadami cz przeszkodami (np. urządzenia elektromagnetyczne, takie jak kuchenka) * Ugięcie fali * Załamanie fali * Odbicie fali, wielodrogowość * Interferencja (nakładanie się fal) * Efekt Dopplera ![](https://i.imgur.com/17GpQ9u.png) Moc odebrana Pr maleje proporcjonalnie do 1/d^a, gdzie α (zwykle: 2<α<5) zależy od środowiska propagacyjnego Jedynym rozwiązań tego problemu jest zwiększenie mocy nadawania, jednak kosztem energii i wzrostu nakładania się fal z innymi nadawcami. Inne rozwiązania to kody korekcyjne, MIMO, lepsze metody detekcji, retransmisji, modulacji. Inne parametry: * SNR - signal-to-noise ratio * Tłumienie * Zysk anteny (nadawczej i odbiorczej) Przybliżone tłumienie w WiFi = 40 * ( 2.4 Ghz ) 20 * log( Odległosć od nadajnika ) Rodzaje anten: * Dookólna * Kierunkowa (droższa, lepsza, interferncja tylko w danym kierunku) Aby możliwa była udana transmisja, moc docierająca do odbiornika musi być większa (lub równa) od jego czułości. > Od siebie: Na zakłócenia wplywa również szerokość pasma jaką wykorzystuje nadajnik WiFi. Przy 2.4 Ghz może być to 20 Mhz/40 Mhz. Przy 40 Mhz w standarcie 802.11n jesteśmy w stanie podwoić prędkość transmisji z 150 Mb/s do 300 Mb/s, jednak kosztem możliwych większych zakłóceń. W 5 Ghz można nadawać szerokością nawet 80 Mhz. MIMO - stosowane często nawet w domowych routerach (2x2, 3x3), sieciach 4G/LTE. Technolgia czerpie korzyści z wielościeżkowości fal. Potrafi wysłać w odpowiedni sposób sygnał kilkoma antenami, a odbiornik potrafi te sygnały zsumować odpowiednio. //TODO coś mało tego ### **6. Porównaj znane ci standardowe rozwiązania sieci LAN (również WLAN) pod kątem możliwości obsługi zróżnicowanych strumieni ruchu (wskaż stosowne mechanizmy podwarstwy MAC pozwalające na różnicowanie obsługi).** ##### Ethernet: * zalety - stabilność i powszechność rozwiązania - wielka prostota - wsteczna kompatybilność rozwiązań (autonegocjacja) - aktualizacja standardu - działa dosyć dobrze przy małym obciążeniu sieci * wady - niedeterministyczny dostęp do medium - brak priorytetów - brak mechanizmów automatycznego wykrywania niesprawności ##### Token bus: * zalety - działa wydajniej niż Ethernet przy większym obciążeniu sieci - deterministyczny czas dostępu - dostarcza mechanizmów do różnicowania jakości obsługi aplikacji - priorytety wewnętrzne * wady - znaczna złożoność procedur utrzymaniowych – niezbędne dogłębne zrozumienie protokołu - brak znowelizowanych wersji protokołu ##### Token ring: * zalety - deterministyczny czas dostępu - priorytety - możliwość rezerwacji tokena * wady - stosunkowo mała liczba urządzeń obsługiwanych przez sieć - brak znowelizowanych wersji protokołu | Cecha | Priorytety | Czas dostępu do medium | | -------- | -------------- | ---------------------- | |Ethernet | Brak | Niedeterministyczny | |Token Bus | Wewnętrzne | Deterministyczny | |Token Ring| Tak | Deterministyczny | |Wifi | Tak, w 802.11e | Niedeterministyczny | Mechanizmy podwarstwy MAC: * zdecentralizowany algorytm rywalizacyjnego dostępu * algorytm kontrolowanego dostępu z rezerwacją * algorytm kontrolowanego dostępu z przepytywaniem * algorytm z przekazywaniem tokena ### **7. Dokonaj klasyfikacji metod routingu w sieciach WAN** Routing dzielimy na: 1. Statyczny 2. Dynamiczny: * Wewętrzny * Odległościowo-wektorowy (*distance vector*) * Stanu łącza (*link state*) * Zewnętrzny * Odległościowo-wektorowy * Stanu łącza W routingu statycznym ścieżka z routera do węzła jest z góry ustalona i wykorzystywana dla wszystkich transmisji. W routingu dynamicznym jest badana na bieżąco poprzez kooperacje z innymi stacjami bądź własne obserwacje, zależy ona od warunków w sieci (topologii sieci). ### **8. Dokonaj klasyfikacji metod routingu dynamicznego. Podaj przykładowe metryki używane przy wyznaczaniu tras.** 1. Routing dynamiczny wewętrzny * Odległościowo-wektorowy * Stanu łącza 2. Routing dynamiczny zewnętrzny * Odległościowo-wektorowy * Stanu łącza <br/> W **algorytmie odległościowo-wektorowym** metryką jest tzw. hop, czyli ilość przeskoków między stacjami. Między bezpośrednimi sąsiadami jest to zawsze 1 hop. Najważniejsze założenia algorytmu: * znajomość całej sieci, * przesyłanie informacji wyłącznie do sąsiadów, * wymiana informacji w regularnych odstępach czasu. Informacje o całej sieci docierają po pewnej liczbie wymian tablic routingu między sąsiadami do każdego węzła w sieci. <br/> W **algorytmie stanu łącza** metryką (kosztem) może być np. przepustowość, opóźnienia, bezpieczeństwo, co daje znacznie lepsze efekty. Najważniejsze założenia algorytmu: * znajomość wyłącznie sąsiednich routerów, * rozsyłanie informacji routingowych do wszystkich routerów, * wymiana informacji tylko wtedy, gdy w sieci wystąpila istotna zmiana. Router wysyła pakiety LSP (*link state packet*) do wszystkich znanych sąsiadów. Okresowo routery wysyłają do znajomych sąsiadów pakiety typu 'Hello', które testują ich łączność. Jeśli uzyskają od niego odpowiedź, sieć działa poprawnie. Przy braku odpowiedzi router rozsyła nowe pakiety LSP, które informują o uszkodzeniu lub braku działania sąsiada (każdy router odbiera każdy LSP!). ### **9. Podaj zasady realizacji routingu odległościowo-wektorowego (zilustruj to przykładem).** Algorytm odległościowo-wektorowy wymaga znajomości całej sieci. Informacje tylko między sąsiadami są wymieniane w regularnych odstępach czasu. Koszt transmisji pomiędzy najbliższymi stacjami traktowany jest jako jednostkowy. Każda stacja pobiera od sąsiada jego tablicę routingu. Wie więc, że dostęp do danej stacji będzie miał dokładnie o 1 większy niż ten sąsiad. Porównuje on to z tablicami otrzymanymi od innych sąsiadów, dzięki czemu może wybrać najszybszą trasę. > Jak ktoś nie będzie ogarniał to mogę narysować. ### **10. Podaj podstawowe zasady modyfikacji tablic routingu w algorytmie odległościowo - wektorowym. Wyjaśnij zasadę tworzenia tablic routingu posługując się przykładem.** To co wyżej, tylko trzeba dodać, że gdy dostajemy tablicę routingu sąsiada, to jeśli odległość jest <= w naszej obecnej tablicy to nadpisujemy, w przeciwnym wypadku nie. Początkowo wiemy tylko, że ilość hopów do wszystkich sąsiadów to 1. ### **11. Zdefiniuj zasady tworzenia tablic routingu w algorytmie stanu łącza.** Algorytm stanu łącza nie realizuje uaktualnień regularnie, a jedynie po zmianach w sieci. Wykorzystuje się tutaj np. algorytm Dijkstry do wyznaczenia najkrótszej ścieżki do danego węzła. Podczas zmiany router wysyła pakiet Link State Package, który zawiera swoją mapę połączeń. Kolejne routery odbierają te pakiety, uaktualniają bazę u siebie i odsyłają dalej. Na podstawie mapy topologii budowana jest mapa najkrótszych ścieżek z wykorzystaniem np. algorytmu Dijkstry dla każdego routera. Routery okresowo testują czy mogą dostać się do wybranych sąsiadów, jeśli nie mogą, rozsyłają LSP - uaktualniają bazę połączeń. ### **12. Opisz klasową koncepcję adresów w sieciach IPv4.** Nieużywana obecnie koncepcja. W założeniu sieć dzieliła się na klasy od A do E A, B, C - to kolejno duże, średnie i małe sieci dostępne dla użytowników D - tzw. klasa rozgłoszeniowa (multicast) E - zarezerwowana na potrzeby badawcze Zrezygnowano z tej koncepcji, ponieważ zbyt wiele adresów się marnowało (IPv4 ma tylko 32 bity, duże i bardzo duże bloki adresowe nie są w pełni wykorzystywane). Obecnie stosuje się adresację bezklasową, gdzie wymaga się masek podsieci (subnet). Pozwalaja to na lepsze wykorzystanie pul adresowych i lepsze zarządzanie grupami hostów. Adres IP w adresacji klasowej | Klasa | Prefix | Numer sieci (ilość bitów)-net id | Numer urządzenia (ilość bitów)-host id | | -------- | -------- | ------------------- | ------ | | A | 0 | 7 | 24 | | B | 10 | 14 |16 | | C | 110 | 21 |8 | | D | 1110 | Rozgłoszeniowy - 28 |Brak | | E | 11110 | 27 |Brak | ### **13. Podaj cel wydzielania podsieci. Opisz koncepcję masek, posługując się zaproponowanym przykładem.** Cel - efektywniejsze wykorzystanie pul adresowych i lepsze zarządzanie grupami hostów. Pozwala na ograniczenie złożoności tablic routingu routerów (routery zewnętrzne nie znają struktury wewnętrznej podsieci). Gdyby nie było podsieci, to rozgłaszanie informacji pomiędzy wszystkimi urządzeniami w sieci (w przypadku gdy nie znamy IP urządzenia końcowego) bardzo obciążałoby całą sieć. Gdy wydzielimy podsieć, nasza infromacja (broadcast) trafi do wąskiej grupy urządzeń. Mimo, że sieć logicznie z zewnątrz dalej wygląda tak samo, to zdecydowanie poprawi się bezpieczeństwo i polepszy zarządzanie, zmniejszy się całkowity ruch w sieci. Inne przykład: router w każdej podsieci może realizować przydzielone do niej zadanie. <br/> Podsieci nie są widoczne z zewnątrz, są postrzegane jako jedna sieć. Mogą być tworzone dowolnie, wewnętrznie są traktowane jako niezależne. O routingu decyduje router brzegowy, sprawdza on np. host ID i subnet ID. W takiej sytuacji routing obejmuje trzy etapy: routing do sieci, routing do podsieci i routing do hosta. Maski są zdefiniowane i widoczne tylko w routerze docelowej sieci. > Przykład: > >Adres IP mojego kompa: 192.168.2.1 (subnet: 255.255.255.0) co w skrócie można zapisać jako 192.168.2.1/24 > >Oznacza to że adres sieci (bramy) to 192.168.2.0 (nakładamy ANDA na nasz adres gdzie od prawej strony jest 8 zer a poza tym same jedynki). Pierwszy adres w bloku jest zwykle przypisywany urządzeniu (hostowi): 192.168.2.1. A adres broadcast jest zawsze ostatnim możliwym adresem: 192.168.2.255 (wykorzystywany do rozgłaszania komunikatów do wszystkich urządzeń w sieci). ### **14. Scharakteryzuj adresację bezklasową CIDR.** **CIDR** - Classless Inter-Domain Routing **Supersieci (supernetting)** - łączymy kilka - kilkanaście bloków adresów w większe pojedyncze pule adresowe. Jest to działanie odwrotne do tworzenia podsieci (subnetting). Adresację bezklasową wprowadzono, bo zaptrzebowanie na adresy IP wzrosło. Korzystanie z adresacji klasowej było nieefektywne, gdyż marnowały się bity klas i dodatkowo sieci miały stałe maski. Pozwala ona na agregację (sumowanie) informacji routingowych i zmniejszenie rozmiaru tablic, poprzez tworzenie supersieci -> zredukowanie wymagań na pamięć routera. Adresacja bezklasowa zastąpiła tysiące tras i wejść w tablicach pojedynczymi trasami i wejściami -> efektywniejszy routing, zredukowanie liczby cykli CPU przy przeliczaniu tablic. Reszta jest opisana wyżej. Długość prefixu (maski) jest zmienna (elastyczna), w efekcie należy rozgłaszać zarówno adres IP jak i długość maski. CIDR wymaga więc <u>bezklasowych protokołów routingu</u>, aby realizować routing dynamiczny (protokoły są zdolne do przenoszenia maski podsieci w komunikatach rozgłaszania). ### **15. Wyjaśnij podstawowy cel oraz zasadę agregacji sieci.** <span style="color:red">**TO JEST ŹLE, W OPRACOWANIU NA GRUPIE JEST SPOKO (W MIARE)**</span> > **Agregacja łączy** (ang. link aggregation) polega na połączeniu ze sobą wielu portów fizycznych przełącznika w jedną logiczną całość. Dzięki takiemu połączeniu otrzymujemy grupę portów, przez które będą przesyłane dane, przy czym, od strony systemu IOS, tak utworzona grupa będzie widoczna jako jeden port. Maksymalna liczba jednocześnie wykonanych połączeń fizycznych, które mogą uczestniczyć w agregacji, wynosi 8. > > **Zwiększona przepustowość łącza** - wiele fizycznych łączy zagregowane w ramach jednej grupy poszerza dostępne pasmo. Oznacza to, że tworząc kanał EtherChannel, prędkość utworzonego łącza jest sumą prędkości interfejsów fizycznych tworzących ten kanał. Jeśli do konfiguracji kanału zostało użytych 6 interfejsów FastEthernet, łączna prędkość wyniesie 600 Mb/s. > >Założenie w swej koncepcji słuszne, ale, jak dowiesz się za chwilę, nie oznacza to, że uzyskana rzeczywista prędkość przesyłu danych odpowiada zawsze przepustowości łącza. > > **Rozłożenie obciążenia** - prowadzona komunikacja jest rozkładana na szereg łączy. Przy czym na uwadze należy mieć fakt, iż pojedyncza sesja jest prowadzona z wykorzystaniem tylko jednego łącza. Rozłożenia obciążenia w przypadku agregacji łącza nie można traktować jako sposób przesłania pakietów tworzących jedną sesję poprzez różne fizyczne zagregowane łącza przełącznika. > >Wyobraź sobie czytelniku autostradę, droga ta posiada szereg pasów prowadzących w jedną stronę. Autostrada pomieści większą liczbę samochodów, lecz każdy z pojazdów porusza się jednym pasem. > > Wracając do przykładu z agregacją 6 interfejsów FastEthernet, oznacza to, że pojedyncza sesja, pomimo wykorzystania łącza o przepustowości 600 Mb/s, będzie ograniczona do prędkości 100 Mb/s. > > **Większa dostępność oraz redundancja** - awaria łącza przypisanego do grupy nie powoduje wułączenia grupy; ruch sieciowy będzie nadal przekazywany. ### **16. Podaj główne przyczyny przejścia z adresacji klasowej na adresację bezklasową IPv4.** 1. Wyczerpywanie się adresów IP, duże zapotrzebowanie 2. Optymalizacja działania sieci, aby można było broadcastować do mniejszej liczby urządzeń 3. Problem z przydzielaniem wymaganego dla danej sieci zakresu adresów IP (przydzielało się za dużo lub za mało adresów, bo stałe zakresy) 4. Możliwe większe zapewnienie bezpieczeństwa 5. Szybki wzrost tablic routingu 6. Coś jeszcze ? ### **17. Dokonaj analizy różnych typów adresów w sieciach IP w ujęciu warstwowym (wskaż rolę i zakres zastosowania poszczególnych typów adresów).** ### **18. Scharakteryzuj protokoły warstwy transportowej UDP oraz TCP (wskaż ich podstawowe cechy funkcjonalne).** | Własność | TCP | UDP | | -------- | -------- | ----- | | Tryb | Połączeniowy | Bezpołączeniowy | | Suma kontrolna | Tak | Tak | | Narzut danych | Dużo dodatkowych pól nagłówka (min. wielkość 20B) | Minimalna ilość pól nagłówka (min. wielkość 8B) | | Szybka transmisja | Nie | Tak | | Zastosowania | Wszędzie gdzie potrzebna jest niezawodność | Gry online, streaming na żywo video, VOIP, DNS lub chcemy napisać własny mechanizm odpowiadający za np. potwierdzanie | | Kontrola łacza | Podlegamy takiej, możliwość ograniczenia prędkości | Brak ograniczeń | | Segmentacja, kontrola przepływu, duplikacja pakietów | Istnieje | Brak | | Retransmisja | Tak | Nie | |Zachowanie kolejności danych | Tak | Nie, zajmują się tym np. protokoły warstwy aplikacji | | Kontrola poprawności transmisji | Tak | Nie | | Potrzeba zestawienia połączenia | Tak | Nie | ### **19. Wskaż rolę wybranych pól w nagłówku segmentu TCP w sterowaniu interaktywnym i płynnym przekazem danych między systemami końcowymi (także z uwzględnieniem opcji).** To co niżej i FIN - zakończenie przekazu danych SYN - synchronizacja numerów sekwencyjnych Porty nadawcy, odbiorcy (16 bitów) - pododują, że kilka aplikacji może korzystać z przekazu TCP bez konfliktów między sobą, bo każdy działa na innym porcie. ### **20. Opisz podstawowe mechanizmy i algorytmy sterowania przepływem danych oraz przeciwdziałania przeciążeniom w warstwie transportowej (protokół TCP) w sieciach IP.** Sterowanie przepływem to odpowiednie zarządzanie dostarczaniem danych tak, aby dane nie zostały zgubione przez przepełnienie bufora TCP (protokół pozwala na przesłanie takiej ilości danych, jaka mieści się w buforze). Zapobiega przeładowaniu bufora hosta 'wolnego' przez host 'szybki'. W TCP jest coś takiego jak sliding window flow control. Polega to na tym, że odbiorca za każdym razem odsyła do nadawcy pakiet zawierający pola: * AckNo (32 bity oraz ustawiona flaga ACK): Informuje nadawcę o potwierdzeniu odebrania danego pakietu * Numer sekwencyjny - określa miejsce pakietu przed fragmentacją (pozwala na poskładanie danych w całość) * Szerokość okna (16 bitów) - określa ile danych będziemy w stanie przyjąć. Wartość powinna być nie za duża i nie za mała (wtedy nagłowki będą zajmować większość naszych danych). Gdy odbiorca wyśle 0, nadawca odczekuje dany czas. Gdy nie dostaniemy informacji o poszerzeniu okna, nadawca wysyła mały pakiet aby zapobiec zakleszczeniu * Wskaźnik priorytetu (16 bitów, flaga URG) - pozwala na kontrolowanie ważności pakietów Oprócz tego istnieją flagi umożlwiające wymuszenie przesłania lub zresetowanie wysyłania. Congestion Window - ilość danych, jaką można przesłać bez przeciążania bufora. Ustalanie tego przebiega w dwóch trybach. Slow start: * Za każdym odbiorem ACK zwiększami cwnd o 1 * Jak ACK potwierdza kilka segmentów to też Congestion Avoidance: * ssthreshold = adv_window * Teraz gdy przekroczymy Slow Start Threshold to zmieniamy cwnd według reguły: - cwnd = cwnd + <sup>1</sup>/<sub>[cwnd]</sub> , gdzie [cwnd] to największa liczba całkowita mniejsza od cwnd Zakładamy, że wystąpiło przeciążenie (tzn. otrzymaliśmy duplikaty ACK lub wystąpił timeout). Więc robimy tak: * cwnd = 1 i ssthreshold = cwnd/2 * Inicjacja slow start Gdy odbierzemy 3 ACK lub więcej, to możemy wykorzystać 2 podejścia: 1. Fast Retransmit (Tcp Tahoe): * podobnie jak przy timeoutcie 2. Fast Recovery (Tcp Reno): * Skoro odbiermy wiele ACK, czyli sieć jest drożna, dzieje się coś innego * Pomaga uniknąć procedury slow start * Retransmitujemy pakiet * ssthreshold /= 2 * cwnd = cwnd + [ilosc ACK, jaką otrzymaliśmy] * zwiększamy cwnd o 1 wraz z napływem kolejnych duplikatów * Gdy zaczną napływać nowe dane, cwnd=ssthreshold # Nowicki ### **1. Porównać obsługę multimediów token ring token bus.** Ethernet - beznadzieja, nie gwarantuje czasu dostarczenia danych, collsion detection powoduje, że ramki mogą zostać wysłane z opóźnienem. Dodatkowo, ramki są retransmitowane w przypadku niepowodzenia Wifi - to samo, a nawet i gorzej. Możliwa większa podatność na kolizcje Token ring i token bus gwarantuje deterministyczny czas otrzymania ramki. W token ring istnieje możliwość rezerwacji tokena W Token Bus następuje rezerwacja łącza według pierścienia od najwyższego do najniższego adresu mac W Token ring stacja gdy łącze jest wolne stacja może zarezerwować sobie prawo do łącza (pobiera tzw. ring) i oddaje kiedy skończy wysyłać dane Obie metody podane wyżej gwarantują że dostęp do łącza będzie miało tylko jedno urządzenia jednocześnie co zapobiegnie możliwości wystąpienia kolizji. Teoretycznie jeśli użyjemy Ethernetu, który używa full duplex sytuacja nie jest już taka zła. Tak samo jeśli założymy, że ruch będzie szedł tylko w jedną stronę tzn. będziemy odbierać multimedia ale nie będziemy nic wysyłać ### **2. Wady Tcp IP wynikające z budowy datagramu.** > do dokończenia * Zbędne pola wersji protokołu. Niepotrzebnie zajmują miejsce, 2 BITY * Trywialna suma kontrolna * TTL - podatny na modyfikacje na każdym etapie wysyłania takiego pakietu. Złośliwa stacja może np. zerować to pole * Adresy IP - W IPv4 jest to 2^32 * Zbędne pole options - niepotrzebne miejsce * Długość nagłówka * Numer identyfikacyjny * Padding - nagłówek musi być wielokrotnościa 32 bit ### **3. Wymienić rodzaje rekordów DNS i scharakteryzować je 2 zdaniami.** A - adres IP do któmirego dany adres na kierować AAAA - adres IPv6 MX - kieruje pocztę do danego serwera NS - Serwer nazw domeny CNAME - Alias, wskazanie na inną domenę. Często stosowany do przekierowywania np. strony www.wp.pl na wp.pl SOA - generalne informacje o domenie PTR - Służy tzw. reverse dns, czyli wyznaczanie adresu dns na podstawie adresu IP (Na Linuxie/Macu jak wpiszecie np. traceroute 8.8.8.8 to zobaczycie o co chodzi) HINFO - Informacje o sprzęcie obsługującym domenę. Często system operacyjny/cpu ### **4. Porównać sieci LAN i WAN.** | Cecha | LAN | WAN | | -------- | -------- | -------- | | Odległości | Małe | Duże/bardzo duże | | Podatność na błędy | Małe | Dużo większa | | Opóźnienia propagacyjne | Małe | Bardzo duże | | Struktura sieci | Przejrzysta | Wielu zarządzających, skomplikowana | | Algorytmy poprawiana błędów | Takie same | | | Medium transmisyjne (przewodowe) | Często Ethernet CAT.5 - CAT.7 | Światłowody jednomodowe, wielomodowe, często multipleksowane | | Przepustowość | Praktycznie każde nowe urządzenie 1 Gb/s | Nawet do 1 Tb/s | | Podatność na fizyczne uszkodzenia | Raczej niewielka | Spora, ze względu na odległości | | Uzyskiwana szybkość transmisji | Wyższa | Niższa | ### **5. Co to jest kodowanie xb/yb? Gdzie i po co się je stosuje?** xb/yb - kodowanie stosowane w światłowodach. Przykład 4b/5b. Oznacza to że ciąg dzielony jest na 4 bitowe fragmenty a każdemu z nich przypisujemy odpowiadający 5 bitowy ciąg. Wadą jest wysyłanie nadmiaru informacji, a więc zmniejszenie efektywnej przepustowości. Zalety: * Niedopuszczenie do wygaszania i przepalana światłowodu * Synchronizacja urządzeń. Urządzenie końcowe gdy odbiera same zera, nie wie czy występuje gdzieś błąd, czy to zamierzona informacja. Stosując te kodowanie na końcu zapali się jedyna * Synchronizacja urządzeń - urządzenia wiedzą że po zadanej próbie zer powino się spodziewać jedynki i na odwrót Przykład 8b/10b - każde 8 bitów = 10 bitów W każdym ciągu 4-6 jedynek 100 Mb/s 4b/5b 1 Gb/s 8b/10b 10 Gb/s i 40 Gb/s 64b/66b ### **6. Oznaczenia ze slajdu 41, w stylu S,L,E,R,W... nauczyć się ich. (np. 10GBASE-MW4 - 10 gigabit, warstwa podstawowa, laser odpowiedniej dlugosci, trybem kodowania, okreslona ilość kodów transmisji, czy dane rodzaje będą potrafiły się dogadać) - Standardy opisujące 10GbE** > S - krótki laser > L- długi laser > E - rozszerzony laser > X - kodowanie antyczne - stosowane 1 Gb/s ethernecie > W - * w ethernecie 10 Gb/s > Liczba - ilość torów transmisji //ZE SLAJDU S,L,E - długośc fali (short, long, extra-long) R,W - warstwa fizyczna (LAN PHY, WAN PHY) X,W - kodowanie (X-8b/10b, W-64b/66b) losowa liczba - liczba torów transmisji (transmisja równoległa) //TODO ### **7. Podaj różnice między mostem i przełącznikiem** //TODO więcej | Cecha | Bridge | Switch | | -------- | -------- | -------- | | Ilość portów | 2-16 | 48 portów to standard w sieciach średniej wielkości, może być sporo więcej | |Działa w warstwie|2|2/3| |Łączenie sieci|Odległe/lokalne|LAN| |Bezpieczeństwo|Zapewnia jedynie kontrolę ruchu, uczy się położenie w sieci|Można konfigurować VLANY, może filtrować wyższe warstwy| |Realizacja połączeń|Nie zapewnia transferu wieloma trasami jednocześnie|Pozwala na konfigurację zapasowych łączy| |Tablice adresów|Opierają się na warstwie MAC|Opierają się na warstwie MAC/Numerów portów| |Metody przełączania|STORE-AND-FORWARD|STORE-AND-FORWARD, CUT-THROUGH lub FRAGMENT-FREE| |Szybkość przełączania|W danym momencie jedna transmisja|Dużo szybciej od mostu, jest w stanie bardzo szybko przełączać| |Jest w stanie połączyć sieci różnych standardów|Tak|Tak| |Algorytm drzewa rozponającego|Realizuje|Może realizować| ### **8. Jak zapewnić niezawodność sieci? Podaj mechanizmy zwiększajace nieawodność sieci (np spanning tree, agregacja łączy, routing itd).** Spanning tree - Polega na wyłączeniu niekórych portów w przełączniku. Wybieramy korzeń według określonego kryterium i zostawiamy tylko połączenie z węzłem od którego otrzymaliśmy informacje o korzeniu. W razie awarii trzeba na nowo przebudować drzewa. Istnieje możlwiość nadawania priorytetów. Rapid spanning tree - szybszy sposób rozsyłania ramek. W razie awarii wybieramy następny węzeł o najniższym kosztem (nie trzeba przebudowywać) Łączy - Inteligenty przełącznik pozwala wykorzystać fakt posiadania wielu połączeń, zamiast za każdym razem blokować łącze. Do tego musi istnieć więcej niż jedna para urządzeń, bo dane pomiędzy pojedyńczymi węzłami nie są rozdzielane Sterowanie Źródłowe - nieużywana technika, wysyłamy wiadomości i przyjmujemy strategię połączenia jako drogę, od której wiadomość została najszybciej otrzymana Tego nie było w wykładach Routing - statyczny i dynamiczny, gdzie mamy możliwość stałego określania tras lub dostosowywanie się do obecnego stanu sieci. Możliwość bazowania na tzw. hopach (routing odległościowo-wektorowy) lub metrykach jak np. przepustosowość (routing stanu łącza). ### **9. Opisać i porównać tryby pracy i metody przełączania przełączników.** TRYBY przełączania: * STORE-AND-FORWARD - przed przesłaniem ramki, weryfikowana jest suma kontrolna CRC, musi czekać na całą ramkę. Minuesm jest, że ta weryfikacja zajmuje dużo czasu * CUT-THROUGH - Dokładnie odwrotnie, czyli nie sprawdzamy poprawności ramki tylko ją od razu przesyłamy * FRAGMENT-FREE - połączenie dwóch powyższych metod tzn. sprawdzane są tylko pierwsze 64 bajty ramki co pozwala wykryć kolizje i błędne ramki METODY PRZEŁĄCZANIA (mówią o tym co robić z wiadomością wysłaną pod nieznany adres): * Przełączanie przezroczyste - wiadomości wysyłane na wszystkie porty * Przełączenie ekspresowe - wiadomości wysyłane na określone porty, nie zalewa sieci ### **10. Kiedy warto stosować koncentratory** Wtedy kiedy obciążenie jest małe rzędu pojedynczych procent 1%, 2%, opóźnienia w sieci są rzędu mikrosekund, domena kolizyjna nie jest duża i nie zwiększy się zytnio ### **11. Ile jest rozwiązań Ethernet 10 Gb/s i które z nich dokładnie wyciągają 10 Gb/s. Jak faktycznie wygląda na przepustowość** //TODO Jest 7, żadne nie zapewnia ### **12. Opis jakości systemów i usług wg książki „Aplikacje i usługi a technologie sieciowe”** [Pełna notatka](https://hackmd.io/vUoJBcrFQ-iQIxZ5tXz-7Q) [TLDR](https://hackmd.io/xA_DAPgJQcqEuvkavK99vA) // to już trzeba samodzielnie przeanalizować, mnóstwo danych, praktycznie niemożliwe jest skrócenie tego do wypowiedzi na stronę A4 bez wyrzucania czegoś ważnego (prawdopodobnie wszystko jest ważne) # Dodatkowe notatki (głównie Nowicki) ### Klasyfikacja sieci ze względu na strukturę: * Hierarchiczne (lepsze, gdyż root wie co się dzieje w sieci) - nie potrafimy obecnie zbudować * Rozproszone (niezawodność lepsza) //TODO OPIS ### Techniki komutacji * Kanałów - wykorzystywany w telekomunikacji. Zestawianie połączenia między użytkownikami za pomocą kanałów. Nie można nawiązać dwóch połączeń jednocześnie. Warto stosować gdy mamy stałe natężenie ruchu * Pakietów (wiadomości) - kanały są zajmowane tylko w czasie rzeczywistego wysyłania wiadomości. Dodatkowo wiadomości mogą być chwilowo przechorywane w węźle. Przykład TCP, UDP. Warto stosować gdy mamy stosowane zmienne natężenie ruchu //TODO #### Pojęcia pakietu stosusjemy gdy mówimy o łączności bezpołączeniowem. W przeciwnym wypadku strumień, segment, ramka ### Dlaczego minimalna długość ramki to 64 a maksymalna 1518? Maksymalna: Socjologiczny powód: Ludzie zakładali że to będzie odpowiednia długość, żeby wysłać stronę tekstu Stopa błędów była 10^-8. Przyjęto że co 10000 ramka może byc retransmitowana. Obecenie stopa błędów 10^-14. Obecnie ze wzgledu na kompatybilność wsteczną tego nie zmieniono Minimalna: Powiązane z deteckcją kolizcji. Jak wysyłamy dane to badamy czy napięcie w trakcie wysyłania się zmienia. Jeśli tak to informujemy o kolizji, odczekujemy pewnien czas (z każdą próbą coraz większy) i retransmitujemy //todo ### Rodzaje kodowania w Ethernecie 10BASE-T (Base od baseband, T - Twisted (skrętka)): Kod Manchester (0, -2V) Jak chcemy przesłać 1 binarną to w pierwszej połówce sygnały wysyłamy niski stan, w drugiej wysoki. W przypadku 0. Gwarantuje to dużą odporność na zmiany prędkości transmisji, jednak potrzebuje dwa razy tyle pasma co kodowanie binarne (100 Mbps = 200 Mhz). MLT-3 (-1, 0, 1) - 3 stany, mniejsza częstotliwość, emituje mniej zakłóceń i wymaga mniejszej przepustowości łącza (100 Mbps = 37,5 Mhz). Kodowanie 4b/5b ![](https://i.imgur.com/kFJuVbc.png) PAM-5 (+2,+1,0,-1,-2V) = 1000 Mbps = 125 Mhz. W ethernecie 1 Gb/s używamy już 4 par do wysyłania/odbierania danych. Kodowanie 8b/10b PAM-16 - Ethernet 10 Gb/s. 16 stanów, różnica między nimi jest mała, karta sieciowa musi przeprowadzać operacje matematyczne na tych sygnałach aby wywnioskować do dokładnie przyszło. Kodowanie 64b/66b. Wymagana skrętka która obsłuży 500 Mhz ### Jeszcze raz o Token Ring Stacja wysyła na port zachodni. Na porcie wschodnim stacja przyjmuje, odkrywa że to nie do tej stacji, wzmacnia sygnał i odsyła dalej. Stacja która powinna odebrać wstawia 1 jako przeczytane i dalej wysyła na port zachodni. Informacja dochodzi do stacji która to wysłała i dzięki temu wie że informacja została odebrana #### Grzech pierworodny sieci - każdy może słyszeć wszystko, ramki nie są oznaczane kolejnością ### Różnice między kablem wielomodowym i jednomodowym ### Jakieś info o SONET, ATM ### Budowa ramki ethernet Preambuła 8 bajtów (niepotrzebna w światłowodach??). 6 bajtów do kogo i 6 bajtów od kogo, 46 pole rozmiaru danych, kilka bajtów danych, 4 bajty sumy kontrolnej, 12 bajtów wytłumiana sygnału ### Opóźnienia Regenrator: 100 ns Koncentrator: 10 us Most: 100 us Przełącznik: 10 us Router: 200 us ### Urządzenia Regeneratory: zwiększają domenę kolizyjną i rozgłoszeniową. Opóźnienia 100ns Koncentrator: wieloportowy regenerator. Opóźnienia 10us Most: stosujemy gdy obciążenie jest większe niż rząd pojedyńczych procent, potrafi łączyć urządzenia różnego typu, potrafi się uczyć położenia w sieci, zwiększa bezpieczeństwo, zwiększa szybkość jaką uzytkownik może posiadać Przełącznik: Potrafi regenrować sygnał, inaczej wielomost, do 256 portów, zrównolegla połączenia między urządzeniami, zmniejsza domenę kolizyjną Router: nie powiela ruchu rozgłoszeniowego, dzieli domenę rozgłoszeniową ### Jak kupić dobry przełącznik? Pamięć rzędu gigabajtów, w praktyce są rzędu megabajtów. Potrzebne aby buforować ruch Pamięci powinny być szybkie, SRAM biorą dużo prądu, więc i grzeją się Na wejściu każdego portu buduje się małą pamięć na ok. 100 ramek Fajnie jakby miał szybki procesor (musi szybciej przetwarzać bufor) Powinien mieć szeroką szynę danych (np. 1500 B) aby w jednym takcie mogł wysyłać wiele danych Powinien wspierać jak najwięcej standardów Powinien posiadać autodetekcję na portach Posiadać miejsce na wkładki + zróżnicowane porty, fajnie jakby posiadał jakiś port na długie dystanse np. światłowód Port zdublowany - wszystkie pakiety obsługiwane przez jeden port można kopiować na inny port, co pozwala monitorować pracę przełącznika. Przełącznik z takim portem jest nawet kilka razy droższy Przepustowość totalna więcej niż 128 Gb/s (szybkość portów x ilość portow x2) Pojemna tablica MAC. Przełącznik 38 portowy musi mięc minimum 38 * (6+1) bajtów Dobry przełącznik pozwala na kontrolowanie przepływu pakietów (sztuczne zmniejszane przepływu Jamming, kontrola przepływu na portach, agregacja łączy, ograniczenie ramek rozgłoszeniowych lub nawet konkretnych protokołów) Realizacja VLAN (nie można połączyć urządzeń w kilku vlanach jeśli robiym je po portach, jak używamy adresów mac to można, znakowanie ramek - 4k VLANów można utworzyć) Szybkie przetwarzanie ramek Powinien posiadać port SNTP - nie jest zalewany. Potrzebny w czasie awarii Pozwala na ochronę przed nieautoryzowanymi użytkownikami typy przełączników (ze względu na wewnętrzną budowę i związany z tym algorytm pracy) przełączniki oparte na: * współdzielonym medium, * budowie komutatora przestrzennego, * architekturze krzyżowej najpopularniejsza – wymaga wielu buforów przechowujących dane, występuje ryzyko utraty wiadomości (może wystąpic blokowanie ramek), * współdzielonej pamięci – składuje wiadomości w pamięci, jeżeli nastąpi przepełnienie użytkownik zostanie o tym poinformowany; wymaga ogromnych ilości SRAMu techniki buforowania: * buforowanie wejściowe * buforowanie wyjściowe - każdy port wyjściowy ma bufor. Eliminowane są zatory, ale może dojść do zawłaszczania przez stację mającą dużo do wysłania. Rozwiązaniem jest zastosowanie tylu buforów wyjściowych dla każdego portu wyjściowego ile jest portów wejściowych. * buforowanie ścieżki - każdy port wejściowy i wyjściowy jest wyposażony w bufor. Rozwiązanie to zwiększa opóźnienie ramek, podnosi koszty implementacji oraz sprawia, że wykorzystanie pamięci przypisanej na stałe do buforu jest nieefektywne ###### tags: `Sieci komputerowe PG`