Laboratorij za strojni vid, Fakulteta za elektrotehniko, Univerza v Ljubljani Komunikacije v Avtomatiki Vaje, Ura 8 Matej Kristan <matej.kristan@fe.uni-lj.si>
Vsebina današnjih vaj: ARP, NAT, ICMP 1. ARP 2. NAT 3. ICMP
IP ni ekvivalenten MAC! IP: 192.168.2.2 MAC: 00-21-6A-0F-5E-2E IP: 192.168.2.10 MAC: 00-21-6A-0F-4A-0F MACsrc, MACdst IPsrc, IPdst višji sloji+data IP MAC IP: 192.168.2.1 MAC: 0F-41-5A-0F-3E-0F IP: 212.235.186.174 MAC: 0F-41-5A-0F-3E-0F IP: 212.235.186.174 MAC: 0F-41-5A-0F-3E-0F
Naslov MAC in ARP 32-bit naslov IPv4: IP: 192.168.2.10 MAC: 00-21-6A-0F-4A-0F Naslov v Mrežnem Sloju Se uporablja za prenos datagrama v pravo IP podomrežje. MAC (ali LAN ali fizični ali Ethernet) naslov: funkcija: prenesi okvir z enega vmesnika na naslednji fizično-priklopljen vmesnik (znotraj istega podomrežja) 48 bit naslov MAC (pri večini LAN omrežji) Zapečen v vmesnikov ROM, včasih ga je možno tudi spremeniti. IP: 192.168.2.2 MAC: FF-21-6A-B3-4A-05 IP: 192.168.2.1 MAC: 0F-41-5A-0F-3E-0F IP: 212.235.186.174 MAC: 0B-1D-5A-05-2A-02 IP: 212.235.186.174 MAC: 0F-41-5A-0F-3E-0F
ARP: Address Resolution Protocol Q: Kako določiti naslov MAC naprave B, če poznamo samo njen naslov IP? Vsako vozlišče v LANU (klient,usmerjevalnik) ima ARP tabelo. 137.196.7.23 137.196.7.78 1A-2F-BB-76-09-AD 137.196.7.14 ARP tabela: preslikave IP/MAC za nekatera vozlišča na LANu. 71-65-F7-2B-08-53 137.196.7.88 LAN 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 < IP naslov; MAC naslov; TTL;if> TTL (Time To Live): čas po katerem bodo preslikave pozabljene (~20 min) Animirani primeri: http://pre.visualland.net/ Slika vzeta iz Kurose&Ross, Computer networking a top down approach
ARP (1/2): primer na istem podomrežju Vozlišče V1 se je ravno priklopilo v lokalno mrežo in želi poslati paket na V3. Opiši kako naprava uporabi ARP za ta namen. Napiši po potek časovnih korakih, skiciraj vsebino paketov, naslove, in napiši ARP tabelo pred in po poizvedbi.
ARP (2/2): primer na več podomrežjih Vozlišče V1 se je ravno priklopilo v lokalno mrežo in želi poslati paket na V3, ki se nahaja na drugem podomrežju (vmes je usmerjevalnik). Opiši kako naprava uporabi ARP za ta namen. Napiši po potek in spremembe ARP tabele.
ARP animacije Animacije ARP imate na naslovu: http://pre.visualland.net/ Animacija ARP pri usmerjevalniku: Primer, ko naprava pinga drugo napravo http://pre.visualland.net/view.php?cid=861&protocol=arp&title=5.%20arp-router%20gateway Ni čisto enako kot naš primer s paketom podatkov prvi pingi ne pridejo skozi usmerjevalnik.
NAT: Network Address Translation ostali internet lokalno omrežje (npr., domače) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 Vsi datagrami, ki zapuščajo lokalno omrežje imajo enako NAT IP številko: 138.76.29.7 (omrežni sloj), ampak različne številke portov (prenosni sloj) Datagrami z izvorom in ponorom v tem omrežju imajo oba naslova tipa 10.0.0/24 (kot ponavadi) En sam IP za vse Naprave na lokalni mreži niso direktno naslovljive Slika vzeta iz Kurose&Ross, Computer networking a top down approach
NAT: Network Address Translation 2: NAT router spremeni izvorni naslov datagramu iz 10.0.0.1, 3345 v 138.76.29.7, 5001 in posodobi tabelo 2 prevajalna tabela NAT WAN stran addr LAN stran addr 138.76.29.7, 5001 10.0.0.1, 3345 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 10.0.0.4 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 1: vozlišče 10.0.0.1 pošlje datagram v 128.119.40.186, 80 10.0.0.1 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: Odziv dest. address : 138.76.29.7, 5001 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 4: NAT usmerjevalnik 10.0.0.3 spremeni ponorni naslov datagrama iz 138.76.29.7, 5001 v 10.0.0.1, 3345
NAT: Network Address Translation 16-bitne številke portov prenosnega sloja: 60,000 hkratnih povezav preko enega samega LAN naslova! NAT kontroverznost: Usmerjevalniki naj bi procesirali samo do tretjega sloja (Omrežni) Krši transparentnost omrežnega sloja Možnost uporabe NAT morajo posebej upoštevati razvijalci apllikacij (npr., P2P) Pomanjkanje naslovov bi moral rešiti IPv6
Problemi s prehodom preko NAT vstopne točke Problem: zunanji klient se želi priklopiti na notranji strežnik z IP 10.0.0.1 Strežnikov naslov 10.0.0.1 je zgolj lokalen LAN (klient ga ne more uporabiti v destination addr ) Samo en zunanje viden NAT naslov: 138.76.29.7 Klient? 10.0.0.4 10.0.0.1 Rešitev 1: statično konfiguriraj NAT za dostavljanje zunanjih priklopov na določen port na notranji strežnik Port forwarding npr., (123.76.29.7, port 2500) bo usmerjevalnik vedno predal na (10.0.0.4, port 2500) Se spomnite starih Emule in Bittorrent? 138.76.29.7 NAT usmerjevalnik
Problemi s prehodom preko NAT vstopne točke Rešitev 2: Universal Plug and Play (UPnP) Internet Gateway Device (IGD) Protocol Omogoča vozlišču za NATom da: Ugotovi zunanjo številko IP (138.76.29.7) Doda/odstrani mapiranje portov (ureja najemni čas) IGD 10.0.0.4 138.76.29.7 NAT usmerjevalnik 10.0.0.1 Avtomatizira port forwarding
Problemi s prehodom preko NAT vstopne točke Rešitev 3: preusmerjanje (se uporablja v Skype) 1. Vozlišče za NATom se poveže na preusmerjevalnik (Skype relay) 2. Zunanji klient se tudi poveže na preusmerjevalnik 3. Preusmerjevalnik premosti obe povezavi (angl., bridging) Klient 2. povezavo na preusmerjevalnik sproži klient 3. preusmerjanje vzpostavljeno! 1. povezavo na preusmerjevalni k sproži vozlišče za NATom 138.76.29.7 NAT usmerjevalnik 10.0.0.1 4-14
ICMP Protokol, ki se nahaja tik nad IP (ICMP sporočila prenaša IP sloj) IP prenaša (TCP, UDP in ICMP paketke) Ping: v ICMP je značka, ki pove končnemu vozlišču naj odgovori z ICMP echo reply. Sporočila destination host unreachable ali zmanjšaj hitrost pošiljanja. S pomočjo ICMP lahko posledimo pot od našega vozlišča preko vseh usmerjevalnikov, do zadnjega usmerjevalnika.
Primer uporabe ICMP Traceroot http://www.osischool.com/tools/traceroute/basic Windows: tracert <naslov vozlišča>