Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
UNIX 13. Síťová komunikace
© Milan Keršláger 2018/7/5
2
Historie počítačových sítí
první pokusy dálkového spojení již 1940 ovládání kalkulátoru dálnopisem v USA (Stibitz) 60. léta → různé pokusy systémy podporující multitasking 1964 time-sharing systémy USA: Dartmouth – pro 300 studentů, Berkeley (Thompson) 1967 IBM: OS/360 s MFT řízení telefonní ústředny počítačem 1969 ARPANET – 50kbps 1975 – počátek vývoje TCP/IP 1983: ARPANET adoptoval TCP/IP (IPv4)
3
TCP/IP celá rodina protokolů základem je IPv4, dnes nástup IPv6
přenos pomocí datagramů („salámová metoda“) používání IP adres (např ) systém vrstev vrstvy nezávislé, zaměnitelné, snadnější implementace definována vzájemná komunikace vrstev (API) za přenos neodpovídá síť, ale koncové počítače zjednodušení propojovacích prvků sítě využívá se přepojování (přeposílání) datagramů
4
RFC Request Foc Comments neformální standardy pro Internet
též žertovná aprílová vydání vydává je RFC editor podle pokynů IAB označována vzestupnou řadou čísel (první 1969) již vydané se neruší, jen nahradí novějším RFC dostupné na nejprve je vydán draft (návrh) formulují experti na daný problém osvědčí-li se, dostane přiděleno číslo a je vydáno
5
Implementace 1983: BSD socket API
stalo se de fakto standardem pro síťové sokety socket() → vytvoření socketu bind() → připojení na lokální port (server) listen() → zahájení naslouchání (server) connect() → vytvoření nového spojení (klient) accept() → přijmutí příchozího spojení (server) send(), recv(), write(), read(), recvfrom(), sendto() close() → uzavření spojení gethostbyname(), gethostbyaddr() → převod IP – DNS pool() → kontrola stavu socketu select() → zjištění stavu více socketů (deskriptorů)
6
TCP/IP stack implementace umístěna v jádře OS
společný kód pro všechny aplikace snadněji se odstraňují chyby je možné centrálně opravit chybu, doplnit novou vlastnost např. DOS neměl, takže každá aplikace vlastní implem. velký rozsah řešených situací ne všechny stavy definovány (pomocí RFC) odchylky chování na nezvyklé situace → rozpoznání OS nástroj nmap umí odesílat a přijímat IP datagramy též zajišťuje vyšší vrstvy pro ICMP, UDP, TCP
7
Součásti TCP/IP ICMP signalizace a řízení sítě
povinná součást implementace TCP/IP UDP systém „otázka → odpověď“, bez záruk např. DNS, ale i VoIP (Skype & spol.) TCP zajišťuje nad „nespolehlivou“ sítí zaručený přenos tj. zachování pořadí, vyřešení ztrát a duplicit přenos ů, WWW, ...
8
Síťové rozhraní slouží k realizaci komunikačního rozhraní
určena IP adresa, maska sítě, MTU může být fyzické (síťová karta) nebo virtuální označeno názvem (eth0, eth1, wlan0, ...) obsluhováno jádrem (resp. TCP/IP stackem) konfigurace příkazem ifconfig ifconfig – výpis všech aktivovaných rozhraní ifconfig eth0 up (nebo down) ifconfig eth netmask
9
Příklad výpisu [rene@pitoma ~]$ LANG=C ifconfig
lo Link encap:Local Loopback inet addr: Mask: UP LOOPBACK RUNNING MTU: Metric:1 RX packets: errors:0 dropped:0 overruns:0 frame:0 TX packets: errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes: (13.1 MiB) TX bytes: (13.1 MiB) wlan0 Link encap:Ethernet HWaddr 00:1F:3B:58:43:EF inet addr: Bcast: Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets: errors:0 dropped:0 overruns:0 frame:0 TX packets: errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes: (24.8 MiB) TX bytes: (3.3 MiB)
10
Směrovací tabulka routing table definuje způsob odeslání IP datagramů
význam zejména u routerů (směrovačů) koncová stanice jen k rozlišení přímý soused (ve stejné podsíti) odeslání přes bránu, resp. router („do Internetu“) součást TCP/IP stacku route -n route add č.sítě netmask maska gw IPbrány route add default gw Ipbrány route del č.sítě netmask maska
11
Příklad výpisu [rene@pitoma ~]$ LANG=C route -n
Kernel IP routing table Destination Gateway Genmask Flag Metr Ref Use Iface U wlan0 UG wlan0
12
DNS Domain Name System hierarchický systém doménových jmen
převod doménové jméno → IP adresa (a zpět) na počítači knihovna → resolver viz dříve zméněné BSD socket API realizace DNS servery pro dotaz používáme co nejbližší → nižší latence využívá se cachování dotazů stanice musí znát IP adresu DNS serveru typicky 2 různé (jako záložní)
13
Resolver knihovna pro podporu DNS
převod doménové jméno → IP adresa (a zpět) tj. odeslání a příjem patřičného UDP datagramu viz zmíněné funkce gethostbyname()... nastavení uloženo v souboru /etc/resolv.conf nameserver nameserver domain mojedomena.cz search jinadomena.cz
14
Nastavení v počítači manuální všechny údaje do konfiguračních souborů
nastavení aktivováno při startu (skriptem) používá se typicky na serverech automatické rozhraní obsluhuje DHCP klient získá konfigurační informace z DHCP serveru typicky pro uživatelské stanice výhoda: nemusí se nikam nic zapisovat
15
Testování lokálně jen v rámci samotného počítače
test loopbacku a síťových rozhraní ve stejné podsíti schopnost komunikace s přímými sousedy bez zapojení routeru mimo podsíť kontakt s routerem a počítači za ním (Internet) test DNS
16
Příklady testů ping -n 127.0.0.1 ping -n 10.1.0.131 ping -n 10.1.0.130
ping seznam.cz seznam.cz telnet telnet seznam.cz 80 GET / HTTP/1.0 {Enter}
17
Poskytování služeb každá služba typicky vlastního démona WWW → httpd
FTP → vsftpd DNS → named DHCP → dhcpd Samba → smbd, nmbd atd. spouštěno pomocí skriptů /etc/init.d/httpd atd.
18
Firewall firewall filtruje datagramy
na vstupu, výstupu, procházející (router) akce: přijme, odmítne, zahodí firewall umístěn mezi aplikací a síťovým rozhraním v jádře (součást TCP/IP stacku) nebo formou aplikace nestavový posuzuje jednotlivé datagramy stavový posuzuje akci na základě předchozích součást TCP spojení, limit za jednotku času atd.
19
Firewall v Linuxu iptables implementováno jako součást TCP/IP stacku
dostatečně kvalitní, rozšiřitelný nastavování stejnojmenným příkazem nastavení z příkazového řádku též nastavování přes GUI rozhraní je to nestavový i stavový firewall je možno zapojit i externí aplikaci připravuje se náhrada sjednocení podpory IPv4, IPv6, bridge
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.