Debskij
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # SK ## Wykład 1 (03.03.2021) ### Nic nie robi się na zawsze - cykl życia 1. Przygotowanie wstępne, analiza wymagań - wiemy że nie wiemy 2. Wybór rozwiązań i projektowanie - przygotowanie pierwszych rozwiązań, najlepiej pamiętając że świat nie stoi w miejscu 3. Implementacja 4. Uruchomienie i testowanie - mamy już pierwsze doświadczenia, na każdym etapie dostosowujemy 5. Optymalizacja - dostosowujemy się do zapotrzebowania. ![](https://i.imgur.com/w7jBAtK.png) Dobra sieć to taka która ma zapas *wszystkiego* (przestrzeni, łącza, danych) ### 1. Etap przygotowań wstępnych **1a. Analiza potrzeb użytkownika** - ważne jest szacowanie ruchu po inżynierskiemu (**WYMAGANE**). Zasada 80/20 mówiła że 80% jest związane z produkcją (w większości ruch wewnętrzny) a 20% to inne, ze względu na popularyzacje internetu to teraz 20% produkcja 80% na zewnątrz. Overprovisioning (?) musi byc przynajmniej czterokrotny. **1b. Inwentaryzacja** - opis wszystkiego co zastaliśmy w budynku, plany budynku, zestawienie urządzeń i zasoby ludzkie które również podlega różnym elementom projektowym. Mają największy potencjał bycia niewiadomą, np ludzie wyłamujący wtyczki od kabli sieciowych. Często właściciel woli estetyke niż faktyczną użyteczność, np gniazda sieciowe powinno podłączać się nad biurkiem ale estetyczniej jest schować je pod biurka. **1c. Rozpoznawanie ograniczeń** - Wynikające z prawa czy regulaminu. Przykładowo ograniczenia bhp czy inne normy które mówią jak chronić niektóre elementy albo w jakim miejscu można je umieszczać. Warte są tutaj względy natury estetycznej również. Warto również sprawdzić wpływ na istniejącą już sieć lub czy sieć która istnieje będzie miała wpływ na nasze rozwiązanie. Czy to w szpitalu aparatura medyczna czy to czujki alarmowe. Trzeba pamiętać o tym że jest tylko **JEDNO** pasmo IMS **1d. Definiowanie problemów** - klient nie wie co chce. Jest klientem biznesowym nie technicznym. Rzadko kiedy ma rozeznanie odnośnie aplikacji i usług informatycznych funkcjonujących w ramach firmy. Istotne są też zbyt duże oczekiwania w określonym budżecie albo nierealne technicznie. Ważne są też polityki bezpieczeństwa **1e. Wstępny raport** - Trzeba zrobić raport obejmujący wszystko co powyżej. Opis celu i zakresu projektu, założenia dotyczące sieci fizycznej i logicznej, wymagania dotyczące pomieszczeń ## Wykład 2 (10.03.2021) #### Poniższa sekcja nie została nigdzie wytłumaczona, bo pominął ją podczas wykładów (skończył wykład przed nią, a następny zaczął już slajd dalej). Można się tylko domyślać, że są to jakieś kryteria wg których szacuje się wymagania dotyczące konkretnych usług, które będą świadczone w sieci. ![](https://i.imgur.com/asKTO0Q.png) **MTBF** - Mean Time Before Failure (powinno być Between ale chuj XD) - średni czas między awariami **MTTR** - Mean Time To Repair - średni czas przywrócenia usługi **RTT** - Round Trip Time - opóźnienie transmisji **Jitter** - zmienność opóźnienia transmisji #### Tu już mówił normalnie ### Kluczowe punkty etapu wyboru rozwiązań i projektowania 1. Polityka bezpieczeństwa 2. Technologie, media transmisyjne i sprzęt 3. Topologia logiczna 4. Topologia fizyczna 5. Metoda połączenia z Internetem 6. Plan adresacji 7. Charakterystyka rozwiązań niezawodności, skalowalności, bezpieczeństwa i zarządzania Te punkty będą omawiane wraz z rozwojem wykładu i są w sumie listą rzeczy, któe muszą się znaleźć na naszym projekcie (XD). ### Etapy implementacji projektu 1. **Instalacja okablowania i sprzętu** * harmonogram dostaw, uzgodnienie terminów, instalacja (system kontroli, certyfikaty firmy instalacyjnej, gwarancja) * Uwaga do gwarancji: wszyscy producenci oferują pakiety około 25 lat gwarancji na sieć teleinformatyczną, pod warunkiem że używany jest osprzęt tylko tego producenta i instalacja jest realizowana przez firmę z certyfikatem producenta, oraz że na końcu zostaną przeprowadzone testy weryfikacyjne całej sieci 2. **Testowanie sieci i oprogramowania** * testy okablowania, testy wydajności sieci, testy poprawności działania aplikacji 3. **Dokumentacja powykonawcza** - bardzo ważna i często świadomie pomijana, przy rezygnacji z części wynagrodzenia - bez niej ciężko jest zarządzać siecią 4. **Szkolenia pracowników** - chodzi nie tylko o kulturę wykorzystania sprzętu, ale też o wprowadzenie do wszystkich funkcjonalności systemu/sieci Bardzo ważna w implementacji jest logistyka. Zgranie terminów jest kluczowe, zwłaszcza w kontekście otrzymywania uprawnień do instalacji w już istniejących budynkach. ### Technologie transmisji #### To jest przypomnienie najbardziej praktycznych informacji dotyczących technologi połączeń w sieciach. Było na poprzednich przedmiotach, ale tu jest fajnie zebrane do kupy. 1. Najpowszechniejszym połączeniem przy użyciu kabla miedzianego jest bez wątpienia **Ethernet** w różnych wariantach: * 100 Mbit/s * 1 Gbit/s * 10 Gbit/s (także 2.5 Gbit/s, 5 Gbit/s) * 100 Gbit/s Najpopularniejszy jest wciąż 1 Gbit/s. 2. **Sieci bezprzewodowe** (kiedyś określane literkami, teraz numerowane): * WIFI 4 - 802.11n do 600 Mbit/s * WIFI 5 - 802.11ac do 3.46 Bbit/s * WIFI 6 - 802.11ax do 9.6 Bbit/s * WIFI 7 - 802.11be > 30 Bbit/s * Pasmo IMS 2.4 GHz, 5 GHz Najpopularniejsza jest obecnie WIFI 5, ale standardem rynkowym jest teraz WIFI 6. Ważne, że obecnie każdy Access Point (nawet z Biedronki) jest przynajmniej WIFI 5, więc aby go w pełni wykorzystać, stosuje się w kartach sieciowych te nieokrągłe rozwiązania przewodowe (2.5 Gbit/s, 5 Gbit/s). 3. **Prywatne sieci LTE, 5G** Na innych przedmiotach nie było o tch technologiach. Są to wszystko rozwiązania, które można wykorzystać do utworzenia sieci prywatnych dla zamknietej jednostki, ale rozłożonej na dużym terenie (np. Stocznia Gdańska). 4. **xDSL, ADSL** - technologie realizacji połączeń sieciowych na parze drutów miedzianych Wykorzystanie dość starej już technologii, do realizacji taniego połączenia niedużych odległości. Przydatne też do realizacji połączenia w miejscu, w którym nie można położyć światłowodów (np. przez bardzo ruchliwą ulicę). Technologia ta wykorzystuje rozszerzone pasmo kabli telefonicznych: ADSL - 8/1 Mbps ADSL2(J) - 12/2.5 Mbps ADSL2+(M) - 24/3.3 Mbps ### Kategorie okablowania (ale też nie) 1. **Instalacje miedziane wg normy TIA/EIA-568-B** * Kat. 3 do 160 Mhz - 10 Mbps - nieużywana * Kat. 5E do 100 Mhz - 1 Gbps, do 90m - najpopularniejsza * Kat. 6 do 250 Mhz * Kat. 6A do 500 Mhz * Kat. 7 do 600 Mhz * Kat. 7A do 1000 Mhz Praktyka pokazuje, że bardzo opłaca się dobierać okablowanie kategorii wyższej niż potrzebujemy. Można wtedy wymienić tylko przełączniki i bez problemu przesiąść się na szybszy standard Ethernet, bez konieczności np. kucia ścian. Kable kategorii 7/7A są bardzo grube, drogie i niepraktyczne i nie mają żadnych zalet nad światłowodem. 2. **Instalacje światłowodowe** * Wielomodowe do 300 m * Jednomodowe do 10 km rdzeń światłowodu: * jednomodowe 10-125μm * wielomodowe 50-125μm Wady światłowodu: * koszt wkładki portu * skomplikowana obróbka Zalety światłowodu: * szybkość transmisji * wysoka odporność na zakłócenia ![](https://i.imgur.com/rLI09bP.png) Największą wadą światłowodu jest bardzo skomplikowana obróbka podczas wysyłania i odbioru. Ogólnie ten temat pominął. 3. **Instalacje bezprzewodowe** Oprócz oczywistych rozwiązań radiowych, są też rozwiązania optyczne bazujące na wiązkach laserowych. ![](https://i.imgur.com/Mlz9MIO.png) Wymaga to jedynie, aby dwa odbiorniki "widziały się" nawzajem. Daje to możliwość realizacji szybkiego połączenia bez żadnych zgód i bez konieczności budowania fizycznej infrastruktury. Warunki atmosferyczne podobno nie przeszkadzają w działaniu. ### Modemy kablowe EuroDOCSIS 3.0 Znakomita więszkość ludzi korzysta z połączeń telewizji analogowych, wykorzystywanych do celów transmisji internetu. Jest to wykorzystanie kabla koncentrycznego. Telewizja analogowa jest wykorzystywana coraz rzadziej, więc można te łącza wykorzystywać do przesyłu internetu. ![](https://i.imgur.com/n44lDQB.png) Kanały telewizji analogowej 8MHz (Europa) i 7 MHz (USA) Modulacja * QAM64 upstream * QAM256 downstream Prędkość pobierania to N * ~50 Mbps, gdzie N to ilość kanałów telewizyjnych które poświęcimy na transmisję internetu (minimum 4). Analogicznie prędkość przesyłania to M * ~27 Mbps, gdzie N to ilość kanałów telewizyjnych które poświęcimy na transmisję internetu (minimum 4). EuroDOCSIS 3.0 to był pierwszy powszechny standard, który jest ekstremalnie popularny. ### Modemy kablowe EuroDOCSIS 3.1 i 4.0 Współcześnie mamy nowsze standardy i to na nie przesiadają się telewizje kablowe. Wykorzystane jest całe pasmo. ![](https://i.imgur.com/zfVfFj4.png) DOCSIS 3.1 - 1 Gbps / 40 Mbps (10 Gbps / 1 Gbps) DOCSIS 4.0 - 10 Gbps / 6 Gbps DOCSIS 3.1 był małą porażką, bo prędkości nominalne były nierealizowalne i w praktyce stosowano mniejsze (te podane przed nawiasem). Ciekawostka - to jest sprzedawane przez UPC jako usługa Światłowód w domu, mimo że koło światłowodu nawet nie stało xD DOCSIS 4.0 obecnie własnie wchodzi do użytku. ## Wykład 3 (17.03.2021) #### Bardzo ważne Prawo Shannona-Hartleya: $C = B \log_{2}{(SNR + 1)}$ **To prawo mówi o tym, jaka jest teoretyczna maksymalna szybkość transmisji w dowolnym kanale.** $B$ - szerokość pasma. Maksymalna szybkość zależy liniowo od szerokości pasma, czyli im więcej MHz tym więcej Mb (mówiąc najprościej). $SNR$ - "jakość" kanału (stosunek sygnału do szumu). Maksymalna szybkość zależy logarytmicznie od jakości kanału, czyli poprawianie jakości, wcale nie poprawia liniowo szybkości transmisji. $1$ - ta jedynka mówi o tym, że nawet jeśli transmisja jest poniżej poziomu szumów, to wciąż jest ona możliwa do przeprowadzenia (nie pytajcie dlaczego xDD) i wykorzystuje się do transmisji kosmicznych i np. w wojsku. ![](https://i.imgur.com/uOcJrVb.png) Na tabelce wyżej widzimy porównanie różnych jakości transmisji (Przypomnienie: Decybel to jednostka logarytmiczna). **SNR 20dB** to łatwo osiągalny poziom stosunku sygnału do szumu, jednocześnie będący dalekim od ideału. Analogią tej jakości dla dźwięku są tanie gadające lalki i misie. **SNR 30dB** to bardzo dobra jakość. Analogia w dźwięku to rozmowa pary osób w cichym, ale nie idealnie cichym pomieszczeniu. **SNR 40dB** to jakość wręcz idealna, kiedy nie ma żadnych szumów i zakłóceń. Bardzo rzadko występuje w rzeczywistych systemach technicznych. Ta tabelka wyraźnie pokazuje, że zwiększanie jakości tylko delikatnie wpływa na skok szybkości transmisji (przejście z SNR 20db na SNR 40dB poprawia szybkość tylko ~dwukrotnie), podczas gdy zwiększenie szerokości pasma drastycznie wpływa na zmianę prędkości. Z tej tabelki można też wynieść sporo ciekawych obserwacji. Widać np. że WIFI ac ma odgórny limit prędkości 1,6Gbps dla transmisji SNR 30db, a wiemy że z takimi prędkościami są reklamowane. SNR 30db jest bardzo trudno osiągalne dla połączeń bezprzewodowych, więc w rzeczywistości na dystansach większych niż kilka metrów ciężko jest się nawet zbliżyć do tych "deklarowanych" prędkości. Widać też dlaczego nowsze generacje telefonii pracują na wyższych częstotliwościach. Chodzi o zapewnienie szerszego pasma i wraz z tym, szybszej transmisji. ### Projekt logiczny Projekt logiczny: 1. Określa funkcjonowanie sieci 2. Ułatwia stosowanie polityk bezpieczeństwa 3. Ułatwa zarządzanie siecią 4. Pozwala na ogólną charakterystykę planu adresacji 5. Opisuje struktury sieci VLAN Przeważnie jest obrazkiem, mającym na celu pokazać schemat połączeń. Hierarchia sieci: ![](https://i.imgur.com/r0q6lK5.png) Hierarchia może zawierać rozwiązania mające na celu wsparcie jakości (podwajanie połączeń między urządzeniami) i niezawodności sieci (podwajanie połączeń i agregacja routerów). #### Dalej podawał przykłady hierarchii sieci na przykładzie TASu - nie ma z tego żadnych sensownych informacji ## Wykład 4 (24.03.2021) #### Powrót do slajdu o hierarchii z poprzedniego wykładu Hierarchia sieci jest trójwarstwowa: * sieć szkieletowa - odpowiedzialna za łączność z innymi sieciami (internetem albo innymi oddziałami) * sieć dystybucyjna - zapewnia rozprowadzenie połączeń między wszystkimi elementami sieci * sieć dostępowa - sieć odpowiadająca za podłączenie urzędzeń końcowych ### Polityki adresacji w sieciach Polityka adresacji to przyjęta dla konkretnej sieci konwencja przydzielania adresów dla nowych urządzeń, w zależności od ich położenia i przeznaczenia. Wybrane rodzaje polityk adresacji: * **swobodna** * np: 10.0.0.0/8 * DHCP range 10.0.0.1 - 10.255.255.254 * nie przejmujemy się w tej polityce adresami, a ważne jest tylko żeby adres należał do głównej puli adresów - stosowana bardzo często w sieciach zarządzanych przez usługi DHCP * używa się w praktyce tylko do jednego zastosowania - do sieci o publicznym dostępie * **minimalistycznie systematyczna** * np: 10.0.0.0/24 * 10.0.0.1 - 10.0.0.19 - serwery * 10.0.0.21 - 10.0.0.199 - stacje robocze * 10.0.0.201 - 10.0.0.239 - drukarki * 10.0.0.241 - 10.0.0.254 - sprzęt sieciowy * ten przykład jest zły, bo zakresy są dziesiętne, co utrudni potem planowanie polityk bezpieczeństwa (bo do tego używa się masek bitowych) * dzielimy przesteń adresową na małe zakresy, z których każdy ma inne przeznaczenie * **hierarchicznie systematyczna** * np: 10.0.0.0/16 * 10.Oddział.Rodzaj.Numer * 10.2.1.15 Stacja robocza nr 15 w oddziale (podsieci) nr 2 * polityka w której też zakłada się zakresy, ale która daje duże możliwości skalowalności ### Polityka nazw urządzeń w sieciach Nazwy urządzeń też mają swoje konwencje. Mogą to być: * **swobodna** - dowolne nazwy urządzeń * **minimalistycznie systematyczna** - nazwy mające ze sobą pewne powiązanie, ale nie schematyczne (np. nazwy planet) - przeważnie niezalecana bo ogarniczona co do ilości * **tylko ip** - do opisywania urządzeń używa się nazwy postaci ip + domena * **systematyczna powiązana z adresacją** - bardzo popularna konwencja, w której nazywamy urządzenie fragmentem jego adresu ip, oraz jakimś prefixem opisującym jego rodzaj: np. knot9231, pc101 * **hierarchicznie systemowa** - nazwa urządzenia w sieci jest taka sama jak nazwa inwentaryzacyjna tego urządzenia ### Polityki nazw email w firmie Maile także mają swoje polityki nazewnictwa. Według prowadzącego nie ma tu akurat żadnego dobrego rozwiązania: * symboliczna - **s123456**@firma.edu.gov.pl * skrótowa - **janko**@firma.edu.gov.pl * pełna - **Jan.Kowalski**@firma.edu.gov.pl * pełna hierarchiczna - **Jan.Kowalski**@**biuro.gdansk**.firma.edu.gov.pl * funkcyjna - **sekretariat**@gdansk.firma.edu.pl #### Oprócz tego było tu bardzo dużo anegdot jak ważne są polityki adresowe i nazwowe w planowaniu sieci - bardzo zależy to od rodzaju podmiotu, który będzie korzystał z sieci. ## Wykład 5 (31.03.2021) ### Adresowanie bezklasowe CIDR Cisco zaproponowało odejście od idei klas (A, B, C) tylko adresowanie i zliczanie ilości hostów na podstawie maski. ![](https://i.imgur.com/aZXfmPR.png) Im bardziej pomniejszamy maske, tym więcej adresów marnujemy. Dla każdego podziału na podsieci tracimy 2 adresy (3 licząc z routerem). Trzeba ogarniać czy podany adres x mieści się w sieci y i czy jest broadcastowy. ***hehe będzie na wejściówkach*** W każdej sieci IPv6 identyfikator urządzenia to ostatnie 64 bity, więc każda podsieć klienta ma maske 32 bity. ![](https://i.imgur.com/P5sg2OC.png) ### Adresowanie dla osiedla Zawsze przy robieniu sieci należy zrobić dwa razy więcej adresów niż potrzebne w tym momencie. Jeżeli mamy 6 osiedli w których mamy maske 23 to: 1. zaokrąglamy ilość osiedli w góre do kolejnej potęgi dwójki. (8) 2. mnożymy dla bezpieczeństwa * 2 (16) 3. sprowadzamy do logarytmu aby dostosować do maski (4) 4. odejmujemy od maski osiedla 4 bity i zostaje 19 bitowa maska. Analogicznie dla IPv6 ![](https://i.imgur.com/il020Kh.png) ## Wykład 6 (07.04.2021) ### Architektury połączeń w sieciach W przypadku połączenia podwójnego, czyli wsadzeniu tego samego kabla w input i output zabijają całą sieć w labie bo zalewają broadcastami całą sieć. Port trunking polega na zwielokrotnieniu portu. Sieci korporacyjne biorą z tego dużo profitów, np. zwielokrotnienie niezawodności czy prędkości skoro wykorzystywane jest więcej portów. Standard połączenia trunkowego to LACP (Link Agregation Control Protocol czy też IEEE 802.3ad) ### Rozwiązania software (Linux kernel bonding) #### Active-backup Jednym łączem idzie wszystko, nadmiarowe łącza zapewniają aktywny backup (leci nimi to samo). Algorytm bezstanowy #### Round-robin Kolejna ramka przez kolejne łącza. Algorytm stanowy. Numer ramki modulo ilość łącza #### Xor srcMAC xor dstMAC mod IloscLaczy daje informacje którym łączem przesyłamy dane. Zwiększamy niezawodność i wydajność. Algorytm bezstanowy #### Broadcast Wszystko wysyłamy przez broadcasty. Zapychamy sieć, ale jest przynajmniej niezawodnie #### 802.3ad LACP Trunkowanie portów, często limit ilości możliwych do połączenia w jednym trunku portów jest zaszyty na chipsecie. ### STP/RSTP - (Rapid) Spanning Tree Protocol Algorytm zapobiegający powstawaniu pętli w połączeniach między przełącznikami. Jeżeli pojawia się połączenie to algorytm wyłącza owe porty. Na tcpdumpie będzie widać ramki które sprawdzają czy pętla się zamyka. Nie wiadomo który port zostanie zamknięty, ze względu na to że kolejność docierania ramek do algorytmu jest niedeterministyczna. Wadą algorytmu jest czas działania zwykłego STP (do 30s). RSTP to to samo tylko czas wymiany ramki to 1s więc co czas reakcji przy utworzeniu pętli to około 1s. Popularniejsze są rozwiązania NSTP czyli postrzeganie pętli nie per fizyczny port tylko per vlan, co pozwala na zwielokrotnienie przepustowości ![](https://i.imgur.com/yQc1Yjm.png) ### Stackowanie przełączników Ważne jest że są połączone nietypowym standardem w **pętle**. W ten sposób możemy zwiększyć praktycznie za darmo przepustowość. Trzeba pamiętać że te łącza są wielokrotnie szybsze niż porty z przodu. ![](https://i.imgur.com/i9WBsr5.png) Jedynym połączeniem które może występować w warstwie drugiej (przekazywanie ramek eth) to połączenia zaznaczone na czerwono (właśnie to stackowanie). Połączenia między switchami mają zapasowe łącze pozwalające na niezawodność. ![](https://i.imgur.com/hlOXVV2.png) W warstwie trzeciej (przekazywanie datagramów ip) przy wykorzystaniu tablic routingu nie korzystamy z drzew spinających bo dokładnie wiemy gdzie dany datagram ma trafić. Protokoły routingu w optymalny sposób wykorzystają połączenie. ![](https://i.imgur.com/H44LAwQ.png) ### Sieci korporacyjne a dostawcy W sieciach korporacyjnych są dwaj niezależni dostawcy internetu co pozwala na niezawodność. ISP1 i ISP2 to zewnętrzni dostawcy, my używamy routera który balansuje ruch i komunikuje się z LAN. Jednak to co na zdjęciu to bardzo naiwna konfiguracja. W real-shit korpo robi się tak jak po prawej, czyli routery monitorują wzajemnie swój "stan zdrowia". Jeżeli jeden się wywali to drugi przejmuje jego zadanie (VRRP Virtual Router Redundancy Protocol, clustering). Przy konfiguracji gatewaya, tworzy się wymyślony adres z wymyślonym MAC, tak aby algorytm VRRP sam balansował ruch. ![](https://i.imgur.com/ohFuJot.png)![](https://i.imgur.com/1ABRV8l.png) ## Wykład 7 (14.04.2021) ### Równoważenie obciążeń w praktyce (kontynuacja) Przy balansowaniu sieci mamy n adresów ip, przez co uwierzytelnianie może nie działać tak jak chcemy. Rozwiązaniem jest tzw. kolorowanie czyli przesyłanie datagramów konkretnego typu przez ten sam router. ![](https://i.imgur.com/V90GPPA.png) Czyli jeżeli logowanie poszło przez niebieski to cała komunikacja z zalogowanym serwisem idzie niebieskim łączem. Drugie rozwiązanie to hardcodowanie określonych zadań do określonych łącz. Pierwsze rozwiązanie jest trudniejsze w implementacji. Sprawdzenie czy router jest podłączony (tzn czy nie straciliśmy kontaktu) można sprawdzić czy dostajemy pingi od chmury. Przy tak ustawionym routingu jak na zdjęciu (8.8.8.8 na niebieskim, 8.8.4.4 na różowym) okresowo wysyłamy pinga na tamte dnsy, jeżeli wystąpi jakaś awaria to pingi okresowe z któregoś adresu przestaną wracać. Ważne jest aby sonda była poza siecią operatora. ### Topologia sieci Opis standardu w opisie (np. umieszczamy gniazda na jakiejś wysokości), dalej rysunki w których obrazujemy infrastrukture sieciową. Lokalizacja i sposób prowadzenia kabli. Liczy się długość magistrali i zakłada się maksymalną długość kabla dla każdego pomieszczenia. IDF to pośredni punkt dystrybucyjny (zaznaczony na żółto). ![](https://i.imgur.com/BeB6vr8.png) MDF to główny punkt dystrybucyjny, LDF to lokalny punkt dystrybucyjny. Gumiś uważa że LDF to gówno najgorsze wynikające ze złego projektu sieci. Przykładem słabego rozwiązania pt. LDF są te śmieszne skrzynki w wielu salach na starym ETI. POP to punkt dostępu do usługi czyli wejście do środka budynku od dostawcy łącza. Limit długości kabla miedzianego od magistrali do gniazda to 90 metrów (nie 100). Światłowód wielomodowy nie może przekroczyć 300 metrów. Chodzi o różnice dróg która rozmywa możliwość synchronizacji. ## Wykład 8 (21.04.2021) ### Główny punkt dystrybucyjny Znajdują się tam wszystkie kluczowe rzeczy w stylu jednostki obliczeniowej itp. Okablowanie pionowe nie musi być pionowe, tylko musi łączyć ze sobą punkty dystrybucyjne. Ruch tam może być bardzo duży bo jest to zagregowany ruch z punktów dostępu i z pozostałych pośrednich punktów dystrybucyjnych. Zazwyczaj ma o rząd wielkości większą przepustowość niż okablowanie poziome. Zazwyczaj okablowanie pionowe jest w układzie niepełnego mesha albo pierścienia, gwiazda nie jest ok. Okablowanie poziome kończy się na access poincie. ### Punkty dystrybucyjne * Szafy rack - miejsce w którym trzymamy sprzęt o standardowym 19 calowym rozstawie "łap". * Panele krosowe - miejsce w którym powinny kończyć się kable przychodzące do punktu dystrybucyjnego * Przełącznice - bardziej sprzęt telekomunikacyjny przeznaczony do łączenia paneli krosowych * Koncentratory - sprzęt warstwy pierwszej lub drugiej, to co zapewnia możliwość połączenia wielu gniazd do sieci * Routery - Charakterystyczny dla głównego punktu dystrybucyjnego, umożliwia połączenie z operatorem. Również stosowany jako media converter (np. swiatło do miedzi) * Media konwertery - umożliwiają operatorowi konwersje z doprowadzanego światłowodu do przewodów miedzianych Najważniejesze nie informatyczne rzeczy w serwerowni to klima i awaryjne zasilanie. Inne ważne ficzery to przestrzeń, podwyższona podłoga instalacyjna, ognioodporność, kontrola (ograniczenie) dostępu, zapas (najczęściej dwukrotny) wszystkiego na rozwój. ### WAŻNE GÓWNO. NA PAMIĘĆ 1. Jeden punkt dystrybucyjny na każde 1000 m^2 biurowca. 2. Jeden punkt dystrybucyjne na każde 90 m długości okablowania poziomego. Nie może być oddalone bardziej niż o te 90 m. 3. Jeden punkt dystrybucyjny na każde piętro (gdy zachodzi punkt poprzedni >90 m odległości). Często robi się jeden punkt dystrybucyjny na pare pięter bo przestrzeń droższa od kabla 4. Lokalizacja głównego punktu w okolicy Point of Presence czyli w miejscu fizycznego zakończenia kabla dostawcy usług 5. Każdy punkt dystrybucyjny musi mieć rozmiar przynajmniej 3x3.4m dla obszaru 1000m^2 i 3x2.2m dla 500m^2. Zalecany jest około 1% całkowitej powierzchni. 6. Należy zapewnić jedno gniazdo abonenckie na 6m^2. 7. Pomieszczenie dystrybucyjne nad poziomem gruntu. Bez okien. ## Wykład 9 (28.04.2021) ### Centra danych klasyfikacja Tier Komercyjna wprowadzona w latach 90. przez The Uptime Institute. Najlepszy Tier IV dla infrastruktury krytycznej, najgorszy Tier I. Większość data center dąży do Tier III. Druga klasyfikacja to wprowadzona przez Telecommunications Industry Association (norma TIA-942) - T1-T4. The Uptime Institute jest lepsze bo ma jaśniejsze wymagania na tiery. Pojawiła się propozycja żeby wprowadzić międzynarodowy ujednoliczony standard. Uogólnienie niektórych parametrów jest za duże, niektóre DC muszą spełniać wymagania które nie są dla nich istotne. Amerykańce klasyfikują kable, europejczycy klasyfikują całą sieć. Parametry które trzeba spełnić to: * Zarządzanie i operacyjność - kadry i organizacja pracy, szkolenia dla pracowników i dostawców. Jakie są procedury awaryjne, jak są planowane remonty i czy dostawcy mają świadomość co obsługują * Procedury odbioru budowy, cech budynku, zabezpieczenia fizyczne, opcjonalności infrastruktury, rozwiązania ułatwiające utrzymanie działania systemu. Przedewszystkim fizyczne zabezpieczenia dotyczące chociażby dostępu pracowników czy znajduje się w odpowiednim pomieszczeniu, czy nie znajdują się przypadkiem instalacje gazowe dookoła. Jakie były procedury odbioru budynku * Lokalizacja obiektu - ryzyka związane z naturalnymi kataklizmami, ryzyka związane z bliską działalnością ludzką. Tier spada jak DC stoi w obszarze powodziowym czy w okolicy autostrady albo fabryki amunicji. Wszędzie tam gdzie istnieje ryzyko dla funkcjonowania. Wymagane jest spełnienie wszystkich wymagań aby dostać cert danego tieru. Wymagania na tiery: 1. Infrastruktura centrum danych umieszczona w dedykowanym obszarze poza przestrzenią biurową. Brak redundancji. 2. Podstawowa redundancja (zdublowanie obwodów zasilania i klimatyzacji). System zasilania i chłodzenia posiadają redundantne komponenty 3. Brak wpływu zarządzania i wymiany komponentów infrastruktury na pracę systemu IT. Redundancja musi dotyczyć wszystkich istotnych komponentów. Nie może być pojedynczego punktu awarii. Wymaga wiele zmian w zarządzaniu i w rozwiązaniach organizacyjnych. 4. Odporność na pojedyncze, nieplanowane zdarzenia jak pożar, wyciek czy eksplozja. Infrastruktura odporna na awarie. Możliwe tylko gdy chmura prywatna, tzn cała infrastruktura zdublowana w innym budynku. ## Wykład 10 (05.05.2021) ### VPN i dostęp zdalny Porządne rozwiązanie to kupienie od operatora prywatnego VPN (lub ip-vpn). Gwarantuje nam to że jego sprzęt w prywatnej sieci zapewni nam prywatność w komunikacji poniędzy naszymi dwoma LAN. Jest to jedyne słuszne rozwiązanie ale nie zawsze możliwe. Parametry takich sieci to zmienność, dostępność i przepustowość. Jest to możliwe tylko gdy lokalizacje są stacjonarne. W przypadku kiedy np. jeździmy na targi albo praca wymaga przemieszczania musimy wykorzystać publiczny internet. Wadą jest to że nie gwarantuje nam ani jakości ani prywatności. Na poziomie warstwie 3 budujemy szyfrowany tunel którym ukrywamy ruch pomiędzy dwoma sieciami przed możliwością podejrzenia co płynie w tym tunelu. Uproszczeniem tego jest gdy klient jest pojedynczym użytkownikiem zdalnym i wtedy nie musimy nawet martwić się routingiem. Główną sztuką jest zapewnienie routingu w takiej sieci i zaszyfrowanie połączenia. ![](https://i.imgur.com/6AoSfSu.png) ### Połączenia VPN ![](https://i.imgur.com/392jnXj.png) Protokół GRE (ip proto 47) nie jest ani UDP ani TCP. Rozwiązania jak PPTP czy L2TP słabo działają w sieci publicznej bo to nie są ani UDP ani TCP ze względu na to że są na niestandardowych protokołach (ip proto 47, 50, 51). PPTP udostępnia tunelowanie bez szyfrowania co nie daje żadnego bezpieczeństwa. OpenVPN jest najpopularniejszym rozwiązaniem bazującym na OpenSSL. Ma naczelną zalete że zawsze działa, zawsze zawiera metode kryptograficzną. Wadą jest wydajność przy szybkich połączeniach. Rozwiązaniem z zamkniętym źródłem jest SSTP, czyli ruch który udaje ruch https. Ze względu na to że firewall nie odrzuca tych połączeń. Działa wszędzie ale tylko na windowsie. Działa na protokole tcp 443 z wykorzystaniem otwartej biblioteki TLS. Na lotniskach sprawdza sie jeszcze bardzo dobrze VPN over DNS bo internet tam jest płatny a odpytywanie DNS nie może być zamknięte. Wireguard jest w kernelu linuxa od 5.6.0. Źle radzi sobie z natem, musi mieć zapisane na sztywno adresy ip klientów. Zalety to opensource, jest prosty, stosuje tylko najnowsze metody kryptograficzne, zabrał najlepsze co bylo w OpenVPN kładąc przy tym olbrzymi nacisk na wydajność. Jedyny zarzut dotyczy prywatności ze względu na to przechowywanie adresów IP klientów. ### Dostęp zdalny #### Zdalny pulpit VNC ma problem z algorytmami optymalizacji przesyłania obrazów. Przesyła ekran jako bitmapy. RDP przesyła funkcje systemowe i dokonuje pewnej vektoryzacji tego co jest na ekranie. Zadowala się bardzo wolnymi połączeniami. Wadą jest ograniczenie do Windowsa. Microsoft ma marzenie żeby sprzedawać windowsa subskrybcyjnie i udostępniać przestrzeń w swojej azurowej chmurze. Tzn dają VM z windowsem a użytkownicy na byle czym mogą uzyskać dostęp przez RDP. #### Współdzielenie pulpitu Jakieś teamviewery, skype i inne udostępnianie ekranu na kiju. No i wiadmo, hamachi które przez przeglądarke zestawia VLAN bo jak inaczej zagrać w klocki online. ## Wykład 11 (12.05.2021) - Multimedia w sieciach są niezwykle potrzebne w szacunkach ### Ilość informacji Entropia - ile średnio potrzebujemy bitów informacji na przesłanie ASCII jest strasznie nadmiarowe kodowanie huffmann pozwala znaleźć optimum Miara entropii jest słaba do multimediów ### Dźwięk Duża rozpiętość dynamiczna Konwersja - 4 etapy konwersji 2 rodzaje kwantyzerów - liniowe/nieliniowe Twierdzenie o próbkowaniu - próbkować trzeba 2 razy szybciej niż największa częstotliwość w dźwięku W systemach połączeń głosowych jest bardzo mało - 8000 sampli/s badania były prowadzone na języku niemieckim - słaby język do takich badań Polski język jest słaby do rozróżnienia w takim próbkowaniu, trudno rozróżnić ojca od syna. Głosy brzmią podobnie Większość energii dzięku jest skupiona w niskich (chyba) częstotliwościach ### Kwantyzacja mniej więcej 6 dB na 1 bit kwantyzera Wprowadza się powszechnie kompresję, bo jednak dźwięk jest spory. Ilość informacji w samej treści mowy to ok. 50 b/s, a nie 1.5 mln, które ma dźwięk. Wzorzec jakości dźwięku z lat 90. to 1.4 Mb/s. Melomani chcą lepiej, bo 1% ludzkości słyszy niuanse. #### Rozpiętość dynamiczna dźwięków nie istnieje cisza - standardowa cisza to poziom koło 30 dB. Dyskomfort pojawia się przy 90 dB. są krzywe izofoniczne, zmieniają się z wiekiem. Warto wiedzieć, że to jest ważne w przypadku dzieci, bo mogą im pęknąć uszy na koncercie. Próg słyszalności zależy od częstotliwości. W zakresie czestotliwości niskich dźwięki muszą być głośnie, stąd koncerty są spoko, bo jest mocniejszy dźwięk i lepiej słychać. Kwantyzer liniowy - sygnał liniowy zostaje sprowadzony do poziomu kwantyzacji - liczb całkowitych. fala staje się kanciasta. Różnica między skwantyzowanym a nie to szum kwantyzacji - słychać go. Kwantyzacja nierównomierna - szum zależny od poziomu sygnału. Stosowane w telekomunikacji. Są 2 główne kodeki stosowane do tego. Kwantyzer równomierny - krzyk dobrze słychać, szeptanie czułych słówek niekoniecznie. ### Kompresja Standardowy koder sygnału mowy powoduje zakodowanie sygnału mowy z wykorzystaniem kwantyzera nierównomiernego 8000 próbek/s w strumieniu 64 kb/s. Można wykorzystać wiele zjawisk, aby obniżyć ilość potrzebnych informacji. Metoda matematyczna - zamiast kodować sygnał, lepiej kodować różnicę pomiędzy kolejnymi próbkami. Można by wymyślić metodę arytmetyczną - jakąś interpolację, która dodatkowo przewiduje, co może się pojawić, a kodować różnicę między rzeczywistym a przewidywanym - dokładna metoda. ADPCM. To dość drogie, bo obliczenia kosztują. Raczej używa się kodeka G.729 - również arytmetyczny. Z 64 kb/s zrobi zawsze 8 kb/s, niezależnie od rodzaju sygnału. Niektóre rzeczy wykrywają ciszę i generują w tym miejscu szum, bo inaczej człowiek doszedłby do wniosku, że nastąpiło rozłączenie. Metody arytmetyczne zabijają przesyłanie dźwięku. Do kodowania wykorzystuje się modele słuchy. MPEG nie kompresuje, tylko wyrzuca to, czego człowiek nie słyszy. Wykorzystuje się 3 mechanizmy: Opis slajdu z wykresem W pewnej chwili czasu wykonaliśmy analizę widmową. Sygnał składa się z 4 składowych. Najistotniejszy jest sygnał najsilniejszy - niebieski. Warto nałożyć na to prób słyszalności. Próg słyszalności - dźwięki o mocy niższej niż poziom słyszalności wywalamy. Maskowanie czasowe - jeżeli pojawi się sygnał o dużej amplitudzie, można narysować krzywą, która mówi - jeżeli jest sygnał mocniejszy obok, to tamtego i tak nie usłyszymy, więc wywalamy. Z wykresie pozostanie tylko 1 z czterech próbek. Maskowanie czasowe - pojawił się sygnał, chwile potem pojawił się mocniejszy sygnał, a potem znowu słabszy. Jeżeli pojawił się sygnał głośny zamaskuje sygnały potem, bo słuch będzie otępiony. Maskowanie działa również na sygnały, które już usłyszeliśmy, bo mózg zapomni, że słyszał słaby sygnał - zmysły tak działają. Można wyrzucać sygnały, bo i tak ich nie słyszymy. Opinia prowadzącego: MPEG słaby - "Jak ktoś walnie w kocioł, to zniknie flecik w tle" MPEG pozwala zastosować mniej więcej 12-krotną różnicę przy założeniu, że większość ludzi nie usłyszy różnicy. ### Kodowanie obrazu polega mniej więcej na tym samym. Są transformacje, które przetworzą obraz tak, aby zredukować rzeczy do zera. Stosuje się przetwarzanie zygzakowe, aby lepiej zera się tam ustawiały. Obraz jest normalnie tak wielki, że łohoho. Nie byłoby Netflixa, bo łacze by umarło. Poza tym YouTube i Netflix oszukują, bo 4K u nich to gówno, bo to nawet nie przekracza 5 Mb/s. ### Podsumowanie Niekompresowany sygnał mowy to 64 kb/s kompresowany to 8 Obraz: 5 Mb/s (FullHD YouTube, Netflix itp.) - żenująca jakość Dobra jakość - 20 Mb/s (HDTV) ## Wykład 12 (19.05.2021) ### Wirtualizacja Hypervisor typu 1 (bare metal) - środowisko tworzone wprost na sprzęcie. System operacyjny jest uruchamiany w środowisku wirtualnym. Nie emuluje się procesora. Natywna szybkość sprzętu, brak balastu w postaci systemu operacyjnego. Nie mylić z parawirtualizacją, która jest uświadamianiem maszynie że jest wirtualna, co pozwala na nieemulowanie sprzętu tylko korzystanie z udostępnionych przez sprzęt. Hypervisor typu 2 (hosted) - środowisko stworzone na systemie operacyjnym. Każda maszyna wirtualna ma swój system operacyjny, ze swoim storage który również jest zwirtualizowany. ![](https://i.imgur.com/KPT9Cmo.png) Przy para-virtualizacji nie robimy emulacji lokalnie co pozwala na przyspieszenie kosztem tego że przy migracji trzeba zmienić. Wirtualizować można nie tylko maszyny ale też aplikacje. Często urządzenia korzystające z jednej aplikacji nazywamy cienkim klientem czyli takim który wyświetla aplikacje uruchomioną w jakimś centrum obliczeniowym. Najlepiej sprawdza się kiedy nie chcemy ufać użytkownikom. ![](https://i.imgur.com/5Qqbjaf.png) Wirtualizacja sieci, zaletą jest to że maszyny wirtualne mogą się ze sobą komunikować szybciej niż prawdziwe interfejsy fizyczne. Istnieje również możliwość wirtualizacji switcha ![](https://i.imgur.com/U4bTbXP.png) ### Niezawodność składowania danych RAID 0 - n-krotnie szybciej, n-krotne większe ryzyko awarii RAID 1 - n-krotnie bezpieczniej, bez zmian w szybkości RAID 5 - (n-1)-krotnie szybciej, teoretycznie równie bezpiecznie, jednak spowaliamy aktualizacje danych, bo kosztuje nas to n odczytów i 2 zapisy zamiast pojedynczego zapisu i odczytu. Fatalny gdy często modyfikujemy dane. Nie mogą występować korporacyjnie bo dla dużych dysków może kosztować około 30 godzin czasu aby odnowić integralność systemu RAID 6 - podobne do raidu 5 ale nie jeden tylko dwa dyski są odpowiedzialne za parrity. RAID 10 jeżeli często modyfikujemy. ## Wykład 13 (26.05.2021) **Monitorowanie sieci** - polega na śledzeniu kluczowych parametrów oraz obiektów sieciowych. Jest to tzw. **monitorowanie pasywnse**. Jeżeli w wyniku monitorowania wpływamy wczasie rzeczywistym na urządzenia monitrowan w zależności od ich stanu, mówimy o **monitorowaniu aktywnym**. Narzędzia do monitorowania: - netsh, ip, ping, tracert, nslookup itd - wireshark - tcpdump - iperf / iptraf - nmap - ettercap - netstumbler - itd (reszta na slajdach) ### SNMP Do monitorowania używa się protokołu monitorowania sieci: SNMP **SNMP - SImple Network Monitoring Protocol** * Transmisja UDP port 161 (pułapki port 162) * Notacja ASN.1 * Są 3 wersje: * 1: community names, Get, GetNext, Set, Trap, Response * 2c: Community-names, Bulk, Inform * 3: Uwierzytelnianie, Szyfrowanie danych, Integralność danych SNMP operuje na zmiennych, które są aktywnie monitorowane. Do sterowania nie ma poleceń, a wszystkie jakieś operacje wykonuje się zmieniając stan zmiennej. ### Statystyki systemowe Poza protokołem SNMP, można też monitorować sieć korzystając ze statystyk gromadzonych w systemie. Linux: * System plików /proc * proc/meminfo * proc/net/dev Windows: * Rejestr systemu * WMI - Windows Management Instrumentation * Odczyt za pomocą języka WQL * \root\CIMV2\Win32_networkInterface Dane z tych statystyk pokrywają się bardzo często z danymi z SNMP, ale można dowiedzieć się więcej o danych specyficznych dla danego systemu. ### Narzędzia zewnętrzne do monitorowania sieci Te narzędzia dostępne są na darmowej licencji i służą do zbierania i prezentacji statystyk: * MRTG * RRDtool * Cacti * Nagios - tylko na Linux, bazuje na modułach (wtyczkach) * Zabbix W MRTG wymyślono ciekawy sposób na reprezentację danych. Próbki są zbierane powiedzmy co 5 minut i zbiera się je do prezentacji na wykresie. Gdyby jednak chcieć obejrzeć statystyki z całego tygodnia, wykres byłby zbyt długi (zbyt dużo próbek). Stosuje się więc rozwiązanie, w którym im dawniej była pobrana próbka, tym większy interwał między poprzednią. Jest to więc takie dynamiczne w czasie przerzedzanie: próbki z dnia poprzedniego oglądamy z odstępami co 30 minut, a próbki z tej godziny z najmniejszym interwałem - przykładowo 5 minut. ![](https://i.imgur.com/0ZJ6SXZ.png) ### Dokumentacja sieci Dokumentacja to kluczowy etap realizacji projektu sieci, bez którego nowi użytkownicy mogą mieć problemy z poprawnym jej wykorzystaniem. **WIKI Dokuwiki** to przykład narzędzia do sporządzania, aktualizacji i współdzielenia dokumentacji. ![](https://i.imgur.com/lEzx6JL.png) Ważna jest tez implementacja Help Deska! #### Inwentaryzacja sieci **OSC - Open Computer and Software Inventory** Narzędzie do inwentaryzacji konfiguracji sprzętowej i programowej komputerów i innych urządzeń infrastruktury sieciowej ![](https://i.imgur.com/zKDQhli.png) **GLPI - nazwa z francuskiego, więc wyje ba ne** Inne narzędzie do inwentaryzacji konfiguracji sprzętowej i programowej komputerów i innych urządzeń infrastruktury sieciowej ![](https://i.imgur.com/ZlJDZNd.png)

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully