Skripta iz kolegija mreže računala 201 0
Skripta iz kolegija mreže računala Sastavio Mario Bašić
Contents Contents.................................................................................................................1 Multipleksiranje...................................................................................................... 4 Vremenski multipleks ( TDM ).............................................................................4 Sinkroni vremenski multipleks.........................................................................4 Asinkroni vremenski multipleks........................................................................4 Frekvencijski multipleks ( FDM )..........................................................................4 Prospajanje linija i prospajanje paketa...................................................................5 Prospajanje linija.................................................................................................5 Poruka.................................................................................................................5 Paket................................................................................................................... 5 Ponašanje čvorova:.............................................................................................5 Simplex, Half Duplex, Full Duplex...........................................................................5 Simplex...............................................................................................................5 Half Duplex..........................................................................................................5 Full Duplex..........................................................................................................5 Uslojavanje............................................................................................................. 5 ISO/OSI refentni model uslojavanja.....................................................................5 TCP/IP refentni model uslojavanja.......................................................................6 Topologije računalnih mreža..................................................................................6 Sabirnica.............................................................................................................6 Prsten.................................................................................................................. 7 Zvijezda............................................................................................................... 7 Podjela računalnih mreža.......................................................................................7 Mrežni sloj..............................................................................................................7 Ipv4 adrese i paketi.............................................................................................7 Mrežna maska ( Subnet Mask )...........................................................................8 Klasno adresiranje..................................................................................................9 Devil linux............................................................................................................... 9 Ethernet lokalne mreže........................................................................................10 1
Skripta iz kolegija mreže računala 201 0 CSMA/CD........................................................................................................... 11 Ponašanje CSMA/CD:......................................................................................11 Formati okvira ethernet mreža..........................................................................11 DIX ethernet okvir..........................................................................................11 IEEE 802.3 ethernet okvir...............................................................................11 ARP protokol......................................................................................................12 ARP postupak.................................................................................................12 Postupak provjere prije slanja .......................................................................12 Ethernet mrežni uređaji........................................................................................13 Hub.................................................................................................................... 13 Problemi korištenja hub-a..............................................................................13 Switch................................................................................................................13 Prednosti switch-a..........................................................................................13 Princip rada programa u switchu....................................................................13 Petlja.................................................................................................................14 Rješenje problema petlje = STP.....................................................................14 Podjela switch-eva.............................................................................................15 Virtual LAN ( VLAN )...........................................................................................15 Wire Speed........................................................................................................15 Načini preklapanja.............................................................................................15 Store and forward..........................................................................................15 Cut through....................................................................................................16 Fragment free................................................................................................16 Adaptive switching.........................................................................................16 Stacking............................................................................................................16 Proslijeđivanje...................................................................................................... 16 Funkcija usmjernika...........................................................................................17 Tablica proslijeđivanja.......................................................................................17 Karakteristike tablice proslijeđivanja.................................................................17 Idući čvor ( next hop )....................................................................................17 Postupak pretraživanja......................................................................................17 Defaultna ruta...................................................................................................18 Podešavanje tablice prosljeđivanja u virtualnim mašinama.................................18 Naredbe za provjeravanje pogreški...................................................................18 2
Skripta iz kolegija mreže računala 201 0 ICMP..................................................................................................................... 18 Echo i Echo reply...............................................................................................19 Naredba ping..................................................................................................19 Zapisivanje poruke Echo................................................................................19 Zapisivanje poruke Echo Reply......................................................................19 Istek vremenskog ograničenja ( TTL )...............................................................19 Korištenje u naredbi „traceroute“..................................................................19 Zapis paketa.................................................................................................. 20 Modificiranje IP paketa od strane rutera ( usmjernika )..................................20 Naredba za dobivanje IP adrese servera ( Windows )........................................20 Mjesto u linuxu za podešavanje DNS servera....................................................20 Editori za linux...............................................................................................20 SNAT..................................................................................................................... 20 Naredba.............................................................................................................20 FIREWALL ( Sigurnosni zaštitni uređaj )................................................................20 Podjela firewall uređaja.....................................................................................20 Primjeri arhitektura...........................................................................................21 Skica firewall-a..................................................................................................22 Naredbe u linuxu za firewall..............................................................................22 Podsjetnik:.........................................................................................................23 Moguće akcije:.................................................................................................. 24 Tablice u lancima..............................................................................................24 Prijenosni sloj.......................................................................................................24 Podjela prijenosnog sloja...................................................................................24 UDP ( User Datagram Protocol )........................................................................24 Ponavljanje.....................................................................................................24 UDP okvir....................................................................................................... 24 Primjeri upotrebe UDP-a.................................................................................25 SOCKET..........................................................................................................25 TCP ( Transmission Control Protocol )...............................................................25 Alternating Bit Protocol ( ABP ).......................................................................25 Glavni problem Alternating Bit Protokola.......................................................26 Rješenje problema.........................................................................................26 Funkcije / razredi u javi za TCP.......................................................................26 3
Skripta iz kolegija mreže računala 201 0 Skica TCP implementacije..............................................................................27 Uspostava TCP spoja ( 3-way hand-shake )....................................................28 Tok TCP komunikacije između poslužitelja i klijenta.......................................29 Raskid TCP spoja............................................................................................30 HTTP ( Hypet Text Transfer Protocol )..................................................................31 Karakteristike HTTP-a........................................................................................31 Primjer jednostavnog HTTP zahtjeva za osnovnom stranicom..........................31 Dodatni atributi koji se mogu pojaviti u zahtjevu..............................................31 PROXY..................................................................................................................32 Razlozi upotrebe................................................................................................32 DNS ( Domain Name Server )...............................................................................32 Organizacija DNS-a............................................................................................32
Multipleksiranje -
Omogučava da jedno sredstvo koristi više korisnika istovremeno
Vremenski multipleks ( TDM ) -
Određen dio vremena jedan resurs dajemo jednom korisniku, potom drugom itd ...
-
Svaki korisnik ima cijeli komunikacijski kanal za slanje svoje poruke, ali samo jedan dijelić vremena ( Vremenski slot ) Vremenski multipleks se dijeli na: -
Sinkroni vremenski multipleks
-
Asinkroni vremenski multipleks
Sinkroni vremenski multipleks Svakih nekoliko milisekundi korisnik na raspolaganju ima cijeli komunikacijski kanal neovisno o tome da li ima kakvu poruku za poslati ili nema Asinkroni vremenski multipleks Svaki korisnik koji ima nešto za slanje pokušava ugrabiti prvi slobodan djelić vremena
Frekvencijski multipleks ( FDM ) -
Korisnici istovremeno upotrebljavaju resurs, ali koristeći rezličite frekvencije 4
Skripta iz kolegija mreže računala 201 0 Prospajanje linija i prospajanje paketa -
Razlikujemo tri vrste prospajanja: o
Prospajanje linija
o
Prospajanje poruka
o
Prospajanje paketa
Prospajanje linija -
Veza se fiksira i traje sve do prekida bez obzira da li se koristi ili ne
Poruka -
Je kompletan skup podataka koje korisnik u nekom trenutku želi poslati drugoj strani
Paket -
Je skup podataka ograničene veličine
Poruka se najčešće razbija na više paketa
Ponašanje čvorova: 1. Prihvača cijelu poruku/paket 2. Provjerava ispravnost poruke/paketa 3. Ako nema greške šalje dalje poruku/paket
Simplex, Half Duplex, Full Duplex Simplex -
U prostoriji se nalaze osoba A i osoba B, osoba A ima sposobnost govora i govori, dok osoba B nema sposobnost govora jer nema jezik
Half Duplex -
Osoba A i osoba B imaju sposobnost govora, ali koriste voki-toki. To znaći da ne mogu istovremeno komunicirati, već komuniciraju naizmjenice
Full Duplex -
Osoba A i osoba B imaju sposobnost govora i svadaju se tj. Istodobno komuniciraju
Uslojavanje ISO/OSI refentni model uslojavanja 7. Aplikacijski sloj – HTTP, SMTP, IMAP, POP, DNS 5
Skripta iz kolegija mreže računala 201 0 6. Prezentacijski sloj – big endian, little endian 5. Sjednički sloj – cookie, uparivanje poruka 4. Prijenosni sloj – TCP, PORT-ovi, UDP 3. Mrežni sloj – IP, Subnet Mask 2. Podatkovni sloj – ethernet frame 1. Fizički sloj – 0 ili 1
TCP/IP refentni model uslojavanja 5. Aplikacijski sloj: a. Aplikacijski sloj b. Prezentacijski sloj c. Sjednički sloj 4. Prijenosni sloj 3. Mrežni sloj 2. Podatkovni sloj 1. Fizički sloj IEEE je zadužen za 1. I 2. Sloj IETF je zadužen za 3.,4. I 5. sloj
Topologije računalnih mreža Sabirnica
6
Skripta iz kolegija mreže računala 201 0 Prsten
Zvijezda
Podjela računalnih mreža -
-
Prema prijenosnom mediju: o
Žične
o
Bežične
Prema području na kojemu se rasprostiru ( veličini ): o
Lokalne ( LAN – Local Area Network )
o
Gradske ( MAN – Metropolitan Area Network )
o
Međugradske ( WAN – Wide Area Network )
Mrežni sloj predstavlja temelj interneta
Mrežni sloj -
Temelj mrežnog sloja čine IP adrese i paketi
Ipv4 adrese i paketi -
Npr. 192.168.10.12
-
Jedan oktet=28 tj. _ _ _ _ _ _ _ _ tj. 8 bitova
-
Maksimalna vrijednost = 255 7
Skripta iz kolegija mreže računala 201 0 -
Binarno: o
-
11000000.10101000.0001010.00001100
Mogući broj kombincija od 32 bita je 232
Mrežna maska ( Subnet Mask ) -
Definira adresu mreže koja se koristi u procesu usmjeravanja
Uz svaku IP adresu vezana je Subnet maska -
Npr. 192.168.10.12/255.255.255.0 ili 192.168.10.12/24
-
Mrežna maska dijeli IP adresu na dva dijela: o
Mrežni dio
o
Računalni dio
Npr. 192.168.10.12/255.255.255.0
Za računanje računalnog, mrežnog dijela ili broadcast dijela IP adrese možete koristiti: IP-bin converter program. Gornji primjer uz IP-bin converter:
Računalni dio ne smije biti sve nule jer je to adresa mreže Računalni dio ne smije biti sve jedinice jer je to broadcast adresa mreže Poruke poslane na broadcast adresu mreže primaju sva računala u toj mreži. 8
Skripta iz kolegija mreže računala 201 0 Klasno adresiranje -
Klasno adresiranje se prije koristilo, ali se pokazalo lošim
A. 0 _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ Subnet mask = 8 bitova, 16 milijuna računala po mreži B. 1 0 _ _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ Subnet mask = 16 bitova, 65 000 računala po mreži C. 1 1 0 _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ Subnet Mask = 24 bitova, 254 računala po mreži D. 1 1 1 0 _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ ( difuzija u grupi ) E. 1 1 1 1 _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ . _ _ _ _ _ _ _ _ (rezervirano ) Danas se koristi besklasno adresiranje CIDR ( Classless Interdomain Routing ) Svaka IP adresa ima svoju subnet masku
Devil linux -
Učitavanje drivera ethernet kartice: o
-
Ethernet kartica se označava sa: o
-
„modprobe pcnet32“
„eth0 ili eth1 ili eth2 ; ovisno o rednom broju te kartice u kompjuteru“
Prikaz svih sučelja: o
„ip link sh“
-
Sučelje je aktivirano kada sadrži zastavicu
-
Aktiviranje sučelja: o
-
Deaktiviranje sučelja: o
-
„ip link set dev down“
Pregled IP adresa sučelja: o
-
„ip link set dev up“
„ip addr sh“
Za postavljanje IP adrese i subnet maske: 9
Skripta iz kolegija mreže računala 201 0 o -
Za brisanje IP adrese i subnet maske: o
-
„Ctrl+C“
Pregled pinganih IP i ethernet adresa: o
-
„Ctrl+Z“
Ubijanje procesa: o
-
„tcpdump –i “
Pauziranje procesa: o
-
„loadkeys croat“
Aktiviranje mrežnog snifera: o
-
„ip addr del / dev “
Učitavanje HR tipkovnice: o
-
„ip addr add / dev “
„arp“
Prikazuje IP adresu sa tcpdump-om: o
„tcpdump –i -n“
Ethernet lokalne mreže -
Standardizacijom ethernet mreža bavi se IEEE pod oznakom 802.3 ( IEEE 802.3 )
-
Podatkovni sloj dijelimo na: o
LLC ( Logical Link Control )
o
MAC ( Media Access Control )
-
Koriste se bakreni vodiči CAT5e ili CAT6 standarda
-
Ethernet mreža koristi 48-bitni broj za adresu
-
xx:xx:xx:xx:xx:xx npr. 00:0c:f1:ae:ba:4c
-
IEEE određuje privh 24 bita
Broadcast ethernet adresa: -
„ff:ff:ff:ff:ff:ff“ 10
Skripta iz kolegija mreže računala 201 0 Multicast ethernet adresa: -
„_ _ _ _ _ _ _ 1 : _ _ _ _ _ _ _ _ : _ _ _ _ _ _ _ _ : _ _ _ _ _ _ _ _ : _ _ _ _ _ _ _ _ : _ _ _ _ _ _ _ _“
-
Samo grupa računala prima poruku
Privatne adrese: -
„_ _ _ _ _ _ 1 _ : _ _ _ _ _ _ _ _ : _ _ _ _ _ _ _ _ : _ _ _ _ _ _ _ _ : _ _ _ _ _ _ _ _ : _ _ _ _ _ _ _ _“
CSMA/CD -
Carrier Sense Multiple Access/Colision Detection
-
Pripada MAC podsloju
CSMA/CD je napredniji od ALOHA Ponašanje CSMA/CD: 1. Pogledaj da li netko več nešto šalje 2. Ako ne, počni sa slanjem 3. Ako dođe do kolizije, pričekaj neko slučajno vrijeme i ponovi postupak
Formati okvira ethernet mreža DIX ethernet okvir 8 Preambula
6 DestinationAddress( DA )
6 Source Address( SA)
2 TYPE
46-1500 DATA
4 FCS
Preambula - služi za usklađivanje dva računala odnosno njihovih mrežnih kartica TYPE - Služi za raspoznavanje paketa: o
0x800 = IP paket
o
0x806 = ARP
IEEE 802.3 ethernet okvir 8 Preambula
6 DestinationAddress( DA )
6 Source Address( SA)
2 LEN
46-1500 DATA
4 FCS
Kako se IP adresa preslikava u ethernet adresu ? -
Koristi se ARP protokol
11
Skripta iz kolegija mreže računala 201 0 ARP protokol 1. Svim računalima u mreži šalje se upit o IP adresi 2. Računalo čija je to IP adresa odgovara samo računalu koje je poslalo taj upit 3. Nakon primitka odgovora podatak se privremeno pohranjuje kako se idući put ne bi ponovno slao upit na mrežu ARP postupak A
B
C
D
eth0
eth0
eth0
eth0
eA Aip
eB Bip
eC Cip
eD Dip
e = ethernet adresa ; ip = IP adresa Mrežni sloj računala A želi poslati paket računalu D. Računalo A zna IP adresu od D, ali treba mu ethernet adresa od D 1. Računalo A šalje ARP upit svima na mreži: a. Eth( BROADCAST, ae, ARPReq( aip, dip ) ) 2. Računalo čija je to IP adresa šalje odgovor: a. Eth( ae, de, ARPResp( dip, aip ) ) Kako bi se smanjio broj slanja ARP paketa, rezultati ARP upita se memoriraju u „arp cache“. 3. U ARP tablicu računala A pohranjuju se sljedeći podaci: a. IP adresa b. Ethernet adresa c. Vrijeme valjanosti Postupak provjere prije slanja 1. Je li destinacija = BROADCAST tj. Je li = a. BROADCAST te mreže b. Globalni BROADCAST ( 255.255.255.255 ) c. BROADCAST loopback sučelja 2. Je li destinacija = local IP tj. Je li = 12
Skripta iz kolegija mreže računala 201 0 a. Destinacija = destinacija b. Destinacija = localhost ( 127.0.0.1 ) 3. Je li destinacija u arp-cache-u 4. Ako nije pošalji ARPReq
Ethernet mrežni uređaji Hub Korištenjem hub-a mreža je fizički zvijezda, ali logički je i dalje sabirnica. Danas za povezivanje koristimo UTP kabel sa RJ45 konektorom. U slučaju kvara mrežne kartice nekog računala hub može isključiti tu karticu. -
Problemi korištenja hub-a Još uvijek samo jedan može slati
-
Još uvijek svi mogu vidjeti sav promet
-
Još uvijek ograničenje velike mreže
Switch -
Prednosti switch-a Povezuje isključivo računala koja komuniciraju
-
Istovremeno može komunicirati više računala
-
Računalo može istovremeno slati i primati
-
Ostala računala ne vide komunikaciju
Princip rada programa u switchu While(1){ čekaj na okvir(); kada okvir stigne pogledaj od koga je i zapamti računalo + port: pogledaj za koga je; if(znaš za koga je){ pošalji samo njemu; } else{ pošalji svima osim pošiljaocu; } Elementi u tablici vrijede sve dok ne isteknu ili sve dok računalo koje je upisano u tablicu ne pošalje poruku s drugoga porta. 13
Skripta iz kolegija mreže računala 201 0 Switch pamti ethernet adresu i port u tablici. eth eA eB
port 1 2
Petlja
-
okviri počinju kružiti između switcheva i umnažati se
-
Mreža postaje zagušena i neuporabljiva
-
Rješenje problema petlje = STP Spanning Tree Protocol
-
Dio IEEE specifikacije koja definira ethernet
-
Imaju ga skuplji switchevi
-
Oni mogu upravljati portovima te tako izbjegavati petlje
-
Switchevi pomoču STP protokola uče gdje se nalaze drugi switchevi
14
Skripta iz kolegija mreže računala 201 0 Podjela switch-eva NEUPRAVLJIVI osnovnafunkcionalnost jeftini switchevi služazamanje potrebe K a t a l o g
UPRAVLJIVI zazahtjevne potrebe skupi switchevi potpunaračunalasavlastitimprocesorom konfiguracijapomoću komandne linije, web sučeljaili tekst menija daju statističke informacije RACK-MOUNT, DESKTOP standardiziranaveličinazaugradnju u ormariće širina19", visina1" obično je upravljiva, ali ne morabiti
Virtual LAN ( VLAN ) -
Tehologija koja omogučava da se jedan LAN podijeli na više međusobno nezavisnih mreža
-
To se postiže modifikacijom ethernet okvira unutar kojeg se ubacuje oznaka VLAN-a kojemu okvir pripada
Wire Speed -
označava da preklopnik može preklapati bez zastoja pri punom opterečenju
Načini preklapanja -
store and forward
-
cut through
-
fragment free
-
adaptive switching
-
Store and forward prima cijeli paket
-
provjerava pogreške i odbacuje neispravne okvire
-
tek nakon provjere šalje cijeli okvir
-
okvir može doći jednom brzinom, a otići drugom
15
Skripta iz kolegija mreže računala 201 0 -
Cut through prima prvih 6 okteta okvira ( odredišna adresa ( DA ) ) i odmah šalje okvir na odredišni port
-
ne provjerava pogreške
-
vrlo mala latencija ( ovo je dobra stvar )
-
smanjena pouzdanost
-
jednaka dolazna i odlazna brzina okvira
-
Fragment free prihvača prvih 64 okteta i provjerava pojavu pogreške ( kolizije ), te ako nema iste prospaja
-
ulaz i izlaz komuniciraju istom brzinom
-
relativno mala latencija
-
relativno velika pouzdanost
-
Adaptive switching adaptivno prebacivanje između osnovnih načina ( 1 – 3 ), ovisno o broju pojave pogreške i runtova ( fragmenata manjih od 64 okteta )
Stacking -
mogučnost povezivanja više preklopnika koji se potom ponašaju kao jedan
Proslijeđivanje -
kako povezati dva LAN-a na mrežnom sloju ? o
Uz pomoć uređaja koji se naziva usmjernik ( router )
16
Skripta iz kolegija mreže računala 201 0 -
Usmjernici su uglavnom računala koja sadrže minimalno dva mrežna sučelja ( kartice )
Funkcija usmjernika -
Kada primi paket usmjernik mora odlučiti kamo će ga poslati
-
Cilj je da paket stigne na odredište
Tablica proslijeđivanja -
Služi usmjerniku da odabere dobru rutu za neki paket
-
Ona određuje sudbinu paketa
-
U pravim usmjernicima tablice prosljeđivanja su vrlo složene strukture
Karakteristike tablice proslijeđivanja -
Svaki redak naziva se ruta
-
Svaka ruta opisuje nekakvu mrežu tj. Način kako se dolazi do određene mreže
-
Idući čvor ( next hop ) Ako je polje prazno tada je mreža direktno spojena na usmjernik
-
Ako polje nije prazno paket se proslijeđuje na navedenu IP adresu
Postupak pretraživanja 1. Uzmi odredišnu IP adresu 2. Poredaj sve rute po opadajućoj duljini mrežne maske 3. Za svaku rutu a. Uzmi broj bitova u mreži b. Usporedi toliko bitova iz odredišne adrese i odredišne maske c. Stani kada se vrijednosti poklapaju
17
Skripta iz kolegija mreže računala 201 0 Defaultna ruta -
0/0 ili 0.0.0.0/0 ili default je posebna ruta koja se uvjek poklapa
-
Provjerava se zadnja jer ima najkracu mrežnu masku
I obična računala koriste tablice proslijeđivanja. Te tablice su jako male, svega nekoliko zapisa: lokalna mreža, defaultna ruta i loopback ruta.
Podešavanje tablice prosljeđivanja u virtualnim mašinama Bridge = 0 NAT = 8 Host only = 1 -
ispisuje tablicu prosljeđivanja: o
-
Dodaje defaultnu rutu u tablicu: o
-
„ip route add / dev “
Dodaje rutu u tablicu za nelokalnu mrežu preko drugoga rutera: o
-
„ip route add default via “
Dodaje rutu u tablicu za lokalne mreže: o
-
„ip route sh“
„ip route add / via “
Brisanje svih ruta iz tablice: o
„ip route flush“
Naredbe za provjeravanje pogreški -
„ping“
-
„traceroute“
-
„tcpdump“
ICMP -
Internet Control Message Protocol
-
Upravljački protokol mrežnog sloja interneta
-
Definira poruke koje nose upravljačke informacije 18
Skripta iz kolegija mreže računala 201 0 -
Nema adresiranja
-
Namjena mu je prijenos informacija o stanju mreže
-
Prenosi se unutar IP paketa
-
Tip ICMP poruke razlikuje se prema polju Type
-
Svaki Tip ima svoj Podtip u polju Code
Type
Code
Checksum Message body
Echo i Echo reply -
Koristi se za ispitivanje ispravnosti mreže ( ping )
-
Naredba ping Šalje se poruka Echo s upisanim vremenom slanja
-
Odrediste odgovara s porukom Echo Reply
-
Ping ispisuje podatke o pristigloj poruci
-
Zapisivanje poruke Echo IP ( izvorište ( SA ) , odredište ( DA ), ICMP( Echo, slijedni broj ) )
-
Zapisivanje poruke Echo Reply IP ( izvorište ( SA ), odredište ( DA ) , ICMP( EchoReply, slijedni broj ) )
Istek vremenskog ograničenja ( TTL ) -
-
-
Obavijest o isteku vremenskog ograničenja se javlja kada: o
Polje TTL IP paketa je doseglo nulu
o
Fragment IP paketa nije pristigao u zadanom roku
Korištenje u naredbi „traceroute“ Pošalje se IP paket s TTL=1 o
Prvi usmjernik odgovara s ICMP porukom isteka vremenskog ograničenja
o
„time exceeded in transit“
Pošalje se IP paket s TTL=2 o
Drugi usmjernik odgovara s ICMP porukom isteka vremenskog ograničenja
o
„time exceeded in transit“ 19
Skripta iz kolegija mreže računala 201 0 -
Itd ...
-
Zapis paketa IP ( izvorište ( SA ) , odredište ( DA ) , ICMP ( TimeExceeded() ) )
Modificiranje IP paketa od strane rutera ( usmjernika ) 1. Usmjernik primi poruku 2. Prije nego pogleda u tablicu prosljeđivanja, umanji TTL u IP paketu za jedan 3. Pogleda koji je TTL upisan u IP paketu 4. Ako je TTL=0 odbaci paket, inače pogleda u tablicu prosljeđivanja
Naredba za dobivanje IP adrese servera ( Windows ) -
„nslookup –type=A “
-
Npr. „nslookup –type=A www.google.com“
Mjesto u linuxu za podešavanje DNS servera -
„/etc/resolv.conf“
-
Editori za linux Pico
-
Joe
-
Nano
-
Vi
SNAT -
Source Network Address Translation
-
Za SNAT je zadužen firewall
Naredba -
„iptables –t nat –A POSTROUTING –o -d ! -s ! -j SNAT –to “
FIREWALL ( Sigurnosni zaštitni uređaj ) -
Sigurnost se kontrolira politikom ( security policy )
-
Na mrežnom sloju sigurnosna politika se provodi sigurnosnim zaštitnim uređajem ( firewall )
Podjela firewall uređaja -
Bez stanja ( stateless ) 20
Skripta iz kolegija mreže računala 201 0 o -
Odluka za svaki paket se donosi bez obzira na sve prethodne pakete koji su prošli kroz firewall
S čuvanjem stanja ( stateful ) o
Odluka za svaki paket može koristiti informacije o paketima koji su prije prošli ( firewall mora čuvati informacije )
Primjeri arhitektura Internet
Firewall
Intranet
-
Jednostavna arhitektura
-
1 firewall Internet
Firewall
DMZ
Intranet
-
Složena arhitektura
-
Sa demilitiziranom zonom
-
1 firewall
21
Skripta iz kolegija mreže računala 201 0 Internet
Firewall DMZ Firewall
Intranet
Ideja firewall-a je da se svaki paket koji prođe kroz usmjernik podvrgne ispitivanju. Na osnovu podataka u IP paketu određuje se: -
Da li će ga odbaciti ( DROP )
-
Da li će ga prihvatiti ( ACCEPT )
-
Da li će napraviti neku promjenu na njemu
Skica firewall-a PREROUTING
odluka o prosljeđivanju
Mangle, NAT
FORWARD
POSTROUTING
Mangle, Filter INPUT
Mangle, NAT OUTPUT
Mangle, Filter
Mangle, Filter Aplikacija
Naredbe u linuxu za firewall -
Ispisuje sadržaj svih lanaca: o
-
„iptables –L“
Odbacuje svaki paket koji prolazi kroz usmjernik i ima izvorišnu adresu : o
„iptables –A FORWARD –s -j DROP“ 22
Skripta iz kolegija mreže računala 201 0 -
Briše prethodnu naredbu: o
-
Svi paketi koji su stigli s eth0 sučelja i prolaze kroz usmjernik se drop-aju: o
-
„iptables –F“
Brisanje pojedinog lanca u ovom slučaju INPUT lanca: o
-
„iptables –A FORWARD –p icmp --icmp-type echo-request –j DROP“
Brisanje svih naredbi: o
-
„iptables –A FORWARD –p icmp –j DROP“
Odbacuje svaki paket koji prolazi kroz usmjernik i sadrži u sebi ICMP Echorequest: o
-
„iptables –A FORWARD –o eth0 –j DROP“
Odbacuje svaki paket koji prolazi kroz usmjernik i sadrži u sebi protokol ICMP: o
-
„iptables –A FORWARD –i eth0 –j DROP“
Svi paketi koji odlaze sa eth0 sučelja se drop-aju: o
-
„iptables –D FORWARD –s -j DROP“
„iptables –F INPUT“
Ispis svih NAT tablica: o
„iptables –t nat –L“
Podsjetnik: -
„-A“ = append
-
„-D“ = delete
-
„-i“ = input interface
-
„-o“ = output interface
-
„-p“ = protocol
-
„—icmp-type“ = određeni tip ICMP-a
-
„-P“ = policy ( defaultna politika )
-
„-m“ = učitavanje modula za detaljnije ispitivanje
23
Skripta iz kolegija mreže računala 201 0 Moguće akcije: -
ACCEPT
-
DROP
-
LOG
Tablice u lancima FILTER – služi za filtriranje paketa MANGLE – služi za modificiranje paketa NAT – služi za promjenu adresa u IP paketima ( Network Address Translation )
Prijenosni sloj Prijenosni protokoli prenose podatke između krajeva ( end-to-end ). Izolira korisnike od specifičnosti računalnih mreža. Koriste se portovi od 0 do 65535. Operacijski sustav aplikaciji uvijek daje zadnji korišteni port uvećan za 1. Ne reciklira portove.
Podjela prijenosnog sloja Bespojna Nepouzdana Ne jamči isporuku paketa Ne jamči očuvanredoslijed slanja Paketi se mogu duplicirati Ovu uslugunudi UDP
Spojna Pouzdana Nužno uspostavljanje veze prije korištenjausluge Jamči učuvanredoslijed svih poslanihpodataka Jamči pouzdanuisporuku Podaci se ne dupliciraju Ovu uslugunudi TCP
UDP ( User Datagram Protocol ) Ponavljanje MREŽNI SLOJ -
Brine se o prijenosu paketa između različitih mreža
PODATKOVNI SLOJ -
Brine se o prijenosu okvira između dva direktno spojena uređaja
FIZIČKI SLOJ -
Brine se o prijenosu pojedinih bitova između dva direktno spojena uređaja
UDP okvir Svaki UDP paket je samostalna jedinica. 24
Skripta iz kolegija mreže računala 201 0 Source port LEN
Destinationport FCS PODACI
-
Primjeri upotrebe UDP-a Kada nije bitno da li će koji paket biti izgubljen ( Audio i video toleriraju gubitke )
-
Kada se šalje istovremeno do više aplikacija ( difuzija u grupi )
-
Kada na poslužitelju želimo imati što manje podataka o pojedinim konekcijama
Mrežne usluge se općenito koriste putem socket API-ja -
SOCKET Je standardizirano sučelje na nivou operacijskog sustava
TCP ( Transmission Control Protocol ) -
Alternating Bit Protocol ( ABP ) Ako je primljen neispravan paket šalje se NACK# ( Negative acknowledgment )
-
Ako je primljen ispravan paket šalje se ACK# ( Positive acknowledgment )
-
# = redni broj ( 0 ili 1 )
25
Skripta iz kolegija mreže računala 201 0
Glavni problem Alternating Bit Protokola NEEFIKASNOST – veća je što je veći umnožak kašnjenja i brzina veze Rješenje problema Slanje više paketa bez potvrde Postoje dvije varijante protokola: -
Protokol s vraćanjem ( go back N )
-
Protokol sa selektivnim vraćanjem ( selective repeat )
Natuknice: - Za svaki paket očekujemo potvrdu. -
Potvrda potvrđuje primitak svih paketa do iskljucivo toga broja.
-
Obavezno uvođenje vremenskog ograničenja.
-
Ako potvrda ne stigne nanovo poslati paket.
Funkcije / razredi u javi za TCP Pogledati sljedeće datoteke tcpclient.java i tcpserver.java. Datoteke se pokreću iz komandne linije s sintaksom: 26
Skripta iz kolegija mreže računala 201 0 „java –cp . tcpclient “ – za pokretanje klijenta „java –cp . tcpserver “ – za pokretanje servera POSLUŽITELJ ServerSocket – TCP pristupna točka poslužitelja koju vežemo na zadani port ( bind ) i koja je pasivna .bind() – metoda koja povezuju pristupnu točku na zadani port .accept() – provodi 3-way hand-shake ( uspostavu TCP spoja ) i vraća novu pristupnu točku kroz koju se može komunicirati s klijentom KLIJENT Socket – općenita pristupna točka za TCP .connnect() – metoda kojom klijent traži uspostavu spoja ( započinje i provodi postupak 3-way hand-shake ) .close() – metoda za zatvaranje pristupne točke .getInputStream() – vraća „kraj za čitanje“ pristiglih podataka .getOutputStream() – vraća „kraj za pisanje“ podataka DataInputStream i DataOutputStream su pomoćni razredi za čitanje, pisanje kompleksnih tipova podataka ( stringovi, brojevi ... ) .flush() – šalje podatke iz spremnika za slanje na drugu stranu Skica TCP implementacije POSLUŽITELJ
KLIJENT
getInputStream Spremnik za primanje
getOutputStream Spremnik za slanje
SUČELJE getInputStream Spremnik za primanje
getOutputStream Spremnik za slanje
SUČELJE
<--->
27
Skripta iz kolegija mreže računala 201 0 Uspostava TCP spoja ( 3-way hand-shake )
ISN = Initial Sequence Number MSS = Maximum size segment TCP numerira prenesene oktete, a ne poruke. Redni broj poruke ACK potvrđuje sve što je poslano s rednim brojem manjim od toga.
28
Skripta iz kolegija mreže računala 201 0 Tok TCP komunikacije između poslužitelja i klijenta
29
Skripta iz kolegija mreže računala 201 0 Raskid TCP spoja
Raskid spoja može inicirati bilo koja strana. Zastavica FIN oznaćava zahtjev za raskidom spoja. Spoj se može raskinuti na dva načina: -
Poluzatvorena veza
-
Zatvorena veza
Vezu se može zatvoriti na tri načina: -
U 4 latencije: o
-
U 3 latencije: o
-
Klijent pošalje zahtjev za raskidom spoja, poslužitelj prihvati zahtjev tj. Pošalje ACK. Zatim poslužitelj pošalje zahtjev za raskidom spoja, što klijent prihvati tj. Pošalje ACK.
Klijent pošalje zahtjev za raskidom spoja, poslužitelj prihvati zahtjev tj. Pošalje ACK i u istoj poruci pošalje FIN. Zatim klijent prihvača FIN te šalje potvrdan odgovor ACK.
U 2 latencije:
30
Skripta iz kolegija mreže računala 201 0 o
U isto vrijeme i klijent i poslužitelj pošalju poruku sa zastavicom FIN. Oboje prime poruke prihvate ih te pošalju ACK-ove
HTTP ( Hypet Text Transfer Protocol ) -
Koristi se za prijenos web stranica
-
Koristi TCP ili UDP
-
Za njega je rezerviran port :80
-
Spada u aplikacijski sloj
-
Definiran je 80-tih godina
Karakteristike HTTP-a -
HTTP je jednostavan upit/odgovor ( request/response ) protokol. (Klijent se spaja na poslužitelja, predaje zahtjev i prihvaća odgovor )
-
HTTP je protokol bez stanja ( Poslužitelj smatra sve pristupe različitim i međusobno nepovezanim )
Primjer jednostavnog HTTP zahtjeva za osnovnom stranicom GET / HTTP/1.1
GET = metoda KRAJ zahtjeva označava se praznom linijom. Koristi se verzija 1.1 HTTP-a, osim nje koristi se i 1.0
Dodatni atributi koji se mogu pojaviti u zahtjevu Accept = klijent može reći koje vrste datoteke želi Accept: text/plain; q=0.5 , text/html Text/x-dvi;
q=0.8 , text/x-c
Accept-Charset = prihvatljivi kodni raspored Accept-Language = prihvatljivi jezici Connection = da li se veza zatvara nakon odgovora Referer = URL s kojega klijent pristupa User-Agent = korisnikov agent ( PR )
31
Skripta iz kolegija mreže računala 201 0 PROXY Proxy je HTTP poslužitelj koji prihvaća zahtjev od klijenta i šalje ga „pravom“ poslužitelju.
Razlozi upotrebe -
Pohranjuje često tražene stranice pa može smanjiti opterećenje web poslužitelja
-
Mogu se uvesti kontrole pristupa pojedinim stranicama koje firewall ne može ostvariti
-
Može filtrirati sadržaj stranica
DNS ( Domain Name Server ) -
Pretvara imena računala u IP adrese
-
Koristi UDP :53 za slanje informacija
Kako bismo saznali nečiju IP adresu koristiti čemo naredbu „nslookup“. Primjer. Da bi saznali IP adresu od VERN-a trebamo izvršiti sljedeću naredbu: „nslookup www.vern.hr“. Ta naredba za nas šalje upit DNS poslužitelju i ispisuje primljeni odgovor. -
DNS također omogučava pretvaranje IP adrese u ime
No to uvijek ne radi, ovisno o tome da li je administrator podesio DNS poslužitelj. -
Jedna IP adresa može imati više imena, također jedno ime može imati više IP adresa. Razlog tome je postizanje visoke raspoloživosti
Organizacija DNS-a Prije DNS-a na jednom mjestu na Internetu postojala je datoteka sa svim parovima IP adresa/ ime računala. -
Za svako novo računalo trebalo je čekati osvježavanje datoteke
-
Veliko opterečenje na poslužitelju koji je posluživao datoteku
-
Internet je u to vrijeme bio daleko manji u odnosu na današnje stanje
Odlučeno je kako DNS treba biti distribuiran i hijerarhijski. DNS hijerarhija kreće od korijene domene ( root ). Unutar pojedine domene mogu se nalaziti poddomene ili računala. Puno ime računala dobivamo tako da isčitavamo odozdo prema gore. Za svaku domenu brine se jedan ili više poslužitelja. I imena poslužitelja za pojedinu domenu smještena su u DNS poslužiteljima. 32
Skripta iz kolegija mreže računala 201 0 -
Primjerice, kako bi saznali koji su DNS poslužitelji zaduženi za vern.hr domenu koristimo nslookup naredbu na sljedeći naćin: „nslookup – type=ns vern.hr“
Naredba nslookup pita lokalni DNS poslužitelj. Lokalni DNS poslužitelj iterativno traži odgovor. Odgovori se privremeno pohranjuju kako bi idući puta upit bio brži. -
13 root DNS poslužitelja čuva podatke o top level domenama.
Postoje dva načina razrješavanja upita: -
Rekurzivno - prvi puta drugoga, zatim drugi pita trecega, zatim treci pita cetvrtoga .. i tako sve dok se ne dobije onaj pravi. Zatim odgovor od pravoga ide preko svih prethodnih, preko kojih se doslo do pravoga
-
Iterativno - odbija rekurziju, ali šalje podatak tko zna više
33