Počítačové sítě ve školách II. RNDr. Ing. Milan Šorm, Ph.D. Oddělení koncepce a vývoje ÚIKT
Obsah přednášky Druh komunikace v síti Linková vrstva Síťová vrstva IP sítě Směrování v IP sítích Transportní vrstva Firewalling, paketový filtr Návrh malé sítě
Druh komunikace v síti Unicast – komunikace dvou účastníků (vysílání k jednomu) Multicast – komunikace ve skupině (vysílání ke skupině příjemců) Broadcast – všesměrové vysílání (vysílání ke všem účastníkům) Nejběžnější formou komunikace je unicast
Způsob adresování Veřejné adresy – tyto adresy mohou být volně užívány a kombinovány v sítích Výrobci připravují své výrobky pro nasazení jako veřejné adresy Privátní adresy – slouží k budování domácích či podnikových sítí, nejsou určeny k přímému užití v Internetu Existuje tzv. překlad adres mezi oběma typy (tzv. NAT)
Linková vrstva Zajištění integrity toku dat mezi uzly sítě Řízení přenosu jednotlivých bloků dat po síti a jejich synchronizace – rámce Je možné ji realizovat i hardwarově Typickým představitelem např. protokol Ethernet (IEEE 802.x) Pro rozlišení počítačů je třeba zavést princip adresování – MAC
MAC adresa Pevná hardwarová adresa zařízení (portu), je nastavena již z výroby Někdy programově nastavitelná 6 bytů – první 3 byty určují výrobce Př C-7F-1D Broadcast adresa: FF-FF-FF-FF-FF-FF Multicast adresa: nastaven bit 01 v 1. byte Privátní adresa: nastaven bit 02 v 1. byte
Podoba jednoho rámce Cílová adresa (6 bytů) Zdrojová adresa (6 bytů) Délka (2 byty) Data (46 až 1500 bytů) FCS (4 byty)
Volný režim linkové vrstvy Standardně přijímá síťové zařízení na linkové vrstvě jen rámce s vlastní adresou v cílové adrese (unicast) Podporován je též příjem multicast či broadcast provozu na síťové zařízení Nastavením zařízení do volného režimu (promiscuit) přijímáme všechny rámce ze sítě (směrování, kontrolní činnost …)
Síťová vrstva Linková vrstva dokáže zajistit komunikaci v rámci lokální sítě (např. každý s každým na principu CSMA/CD) Pro rozsáhlejší síť je třeba zavést logické adresování stanic (MAC adresy špatně zapamatovatelné a netvoří skupiny) Pro propojování jednotlivých sítí je nutné definovat směrování (přenos mezi sítěmi)
IP adresa Nejznámější síťovou adresou dneška je IP adresa (verze IPv4, IPv6) – dále IPv4 IP adresa má 4 byty a je nastavitelná lokálně pro konkrétní síťové zařízení Platí princip prefixu – jednotlivé logické skupiny mají společnou levou část adresy Je možné mít pro jedno zařízení více IP adres (virtuální adresace) Běžná práce s privátními adresami
Adresování sítí Adresa sítě (network) Adresa zařízení (host) Obecné dělení celková délka 32 bitů (4 byty), dělení obecně kdekoliv Adresa sítě (network) Adresa zařízení (host) Vytvoření podsítě každé zavedení podsítě snižuje počet zařízení v dané podsíti Adresa podsítě (subnet)
Adresování sítí Adresa sítě (network) 0………….0 Adresa sítě (network address) místo adresy konkrétního zařízení jsou samé 0 1…………..1 Síťová maska (network mask) slouží k rozlišení jednotlivých IP adres v různých sítích udává se často také jako počet bitů obsahující 1 0………….0
Adresování sítí Adresa sítě (network) 1………….1 Všesměrová vysílací adresa (broadcast) místo adresy konkrétního zařízení jsou samé 1 Díky existenci adresy sítě a všesměrové vysílací adresy je prostor pro zařízení vždy o 2 adresy menší než teoretický prostor všech kombinací
Velikost sítě Konkrétní síť se zapisuje dvěma tvary: – adresa sítě/síťová maska – adresa sítě/počet bitů síťové adresy Počet bitů síťové adresy … n Počet bitů pro rozlišení zařízení … 32-n Počet možných kombinací … 2 32-n Dvě adresy speciální … 2 32-n – 2 To představuje právě velikost sítě
Praktické výpočty s IP adresami Pro definici směrování, tvorbu podsítí a pro definici pravidel pro firewally je nutné ovládnout výpočty s IP adresami Základní výpočty: – velikost sítě – rozdělení sítě na podsítě o dané kapacitě – dopočítání chybějících údajů z neúplného zadání (zejména stanovení broadcast adr.)
Přenos na síťové vrstvě Přenos probíhá v blocích – paketech Paket je zabalen uvnitř přenosového rámce linkové vrstvy pro transport místní sítí (užití ISO/OSI modelu) Zařízení, které předává pakety do sousední sítě, se nazývá směrovač (router) a pracuje ve volném režimu Každý účastník komunikace podporuje alespoň základní směrování paketu
Podoba IP paketu Cílová adresa Zdrojová adresa Volitelné údaje a prázdná výplň Data VerzeIHLToSCelková délka IdentifikaceFPFragment TTLProtokolKontrolní součet hlavičky
Přenos paketu Pomocí identifikace lze určovat, který paket je který (rozlišovací číslo) – neslouží k řízení toku, ale k řízení fragmentace Každý paket může být v síti rozložen na fragmenty v závislosti na tzv. MTU (maximální přenosové rychlosti média) FP určuje, zda smí dojít k fragmentaci a zda se jedná již o poslední fragment
Životnost paketu a cyklení TTL (time to live) definuje maximální dobu života paketu (obvykle 255) Každý směrovač má za úkol snížit TTL o jedničku (transparentní směrovače toto nedělají) Pokud TTL klesne na 0, paket je zahozen V případě cyklení dojde k poklesu TTL a zastavení cyklení zahozením paketu
ARP protokol Musí existovat způsob převodu MAC adresy na IP adresu a opačně O tyto záležitosti se stará ARP protokol Udržuje tzv. ARP cache s informacemi, kdo je kdo na lokální síti Vlastní MAC adresy pro IP požadavky zjišťuje všesměrovým vysíláním na linkové vrstvě
Zvláštní ARP funkce Tzv. proxy ARP umožňuje, aby se jeden stroj vydával v síti za jiný, pokud shromažďuje IP pakety pro jiný počítač (např. umístěný za PtP spojením) Reverzní ARP umožňuje počítači, který dosud nemá přidělenou IP adresu (dynamické přidělování) vysílat se svou MAC adresou a žádat všesměrovým vysíláním o přidělení IP adresy
Oddělení síťového provozu Je třeba si uvědomit, že směrovač je zařízení síťové vrstvy Na této vrstvě nedochází k propagaci všesměrového vysílání linkové vrstvy Směrovače proto oddělují provozy jednotlivých místních sítí a také jednotlivé ARP prostory Reverzní ARP nemůže projít přes směrovač bez další pomoci (cache, proxy)
Směrování provozu Základním směrováním je přiřazení síťové adresy a síťové masky konkrétním síťovým zařízením (slouží pro určení, jak dosáhnout blízké cíle) Směrování do vzdálenějších sítí lze provést pomocí tzv. bran (gateway) Příslušná brána musí být blízkým cílem Jedna brána je implicitní pro nespecifikovaný provoz (default gateway)
Směrování koncové stanice Směrujeme vždy nejprve místní síť na místním síťovém zařízení Každá místní síť musí obsahovat bránu připojující koncovou stanici k podnikové či domácí síti Implicitní bránu (default gateway) určíme jako tuto bránu v místní síti Toto jednoduché nastavení lze definovat dynamicky
Podnikový směrovač Vyžaduje nejprve definici všech přímo připojených sítí ke konkrétním síťovým zařízením Dále vyžaduje definici všech ostatních podnikových sítí přes brány připojené do blízkých sítí (mohou to být jen další směrovače na cestě do takové sítě) Vyžaduje rovněž implicitní bránu směrem ven z podnikové sítě
Směrování rozsáhlých sítí Pro velké podnikové a metropolitní sítě jsou určeny dynamické směrovací protokoly Tyto protokoly určují nastavení jednotlivých směrovačů a mohou se dynamicky měnit podle stavu sítě Nejběžnější protokoly: RIP, OSPF2, BGP4
Páteřní směrovač ISP Nepoužívá pro směrování IP vrstvu (příliš mnoho adres sítí, pokud by nebylo možné užít implicitní bránu) Příliš časté změny velkého rozsahu Používá systém Autonomních systémů Řeší se jen směrování na hranicích těchto AS (tzv. border gateway) AS jsou očíslovány a přiděleny ISP
Směrování mezi AS Každý hraniční směrovač zná svou síť a používá standardní IP techniku směrování Každý hraniční směrovač ví, které IP sítě patří do kterého autonomního systému Tato konfigurace se do AS směrovačů přenáší centrálně pomocí směrovacích protokolů (BGP4)
Druhy IP provozu Na síťové vrstvě nelze zajistit souvislý datový tok (pakety na sebe nenavazují, pouze jejich fragmenty jsou uspořádávány) Síťová vrstva také nezajišťuje potvrzení doručení paketu (paket mohl být ztracen) Hledáme analogie klasických typů komunikace až na transportní vrstvě
Spojovaný provoz Spojovaný provoz nazýváme proudem (stream) a představuje std. formu online komunikace Každý paket je potvrzován a zatřizován do určitého pořadí (kontrolují se duplicity, ztráty, pořadí) Představuje komunikaci „trubkou“ či „kanálem“ – podobně jako telefonní hovor TCP spojení
Nespojovaný provoz Nespojovaný provoz nazýváme vysíláním (datagram) a představuje std. formu pro offline komunikaci Zdroj neví o cíli Jednotlivé datagramy nelze zatřizovat, mohou se ztrácet či duplikovat Odpovídá vysílání např. televize nebo zasílání dopisu poštou UDP provoz
Spojení O spojení dvou koncových bodů můžeme hovořit prakticky jen u spojovaného provozu Vytvořením dvou komunikačních kanálů můžeme zajistit oboustranné spojení (full duplex) Oboustranné spojení je nejčastější forma komunikace na Internetu
Zavedení portů Aby mohla komunikace probíhat současně mezi více aplikacemi, je třeba rozlišit na zdrojové i cílové straně jednotlivé účastníky komunikace detailně Pro každou stranu vytváříme očíslované porty, které mohou být použity pro komunikaci Kombinace IP adresa a port vytváří jednoznačný socket (koncovka)
Vyhrazené porty Porty s adresou menší než 1024 jsou vyhrazeny pro tzv. obecně známé služby (well known services) a jejich užívání by mělo být řízeno správcem OS Běžná čísla serverových portů (portů na straně volaného) jsou sumarizována v Internetových standardech (např. 80 je HTTP, 22 je SSH, 110 je POP3 apod.) Pozor na kombinace portu a druhu provozu (53/tcp, 53/udp pro DNS apod.)
Princip spojovaného přenosu TCP protokol obsahuje nástroje pro zajištění přenosu paketů mezi dvěma body Cílové uspořádání se řídí podle přiděleného sekvenčního čísla paketu Ztráty paketu řeší potvrzování jednotlivých paketů Duplicity a ztráty mohou být eliminovány řízením rychlosti přenosu tzv. oknem
Navázání spojení Při navázání spojení je třeba vytvořit oboustranně důvěryhodné spojení Používá se algoritmus tzv. třícestného handshaku Každý TCP paket má v hlavičce řady bitů sloužících pro zahajování, potvrzování a rušení spojení Jejich kombinací je vytvořeno spojení
Třícestný handshake
Ukončování spojení
Řízení vlastního přenosu V navázaném spojení je třeba každý paket potvrdit v následující odpovědi Odpověď sama může nést další data, která nám musí protistrana také potvrdit Pokud by data nebyla potvrzena v určitém čase, jsou vyslána znova (a považována za ztracená) Nad daty je počítán na oboustranách checksum
Technika regulace provozu Klient odesílá data, odešle 1, 2 a 3. Poté obdrží od serveru potvrzení 4, které potvrzuje 1 a 2. Klient odesílá 5, 6 a 7. Jenže server data mezitím nedokázal zpracovat a data mu zaplnila vyrovnávací paměť, proto 8 sice potvrdí příjem 3, 5, 6 a 7, ale zároveň klientovi uzavře okno, tj. klient nemůže s odesíláním dat pokračovat. Poté co server zpracuje část dat (2 KiB), tak umožní klientovi pokračovat v odesílání, ale neotevře mu 9 okno celé – pouze 2 KiB, protože všechna data ve vyrovnávací paměti ještě nezpracoval a pro více dat nemá místo.
Podoba TCP paketu Cílový port Zdrojový port Volitelné položky TCP záhlaví a prázdná výplň Data IHL Ukazatel naléhavých dat Délka okna (window size) Sekvenční pořadové číslo odesílaného bajtu (sequence) Potvrzovací pořadové číslo přijímaného bajtu (acknowledgment) Rezerva URGURG Kontrolní TCP checksum ACKACK PSHPSH RSTRST SYNSYN FINFIN
Nespojovaná služba UDP vysílání je vhodné na služby, kde není třeba zajistit 100% doručení všech dat, nezáleží příliš na pořadí a duplikátech Příkladem může být internetové rádio Pořadí a duplikáty lze řešit přidáním sekvenčního čísla do aplikačního protokolu Menší režie pro vysílající stranu než TCP
Podoba UDP paketu Cílový port Zdrojový port Data Délka paketuKontrolní UDP checksum 3216
Firewalling Na síťové a transportní vrstvě provádíme obvykle základní ochranu sítě před nebezpečným či nechtěným provozem Firewall je zařízení, které omezuje provoz na síti podle zvolených pravidel Na linkové, síťové a transportní vrstvě se užívá paketový filtr (jeden z druhů možných firewallů) Ne každý provoz lze filtrovat tímto způsobem (viz aplikační gateway)
Paketový filtr Paketový filtr definuje sadu pravidel pro jednotlivé oblasti firewallu Každé pravidlo může provést nad provozem specifickou činnost (povolení, zakázání, přesměrování, logování aj.) Pokud žádné pravidlo nevyhoví, je v dané oblasti aplikována standardní bezpečnostní politika organizace
Základní druhy politik Politika represivní (zásahová) – implicitně je vše povoleno – při výskytu problému je zasáhnuto a je provedena patřičná represe – vhodné nejvýše pro odchozí provoz Politika prevenční (restriktivní) – co není povoleno je zakázáno – vhodné nejméně pro příchozí provoz – ani tak neposkytuje 100% ochranu
Základní oblasti firewallu INPUT … příjem dat pro lokální počítač OUTPUT … generování dat z lokálního počítače FORWARD … data směrovaná uvnitř počítače na jiný počítač PREROUTING … ovlivnění příchozích dat POSTROUTING … ovlivnění odchozích dat
Závěr Děkuji za pozornost. Dotazy?