You are on page 1of 2

Računalne mreže 1: laboratorijska vježba 5

==========================================

Zadatak 1
---------

Iskoristite 4 FastUDPSource s proizvoljnim parametrima za generiranje paketa i


povežite ih na InputSwitch na kojem postavite da se propuštaju samo paketi
primljeni na posljednjem ulazu. Provjerite UDP zaglavlje, a zatim provjerite
duljinu paketa i odbacite pakete dulje od 500 bajta. Spremite pakete u
zadatak1.pcap.

...emacs -nw mojrouter.click


click mojrouter.click

Zadatak 2
---------

Provjeru u prethodnom zadatku izvedite pomoću elementa koji ćete sami definirati.

Zadatak 3
---------

Iskoristite InfiniteSource za generiranje 5000 paketa. Napravite triplikaciju


generiranih paketa. Na prvoj kopiji od tri provjerite IP zaglavlje i spremite je u
zadatak2a.pcap, na drugoj ne provjeravajte ništa i spremite je u zadatak2b.pcap, a
na trećoj napravite odbacivanje svih paketa elementom Discard.

...emacs -nw mojrouter2.click


click mojrouter2.click

Zadatak 4
---------

Prethodni zadatak promijenite tako da svaka od kopija ima brojač paketa prije
izlaza, odnosno odbacivanja.

---------------------PRVI ZADATAK-----------------------------

udp1 :: FastUDPSource(100000, 500000, 60, 0:0:0:0:0:1, 1.0.0.1, 1234, 1:1:1:1:1:1,


2.0.0.2, 1234);
udp2 :: FastUDPSource(100000, 500000, 60, 0:0:0:0:0:2, 1.0.1.1, 1234, 1:1:1:1:1:2,
2.0.1.2, 1234);
udp3 :: FastUDPSource(100000, 500000, 60, 0:0:0:0:0:3, 1.0.2.1, 1234, 1:1:1:1:1:3,
2.0.2.2, 1234);
udp4 :: FastUDPSource(100000, 500000, 60, 0:0:0:0:0:4, 1.0.3.1, 1234, 1:1:1:1:1:4,
2.0.3.2, 1234);
insw :: InputSwitch(2);
udp1 -> pt1 :: PullTee(2);
udp2 -> pt2 :: PullTee(2);
udp3 -> pt3 :: PullTee(2);
udp4 -> pt4 :: PullTee(2);
pt1[0] -> Discard;
pt2[0] -> Discard;
pt3[0] -> Discard;
pt4[0] -> Discard;
pt1[1] -> [0]insw;
pt2[1] -> [1]insw;
pt3[1] -> [2]insw;
pt4[1] -> [3]insw;
insw -> CheckUDPHeader -> CheckLength(500) -> ToDump(zadatak1.pcp)

---------------------DRUGI ZADATAK-----------------------------
mojElement :: {
input -> CheckUDPHeader -> CheckLength(500) -> output;
};

udp1 :: FastUDPSource(100000, 500000, 60, 0:0:0:0:0:1, 1.0.0.1, 1234, 1:1:1:1:1:1,


2.0.0.2, 1234);
udp2 :: FastUDPSource(100000, 500000, 60, 0:0:0:0:0:2, 1.0.1.1, 1234, 1:1:1:1:1:2,
2.0.1.2, 1234);
udp3 :: FastUDPSource(100000, 500000, 60, 0:0:0:0:0:3, 1.0.2.1, 1234, 1:1:1:1:1:3,
2.0.2.2, 1234);
udp4 :: FastUDPSource(100000, 500000, 60, 0:0:0:0:0:4, 1.0.3.1, 1234, 1:1:1:1:1:4,
2.0.3.2, 1234);
insw :: InputSwitch(2);
udp1 -> pt1 :: PullTee(2);
udp2 -> pt2 :: PullTee(2);
udp3 -> pt3 :: PullTee(2);
udp4 -> pt4 :: PullTee(2);
pt1[0] -> Discard;
pt2[0] -> Discard;
pt3[0] -> Discard;
pt4[0] -> Discard;
pt1[1] -> [0]insw;
pt2[1] -> [1]insw;
pt3[1] -> [2]insw;
pt4[1] -> [3]insw;
insw -> mojElement -> ToDump(zadatak1.pcp)

---------------------TRECI ZADATAK-----------------------------
InfiniteSource -> t :: Tee(3);
t[0] -> CheckIPHeader -> ToDump(zadatak2a.pcap);
t[1] -> ToDump(zadatak2b.pcap);
t[2] -> Discard;

---------------------CETVRTI ZADATAK-----------------------------
InfiniteSource(,5000) -> t :: Tee(3);
t[0] -> Counter -> CheckIPHeader -> ToDump(zadatak2a.pcap);
t[1] -> Counter -> ToDump(zadatak2b.pcap);
t[2] -> Counter -> Discard;

You might also like