protokol ip in dhcp - machine vision laboratory...protokol ip in dhcp komunikacije v avtomatiki {...

6
Protokol IP in DHCP Komunikacije v avtomatiki – Laboratorijske Vaje 11. november 2013 Povzetek V tej nalogi se boste ukvarjali za analizo protokola IP in njegovega podpornega protokola DHCP. Naloge so razdeljene v veˇ c segmentov, vsak segment vsebuje nekaj vpraˇ sanj. Na ta vpraˇ sanja odgovorite, in jih zapiˇ site v dokument (npr., uporabite MS Word). Da boste laˇ zje argumentirali svoje odgovore, naredite izrise Wiresharka (angl., print screen), iz katerih so raz- vidni podatki, ki ste jih uporabili za odgovor, in jih priloˇ zite v dokument. Nekateri deli te vaje ˇ crpajo iz knjige Computer Networks – A top down approach [1], ki je na voljo tudi v fakul- tetni knjiˇ znici, ter prosojnic s predavanj prof. Stanislava Kovaˇ ciˇ ca. Snov za te vaje najdete v knjigi [1] v poglavjih 1.4.3 ter 3.4. Ker se doloˇ ceni deli vaje dotikajo podrobnosti delovanja protokola, spodbujamo uporabo literature na spletu za iskanje odgovorov. S predavanj veste, da pakete IP imenujemo datagrami. V nalogi bomo uporabljali to izrazoslovje. 1 ˇ Stevilke IP, podmreˇ zja in mreˇ zne maske Najprej reˇ site nalogo z doloˇ cevanjem mreˇ znih ˇ stevilk in nastavljanjem mreˇ znih mask. Slika 1 prikazuje sistem podomreˇ zji. Vsaka podmreˇ za A-D vsebuje najveˇ c 28 vozliˇ c, podmreˇ za E pove- zuje usmerjevalnika R 1 in R 2 . Doloˇ cite CIDR mreˇ zne maske petim podmreˇ zam (tipa x.y.z.w/a). Katero CIDR predpono usmerjevalnik R 1 oglaˇ suje v javno omreˇ zje? 2 Traceroute in zajem podatkov V tej laboratorijski vaji boste morali generirati razliˇ cne IP datagrame in jih poslati preko mreˇ znega vmesnika. V ta namen bomo demonstrirali uporabo programa Traceroute 1 , ki omogoˇ ca poˇ siljanje IP datagramov specifiˇ cni napravi X. Traceroute deluje tako, da najprej odda enega ali veˇ c IP datagramov, katerim nastavi znaˇ cko TTL (time-to-live) na 1; nato poˇ slje veˇ c datagra- mov z znaˇ cko TTL=2, TTL=3 in tako naprej. Ti datagrami so pravzaprav ping paketki, torej, paketki tipa ”ICMP echo request ”, ki naslovniku sporoˇ cajo, naj se odzove tako, da nazaj poˇ slje 1 Glejte, na primer, http://en.wikipedia.org/wiki/Traceroute Slika 1: Primer sistema podomreˇ zji. Slika je povzeta po [1]. 1

Upload: others

Post on 08-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Protokol IP in DHCP - Machine Vision Laboratory...Protokol IP in DHCP Komunikacije v avtomatiki { Laboratorijske Vaje 11. november 2013 Povzetek V tej nalogi se boste ukvarjali za

Protokol IP in DHCP

Komunikacije v avtomatiki – Laboratorijske Vaje

11. november 2013

Povzetek

V tej nalogi se boste ukvarjali za analizo protokola IP in njegovega podpornega protokolaDHCP. Naloge so razdeljene v vec segmentov, vsak segment vsebuje nekaj vprasanj. Na tavprasanja odgovorite, in jih zapisite v dokument (npr., uporabite MS Word). Da boste lazjeargumentirali svoje odgovore, naredite izrise Wiresharka (angl., print screen), iz katerih so raz-vidni podatki, ki ste jih uporabili za odgovor, in jih prilozite v dokument. Nekateri deli te vajecrpajo iz knjige Computer Networks – A top down approach [1], ki je na voljo tudi v fakul-tetni knjiznici, ter prosojnic s predavanj prof. Stanislava Kovacica. Snov za te vaje najdete vknjigi [1] v poglavjih 1.4.3 ter 3.4. Ker se doloceni deli vaje dotikajo podrobnosti delovanjaprotokola, spodbujamo uporabo literature na spletu za iskanje odgovorov. S predavanj veste, dapakete IP imenujemo datagrami. V nalogi bomo uporabljali to izrazoslovje.

1 Stevilke IP, podmrezja in mrezne maske

Najprej resite nalogo z dolocevanjem mreznih stevilk in nastavljanjem mreznih mask. Slika 1prikazuje sistem podomrezji. Vsaka podmreza A-D vsebuje najvec 28 vozlisc, podmreza E pove-zuje usmerjevalnika R1 in R2. Dolocite CIDR mrezne maske petim podmrezam (tipa x.y.z.w/a).Katero CIDR predpono usmerjevalnik R1 oglasuje v javno omrezje?

2 Traceroute in zajem podatkov

V tej laboratorijski vaji boste morali generirati razlicne IP datagrame in jih poslati prekomreznega vmesnika. V ta namen bomo demonstrirali uporabo programa Traceroute1, ki omogocaposiljanje IP datagramov specificni napravi X. Traceroute deluje tako, da najprej odda enegaali vec IP datagramov, katerim nastavi znacko TTL (time-to-live) na 1; nato poslje vec datagra-mov z znacko TTL=2, TTL=3 in tako naprej. Ti datagrami so pravzaprav ping paketki, torej,paketki tipa ”ICMP echo request”, ki naslovniku sporocajo, naj se odzove tako, da nazaj poslje

1Glejte, na primer, http://en.wikipedia.org/wiki/Traceroute

Slika 1: Primer sistema podomrezji. Slika je povzeta po [1].

1

Page 2: Protokol IP in DHCP - Machine Vision Laboratory...Protokol IP in DHCP Komunikacije v avtomatiki { Laboratorijske Vaje 11. november 2013 Povzetek V tej nalogi se boste ukvarjali za

isti paket. Ena od lastnosti usmerjevalnikov je ta, da vsakemu paketu, ki ga posredujejo, najprejznizajo vrednost TTL za ena (po RFC 791 mora usmerjevalnik znizati TTL za vsaj ena), in vprimeru, da postane TTL=0, paket zavrzejo. Zavrnitev paketa nato sporocijo izvornemu naslovutako, da mu posljejo paket ICMP tipa 11 (ttl exceeded). S tem preprecimo, da bi paketki plavalipo mrezi v nedogled. Kot rezultat bo usmerjevalnik, ki je za en hop oddaljen od posiljatelja,prejel prvi paket s TTL=1, ga zavrnil, in poslal posiljatelju ICMP sporocilo ”ttl exceeded”.Enako bo datagram s TTL=2 povzrocil na za dva hopa oddaljenem usmerjevalniku nastaneksporocila ICMP in tako naprej. S takim postopkom lahko posiljatelj, ki uporablja Traceroute,izve identitete vseh usmerjevalnikov na poti do naslovnika preprosto tako, da pogleda izvornostevilko prispelih datagramov ICMP s ”ttl exceeded”. V nadaljevanju bomo uporabili programTraceroute za posiljanje datagramov razlicnih velikosti.

Program Traceroute zazenete iz ukazne vrstice, oziroma iz terminala. Format klica je nasle-dnji

traceroute -I -N 1 -z 1 -q 3 [naslov_IP_naprave] [dolzina_paketov]

Namesto IP naslova (npr. 8.8.8.8) lahko podate tudi ime IP naprave oziroma streznika (npr.www.google.com). Parameter [dolzina_paketov] doloca, kako velike pakete bo Tracerouteposiljal iz vasega racunalnika, in je izrazen v bajtih. Privzeta vrednost je odvisna od omreznegavmesnika in parametrov povezave, s katero je vas racunalnik povezan v IP omrezje. Bodite zelopozorni kaj ta stevilka pomeni. Dolzina pomeni dolzino celega IP datagrama: dolzino IP glave+ dolzino podatkov. Podatki so v nasem primeru cel paket ICMP!

Ostali parametri programa Traceroute v zgornjem primeru imajo naslednji pomen: -I po-meni, da bo Traceroute posiljal ICMP paketke (moznosti sta se -U za UDP in -T za TCP),-N 1 doloca, naj posilja paketke zaporedoma (brez tega parametra bo posiljal veliko kolicinopaketkov vzporedno, delovanje bo hitrejse, a lahko se zgodi, da vas kaksno vozlisce na poti docilja zacne ignorirati, in vam ne vrne ICMP paketka ttl exceeded, in vasi zajem ne bi bil popoln.To se sicer se vedno lahko zgodi, a ce omrezja ne zasuvamo s paketki prehitro, je za to precejmanj moznosti. Parameter -z 1 doloca, da med posiljanjem paketkov caka eno sekundo, razlogipa so enaki kot za parameter -N 1. Parameter -q 3 pa doloci, da vsako zahtevo ponovi trikrat,saj se lahko ali vasi paketki ali pa odgovori nanje po poti preprosto izgubijo.

2.1 Preizkusite program Traceroute

Izberite velikost datagrama 56 bajtov, in preizkusite s programom Traceroute naciljati naslovwww.google.com:

traceroute -I -N 1 -z 1 -q 3 www.gooogle.com 56

Ce ste vse izvedli pravilno, bi morali videti sliko podobno Sliki 2. Program vam izpise vsaimena usmerjevalnikov na poti do www.google.com, oziroma, njihove stevilke IP, desno od njihpa case odzivov ustreznega usmerjevalnika skupaj s standardno deviacijo meritve. Vcasih lahkopri teh meritvah naletite na navidez cudne pojave: cas potovanja paketa do prvega usmerjeval-nika je lahko daljsi od potovanja nekega drugega paketa do na primer osmega usmerjevalnika.Razlog je v tem, da smo meritev za prvi usmerjevalnik dobili preko prvega poslanega paketa (sTTL=1), meritev za osmi pa preko kasnejsega paketa (s TTL=8). Medtem se je lahko prometv mrezi spremenil, spremenile so se zakasnitve in v tem primeru so se zakasnitve znizale, medizvajanjem meritev za osmi usmerjevalnik. Rezultat je v tem, da je prvi usmerjevalnik porabilvec casa za prejem prvega paketa in njegovo procesiranje, kot celotna pot kasnejsega paketa doosmega usmerjevalnika (skupaj s casom za procesiranje na osmem usmerjevalniku).

2.2 Priprava eksperimenta

Sedaj, ko poznate Traceroute, in razumete njegovo delovanje, se lahko lotimo eksperimentaz Wiresharkom. V eksperimentu bomo posiljali razlicno velike datagrame in jih spremljali zWiresharkom. Nekateri datagrami bodo vecji od najvecje mozne dolzine paketa IP, kar nam

2

Page 3: Protokol IP in DHCP - Machine Vision Laboratory...Protokol IP in DHCP Komunikacije v avtomatiki { Laboratorijske Vaje 11. november 2013 Povzetek V tej nalogi se boste ukvarjali za

(a) (b)

Slika 2: Primer izpisa programa Traceroute (a) in primer Wiresharka z urejenimi paketi ICMP (b).

bo omogocalo analizo fragmentacije v protokolu IP. Zazenite Wireshark in aktivirajte zajempaketov preko aktivnega mreznega vmesnika. Medtem, ko Wireshark zajema promet, ponoviteeksperiment s Traceroute s ciljnim naslovom www.google.com. Ko Traceroute konca, ponoviteeksperiment se z 2000 bajti velikimi IP datagrami in nato s 3500 bajti velikimi datagrami. Ko seTraceroute se zadnjic konca, ustavite zajem podatkov v Wiresharku. Wiresharkov izpis paketovspravite na disk, da boste lahko z nalogo nadaljevali tudi doma.

2.3 Analiza zajetih podatkov

V Wiresharkovem izpisu bi zdaj morali videti mnozico sporocil tipa ICMP echo request (ce biTraceroute zagnali s parametrom -U ali pa brez parametra -I, bi videli UDP segmente), ki jihje poslal vas racunalnik, ter prejete pakete ICMP ttl exceeded. V Wiresharkov filter vpisite icmp

za boljsi pregled.

1. Postavite se na prvi ICMP echo request, ki ga je poslal vas racunalnik in v srednjem oknuWiresharka razsirite zavihek za Internet Protocol. Kaksen je naslov IP vasega racunalnikain pod katero znacko ste ga odcitali?

2. V glavi IP preberite znacko, ki vam pove, kateri protokol visjega sloja nosi IP datagram.Kateri protokol ustreza vrednosti te znacke?

3. Koliko bajtov je dolga glava IP datagrama? Koliko bajtov zavzamejo podatki (angl. pay-load) v IP datagramu?

4. Kaj predstavlja znacka Total length? Ce za vas paket poznate vrednost Total length,kako bi iz tega izracunali koliko bajtov so dolgi podatki v IP datagramu?

5. Z analizo znack v Flags preverite ali je bil ta paket fragmentiran. Razlozite pomen trehznack, ki jih najdete v Flags (lahko si pomagate, na primer z Wikipedijo ali s stranjo http:

//www.cs.rpi.edu/academics/courses/spring06/netprog/c04.html).

Sedaj uredite vse pakete v Wiresharku po izvornem naslovu IP. To storite tako, da z miskokliknete na ime source v zgornjem oknu Wiresharka. Ce v polju puscica kaze navzgor, kliknite seenkrat, da bo kazala navzdol. Ce ste vse storili prav, potem vas Wireshark izgleda podobno kotv Sliki 2b. Postavite se na prvi ICMP echo request paket, ki ste ga poslali iz vasega racunalnikana www.google.com.

6. Za naslednjih pet paketov si izpisite polja: izvorno stevilko IP, ponorno stevilko IP, Iden-tification, Total length in Time to live. Razlozite njihov pomen in njihove vrednosti.

2.4 Fragmentacija v IP

Ker se bomo v tej podnalogi ukvarjali z analizo fragmentacije v IP, naprej v Wiresharku spreme-nimo nastavitve tako, da bomo prikazovali tudi fragmentirane pakete IP. Najprej izbrisite filtericmp v Wiresharku s pritiskom na gumb clear poleg polja s filtri. Nato v Edit→Preferences→Protocols→IPv4

3

Page 4: Protokol IP in DHCP - Machine Vision Laboratory...Protokol IP in DHCP Komunikacije v avtomatiki { Laboratorijske Vaje 11. november 2013 Povzetek V tej nalogi se boste ukvarjali za

izklopite vse kljukice razen pri Support packet-capture from IP TSO-enabled hardware, in pri-tisnite OK. Izklopite prikaz protokola ICMP tako, da v Analyze→Enabled protocols izklopitekljukico ob ICMP in kliknite OK. V polje s filtri vpisite ip. Sedaj vidite IPv4 datagrame, ki jihje poslal Tracerizte, med njimi pa IP datagrame, ki so jih posiljali ter prejemali drugi procesi zvasega racunalnika.

1. Premaknite se navzdol po spisku paketov in poiscite prvega od paketov, ki jih je Tracerouteposlal in so bili fragmentirani. Paket boste prepoznali kot zaporedje dveh IPv4 paketov.Za ta dva paketa izpisite vrednosti naslednjih znack: izvorni naslov IP, ponorni naslov IP,Header Length, Total length, Identification, Flags, in dolzino podatkov v paketu. Razlozitevrednost znacke Identification pri obeh datagramih.

2. Veste, da ste Traceroute nastavili vrednost IP datagrama na 2000. Ali je ta vrednost enakavsoti bajtov v podatkih zgornjih fragmentiranih paketov? Razlozite svoj odgovor.

3. Sedaj poiscite fragmentirane IP datagrame, ki ustrezajo paketu ICMP echo request veli-kosti 3500, ki ste ga poslali s Traceroute. Koliko fragmentov je nastalo iz tega datagrama?

4. Recimo, da nam Ethernet omejuje velikost IP datagrama na 1500 bajtov. Nas sistemtvori IP datagram, ki je velik 4000 bajtov, z izvorno stevilko IP1 in ponorno stevilkoIP2 . Koliko fragmentiranih IP datagramov bo tvorila fragmentacija? Za vsakega napisitenjegovo dolzino, izvorno in ponorno IP stevilko, znacko Identification, znacko Flags inznacko Total length.

3 IP in protokol DHCP

V tem delu naloge si boste na kratko pogledali delovanje protokola DHCP. O protokolu DHCPsi lahko preberete na prosojnicah prof. Stanislava Kovacica ali pa v knjigi [1] v poglavju 4.4.2.Spomnite se, da je naloga protokola DHCP dinamicno dodeljevanje stevilke IP napravam, ki sevklapljajo v mrezo, kakor tudi konfiguracija nekaterih drugih parametrov mreze.

Pomembno. Protokol DHCP je najlazje testirati tako, da dejansko spreminja IP naslovvasega racunalnika. Pod operacijskim sistemom Windows lahko to vajo izvedete s pomocjo ukazaipconfig, in sicer tako da mu podate parameter /renew ali /release (torej ipconfig /renew

in ipconfig /release). To lahko poskusite doma, vendar pazite, da na koncu ne boste ostalibrez omrezne povezljivosti – po koncu taksnega eksperimenta boste morali se enkrat nastavitiparametre omrezne povezave.

Zato, da racunalnikov na vajah ne bi pustili brez omrezne povezljivosti, bomo uporabilitestno verzijo DHCP odjemalca, programcek dhtest. Ta program izvede enake operacije, kotbi jih izvedel vas racunalnik, ce bi zelel od DHCP streznika dobiti IP naslov, vendar pa ostanedejanski IP naslov racunalnika nespremenjen, namesto tega pa se rezultati komunikacije z DHCPstreznikom shranijo v tekstno datoteko, ki jo lahko pregledate. Vajo bomo zato zastavili nanaslednji nacin:

• Najprej odprite terminal, da pridete do komandne vrstice – ce ga ze nimate odprtega izprejsnje vaje.

• Pozenite ukaz ifconfig in v izpisu najdite ime vasega omreznega vmesnika (mrezne kar-tice) in njegov Ethernet (MAC) naslov.

• Zazenite zajemanje podatkov z Wiresharkom.

• Sedaj se vrnite v terminal in izvedite naslednje zaporedje ukazov:

1. dhtest -V -i [omrezni_vmesnik] -m [Ethernet naslov]. S tem bo vas racunalnikpoiskal DHCP streznik, in od njega dobil IP naslov ter nekaj ostalih podatkov, ter jihzapisal v datoteko, katere ime je enako Ethernet naslovu vase kartice.

2. dhtest -V -i [omrezni_vmesnik] -m [Ethernet naslov] --release. S tem bovas racunalnik strezniku sporocil, da IP naslova ne potrebuje vec, datoteka s podatkio IP nastavitvah pa bo izginila.

• Ko se zadnji ukaz v konzoli izvrsi, ustavite zajem paketov v Wiresharku. Izpis paketov izWiresharka shranite na disk, da boste lahko z nalogo nadaljevali tudi doma.

4

Page 5: Protokol IP in DHCP - Machine Vision Laboratory...Protokol IP in DHCP Komunikacije v avtomatiki { Laboratorijske Vaje 11. november 2013 Povzetek V tej nalogi se boste ukvarjali za

Slika 3: Primer Wiresharka z urejenimi paketi protokola DHCP.

Postavite se v Wireshark in njegov filter nastavite na bootp (protokol DHCP je izpeljankanjegovega predhodnika BOOTP). Ce ste postopek izvedli pravilno, bi moral vas Wiresharkizgledati podobno kot Slika 3. Iz te slike vidimo, da je prvi ukaz dhtest povzrocil prve stiripaketke: DHCP discover, DHCP offer, DHCP request in DHCP ACK. Odgovorite na spodnjavprasanja.

1. S pregledom znack v paketih preverite ali so sporocila DHCP poslana preko UDP data-gramov ali preko TCP segmentov.

2. Skicirajte casovni potek posiljanja paketkov med vasim racunalnikom in streznikom DHCPza prve stiri izmenjane paketke. Za vsak paket si izpisite izvorno in ponorno stevilko porta.Ali so te stevike tudi v splosnem take za katerikoli DHCP klient in streznik?

3. Spomnite se na Ethernet naslov vase vase mrezne kartice. Kje ga najdete v zajetih podat-kih?

4. Izpisite vrednosti Transaction-ID za vsako od stirih DHCP sporocil (Discover/Offer/Request/ACKDHCP). Kaj je namen stevilke Transaction-ID?

5. Klient uporablja DHCP zato, da med drugim pridobi stevilko IP. Vendar je stevilka IPpotrjena sele na koncu izmenjave stirih sporocil. Torej, ce klient dobi svojo stevilko IP selena koncu izmenjave, pred izmenjavo pa niti ne pozna stevilko IP DHCP streznika, katerestevilke potem uporablja med procesom komunikacije s streznikom? Za vsako od stirihsporocil (Discover/Offer/Request/ACK DHCP) napisite izvorno in ponorno stevilko IP.

6. Katera stevilka IP pripada vasemu DHCP strezniku?

7. Katero stevilko IP vam streznik nudi v paketu DHCP offer? Prilozite izpis iz Wiresharka,ki prikazuje te podatke.

8. Razlozite namen znack router in subnet mask v paketu DHCP offer.

9. V primeru v Sliki 3 klient zahteva stevilko IP, ki mi jo je ponudil DHCP streznik. Kaj sedogaja v vasem primeru?

10. Razlozite namen najemnjega casa (angl., lease time). Kako dolg je ta cas v vasem experi-mentu?

5

Page 6: Protokol IP in DHCP - Machine Vision Laboratory...Protokol IP in DHCP Komunikacije v avtomatiki { Laboratorijske Vaje 11. november 2013 Povzetek V tej nalogi se boste ukvarjali za

11. Kaj je namen sporocila DHCP release? Ali DHCP streznik poslje potrdilo na klientovosporocilo DHCP release? Kaj bi se zgodilo, ce bi se sporocilo DHCP release izgubilo napoti in ne bi nikoli prispelo do DHCP streznika?

12. Podatke, ki ste jih pridobili s pomocjo Wiresharka, primerjajte s tistimi, ki jih je izpisalprogramcek

Literatura

[1] J.F. Kurose and K.W Ross, Computer networking – a top-down approach, Addison Wesley,2009.

6