Professional Documents
Culture Documents
TCPIP Alapok-#1 MS PDF
TCPIP Alapok-#1 MS PDF
TCP/IP
Alapok
I. ktet
V2.1
Petrnyi Jzsef
Microsoft Magyarorszg
2010
Ksznetnyilvnts:
Habr a knyv megrshoz meglehetsen sok forrst hasznltam fel, de kln
szeretnk ksznetet mondani Joseph Davies-nek (Cable Guy), akinek rsai,
knyvei a leginkbb hatottak a szemlletemre, az elkpzelseimre.
Emellett meglepen sok hasznos informcit kaptam a Wikipedibl is. Lehet,
hogy politikai terleten hasznlhatatlan, de alap informatikai ismeretekben
ers.
TARTALOMJEGYZK
1
Alapozs _____________________________________________________________________________ 12
2.1
2.2
Fogalmak ________________________________________________________________________ 16
2.2.1
Szabvnyok _________________________________________________________________ 16
2.2.2
2.2.3
Host vs node________________________________________________________________ 17
2.2.4
2.2.5
2.2.6
2.2.6.1
Hub _____________________________________________________________________ 21
2.2.6.2
Switch __________________________________________________________________ 21
2.2.6.3
Bridge __________________________________________________________________ 21
2.2.6.4
Gateway _______________________________________________________________ 21
2.2.6.5
Router _________________________________________________________________ 21
3.1.1
Ethernet ____________________________________________________________________ 25
3.1.1.1
Ethernet II _____________________________________________________________ 26
3.1.1.2
3.1.1.3
3.1.2
3.1.3
3.1.4
3.1.5
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.3
3.3.1
3.3.1.1
3.3.1.2
PPP Autentikci______________________________________________________ 71
3.3.1.3
Visszahvs ____________________________________________________________ 87
3.3.1.4
3.3.1.5
3.3.2
4
IPv4 ______________________________________________________________________________ 97
4.1.1
Az IP Header _______________________________________________________________ 97
4.1.1.1
4.1.1.2
4.1.2
4.1.2.1
Az IP cm ______________________________________________________________ 117
4.1.2.2
4.1.2.3
4.1.2.4
4.1.2.5
4.1.2.6
4.1.3
4.1.3.1
4.1.3.2
4.1.3.3
4.1.3.4
4.1.3.5
4.1.3.6
4.1.3.7
4.1.3.8
4.1.4
4.1.4.1
4.2
4.1.4.2
4.1.4.3
4.1.4.4
4.1.4.5
4.1.4.6
4.2.1
4.2.1.1
4.2.1.2
4.2.1.3
4.2.1.4
4.2.1.5
4.2.1.6
4.2.2
4.2.2.1
4.2.2.2
4.2.2.3
5.2
5.2.1
5.2.1.1
5.2.1.2
5.2.1.3
5.2.1.4
5.2.1.5
5.2.1.6
5.2.1.7
5.2.1.8
5.2.1.9
5.2.2
5.2.2.1
5.2.2.2
5.2.2.3
5.2.2.4
5.2.2.5
5.2.2.6
5.2.3
5.2.4
5.2.4.1
5.2.4.2
5.2.4.3
5.2.4.4
5.2.5
5.2.5.1
5.2.5.2
5.2.6
5.2.6.1
5.2.6.2
5.2.6.3
5.2.6.4
5.2.6.5
5.2.6.6
5.2.6.7
5.2.6.8
6.1.1
6.1.2
6.1.3
6.1.3.1
6.1.3.2
6.1.3.3
6.1.3.4
6.1.4
6.2
6.2.1
DNS Name Query Request s Name Query Response zenetek _______ 316
6.2.1.1
6.2.1.2
6.2.1.3
6.2.2
6.2.2.1
6.2.2.2
6.2.2.3
6.2.3
6.2.3.1
6.2.3.2
6.2.3.3
6.2.4
9.2
9.3
1 T ANULJ VELEM !
Rendhagy knyv lesz1. Pldul rgtn itt az elejn el fogom rulni, hogy nem
vagyok m olyan nagy felkent tudora a tmnak. Nyilvn az alatt a hsz v alatt,
amita informatikval foglalkozom, ragadt rm ez meg az - de annyira mlyen, mint
ahogy most tervezem, sohasem merltem mg el a hlzatok mkdseinek
rejtelmeibe.
Pedig megrn.
Manapsg ezen mlik minden. Ma mr gy nznk egy hlzati krtya nlkli gpre,
mint gyerekeink a szdsszifonra. (Jrtl mr gy, hogy opercis rendszert
teleptettl s az nem ismerte fel a gpedben lv hlzati krtykat? Idegtp
kinldsok szoktak ilyenkor kvetkezni, amg pendrive-on valahogy fel nem
varzsolod a hlzati krtya drivert.)
Persze, ami egyfell knyelem, az a msik oldalrl tmrdek inkompatibilts, a
harmadik oldalrl rengeteg meghibsodsi lehetsg, a negyedik oldalrl pedig
veszly. Ha n hozzfrek a drton keresztl, akkor ms is. Ezzel pedig bele is
mentnk a hlzati biztonsg tmakrbe... abba, mellyel ez a knyv nem fog
foglalkozni. Meg gy egyltaln, ez az rs nem fog tlzottan foglalkozni semmilyen
rintleges egyb terlettel sem. Mg az is lehet, hogy IP cm sem lesz benne2.
Hogyan kell konfigurlni egy DHCP vagy egy DNS szervert? Rengeteg knyv,
whitepaper foglalkozik vele. Keresd meg, olvasd el.
Ebben a knyvben mi leginkbb csomagokat fogunk kinyitni, megvizsglni. Meg
csomagokba rejtett csomagokat. Meg azokba csomagolt csomagokat. Meg... ugye,
rthet a mintzat?
Gondolom, ijeszten hangzik. Tny, hogy a vilg egyik legunalmasabb dolga az RFC-k
olvasgatsa.
Itt jvk be a kpbe n. Egyfell kifejezetten fontosnak tartom, hogy aki
informatikval foglalkozik, tisztban legyen az alapokkal. Ne kezdjen el vakarzni,
ha a Network Monitort kell hasznlnia. Msfell tudatban vagyok annak, hogy
nlam is vannak fehr foltok. Azt is tudom, hogy tanulni gy tudok a legjobban, ha
feldolgozom az anyagot, megemsztem, majd elmagyarzom. Ez fog trtnni ebben a
knyvben: egytt fogunk haladni elre, egyre tbbet s tbbet megrtve a dobozols
rejtelmeibl. Harmadrszt pedig szeretem a kihvsokat: kivncsi vagyok, sikerl-e
egy ilyen szraz, hivatalos szveget szrakoztatv tennem?
1
2
~ 10 ~
TANULJ VELEM!
Lthat, ez egy integratv knyv lesz. Krbebstyztam magam szakknyvekkel,
elttem van az internet hatalmas informcitmege - s hol innen, hol onnan szedek
majd el valami darabot. Aztn ezekbl az infotglkbl fog felplni a hz.
n adom a maltert.
Egy nagyon fontos megjegyzs. Magyar nyelv szakknyvek esetn a szerzk mindig
problmzni szoktak rajta, hogy lefordtsk-e magyarra a szakszavakat, vagy
hasznljk az angol eredetiket? n gy vgom t ezt a gordiuszi csomt, hogy
deklarlom: a knyv nyelve se nem magyar, se nem angol. Hunglish.
Ebben az orszgban az informatikusok gyis ezt a nyelvet beszlik.
Vgl mg egy megjegyzs. Habr az a clom, hogy egy nehznek tartott terletet
knnyebben fogyaszthatv tegyek, de ez nem jelenti azt, hogy mindent a
legvgskig szjbargsan fogok elmagyarzni. Lesznek fogalmak pldul, melyeket
eleve ismertnek fogok felttelezni. Ergo a m lvezethez legalbb flmveltnek kell
lenni.
Jut eszembe. A knyv tbb helyen is egyfajta fejldsregny. Azaz bevezetek egy
fogalmat - valahogy. Megrtjk. Hasznljuk. Aztn pr oldallal ksbb kiderl, hogy
az a bizonyos fogalom jval bonyolultabb, s olyan formban, ahogy addig n
hasznltam, valjban nem is mkdhetne. Viszont ha gy vezettem volna be elsre,
ahogy valjban kinz, akkor tl bonyolult lett volna megrteni. Termszetesen
ezekre a csalafintasgokra menetkzben fny derl - de ha csak gy felcsapod a
knyvet s beleolvasol, lehet, hogy gnek ll a hajad.
Mindenesetre nem lesz stagalopp: papr, ceruza, szmolgp legyen a kzeledben.
Jelen ktethez tartozik egy msodik ktet, illetve egy 50 oldalas sszefoglal fzet is.
A teljes csomagot innen tudod letlteni:
http://mivanvelem.hu/letoltheto-konyvek/
~ 11 ~
2 A LAPOZS
2.1 H FEHRKE
S A HT R TEG
~ 12 ~
ALAPOZS
LAYER2: DATA LINK LAYER (ADATKAPCSOLATI RTEG)
Itt kezdnk el figyelni arra, hogy a kommunikci alapveten kt rsztvev kztt
zajlik. MAC address, ethernet.
LAYER1: PHYSICAL LAYER (FIZIKAI RTEG)
Az eszkznk s a drt kztti kapcsolat. Csatlakozok, tkiosztsok, feszltsgek,
kbelek.
Ez a ht rteg mindegyik hlzati szereplnl megtallhat. Csak ppen aki kldeni
akar, az fentrl halad rajta vgig lefel, aki pedig fogadni, az fordtva.
~ 13 ~
Ettl fggetlenl, ha egy hlzatos kollga azt mondja, hogy L2 switch, biztos lehetsz benne, hogy a
Layer2 ebben az esetben az OSI-ISO fle 7 rteg msodik rtegt jelenti. Mely nagyjbl ugye a
TCP/IP els rtegnek felel meg.
3
~ 14 ~
ALAPOZS
Hozz kell mg tennem, hogy nem csak TCP/IP ltezik a vilgon. Ok, ez a
legismertebb... de ezen kvl virgzik mg szz virg.
The Network Protocols Map Poster:
http://www.javvin.com/map.html
~ 15 ~
2.2 F OGALMAK
Kezdk szmra lehet, hogy zavar lesz, hogy itt rgtn olyan fogalmakkal
tallkoznak, melyek magyarzathoz mg nem ismert fogalmakat hasznlok fel.
Nem baj.
Valahogy mindenkinek el kell indulni. Lehet, hogy most elsre valami rthetetlen, de
rthetv vlik, ha ksbb lapozunk vissza, amikor mr elkezdnk hasznlni egy
fogalmat.
2.2.1 S Z ABV N Y O K
Az informatikban a szabvnyt RFC-nek hvjk. Ez els blikkre fura lehet, mivel az
RFC eredetileg azt jelenti, hogy Request For Comment. Ha szszerint fordtjuk, akkor
lehetne ajnlsnak, vlemnykrsnek is fordtani - de ez a mi szintnkn mr kb
annyira vlemnykrs csak, mint amikor a felesg megkrdezi a frjt, hogy
kvrnek tartja-e? Csak egy vlasz ltezik.
Rgztett folyamatokban - pl. ITIL - az RFC annyit tesz, hogy szeretnnk formba
nteni egy rszfolyamatot, egy mdszert. Ezt lerjuk s megkpkdtetjk az
rintettekkel. Ezt hvjk vlemnykrsnek. Ha mindenki elmondta a vlemnyt, az
eredeti dokumentumokon tvezettk a mdostsokat, akkor ll ssze a szabvny melyet az IETF-nl ugyangy neveznek, mint a vlemnykr iratot, az RFC-t. Csak
ppen ekkor mr ktelez rvny. (Vannak kivtelek, s igazbl ez az egsz
messze nem ilyen egyszer, de egyelre bven elg ennyi absztrakci.)
~ 16 ~
ALAPOZS
2.2.2 K I N E K
S Z L A Z Z EN E T ?
Unicast
: Egy felad, egy cmzett.
Multicast
:Egy felad, tbb - kivlasztott - cmzett.
Anycast
: Egy felad, tbb - kivlasztott - cmzett. De ha brmelyik
megkapta, akkor a tbbiekhez mr nem jut el.
Broadcast
: Egy felad, mindenki ms cmzett.
2.2.3 H O ST
VS NODE
Ez viszonylag gyors tisztzs lesz. A host, az egy szmtgp, mely rszt vesz a
hlzati kommunikciban. A hostnak vannak hlzati csatoli. A legtbbszr ezek
hlzati krtyk. Ezeket a csatolkat nevezzk node-nak.
Magyarul egy host akr tbb node-dal is rendelkezhet.
~ 17 ~
V S LI N K
~ 18 ~
ALAPOZS
2.2.5 A ZO K
A FR N Y A DO BO Z O K
~ 19 ~
Ezen menjnk most vgig. A Transport rtegben keletkezik egy csomag, egy TCP
szegmens. Ennek van fejlce (TCP header) s tartalma (segment, azaz adatfolyamdarab). Ez a csomag kerl t az Internet rtegbe, ahol , azaz a teljes Transport
csomag lesz az IP datagram tartalma. Az Internet rteg hozzteszi a sajt fejlct,
majd az gy keletkez datagramot passzolja le a Network Interface rtegnek. A sma
ugyanaz, a Network Interface keret tartalma a teljes IP datagram lesz, ennek az
elejre jn a Network Interface fejlc, illetve a keretet fizikailag is lezr trailer.
Amikor ez az egsz megrkezik a cmzetthez, az egyes szintek fejlcei alapjn
kdolja vissza az zenetet s rtelmezi a legvgl kapott adatszegmenst.
A kompaktsg rtelemszeren csak rtegszinten rtend. Azaz ha nzek egy
TCP szegmenst, akkor az abban lv payload az egy adatfolyam rsze,
nmagban nem rtelmezhet, nem kompakt. Ellenben ha megnzem azt az
IP datagramot, amelyikbe az elz TCP szegmenst csomagoltam, akkor ez mr
kompakt lesz, hiszen egy jl megfoghat dolog van benne, a TCP szegmens.
Nem megynk bele, hogy a TCP szegmens odabent nem kompakt.
~ 20 ~
ALAPOZS
2.2.6 H L Z AT I
E S ZK Z K
Az OSI modell szerint rtve L1 szinten mkd eszkzk, fizikailag ktnek ssze
node-okat. Minden forgalmazott csomag kimegy minden node-hoz, nincs semmilyen
portszeparci. Gyakorlatilag egy buta eloszt.
2. 2 .6 . 2 S W I T C H
L3 rtegben dolgoz eszkz. Klnbz nvter - de azonos protokollokat hasznl alhlzatokat kt ssze. Ksbb rszletesen is foglalkozunk vele.
~ 21 ~
~ 22 ~
3.1 LAN
TECHNOLGIK
Teht ott jrunk, hogy a Network Interface Layerben vagyunk, azaz az els
csomagols el is kezddik a... Data Link Layerben. Hogy nemrg azt rtam, Windows
krnyezetben nincs is olyan? Dehogyisnem, csak begymszltk a NIL-be.
Mivel mg teljesen az elejn vagyunk, nem rt, ha sorra vesszk, mit is kell
biztostania egy ilyen csomagolsnak:
ELHATROLS. rtem ez alatt, hogy pontosan rzkelnnk kell az egyes
csomagok hatrait, illetve csomagon bell a header/trailer s payload
hatrokat.
PROTOKOLL AZONOSTS. rtelemszeren szintn nagyon fontos. Ha
valamit kisnylknt csomagoltam be, akkor azt ne mikrohullm stnek
csomagoljk ki, mert annak nagyon bna lesz.
CMZS. Ki a felad, ki a cmzett?
INTEGRITS. A cmzettnek legyen lehetsge meggyzdni arrl, hogy
teljesen pen kapta-e meg a csomagot.
Kezdjk lesteni a fkuszt. Ezen a nagy fejezeten bell a kvetkez hlzati
technolgikkal fogunk foglalkozni: Ethernet, Token Ring, FDDI, IEEE802.11.
Mindegyik technolgin bell klnbz frame formtumokkal futhatunk ssze.
Fl, hogy itt egy kiss zavaross vlhat a fejtegets. Azt mr tisztztuk, mi a
klnbsg packet s frame kztt, de milyen a viszony a tovbbtsi technika, a
frame formtuma s a protokoll kztt?
Nos, konkrtan: az Ethernet az egy kerettovbbtsi technika, az Ethernet
keretekhez viszont tbbfajta frame formtum is tartozhat: Ethernet II, Ethernet
802.3, Ethernet 802.3 SNAP. Keverni ket tilos: ha az egyik kommunikl fl
mondjuk az Ethernet II formtumba csomagol, akkor a msik, amelyik az Ethernet
802.3 SNAP formtumra szmt, nem fogja rteni, dacra, hogy a keret tovbbtsi
technikja mindkt esetben Ethernet.
IEEE LANs, azaz 802.x szabvnyok, rszletes ismertetssel:
http://www.citap.com/documents/tcp-ip/tcpip007.htm
~ 23 ~
Layer2 - IP
Layer3 - TCP
6 Layer4 - Applikci
4
5
~ 24 ~
Erre a rendszerre alapozva hoztak ssze 1972-ben Palo Altoban, a Xeroxknl (igen,
ott ahol az egeret, az ablakos GUI-t s valami fnymsolt is feltalltak) egy 2.94
Mbps-t tud hlzatot, melyet Ethernetnek neveztek el. A nv arra utal, hogy a
hlzati kommunikci a levegbe, azaz az terbe ordiblson alapul. De erre
ksbb mg visszatrnk.
1979-ben 3 nagy cg (Digital, Intel s a Xerox) szvetsget ktttek, hogy ltalnos
szabvnny neveljk ki az Ethernetet. Ezt a vltozatot hvjk Ethernet II-nek, vagy
DIX-nek7. Akkor 10 Mbps-t tudott.
1981-ben lett az Ethernet IEEE 802.3 nven nemzetkzi szabvny. 1995-ben jtt a
100 Mbps sebessg fast Ethernet... s azta sincs meglls. Jelenleg ppen a 40
Gbps, illetve 100 Gbps vltozatok fejlesztse folyik szorgalmasan.
Fggetlenl a sebessgtl, az Ethernet keretek szlltsi mdszere nem vltozott. A
frame-k ugyanazt a mdit (koax, csavart rpr vagy vegszl) hasznljk, mghozz
gy, hogy egyszerre csak egy keret tekerhet rajta. Azaz a felad beleordtja az
informcijt az terbe s ha ppen mindenki ms csendben volt, akkor az el is jut a
cmzettekhez. Ha ppen akkor valaki ms is beleordtott, akkor mindkett
szgyenlsen elhallgat, vletlenszer ideig vrnak, majd jrakezdik.
Egsz pontosan gy trtnt az eset, hogy Robert Metcalfe, a szabvny egyik tulajdonosa otthagyta a
Xeroxot, megalaptotta a 3Com-ot, majd indulsknt vette r a hrom nagyot a szabvny
tmogatsra.
7
~ 25 ~
RFC 894
Mivel ez az els frame formtum, gy itt mondom el: eszedbe se jusson ezeket
megtanulni! Ilyen brbl legalbb ktszz lesz mg. Ha csak nem a keretek, illetve a
hlzati datagramok lesznek eljvend leted csaldtagjai, bven elg, ha kimsolod
egy pendrive-ra a knyvet, s ha hlzati forgalmat kell elemezned, akkor
megkeresed a megfelel brt. A srbben elfordulkat gyis meg fogod jegyezni.
A kevsb srn elfordulk meg vlemnyem szerint az emberi agyat sokkal
rtkesebb dolgok trolsra terveztk.
~ 26 ~
~ 27 ~
~ 28 ~
Mint rtam, a Preamble mez nem lthat, gy a legels mez a Destination Address.
Fent a program szpen kibontja, hogy milyen eszkzrl is van sz (a MAC cm
gyrtspecifikus), alul viszont csak a hexadecimlis, hat bjtnyi rtk lthat.
~ 29 ~
~ 30 ~
~ 31 ~
3. 1 .1 . 2 E T H E R N E T 8 0 2. 3
RFC 1042
Itt mr egybl a lecsba csapunk.
Ez egy elg rdekes szvr. Mint lthat, van ugyan keret (IEEE 802.3), de abban egy
jabb csomagols, gynevezett kapszula van. Ez a bels kapszula a Network
Interface Layer mr korbban emltett egyik alprotokollja, a Logical Link Control
(IEEE 802.2).
Most nzzk csak a kls keretet. Nagyjbl ugyanazt ltjuk, mint az elz frame
formtumnl: a Preamble ugyan kt rszre szakadt, de ez csak logikai sztvlaszts,
hiszen annyi trtnt mindsszesen, hogy az utols, klnbz bjtot mshogy
neveztk el. A Destination Address, a Source Address teljesen ugyanaz12 s az FCS is.
A klnbsg a Source Address utn kezddik. Itt egy kt bjton brzolt hossz
rtket tallunk, mikzben az Ethernet II esetben ezen a helyen a
protokollazonost volt. (A hosszt gy kell elkpzelni, hogy az LCC header els
bjtjtl a payload utols bjtjig terjed bjtok szma. Vegyk szre, hogy ez
gyakorlatilag megegyezik az Ethernet II esetben a payload-dal.)
12
Azzal az apr eltrssel, hogy a szabvny megengedi a 2 bjtos MAC cmeket is.
~ 32 ~
~ 33 ~
3. 1 .1 . 3 E T H E R N E T 8 0 2. 3 S N AP
RFC 1042
Bonyoltsuk tovbb a tornyot.
~ 34 ~
~ 35 ~
A modellvast.
Ha az Ethernet kommunikci esetben azt mondtam, hogy az udvarias barti
trsasg beszlgetshez hasonlt, akkor a Token Ring leginkbb egy
modellvasthoz. Egy olyanhoz, mely egy hossz, tekergs, de azrt zrt plyn jr
krbe-krbe. A szerelvnyen van egy mozdony s egy tehervagon - ez a Token - az
llomsok pedig felpakoljk r, illetve leszedik rla a kereteket. Egyszerre csak egy
szerelvny megy a plyn, s egyszerre csak egy keretet tud szlltani.
Pontostsuk a hasonlatot. Nem egy darab szerelvny - token - ltezik. Igaz, hogy
egyszerre csak egy tekerhet a sneken, de brmelyik lloms kiveheti a tokent a
forgalombl s bellthat egy sajtot.
Pontostsuk mg tovbb a hasonlatot. A sneken vagy token (res szerelvny) vagy
frame kzlekedik. Az az lloms, amelyik kldeni akar, leszedi a tokent s betesz egy
frame-t. Amelyik megkapta a neki szl frame-t, leszedi s elindt egy res tokent. 13
Hasonltsuk ssze, a mkdsi mdbl kifolylag milyen elvi klnbsgek lesznek az
Ethernet technolgihoz kpest?
Jogos lehet a krds, mi trtnt vezetkszakadskor? Hiszen ezzel megsznne a gyr, azaz minden
lloms leesne a hlzatrl. A vlasz a csatlakozban rejlik. A TR csatlakozk olyan spci bonyolult
szerkezetek, hogy mr a patch panelben szlelik, ha baj van (elromlott a krtya, a tloldali csatlakoz,
megszakadt a vezetk) s rvidzrral kikzlik a hibs szakaszt. Nem vletlenl voltak ezek olyan
drgk.
14 Kaptam olyan visszajelzst, hogy ez nem svszlessg, hanem adattviteli sebessg. Teljesen igaz,
de az informatikai kzbeszdben ez a vltozat is meggykeresedett.
13
~ 36 ~
~ 37 ~
START DELIMITER: Egy bjt, mely jelzi a keret kezdett. A bitek helyn roppant
rejtlyes nev szimblumok tallhatk, bizonyos J s K gynkk. (Annyit tudtam
kibogozni rluk, hogy valami Manchester kdols adatok, melyeket egybknt a
rditechnikban hasznlnak.) Tl sokat nem kell foglalkoznunk velk, az
Ethernetnl megszokott mdon ezek sem ltszdnak a capture fjlban.
ACCESS CONTROL: Szintn egy bjt, melyben a biteknek kln-kln van rtelme.
Els hrom bit: A token prioritst lltja be. Izgi, nem? Frame szinten tudjuk
szablyozni, mennyire fontos adatrl van sz. Ht klnbz rtke lehet.
Msodik hrom bit: Tulajdonkppen ez egy priorits reset bitsorozat. Azt a
prioritst adja meg, melyre a token akkor ll, miutn leszedtk rla a
szlltott frame-t.
Hetedik bit: Egyre ll, ha a szerelvny elhalad az gynevezett monitoroz
lloms eltt. Amennyiben a monitoroz lloms el olyan szerelvny r,
melynek mr magasra van lltva ez a bitje, akkor az lloms kikapja a
forgalombl.
Nyolcadik bit: Jelzi, hogy ami most jn, az token (0) vagy frame (1).
~ 38 ~
~ 39 ~
~ 40 ~
~ 41 ~
PREAMBLE: Nem hiszem, hogy az eddigiek utn brmi jat is tudnk mondani. a
tlkls a kanyarban.
START DELIMITER: Teljesen hasonlatos a Token Ring hasonl mezjhez, olyan szinten,
hogy itt is megtalljuk J s K gynkket.
Sem a Preamble, sem a Start Delimiter mezk nem lthatk a monitoroz
programokban.
FRAME CONTROL: egy bjt, a kvetkez bontsban:
Class bit: Szinkron (1) vagy aszinkron (0) keretrl van-e sz? A szinkron
keret garantlt svszlessget s vlaszidt jelent, mg az aszinkron kerettel
elrt svszlessg dinamikusan vltozik, a lehetsgeknek megfelelen.
Cmhosszsg bit: Hny bjtosak a cmek? 2 (0) vagy 6 (1)? Megjegyzem, az
els vltozat gyakorlatilag kizrt, hogy a vadonban is elforduljon.
Maradk hat bit: formtumlers, illetve kontroll bitek. (Vlasztk akad
bven, tokenbl is s keretbl is jutott rendesen.)
DESTINATION ADDRESS: Teljesen megegyezik az Ethernet fejezetben trgyaltakkal.
SOURCE ADDRESS: Dett.
~ 42 ~
~ 43 ~
A ZA Z
WIFI
1997
1999
1999
2003
201016
2008
Mkdsi
frekvencia
[GHz]
2,4
5
2,4
2,4
2,4/5
3,7s
Jellemz
sebessg
(Mbps]
0,9
23
4,3
19
74
23
Maximlis
sebessg
[Mbps]
2
54
11
54
248
54
Hattvolsg
beltren [m]
Hattvolsg
kltren [m]
~20
~35
~38
~38
~70
~50
~100
~120
~140
~140
~250
~5000
16
17
Vrhatan. Amikor ezeket a sorokat rom - 2009 mrciusban - a Draft8 az aktulis verzi.
Definci: a hekker az a gonosz hacker.
~ 44 ~
~ 45 ~
~ 46 ~
P R O T O K O LL O K :
LLC
MAC
Az a bizonyos nem ltez Data Link Layer kt alrteggel is br. Ezek egsz konkrtan:
Logical Link Control (LLC) s Media Access Control (MAC).
A 802.2 LLC protokollt mr jl ismerjk. A korbbi fejezetek majd mindegyikben
felbukkan, mint egy kapszula. Tulajdonkppen a payload-ra tesz r egy headert. (A
DSAP, SSAP, Control mezk az IEEE 802.3 keret rszletezsnl lettek kibontva.)
LLC:
http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/llc.html
~ 47 ~
~ 48 ~
Az brn egy pingels folyamata ltszik. Az els csomag egy ARP request, mely az
Austek hlzati krtyt tartalmaz szmtgprl (192.168.1.100) jn, s a
192.168.1.111 IP cmhez tartoz MAC addresst krdezi. A msodik csomag egy ARP
reply az LG hlzati krtyt tartalmaz gptl, benne a krt IP cmhez tartoz MAC
address. Utna mr mehet is a ping.
Nzzk meg az ARP keretek felptst.
De elszr pozcionljuk helyre az ARP keretet. Hol tallhat, azaz kinek is a
payload-ja? Lapozzunk vissza a megfelel fejezethez (3.1.1.1 Ethernet II), lthatjuk,
hogy pldul az Ethernet II keret belseje lehet IP datagram (0x0800) vagy ARP keret
(0x0806). s persze nem csak az Ethernet II keret jhet szba, hanem minden egyb
eddig trgyalt keret is. (St, olyanok is, melyek eddig nem kerltek emltsre: ATM,
HIPPI, stb.) De a lnyeg akkor is lthat: az ARP nem rsze az IP-nek, hanem azzal
prhuzamosan tevkenykedik - azaz a Network Interface rtegben a keretek
tartalma lehet az eggyel fentebbrl jv IP datagramm, vagy a rtegen bell mozg
ARP csomag.
~ 49 ~
PROTOCOL TYPE: Kt bjt, arra utal, hogy az ARP milyen protokoll szmra biztostja a
nvfeloldst. Elmletileg ugyanazok lehetnek az rtkei, mint az EtherType meznek
- gyakorlatilag ha nem 0x08-00 (IP), akkor a node eldobja a csomagot.
HARDWARE ADDRESS LENGTH: A hardware address jelen esetben a MAC address. Mint
tudjuk, ennek az rtke gyrilag begetve 6 bjt, de vannak olyan esetek, amikor 2
bjt is lehet. (Pl. Frame Relay.)
PROTOCOL ADDRESS LENGTH: Ez pedig az IP cm hossza. rtelemszeren az rtke fixen
418.
OPERATION: Kt bjt, az ARP keret tipust adja meg. Az ARP request tipusa 0x00-01,
az ARP reply tipusa pedig 0x00-02. A tbbi lehetsges rtket a korbban is emltett
weblapon tallhatjuk meg.
SENDER HARDWARE ADDRESS, SHA: A felad MAC cme.
SENDER PROTOCOL ADDRESS, SPA: A felad IP cme.
TARGET HARDWARE ADDRESS, THA: A cmzett MAC cme.
TARGET PROTOCOL ADDRESS, TPA: A cmzett IP cme.
Na, krem. Prbljuk meg elkpzelni, hogyan is nz ki egy ARP request. Addig ok,
hogy az OPERATION kdja 0x-00-02. De az utols ngy mezbl vajon melyiknek nem
lesz rtke? Ugye, tudjuk a felad MAC address-t, IP cmt, tudjuk a cmzett IP
cmt... logikus, hogy aTHA meznek kell resnek lennie.
Ellenrizzk le.
18
IPv6 esetn vajon mennyi? Vigyzz, beugrats krds: az IPv6 nem hasznl ARP-ot.
~ 50 ~
Az Ethernet frame fejlcben ott van a 0x0806 kd, teht a payload egy ARP
keret.
Az ARP keret szerint a hardvertipus Ethernet, a protokolltpus IP s az ARP
keret tipusa request.
A mretekkel nem kell foglalkozni, a 6/4 pros gyakorlatilag konstans.
Vgl, ha jobban megnzzk, lthat, hogy a THA mez rtke tnyleg csupa
nulla.
~ 51 ~
Ennyi volt a bemelegts. Vizsgljuk most meg, hogyan is trtnik konkrtan az ARP
nvfelolds megvalstsa. Hiszen, mint tudjuk, az rdg a rszletekben.
~ 52 ~
N V F E LO LD S
A Neighbor Cache pldul egy jdonsg. A korbbi Windows verziknl a cmek n. ARP cache-ben
voltak. A vlts nem csak azt jelenti, hogy a Windows 2008-ban tvettk az IPv6 terminolgit tvettk azokat a technikai vltoztatsokat is, melyekkel javtani lehetett valamit az IPv4-es
megoldsokon.
19
~ 53 ~
~ 54 ~
~ 55 ~
C M M E G HA T R O Z S
Akit esetleg zavar, hogy a msik fl a vdekez, gondoljon arra, hogy arrl van sz, hogy mi lpnk
be j fiknt abba hlzatba, ahol a tbbieknek mr rgta megvan a knyelmes, jl bejratott IP
cme.
21
~ 56 ~
~ 57 ~
LY UK D E T E K T L S A
Mi is az a fekete lyuk?
Eddig beszltnk arrl az esetrl, amikor egy node IP cme mr ltezett azon a
hlzaton, ahov be akart nyomulni. Ezt le lehetett rendezni.
De mi van akkor, ha egy node-ot lekapcsoltunk? A felad gp cache-ben mg ott van
a bejegyzs, adott esetben kldi is neki a csomagokat. Ciki, de ekkor visszajelzs sem
jn arrl, hogy a csomagok elnyeldtek - egyszeren eltntek a fekete lyukban. Amg
a cache ki nem rlt, addig bizony nem is trtnik vltozs. (Ok, a TCP/IP
magasabb rtegeiben lv protokollok, szolgltatsok szleltk, hogy nem jtt ltre a
kapcsolat. De ARP szinten a nvfelolds ltszlag mkdtt, hiszen megvolt a MAC
address, ssze lehetett lltani a csomagokat s el lehetett kldeni azokat a nagy
semmibe.)
A Windows 2008/Vista oprendszerekben mr ltezik egy n. Neighbor
Unreachability Detection metdus.
Ehhez viszont meg kell ismerkednnk egy j szereplvel. gy hvjk, hogy unicast
ARP request. Az elv egyszer: ha meg akarunk gyzdni arrl, hogy egy tetszleges
node l-e mg, akkor direktben kldnk neki egy ARP request-et s vrjuk a hozz
tartoz ARP reply-t. Vigyzat, a vizsglati mdszer nem megfordthat! Teht az ARP
reply megrkezse utn az rdekld biztos lehet benne, hogy a msik node
mkdik... de aki a reply-t kldte vissza, az nem lehet biztos abban, hogy az tnyleg
meg is rkezett, azaz a felad elrhet a szmra.
Ez az egyik mdszer. Melyik lehet a msik?
Mr cloztam r. Ott vannak a fentebb lv protokollok. Pldul a j reg TCP. Az
ugye llandan visszajelzseket kr. Mi lenne, ha figyelnnk, hogy ezek tnyleg
megrkeznek-e a tloldalrl?
Ok, ezek az eszkzk. Hogyan pl fel ebbl egy algoritmus?
~ 58 ~
Kilistzhatjuk:
arp -a
~ 59 ~
Ez egy hatsos bon-mot, de nem teljesen igaz. PXE boot esetn mg hasznljk a BOOTP-t.
~ 60 ~
Azaz ha a node-nak nincs belltva semmilyen default gateway rtke, akkor vgs
elkeseredsben kikldhet egy ARP request-et, melyet mr kezelni tud a Proxy ARP.
Jl hangzik... de engem teljesen megzavart. n ugyanis ms knyvbl tanultam, s
abban azt mondja Joseph Davies, hogy Windows rendszerekben kt helyen
tallkozhatunk Proxy ARP funkcival:
Windows Server 2008/Vista opercis rendszerekben a Network Connection
folderben a Network Bridge kpessg pont ezen alapul.
Windows Server 2008-ban amikor a RAS oszt a subneten bellrl egy
elklntett IP znbl cmeket, akkor gyakorlatilag ugyanilyen bridzsels
jtszdik le.
Ami egyrtelmen azt jelzi, hogy a Proxy ARP csak akkor mkdik, ha a proxy
egysg kt oldaln ugyanaz a subnet tallhat.
Nzzk meg a Wikipedia-t.
For example, suppose a host, say A, wants to contact another host B, where B is on a different subnet/broadcast
domain than A. For this, host A will send an ARP request with a Destination IP address of B in its ARP packet. The
multi-homed router which is connected to both the subnets, responds to host A's request with its MAC address
instead of host B's actual MAC address, thus proxying for host B. In the due course of time, when host A sends a
packet to the router which is actually destined to host B, the router just forwards the packet to host B. The
communication between host A and B is totally unaware of the router proxying for each other.
http://en.wikipedia.org/wiki/Proxy_arp
~ 61 ~
~ 62 ~
3.3 WAN
TECHNOLGIK
3.3.1 P O I N T T O P O I N T P R O T O CO L , PPP
Elre szlok, hogy ez egy kimerten hossz fejezet lesz. Mr most tegyl fel fni egy
kvt. Literes fazkban.
Kezdjk ott, hogy habr protokollnak hvjk, de a PPP nem az. Sokkal inkbb egy
protokollcsald. Meglehetsen sok alprotokollt tartalmaz, ezek j rszvel meg is
fogunk ismerkedni.
Mire is j?
Ha a nevbl indulunk ki, akkor taln nem lesz olyan nagy a meglepets: pont s
pont kztti kapcsolat menedzselshez szksges protokollkupacrl lesz sz.
Mivel csak kt pontrl van sz, egy csom eddig tanult dologra nincs szksgnk.
Nyugodtan kidobhatjuk, a unicast/multicast/broadcast fogalmakat. Ember, csak kt
node van. Igazbl se barti beszlgetsrl, se kisvonatrl sem beszlhetnk. Vajon
fogunk tallkozni Data Link Layer szint cmzssel, azaz MAC addressel?
Nem.
Csak.
Kt.
Pont.
Van.
A PPP eldje - a SLIP - ennek megfelelen egyszer is volt, mint a fak. Csak TCP/IP-t
tudott tpasszrozni a drton, kptelen volt vezrlparamtereket egyeztetni s az
autentikcihoz is zokni volt. A PPP mindezeket tudja, st tbbet is. Radsul
nagyjbl ugyanolyan sebessget biztost, mint a jval egyszerbb SLIP - gy
egyltaln nem csoda, hogy teljesen kiszortotta. A Windows Server 2008 s a Vista
mr nem is tmogatja az SLIP-t.
SLIP vs PPP:
http://sunsite.nus.sg/pub/slip/slip-vs-ppp.html
PPP:
http://en.wikipedia.org/wiki/Point_to_Point_Protocol
http://www.cisco.com/en/US/docs/internetworking/technology/handbook/PPP.html
http://www.tcpipguide.com/free/t_PointtoPointProtocolPPP.htm
~ 63 ~
FLAG:
~ 64 ~
Megsgom, ez a gyakoribb.
Az, hogy a konstans mezk elmaradtak, gondolom nem lep meg senkit. De nzzk
csak meg, mi trtnt a Protocol mezvel? sszezuhant. Kt bjt helyett egy lett.
Tanulmnyozzuk t ezt a tblzatot:
http://www.iana.org/assignments/ppp-numbers.
Lthatjuk, hogy a legsrbben hasznlt protokollok esetben a fels bjt res. Nincs
r szksg.
Persze jogos lehet a krds, hogy mi van akkor, ha felvltva jn IP csomag meg
mondjuk IPCP (0x80-21)? Nos, itt mutatkozik meg a PPP nagy ereje, a rugalmassg.
Ahogy korbban is rtam, a PPP egyik protokollja az LCP, a Link Control Protocol. Ez
egy olyan protokoll, melyen keresztl a PPP-re vonatkoz belltsokat egyezteti le a
kt node.Teht mind azt, hogy elhagyhat-e az ADDRESS mez, vagy a CONTROL mez,
vagy olyan protokollrl lesz sz, amelyiknl az als bjt res-e... mindezt az LCP-n
keresztl beszlik meg a felek. Utna pedig nyilvn mr tudjk rtelmezni a
csomagokat.
~ 65 ~
~ 66 ~
3. 3 .1 . 1 PPP K O N F I G U R L S LC P- V E L
RFC 1662
Induljunk ki a teljes HDLC keretbl, ezen egyszerbb megmutatni, hol is jelenik meg
az LCP.
~ 67 ~
Lers
Vgjunk bele egy PPP kapcsolat felptsbe.
Amennyiben elfogadtuk a Configure-Request-et, akkor kldnk egy ACK-ot.
Amennyibe felismertk a konfigurcis opcikat, de azok elfogadhatatlanok.
Amennyiben nem ismertk fel a konfigurcis opcikat.
Zrjuk le a PPP kapcsolatot.
Elfogadtuk a lezrst.
Nem ismertk fel a kdot.
Nem ismertk fel a protokollt.
A PPP kapcsolat tesztelse
Vlasz a PPP kapcsolat tesztelsre
A linken tli kapcsolat tesztelse
Ok, akkor ahogy igrtem, belessuk magunkat az LCP adatok (DATA) vilgba.
Kezdjk azzal, hogy tippeljk meg: vajon mindegyik kd rtkhez van-e rtelme LCP
adatokat is kldeni? Ugye, nem? Gyakorlatilag csak a 'Configure' tipus LCP
keretekhez tartozik adatmez is.
Metljk tovbb az LCP keretet.
~ 68 ~
Az LCP DATA mez egy vagy tbb n. LCP OPTION blokkbl ll. Ezekben a
blokkokban utaznak a tnyleges konfigurcis paramterek.
Az LCP OPTION felptst egy korbbi brn (3.21. bra LCP Option egy LCP
keretben) lthatjuk.
TYPE: Az opci tpusa.
LENGTH: A konkrt Option mrete. Tbbfajta Option blokk ltezhet.
OPTION DATA: Most mr tnyleg eljutottunk a konfigurcis paramterekhez.
~ 69 ~
3.3. TBLZAT
Option Name
Maximum Receive Unit (MRU)
Type
1
Length
4
Asynchronous
Control
Character Map (ACCM)
Authentication Protocol
5 v. 6
Magic Number
Protocol Compression
5
7
6
2
13
3.4. TBLZAT
Autentikci kdja
0xC2-27
0xC2-23-81
0xC2-23-05
0xC0-23
~ 70 ~
Lers
A konkrt PPP kapcsolatban szllthat maximlis
csomagmret.
Aszinkron kapcsolatban melyik ASCII vezrljel legyen az
Escape.
A PPP kapcsolatban melyik authentikcit hasznljuk. Az
rtkeket a 3.4. tblzat tartalmazza.
Vletlenszm hurokdetektlsi clbl.
Flag. A felad ezzel jelzi, hogy egybjtos protokollazonostt
szeretne hasznlni.
Flag. A felad ezzel jelzi, hogy nem szeretne Address s
Control mezket ltni a csomagokban.
Valamikor a visszahvs egyeztetsre hasznltk. Ma mr
erre a CBCP Network Control Protocol szolgl.
Autentikci neve
Extensible Authentication Protocol (EAP)
MS CHAPv2
Message Digest v5 Challange Handsake Authentication Protocol (MD5-CHAP)
Password Authentication Protocol (PAP)
3. 3 .1 . 2 PPP A U T E N T I K C I
RFC 1334
Habr azt rtam, hogy "jhetnek szba", de ennl az autentikcinl ezt nem kell
szszerint rteni. Ha lehet, akkor maradjunk annyiban, hogy ez inkbb szba sem
jhet.
Mirt is nem? Mert plain-text formtumban kldi t a jelszt a drton. Ami azrt elg
gz. Nem is ajnlott les krnyezetben hasznlni, maximum csak vonaltesztelsi
clokra, egyszer hasznlatos felhasznlkkal.
Nzzk akkor a koreogrfit:
Els krben a kapcsoldni kvn fl kld egy PAP Authentication-Request
csomagot az autentikl flnek. Ebben a csomagban benne van a kapcsoldni
vgy felhasznl neve s jelszava. Plain-text. Nan.
Az autentikl fl erejt megfesztve kikdolja a jelszt, majd sszehasonltja
a nla trolt usernv/password prossal. Ha stimmel, akkor egy PAP
Authentication-ACK csomagot kld vissza. Ha nem, akkor egy PAP
Authentication NAK csomagot.
Nem sok egyszerbb dolog ltezik a vilgon.
Ugyanez csomagszinten - pusztn csak azrt, hogy ha elkapunk egy ilyen csomagot a
hlzaton, akkor ne jjjnk zavarba a jelsz kiolvassnl.
~ 71 ~
mez mrete.
PASSWORD:
~ 72 ~
PROTOCOL: Ugyanaz.
CODE:
3.
IDENTIFIER: Ugyanaz.
LENGTH: Ugyanaz.
MESSAGE LENGTH: Egy bjtos rtk, az zenetet tartalmaz, vltoz mret mez
mrete.
MESSAGE: Itt lehet tetszleges szveget zenni az autentiklni kvn flnek. A
Windows nem hasznlja ezt a mezt.
Nos, ez volt a legegyszerbb autentikci. Nem biztos, hogy megnyugtat, de ennl
csak bonyolultabbak jnnek.
~ 73 ~
3.3 .1 .2 .2 C H A L L E N G E H A N D S H A K E A U T H E N T I C A T I O N P R O T O C O L (CHA P)
RFC 1994
Egy rnyalattal biztonsgosabb, mint a PAP. Igen, tudom, most csaptad fldhz a
knyvet. Mit jelent az a biztonsgiparban, hogy "egy rnyalattal"? Valami vagy
biztonsgos vagy nem. Nem?
Elmeslem a kedvenc viccemet. Nem mintha ez lenne a legkacagtatbb vicc a
vilgon, de tanulsg tren ott van az lmeznyben.
Kt turista gyalogol a szavannban. Egyszer csak megltjk messzirl, hogy egy
oroszln rohan feljk. Az egyik gyorsan lel, elkap a htizskjbl egy edzcipt s
lecserli r a trabakancst. A msik rtetlenkedve nzi:
- Te komolyan azt hiszed, hogy ebben a cipben lefutod az oroszlnt?
- Az oroszlnt? Azt nem. De tged igen.
Azaz nem tudunk abszolt biztonsgosak lenni... csak biztonsgosabbak. Annyira,
hogy mr ne rje meg a rosszfiknak velnk vacakolni. Nyilvn ez a hatr
folyamatosan vltozik. Ami valamikor nagyon sok erforrst ignyelt, az ma mr a
gyerek otthoni gpn is elfut. Ezrt is jnnek ki j, meg j mdszerek.
Valamikor a CHAP nem is volt olyan rossz autentikcis eljrs23. A koncepci
lnyege az, hogy a jelsz ne utazzon t a drton. Ugye, ha nem megy t a jelsz,
vitzkedhetnek a capture-huszrok, nem tudjk megszerezni.
Persze, valaminek azrt t kell mennie. Nincs olyan, hogy varzsszra elbukkan
egy-egy buborkbl mindkt helyen a jelsz.
A kulcssz: OWF24. Azaz One Way Function. Magyarul olyan fggvny, mely csak az
egyik irnyba mkdik. Fti Marci frappns hasonlatval lve: a hsdarl. Egyik
oldalon belerakjuk a disznt, a msik oldalon kijn a darlt hs. Hiba szeretnnk
megfordtani a folyamatot, nem fog sikerlni.
Cryptographic hash function:
http://en.wikipedia.org/wiki/Cryptographic_hash_function
A CHAP s az MS-CHAP v1 nagyjbl azonos logikt kvet eljrsokat jelent. Egyedl a darls,
azaz az OWF ms. Az MS-CHAP v1-et a Windows Server 2008/Vista vonal mr nem tmogatja.
24 Nem azonos a hasonlan hangz WTF-fel.
23
~ 74 ~
25
~ 75 ~
A sok duma utn nzzk meg, hogyan is nz ez ki csomagszinten. Els krben lssuk
a Challenge/Response csomagok szerkezett.
~ 76 ~
~ 77 ~
3.3 .1 .2 .3 M I C R O S O F T C H A L L E N G E H A N D S H A K E A U T H E N T I C A T I O N P R O T O C O L V E R S I O N 2 (MSCHA P V 2)
RFC 2759
Mint rtam, ez is egyfajta CHAP autentikci, csak ez klcsns azonostsra is kpes.
Gondolom, nem kell klnsebben magyarznom, mennyivel biztonsgosabb ez a
mdszer. Bolond vilgban lnk, ma mr az autentikl felet is hamisthatjk.
A kzs gykr ott is ltszik, hogy a PROTOCOL mezben ugyanaz lesz a kd, mint a
CHAP estn: 0xC2-23. Viszont az LCP-ben a CHAP verzin belli kd mr ms. (Lsd
3.4. tblzat.)
Akkor nzzk, ebben az esetben milyen a tncrend.
~ 78 ~
Az autentikcira vr kliens elszr is rl, ha CHAP Success csomagot kap de utna mindenkppen le kell ellenriznie, hogy az annak a MESSAGE
mezjben rkez j katyvasz megegyezik-e az ltala ugyangy, ugyanolyan
bonyolultan ellltott loklis katyvasszal. Ha nem, akkor ktelezen el kell
dobnia a csomagot.
~ 79 ~
~ 80 ~
3.3 .1 .2 .4 E X T E N S I B L E A U T H E N T I C A T I O N P R O T O C O L (EAP)
RFC 3748
Megynk befel, mint maci a mlnsba.
Eddig ugyanis viszonylag egyszer volt az let. LCP, megllapodtunk az
autentikciban, eltncoltuk a mhecske tncot - s mr azonostottuk is magunkat...
vagy egymst.
Az EAP viszont egy jabb absztrakcis szintet vezet be.
Az EAP ugyanis egy ltalnos, autentikcis cl hordoz kzeg, direkt a PPP
szmra kitallva. Egy olyan protokoll, mely tetszleges autentikcis protokollt
kpes magba kapszulzni.
Hogy mi az rtelme?
Nehz erre rviden vlaszolni.
Az eddig trgyalt autentikcis mdszerek rgztett formtumak voltak, radsul
az zenetvltsok szma is limitlt volt. (Kett, vagy hrom.) Az EAP ezzel szemben
ad egy rugalmas szerkezetet, ahol mindenki azt pakol a mezkbe, amit akar s a kt
fl annyit beszlgethet egymssal, amennyit akar.
Ebbl az is kvetkezik, hogy ltezhetnek az EAP keretein bell a mr jl ismert
protokollok: semmi akadlya nem lenne, hogy csinljunk egy EAP-PAP protokollt
pldul. Mondjuk, rtelme sem. Nem is ltezik. St, a Windows Server 2008 s Vista
rendszerekben mg az EAP-CHAP sem tmogatott.
Akkor mgis milyen 'plugin' autentikcikat dughatunk az EAP-ba?
EAP-TLS (Smart Card Or Other Certificate nvre hallgat a Windows GUI-ban)
PEAP: Protected EAP (EAP az EAP-ban.)
n mondtam, hogy megynk a mlnsba. Ne gondold, hogy viccelek.
De mieltt nagyon elszaladnnk, nzzk azokat a dobozokat.
Eleve az EAP protokollon bell ngy zenettpust klnbztetnk meg:
EAP-REQUEST: Az autentikl fl kldi a behatolni igyekvnek.
EAP-RESPONSE: Az autentikland fl kldi a cerberusnak. Mind a kt fajta
zenetbl tetszleges szm lehet egy autentikcis folyamat sorn.
EAP-SUCCESS: Az autentikl fl kldi, amennyiben sikerlt a bejelentkezs.
EAP-FAILURE: Az autentikl fl kldi, amennyiben nem sikerlt a
bejelentkezs.
~ 81 ~
ILLETVE
EAP-RESPONSE
Notification
Nak
13
25
29
EAP-TLS
PEAP
EAP-MSCHAP-V2
Megnevezs
Amennyiben EAP-Request-rl van sz, akkor az autentikl fl kri a bekredzked fl
nevt. Amennyiben EAP-Response-rl van sz. akkor meg pont fordtva.
Az autentikl fl szveges zenetei a msik flnek. Htha kirja a kpernyre.
Az autentikland fl seglykiltsa, amennyiben nem ismeri a krt autentikcis
mdszert. A TYPE-SPECIFIC DATA mezben ekkor visszakldi, hogy miket is ismer.
Errl van sz.
Errl van sz.
Errl van sz.
~ 82 ~
~ 83 ~
3.3 .1 .2 .5 EAP- M S- C HA P V 2
3.3 .1 .2 .6 EAP- TL S
~ 84 ~
~ 85 ~
Ahogy a szls mondja, attl mert paranois vagy, mg nem biztos, hogy nem
ldznek. Nzzk csak meg az elz kt protokollt: mind az EAP-TLS, mind az EAPMS-CHAPv2 esetben a lnyeg, azaz a TYPE-SPECIFIC DATA mez tartalma
titkostva van. De a tbbi informci nem. s van, amikor ez is szmt.
Hogyan tehetjk mg biztonsgosabb ezt a kommunikcit? gy, hogy beletereljk
az egszet egy TLS csatornba.
Vigyzat, mlns, nagyon mlns!
Tudsz kvetni?
A PPP kapcsolatban rsztvev kt node, mieltt mg brmi is trtnne, egy EAP
kapcsolaton keresztl kipt egy TLS kapcsolatot. Ebben a kiptsben nem jelenik
meg a tnyleges felhasznli nv s jelsz, mg egyszer hangslyozom, a node-ok
ptik ki a csatornt.. Aztn amikor mr van mindkt oldalon session key, akkor
indul be a tnyleges EAP autentikci, immr a bejelentkezni kvn user adataival.
Ez a bizonyos msodik EAP (azaz a PEAP-on belli EAP) ktfle lehet:
EAP-MS-CHAP v226 (PEAP-on bell Secured Password nven talljuk a GUI-n)
EAP-TLS (PEAP-on bell Smart Card Or Other Certificate nvre hallgat)
TLS-en belli TLS... szp, mi. s nha mg mi nevezzk paranoisnak magunkat. Hol
vagyunk mi egy RFC gyrt biztonsgi szakembertl?
26
Itt mr lehet.
~ 86 ~
3. 3 .1 . 3 V I S S Z A H V S
~ 87 ~
3. 3 .1 . 4 P R O T O K O L L B E L L T S O K NC P- V E L
Itt elssorban IPCP-vel s CCP-vel fogunk foglalkozni. ECP-vel bizony mondom, nem.
Ezek ugyanis mind NCP-k.
Msfl sor. De egy fl templomnyi tmjnfst.
Kezdjk ott, hogy mi is ez a meglehetsen zavaros NCP, azaz Network Control
Protocol? Az, amit a neve is sugall. Egy protokoll, mely segti, hogy a kt pont kztt
a hlzat mkdjn. Pontosabban, az NCP nem kizrlag egy protokollt jelent,
hanem egy csaldrl van sz. Ennek tagjait soroltam fel az els kt mondatban:
IPCP: IP Control Protocol
CCP: Compression Control Protocol
ECP: Encryption Control Protocol
~ 88 ~
3.3 .1 .4 .1 IP C O N T R O L P R O T O C O L
Type
3
129
130
131
132
Length
6
6
6
6
6
Description
A kiosztott IP cm
Az elsdleges DNS szerver cme
Az elsdleges WINS szerver cme
A msodlagos DNS szerver cme
A msodlagos WINS szerver cme
~ 89 ~
RFC 1962
Semmi meglepets nem vrhat. Ez egy olyan protokoll, melynek segtsgvel a felek
megbeszlik, hogy milyen tmrtsi technikt hasznljanak a klnbz
adatcsomagok kldzgetsre.
Egy kzl lehet vlasztani.
RFC 3078
Legalbbis a Microsoft rendszerekben. Ez pedig az MPPC, azaz a Microsoft Point-toPoint Compression. Jelzem, hogy rukapcsols tnye forog fenn, azaz aki MPPC-t
vlasztott, az nagy valsznsggel 27 kapott vele MPPE-t is, mely a Microsoft Pointto-Point Encryption nvre hallgat titkostsi folyamatot takarja. A szakirodalomban
gy is szoktak elfordulni, hogy MPPC/MPPE.
Termszetesen ez a protokoll is az LCP csomagformtumot hasznlja.
A PROTOCOL ID rtke: 0x80-FD.
Szintgy csak az els 7 LCP CODE hasznlatos, ezek kzl az els ngynl
fordulhatnak el LCP OPTION blokkok.
3.7. TBLZAT
Option Name
Organization
Unique
Identifier
Microsoft
Point-to-Point
Compression (MPPC)
Type
0
Length
min. 6
Description
A tmrtsi mdszer beazonostsa
18
~ 90 ~
3.3 .1 .4 .3 E N C R Y P T I O N C O N T R O L P R O T O C O L , ECP
RFC 1968
Itt lehetne kln megbeszlni az adatcsomagok titkostshoz hasznlt mdszerrel
kapcsolatos paramtereket. Ha lehetne mst is hasznlni, mint az MPPE, melyet mr
a CCP-n bell letisztztunk.
Windows rendszerekben nem nagyon fogunk tallkozni vele. Ergo ebben a
knyvben sem.
~ 91 ~
3. 3 .1 . 5 PPP O V E R E T H E R N E T
RFC 2516
Na, ez meg milyen csodabogr?
Ok, tudom, hogy klti a krds, hiszen rengeten hasznljuk ezt a mdszert, de klnsen az eddigiek alapjn - nem lepdnk meg, ha sokan bizonytalansgot
reznnek az erben.
Hiszen kitrgyaltuk az Ethernet technolgit, lttuk, hogy a PPP egy teljesen ms
vilg... akkor hogyan jn ssze ez a kett? s legfkppen, mirt?
A vlaszt az ISP-k krnykn kell keresglni. Ezek a cgek ugyanis azt szeretik, ha az
elfizetik PPP kapcsolaton keresztl jnnek be. Hiszen ekkor a kapcsolat remekl
autentiklhat, minden mrhet, minden kzbentarthat, magnak a kapcsolatnak a
szintjn. Lehet forgalmat szablyozni, lehet forgalom alapjn szmlzni... knan.
De mit szeretne az gyfl? Ht azt, hogy ne bonyoltsk tl az lett, hadd lgjon
csak egy mezei Ethernet hlzaton. Az egyszer a szp.
Ebbl szletett meg ez az szvr.
Mint a neve is mutatja, alapveten Ethernet keretekrl lesz sz, csak ppen a
Payload-ban PPPoE keretek fognak utazni, azok payloadjban pedig vagy PPPoE
informcik (Discovery fzis), vagy PPP keretek (PPP Session fzis). Magyarul
Ethernetbe kapszulzzuk a PPPoE-t, abba meg a PPP-t.28
Ahogy jeleztem, a kommunikcinak kt fzisa ltezik:
Discovery Phase: a kliens node felfedezi az Access Concentrator-t, aki egy
AAA szerver29 segtsgvel autentiklja.
PPP Session Phase: ltrejn a PPP session, beindult a kommunikci.
Valahogy gy nz ki egy keret.
~ 92 ~
~ 93 ~
3.3 .1 .5 .1 PP P O E D I S C O V E R Y - S Z I G O R A N K O C K A F E J E K N E K
~ 94 ~
~ 95 ~
~ 96 ~
4.1 IP V 4
RFC 791
4.1.1 A Z IP H EA D E R
Els krben az IP datagrammal fogunk foglalkozni. Az elz brt most
leegyszerstettem: elfelejtjk, hogy egyltaln hallottunk olyasmirl, hogy TCP
szegmens. Nincs. Nem ltezik. Csak egy zrt doboz van (IP payload), melyet az IP
csomagba (IP Datagram) raktak, s neknk - illetve szerencsre a szabad
elektronoknak - ezeket kell elszlltaniuk valahov.
~ 97 ~
~ 98 ~
Legalbbis sem az XP SP3, sem a Vista, sem a Windows Server 2008 nem a 791-es
RFC szerint rtelmezi ezt a mezt... s van egy olyan halvny sejtsem, hogy a
Windows 7 sem gy fogja.
RFC 2474
Ehelyett az RFC 2474 a men. Mondanom sem kell, bonyolult s rthetetlen. Pedig
jl indul: azt mondja, dobjuk ki az utols kt bitet. Nem kll. A maradk hat bitet
pedig elnevezzk DSCP-nek, azaz Differentiated Services Code Point-nak. (Lsd. a
fenti bra.) Utna viszont nagyon kds lesz. Az RFC-bl annyit ki tudtam hmozni,
hogy a hat bitben lv szervzkdok azt hatrozzk meg, hogy a csomagok milyen
elbnsban rszesljenek, azaz gyakorlatilag egyfajta svszlessg-kezelsre (QOS)
hasznlhatk, mghozz blokk alap szervezettsgben. Ezeket a blokkokat
~ 99 ~
Generic QoS (GQoS) and Traffic Control (TC) API, vagy Quality Windows Audio-Video Experience
(qWAVE), azaz QoS2 API.
31 Rmlik valakinek a gyilkos ping?
30
~ 100 ~
~ 101 ~
Protokoll
ICMP
IGMP
TCP
UDP
IPv6
GRE
ESP
AH
~ 102 ~
4. 1 .1 . 1 T R E D E Z E T T S G
Megjegyzem, ezen a tren nem igazn egysges a szakirodalom. Van ahol azt mondjk, hogy a
konkrt rtegre jellemz MTU az a konkrt rteghez tartoz maximlis payload mrete. A
gyakorlatban viszont inkbb az terjedt el, hogy a hlzati krtynak van MTU-ja - mely felfogs
ebben az esetben a fenti, a NIL rtegre vonatkoz defincit jelenti.
32
~ 103 ~
~ 104 ~
~ 105 ~
~ 106 ~
4. 1 .1 . 2 IP O P T I O N S
Lers
Hlzati kontroll
Majd csak j lesz valamire
Nyomozs, mrs
Majd csak j lesz valamire
OPTION NUMBER: A
33
Option Class
00 (0)
00 (0)
00 (0)
00 (0)
00 (0)
00 (0)
10 (2)
Option number
00000 (0)
00001 (1)
00011 (3)
00111 (7)
01001 (9)
10100 (20)
00100 (4)
Lers
End Of Option List
No Operation
Loose Source Routing
Record Route
Strict Source Routing
IP Router Alert
Internet Timestamp
~ 107 ~
4.1 .1 .2 .1 E N D O F O P T I O N L I S T , N O O P E R A T I O N
Pontosabban sorszm*4, mert egy IP cm 4 bjt, s gy kapjuk meg azt a mretnvekmnyt, melyet
majd ssze kell hasonltanunk az Option Length mez rtkvel ahhoz, hogy eldnthessk, egyltaln
rgzthetjk-e mg az IP cmeket, vagy mr tlcsordultunk.
34
~ 108 ~
~ 109 ~
4.1 .1 .2 .3 S T R I C T S O U R C E R O U T I N G / L O O S E S O U R C E R O U T I N G
OPTION CODE: STRICT esetben 137, LOOSE esetben 131. (Kibonts: 4.1. tblzat )
OPTION LENGTH S NEXT SLOT POINTER: Ugyanaz a matek, mint az elz IP opcinl.
FIRST IP ADDRESS, SECOND IP ADDRESS, OTHER IP ADRESSES: Ide kretik felsorolni az sszes
rintend IP cmet. Mennyi is lehet bellk? Az IP OPTIONS max 40 bjt, ebbl
megettnk hrmat, marad 37, az IP cm 4 bjtos, azaz osztunk nggyel - marad
kilenc. Ennl hosszabb tvonalat, ha belegebednk sem tudunk sszelltani.
~ 110 ~
~ 111 ~
4.1 .1 .2 .4 IP R OU TER AL ER T
Azaz a vszcseng. Ez az, amikor az vods nzk felkiabljk Vitz Lszlnak, hogy
'Vigyzz, jn a Csokoldpofa!'.
Ugyanez informatikusra fordtva azt jelenti, hogy ez az IP opci figyelmezteti az
aktulis hostot, hogy vigyzat, ezzel a csomaggal valamit csinlnia kell a
tovbbpasszolson kvl. Tipikusan ilyenek a ksbb rszletezend IGMP csomagok.
~ 112 ~
4.1 .1 .2 .5 IN TE R N E T T IM E S TAM P
Nmileg hasonlt a RECORD ROUTE opcihoz - csak itt nem az tvonalat, hanem a
csomag megrkezsi idpontjait rgztik a routerek, illetve a cllloms.
Pusztn rdekessgknt jegyzem meg, hogy az idt az elz jfl ta eltelt
milliszekundumokban mri.
~ 113 ~
~ 114 ~
A fenti brbl lthat, hogy csak a szomszdos hostot pingettem meg. (Egy IP cm
s egy idblyeg bejegyzs van mindsszesen a batyuban.) n a szvem szerint
pingettem volna tvolabbi hostokat is, de mr a kvetkez routeren sem volt
engedlyezve ez az IP opci... az internetrl mr nem is beszlve.
Matekozzunk egy kicsit. Szmoljuk ki pldul az idblyegbl, mennyire volt
kaporszakll reg este, amikor ez a capture kszlt?
Mindkt bra azt mondja, hogy az idblyeg: 4271687066 ms, azaz osztva 1000 s
osztva 3600, az annyi, mint az elz jfl utn 1186,6 ra.
Ejnye, de megvltozott mostansg az idszmts.
Valami nem stimmel.
Tovbb olvasva az RFC 791-et, azt mondja, hogy amennyiben nem ll a router
rendelkezsre UTC formj id, vagy az nem millisecundum pontossg, akkor
gyakorlatilag brmi is lehet az idblyeg. Ezt onnan tudjuk, hogy ilyenkor a
legmagasabb helyirtk bit magasra lett lltva. Hogyan is nz ki a szmunk
binrisban?
gy: 11111110100111001100010110011010.
Bizony, a bal szls rtk magas... azaz innentl nem kthet ssze direktben a szm
a vals idrtkkel.
De legalbbis nem publikus a kplet.
~ 115 ~
A HA T R O N :
R O U T E , NAT, P RO X Y
Minden krdsre vlaszold nyugodtan azt, hogy attl fgg. Egyrszt gy a krdez lesz
rknyszertve arra, hogy tbb informcit adjon, msrszt idt nyersz a j vlasz megfogalmazsra
is. Csak az nmaguktl elvakult emberek, illetve a remnytelenl navak akarnak mindig egybl
vlaszolni.
35
~ 116 ~
4. 1 .2 . 1 A Z I P C M
192.168.1.164
255.255.255.0
Azt mondjuk, hogy amg az alhlzati maszk rtke 1, addig tart a hlzat azonost,
amikor pedig 0, akkor ott mr a host azonostt kapjuk. Valamivel matekosabban
gy is mondhatnm, hogy az IP cm s az alhlzati maszk binris szorzata (AND)
adja a hlzat azonostjt, illetve az alhlzati maszk negltja (NOT) szorozva az IP
cmmel adja a host azonostjt.
Szoktk ezt gy is jellni, hogy nem rjk le az alhlzati maszk minden egyes bitjt,
csak megadjk, hogy hny darab egyes van benne. (Remlem, az nem lep meg, hogy
az alhlzati maszk mindig balra zrt - azaz balrl tltdik fel egyesekkel.)
Ekkor a fenti plda gy nz ki: 192.168.1.164/24.
Nyilvn az sem nagy meglepets, hogy ebben az esetben a hlzaton 256 klnbz
host lehet. (Igazbl 254, mert a kt szls cm fenn van tartva a hlzat
beazonostsra, illetve a broadcast cmre.)
~ 117 ~
host1:
IP cm
192.168.154.63
192.168.154.64
IP cm
Alhlzati maszk
Hlzat azonost
Host azonost
Hostok maximlis szma
~ 118 ~
Alhlzati maszk
255.255.255.192
255.255.255.192
IP cm
Alhlzati maszk
Hlzat azonost
Host azonost
Hostok maximlis szma
Nos, ltjuk? Megint nem egyeznek meg a hlzati azonostk. Megint nem fogjk
ltni egymst. Pedig itt rnzsre minden stimmelt, azonosak voltak az alhlzati
maszkok, szomszdosak voltak az IP cmek... aztn mgsem.36
Maradjunk annyiban, hogy gyakorlott szem kell az IP cmekkel val kavarshoz. s
ha csak egy picit is bizonytalan vagy, akkor mindenfle szgyenkezs nlkl el kell
kapni a calc.exe programot s kiptygni a vlaszt.
Remlem, rthet volt a levezets. Sosem rt ugyanis, ha pontosan tisztban
vagyunk az elmlettel. Mg akkor sem, ha a gyakorlat kicsit mskppen mkdik.
A kristlytiszta elmlet ellenre ugyanis a fenti host-ok ltni fogjk egymst. Router
nlkl is.
A folyamat megrtshez szedjk el az emptinkat. Prbljuk megrteni, mit is
ltnak az adott szitucikbl az egyes host-ok?
Rgtn ott kezddik, hogy amikor egy alkalmazs kldeni akar egy csomagot egy IP
cmre, akkor nem tudja a cmzett subnet mask rtkt. Azt ugyanis nem szoktk
megadni. Mit tehet szegny IP rteg? Indulskppen veszi a felad subnet mask
rtkt, majd megnzi, hogy ezen belltsokkal egy subnet-en van-e a cmzettel?
Jelen esetben igen, dacra annak, hogy a cmzett, a sajt subnet mask rtke szerint
nem! Kld egy ARP request-et, s mivel ebben a csomagban is csak IP cm van, a
cmzett radsul egy linken is van vele, gy az ARP broadcast megtallja. A cmzett
vlaszul klden a sajt MAC cmt a feladnak. Pikns mdon is csak a felad IP
cmt s a sajt subnet mask rtkt tudja, ezek alapjn viszont is gy ltja, hogy
egy subnet-en vannak a feladval, teht a feladnak kldi az ARP response
csomagot, nem a routernek. Bjos esemny, hogy a felad meg is kapja, hiszen egy
linken vannak. Abban a pillanatban, hogy mindkt host megkapja egyms MAC
cmt, lendletbl be is indul a kommunikci, kzvetlenl a kt host kztt. A
router jelen esetben csak a gyertyt tartja.
Cifra? Igen. De mkdik. (Megjegyzem, nem egyrtelm, hogy ez j is. Szvsz
clszerbb lenne, ha a trehnyul konfigurlt rendszerek inkbb nem is
mkdnnek.)
Tessk szrevenni az ordas csalst. Host1 igazbl egy alhlzat legfels cme, azaz a broadcast
cm, Host2 pedig a vele fentrl rintkez alhlzat legals cme, azaz a hlzat azonostja. Ergo ilyen
IP cm hostok nem is ltezhetnek. Ettl persze a plda mg j, csak ppen a valsgban host1 utols
oktettje 62, illetve host2 utols oktettje 65 lett volna.
36
~ 119 ~
Hlzatokat
ler
bitek
szma
8
16
24
Als
hatr
Fels hatr
Hlzatok
szma
1.0.0.1
128.1.0.1
192.0.0.1
224.0.0.0
126.255.255.254
191 .255.255.254
223.255.255.254
239.255.255.254
127
16384
2097152
240.0.0.0
254.255.255.254
Hostokat
ler bitek
szma
24
16
8
Hostok
szma
16777214
65534
254
37
38
~ 120 ~
4. 1 .2 . 2 R O U T E
~ 121 ~
~ 122 ~
~ 123 ~
NetMask
0.0.0.0
255.0.0.0
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
240.0.0.0
240.0.0.0.
255.255.255.255
255.255.255.255
NetMask binrisan
00000000.00000000.00000000.00000000
11111111. 00000000.00000000.00000000
11111111.11111111.11111111.11111111
11111111.11111111.11111111.11111111
11111111.11111111.11111111.00000000
11111111.11111111.11111111.11111111
11111111.11111111.11111111.11111111
11111111.11111111.11111111.00000000
11110000.00000000.00000000.00000000
11110000.00000000.00000000.00000000
11111111.11111111.11111111.11111111
11111111.11111111.11111111.11111111
Eredmny
00000000.00000000.00000000.00000000
11000000 00000000 00000000 00000000
11000000 10101000 00000001 01100111
11000000 10101000 00000001 01100111
11000000 10101000 00000001 00000000
11000000 10101000 00000001 01100111
11000000 10101000 00000001 01100111
11000000 10101000 00000001 00000000
11000000.00000000.00000000.00000000
11000000.00000000.00000000.00000000
11000000 10101000 00000001 01100111
11000000 10101000 00000001 01100111
rjuk fel a Network destination rtkeket is binrisan, majd tegyk mell az elz
tblzat Eredmny oszlopt.
4.7. TBLZAT
Ssz
1
2
3
4
5
6
7
8
9
10
11
12
Network Destination
0.0.0.0
127.0.0.0
127.0.0.1
127.255.255.255
192.168.1.0
192.168.1.101
192.168.1.255
192.168.99.0
224.0.0.0
224.0.0.0.
255.255.255.255
255.255.255.255
Elz eredmny
00000000.00000000.00000000.00000000
11000000 00000000 00000000 00000000
11000000 10101000 00000001 01100111
11000000 10101000 00000001 01100111
11000000 10101000 00000001 00000000
11000000 10101000 00000001 01100111
11000000 10101000 00000001 01100111
11000000 10101000 00000001 00000000
11000000.00000000.00000000.00000000
11000000.00000000.00000000.00000000
11000000 10101000 00000001 01100111
11000000 10101000 00000001 01100111
CT
32
0
0
0
32
30
24
17
2
2
2
2
A tblzathoz hozzfztem egy CT, azaz counter oszlopot. Ez az rtk mutatja azt,
hogy ha a harmadik s a negyedik oszlopot balrl jobbra haladva binrisan
sszehasonltom, akkor meddig, azaz hanyadik karakterig tart az egyezs.
Az a sor nyer, ahol a legnagyobb ez az rtk. Holtverseny esetn a NetMask
egyeseinek szma dnt.
~ 124 ~
NetMask
0.0.0.0
NetMask binrisan
00000000.00000000.00000000.00000000
Eredmny
00000000.00000000.00000000.00000000
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
11111111.11111111.11111111.00000000
11111111.11111111.11111111.11111111
11111111.11111111.11111111.11111111
11111111.11111111.11111111.00000000
rjuk fel a Network destination rtkeket is binrisan, majd tegyk mell az elz
tblzat Eredmny oszlopt.
4.9. TBLZAT
Ssz
1
2
3
4
5
6
7
8
9
10
11
12
Network Destination
0.0.0.0
Elz eredmny
00000000.00000000.00000000.00000000
CT
32
192.168.1.0
192.168.1.101
192.168.1.255
192.168.99.0
11000000.10101000.00000001.00000000
11000000.10101000.00000001.01100101
11000000.10101000.00000001.11111111
11000000.10101000.01100011.00000000
17
17
17
32
~ 125 ~
NetMask
0.0.0.0
NetMask binrisan
00000000.00000000.00000000.00000000
Eredmny
00000000.00000000.00000000.00000000
255.255.255.0
255.255.255.255
255.255.255.255
255.255.255.0
11111111.11111111.11111111.00000000
11111111.11111111.11111111.11111111
11111111.11111111.11111111.11111111
11111111.11111111.11111111.00000000
rjuk fel a Network destination rtkeket is binrisan, majd tegyk mell az elz
tblzat Eredmny oszlopt.
4.11. TBLZAT
Ssz
1
2
3
4
5
6
7
8
9
10
11
12
Network Destination
0.0.0.0
Elz eredmny
00000000.00000000.00000000.00000000
CT
32
192.168.1.0
192.168.1.101
192.168.1.255
192.168.99.0
11000000.10101000.00000001.00000000
11000000.10101000.00000001.01100101
11000000.10101000.00000001.11111111
11000000.10101000.01100011.00000000
6
6
6
6
Suffix
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
:
:
:
:
:
fe80::21e:8cff:feab:372e%8
192.168.1.101
255.255.255.0
192.168.1.1
Ez viszont, mint fent is lthatjuk, pont a Default Gateway. Mely minden eddigi
pldban ott volt holtversenyben az els helyen, csak a NetMask-jban lv kevs
egyes miatt vesztett. Itt viszont nem volt holtverseny.
~ 126 ~
~ 127 ~
~ 128 ~
4. 1 .2 . 3 RIP
~ 129 ~
4. 1 .2 . 4 OS PF
~ 130 ~
Lassan tnyleg nem szom meg, hogy ne ruljam el, mi is a NAT. Kikdolva annyit
tesz, hogy Network Address Translation, magyarul taln hlzati cmek fordtsnak
lehetne nevezni.
Az a trkkje, hogy a kt hlzat kzs hatrn lebzsel router meg tudja
szemlyesteni az 'A' hlzatban tallhat brmelyik hostot a 'B' hlzatban, gy,
hogy a sajt 'B' hlzatbli IP cmrl nyomul.
Szerintem brn sokkal rthetbb lesz.
~ 131 ~
: 192.168.11.124
: 217.20.130.97
:2874
:80
42
~ 132 ~
Szp, szp. De nyilvn az akci szmolsignyes mvelet. Mirt van neknk erre
szksgnk? Mirt nem j a jval egyszerbb route mvelet?
Mint rtam korbban, durvn kezdtek elfogyni a kiadhat IPv4 cmek. A CIDR sokat
segtett ugyan, de nem eleget.
Erre talltk ki a privt IP tartomnyokat.
4.12. TBLZAT
Cmtartomny
A
B
C
Als hatr
10.0.0.0
172.16.0.0
192.168.0.0
Fels hatr
10.255.255.255
172.31.255.255
192.168.255.255
Vgs cm
169.254.255.255
Cmek szma
65536
~ 133 ~
~ 134 ~
A ZA Z A
PING
S A H AV ERO K
~ 135 ~
~ 136 ~
Kzismert neve
Echo reply
Destination unreachable
Source Quench
Redirect
Echo Request
Router Advertisement
Router Solicitation
Time Exceeded
Parameter Problem
Address Mask Request
Address Mask Reply
Mind a kt ICMP ECHO csomag hasonlan strukturlja a TYPE SPECIFIC DATA mez
szerkezett.
TYPE: A pontos rtkeket a 4.14. tblzat tartalmazza.
CODE: Nagy bds nulla.
CHECKSUM: CRC.
~ 137 ~
A korai opercis rendszerek nagy rszt remekl meg lehetett fektetni egy 65500 bjtnl nagyobb
ping kikldsvel. Ez volt a ping of death. A felesleg ugyanis tlcsordult, bele a verembe. Aztn bof.
De ezeket a lyukakat mr a mlt vezredben befoltoztk.
43
~ 138 ~
~ 139 ~
4. 1 .3 . 2 IC M P D E S T I N A T I O N U N R E A C H A B L E
Az elbb lttuk, mi trtnik egy sikeres ping esetn. Most megnzzk, mi trtnik
sikertelen prblkozsok esetn.
Nyilvn visszamegy egy zenet a sikertelensgrl.
Hogyan is? Hiszen nem rtk el a cmzettet. Akkor ki kldi vissza az zenetet?
Termszetesen az utols mg elrt hlzati elem. Illetve, a legutols elem, aki
informcival br. (Elkpzelhet ugyanis, hogy a megclzott host elrhet ugyan, de
pldul a megadott portja nincs nyitva.)
Az zenet pedig egy ICMP csomag, mghozz a 3-as tipus, az ICMP Destination
Unreachable.
~ 140 ~
4.15. TBLZAT
Code Elnevezs
0
Network Unreachable
1
Host Unreachable
Protocol Unreachable
Port Unreachable
5
6
Destination
Unknown
Communication
with
Destination
Network
Administratively Prohibited
10
Communication
with
Destination
Host
Administratively Prohibited
Network Unreachable for
the Type Of Service
11
Network
12
13
Communication
Administratively Prohibited
14
15
Megjegyzs
A visszafelesel router route tbljban nincs a csomag cmzettjnek IP
cmre vonatkoz bejegyzs.
A visszafelesel router route tbljban nincs a csomag cmzettjnek
hlzatra vonatkoz bejegyzs.
A cmzett host kldi vissza, ha a csomagban szerepl protokollazonostt
nem tudja rtelmezni.
A cmzett host kldi vissza, ha a csomagban szerepl porton nem figyel
semmilyen szolgltats. Apr trkk, hogy ez az zenet csak UDP szlltsi
protokoll mellett generldik, TCP esetn - a ksbb trgyaland Reset,
azaz RST - elnyomja.
A router kldi vissza, ha az MTU eltrsek miatt trdelnie kellene a
csomagot, de a DF (Don't Fragment) flag nem engedi.
Ha az IP Options rovatban elrtuk a ktelezen kvetend tvonalat a
routerek kztt, de az nem teljesthet.
Ha a megclzott host hlzatra vonatkozan van ugyan bejegyzs a
router route tbljban, de az valtlan. A gyakorlatban nem hasznljk, a
0 kd megy vissza helyette.
Elmletileg ez az zenet akkor keletkezik, ha a megcmzett host a
Network Interface Layer cmfeldert mechanizmusai szerint nem
ltezik. Gyakorlatilag csak akkor hasznljk, ha a router-hez PPP
kapcsolaton keresztl kapcsold host/router rhetetlen el.
Ha a felad host el van szigetelve hlzatnak tbbi rsztl. Egyltaln
nem hasznljk.
Ha gy egybknt ltezik route bejegyzs a megclzott munkalloms
hlzatval kapcsolatban, csak network policy tiltja a csomag
tovbbtst. A htkznapokban nem hasznljk, egyedl katonai clokra
engedlyezett.
Ha network policy tiltja a csomag tovbbtst a megclzott host
szmra. A htkznapokban nem hasznljk, egyedl katonai clokra
engedlyezett.
Amennyiben a router gy van belltva, hogy hasznlja a TOS mezt
(emlksznk, 4.1.1 fejezet, leginkbb svszlessg-szablyozs.), de a
csomagban nem tall ehhez szksges inft s emiatt nem ri el a cmzett
hlzatot.
Amennyiben a router gy van belltva, hogy hasznlja a TOS mezt, de a
csomagban nem tall ehhez szksges inft s emiatt nem ri el a cmzett
hostot.
A routeren packet filter tiltja a csomag tovbbtst. Elmletileg
hasznljk, a gyakorlatban inkbb nem - tl direkt vlasz lenne a
rosszindulat portszkennelsekre.
Amennyiben a TOS mezben megadott Precedence rtk nem
engedlyezett.
Amennyiben a TOS mezben megadott Precedence rtk alacsonyabb a
minimlisan megengedettnl.
~ 141 ~
~ 142 ~
~ 143 ~
Vagy mgsem? Egy nyomorult ICMP zenet sincs benne, a szmtgpem vad ARP
broadcast viharokkal prblja megtudni a kamu default gateway MAC Address-t majd egy id utn elunja.
Ez sem az igazi.
~ 144 ~
~ 145 ~
~ 146 ~
4.1 .3 .2 .1 PM TU
~ 147 ~
~ 148 ~
4. 1 .3 . 3 IC M P S O U R C E Q U E N C H
44
~ 149 ~
4. 1 .3 . 4 IC M P R E D I R E C T
~ 150 ~
~ 151 ~
~ 152 ~
4. 1 .3 . 5 IC M P R O U T E R D I S C O V E R Y
~ 153 ~
4.1 .3 .5 .1 ICM P R O U T E R A D V E R T I S E M E N T
Ezt az zenetet a routerek kldik. Ha senki sem ingerli ket, akkor kvzi
vletlenszer idztssel (7-10 perc), ha bejelentkezik egy host az ICMP Router
Solicitation zenettel, akkor viszont kapsbl. (Meg, ht!)
Hov kldik? Ez is vltoz. Van olyan router, aki az all host multicast IP cmre
(224.0.0.1) s van olyan router, aki a subnet broadcast cmre. (Az RRAS-ba ptett
ICMP Router Discovery az all host multicast IP cmet preferlja.)
Mit kldenek? Ezt.
~ 154 ~
msodperccel
korbban
volt
legutbbi
ICMP
Router
ROUTER IP ADDRESS #N: Szpen sorban jnnek a kiajnlott Default Gateway IP cmek.
PREFERENCE #N: Az adott IP cm preferencija... magyarul mennyire szeresse a host az
illetkes DGW-t. Minl nagyobb a szm, annl jkpbb a router.
~ 155 ~
4.1 .3 .5 .2 ICM P R O UT ER D IS CO VE R Y
Gondolom, nem lepdik meg senki, amikor elrulom, hogy ezt az zenetet a hostok
kldik, mghozz vagy az all router multicast IP cmre (214.0.0.2) vagy a subnet
broadcast cmre. (A Windows Server 2008 /Vista megint a multicast-ot szeretik.)
Mikor? Amikor egy routertl ICMP Router Advertisement csomagot kapnak.
(Amennyiben az ICMP Router Discovery engedlyezve van egy hoston s nem adunk
meg konfigurlskor Default Gateway-t, akkor a host szorgalmas lesz s magtl is
kld ICMP Router Solicitation csomagokat.)
Mit kldenek? Ezt:
~ 156 ~
4. 1 .3 . 6 IC M P T I M E E X C E E D E D
Id van.
Pontosabban, nincs. Elfogyott.
Alapveten rengeteg olyan pont van, ahol elfogyhat az id, de ne feledjk, most az IP
rtegben vagyunk. Kt idrzkeny feladatunk van:
Csomagokat sszerakni.
Csomagokat routolni.
Az els tnyleg id dimenzij. Ha a fogad host egy bizonyos id alatt kptelen
sszerakni egy szanaszt tredezett csomagot - mert mondjuk nem rkezett meg egy
darab - akkor egy ICMP Time Exceeded - Fragment Reassembly Time Exceeded
zenettel reaglja le a helyzetet.
A routernl kicsit ms a helyzet. Minden csomagnak van egy TTL rtke, mely
tulajdonkppen 'alkalom' dimenzij: indulskor a csomag kap egy rtket s
minden router, amelyiken tmegy, levesz belle egyet. Aztn az a router, amelyiknl
nullra fut a szmll, visszakld egy ICMP Time Exceeded - TTL Exceeded zenetet.
~ 157 ~
4. 1 .3 . 7 IC M P P A R A M E T E R P R O B L E M
Jelents
A hiba oka a POINTER bjtban
Hinyzik egy ktelez rtk
Elbaltzott hossz
POINTER: Egy szm, mely azt mutatja, hogy az IP Header-en bell melyik bjton
kezddik a hibs paramter.
IP HEADER AND FIRST 8 BYTES OF DATAGRAM: Hogy ne kelljen sokat keresglni, hol van a
hibs IP Header.
45
Kivve CRC error. Akkor ugyanis visszajelzs nlkl dobjk el a hostok a csomagokat.
~ 158 ~
4. 1 .3 . 8 IC M P A D D R E S S M A S K R E Q U E S T & R E P L Y
Arrl mr beszltnk, mi van akkor, ha egy szenilis host elfelejti a Default Gateway
rtkt - illetve egy szemfles router ajnl neki egy rvidebb utat az erdn keresztl.
Jelen ICMP zenetet arra hasznljuk, ha a host a subnet mask rtkt felejti el.
A mechanizmus gy nz ki, hogy a megzavarodott host kld egy ICMP Address Mask
Request krst: vagy egy direktet egy kipczett routernek, vagy egy broadcastot az
alhlzatnak. Ha valaki fogja az adst s ismeri az alhlzatra vonatkoz helyes
subnet mask rtket, akkor visszakldi azt egy ICMP Address Mask Reply
csomagban. Ha nem jn semmilyen visszajelzs, akkor a host knjban a classful
kategrik alapjn vlaszt magnak subnet mask rtket. (4.5. tblzat)
~ 159 ~
A Z A Z EG Y K I S
M UL T I CA ST
RFC 1112, 2236, 3376
~ 160 ~
rint
kommunikciba,
Jelentse
Az sszes multicast kpes host a hlzaton
Az sszes multicast kpes router a hlzaton
Az sszes DVRMP46 router a hlzaton
Az sszes MOSPF47 router a hlzaton
Az sszes PIM48 router a hlzaton
Loklis cmek, nem mennek t a routeren
Adminisztratv clokra fenntartott tartomny (administrative scoping49)
Multicast cmek:
http://en.wikipedia.org/wiki/Multicast_address
~ 161 ~
Route protokollok:
http://www.cisco.com/en/US/tech/tk828/tech_brief09186a00800a4415.html
http://en.wikipedia.org/wiki/Distance_Vector_Multicast_Routing_Protocol
http://www.javvin.com/protocolMOSPF.html
http://www.dataconnection.com/multicast/pimprotocol.htm
Na, mg egy kis alapozs. Hogyan is kell ezt az egszet elkpzelnnk? Akkor az
Ethernet krtys hostnak van egy becsletes IP cme, mondjuk a 192.168.100.2 aztn van mellette egy multicast cme is?
Bizony. Amennyiben pldul engedlyezzk rajta a multicast-ot, akkor rgtn kap
egy 224.0.0.1 cmet50. s ehhez adhatjuk hozz az egyedi cmeinket, attl fggen,
milyen csoportokat szeretnnk kialaktani.
Igen, igen, ltom a zavarodat. Eddig arrl volt sz, hogy Ethernet, teht NIL szinten
MAC address alapjn trtnik az azonosts. Milyen MAC address alapjn fogjk
megtallni a multicast csomagok a gpnket? Neadjisten t fog menni az ARP
broadcast a routereken?
Nem, ettl nem kell flni.
Nem lesz ARP broadcast51.
A multicast cmekhez automatikusan rendeldik MAC address a cm alapjn, egy
viszonylag egyszer algoritmus segtsgvel:
A 48 bites MAC address fels 25 bitje egy fix rtk, mghozz a kvetkez:
00000001 00000000 01011110 0.
Az als 23 bitje pedig az IP cm jobb szls 23 bitje.
50
51
~ 162 ~
4.37. BRA H OGYAN KELETKEZIK A MULTICAST MAC ADDRESS (F ORRS : WWW . TCPGUIDE . COM )
Ha azt mondod, hogy mg nem minden vilgos, akkor azt mondom, hogy bizony
igazad van. Hny MAC cme lehet egy hlzati krtynak? Lehet-e egyszerre valdi,
begetett MAC cme s lehet-e mellette multicast MAC cme? Ha lehet, akkor
mennyi? s hogyan jelenik majd ez meg?
Itt most vissza kell nylnunk az elz nagy fejezethez, azon bell is egszen eddig az
brig: 3.6. bra Destination MAC Address. Hogy ne lapozz annyit, idemsolom a
vonatkoz rszt:
A MAC Address alapveten egy hatbjtos rtk, ahol az els hrom bjt a hardver gyrtjra
utal, a msodik hrom pedig a konkrt eszkz azonostja.
Az els bjt legals kt bitje specilis szerepkrrel br, mind a felad, mind a cmzett
cmben.
A fenti MAC Address kpzs csak Ethernet hlzatokra vonatkozik. Token Ring esetn pldul az
RFC1469 rja le a mdszert.
52
~ 163 ~
Ebbl a bizonyos I/G bitbl fogja tudni a hlzati krtya drivere, hogy ppen
multicast MAC cmrl van-e sz, vagy valdirl. Amennyiben az elz, akkor tudni
fogja, hogy nem a begetett MAC cmmel kell sszehasonltania, hanem a krtyhoz
rendelt multicast MAC cmekkel. Majd amikor felkapta a csomagot, a MAC-IP
sszerendelsbl fogja tudni, hogy a krtya melyik IP cmre tovbbtsa azt innentl pedig mr jhet az UDP, utna pedig az alkalmazs.
J. Akkor mr csak egy krds van htra: hol lltom be a kliensen a multicast IP
cmet?
...
B flnapos turkls utn arra jutottam, hogy ilyen ltalnos belltablak nincs. Ha
van multicast-kpes alkalmazsod, akkor abban vagy van multicast IP belltablak
(pl. Message Queue) vagy az alkalmazs maga vlaszt ki egy multicast cmet egy
bedrtozott multicast tartomnybl - s ilyenkor elg csak engedlyezned.
RFC 2730
Ezenkvl szbajhet mg a bolondsipka is: Multicast Address Dynamic Client
Allocation Protocol, azaz MADCAP. Ez teljesen analg a DHCP-vel, olyannyira, hogy a
Windows 2000 ta rsze a DHCP szolgltatsnak is. Termszetesen a MADCAP sem
osztogat boldog-boldogtalannak multicast cmeket, kell hozz egy kliens is, aki kr.
Multicast how-to:
http://tldp.org/HOWTO/Multicast-HOWTO-2.html
Internet Protocol IP Multicast Technology:
http://www.cisco.com/en/US/docs/internetworking/technology/handbook/IP-Multi.html
TCP/IP Address Resolution for Multicast IP Addresses:
http://www.tcpipguide.com/free/t_TCPIPAddressResolutionForIPMulticastAddresses.htm
Introduction to Multicast
http://www.firewall.cx/multicast-intro.php
~ 164 ~
~ 165 ~
4. 1 .4 . 1 E G Y S Z E R V E R K L D E N I A K A R
~ 166 ~
4. 1 .4 . 2 E G Y K L I E N S F O G A D N I A K A R
~ 167 ~
4. 1 .4 . 3 A R O U T E R , A K I S S Z E H O Z Z A A F E L E K E T
IGMP linkek:
http://en.wikipedia.org/wiki/Internet_Group_Management_Protocol
http://www.networksorcery.com/enp/protocol/igmp.htm
http://www.javvin.com/protocolIGMP.html
Ez azrt nem ennyire egyszer. Mit is rtnk azalatt, hogy egy router figyel a multicast forgalomra?
Ugye nem lehet minden ltez multicast cmhez kln MAC Address-e.
Akkor felrnt megvizsglni olyan csomagokat is, melyeket nem is neki kldtek?
Pontosan. Ezt nevezik promiszkusz zemmdnak. Kt verzija is van:
Teljes: a host minden csomagot felrnt.
Multicast: a host csak a multicast csomagokat - ugye az Ethernet MAC Address esetn az
utols bit magas az els oktetbl - rntja fel, de abbl mindegyiket.
s igen, az nyert, aki arra tippelt, hogy mindkett borzaszt erforrsignyes zemmd. Radsul
tik is egymst.
53
~ 168 ~
4. 1 .4 . 4 IG MP V 1
RFC 1112
Rviden sszefoglalva az eddigieket:
A hostok, amennyiben ismerik a multicast zemmdot, s van multicast
cmk, Host Membership Report zeneteket kldzgetnek rendszeresen a
hlzaton. Az zenetek feladja a sajt, nem multicast IP cmk, cmzettje az
aktulis multicast cm, a TTL pedig 1.
A routerek, feltve, hogy IGMP-kpesek, rendszeresen kldzgetnek Host
Membership Query zeneteket a LAN-on. (Felad a router nem multicast IP
cme, cmzett a 224.0.0.1, a TTL szintn 1.) Ezekre a hostok Host Membership
Report zenetekkel vlaszolnak.
Gondoljuk vgig, hogyan is van ez? A router kikld egy HMQ zenetet, majd minden
host eszeveszett mdon elkld vlaszknt egy HMR zenetet? Ekkora vihar, jrszt
feleslegesen? Hiszen a routert istenigazbl nem az rdekli, hogy konkrtan mely
hostok tartoznak egy-egy multicast csoportba, neki bven elg az is, hogy van-e
legalbb egy tagja egy csoportnak?
Ebbl kifolylag nem minden host vlaszol egyszerre, hanem vletlenszer ideig
fontolgatjk a megszlalst, majd vlaszol... az egyik. Mivel a HMR esetn a cmzett a
multicast csoport, gy a csoportbli tovbb fontolgatk mr rteslnek rla, hogy
valaki vlaszolt, ergo nekik mr nem kell.
Amennyiben mltnyoland idtartamon bell nem jn vlasz egy konkrt multicast
csoportbl, akkor a router halk shajtssal trli azt a tblzatbl s rtesti a haver
routereket.
~ 169 ~
~ 170 ~
4. 1 .4 . 5 IG MP V 2
Az IGMPv1-ben ha kirlt egy multicast csoport, a router egszen addig nem rteslt
rla, amg krbe nem kldtt egy HMQ lekrdezst s arra vgl nem kapott HMR
vlaszt az rintett csoportbl. Azaz egszen addig nyomta t erre a hlzatra is a
multicast adst. Most mondhatnnk, hogy 'jajjaj, szegny router, na bumm, egy kicsit
feleslegesen dolgozott' - de ne felejtsk el, a multicast kommunikcinak ppen az a
lnyege, hogy nagy svszlessget ignyl adsok mennek rajta, clzottan. s akkor
mg nem is beszltnk arrl, mennyi id, amg egy alhlzaton a 'csoport kirlse'
informci vgighullmzik a tbbi IGMP-kpes routeren.
Az IGMPv2-ben eleinte minden ugyangy megy. A router kld egy HMQ lekrdezst,
amelyre minden csoportbl vlaszol az egyik host. Emlksznk, a hostok
vletlenszer merengsi idvel reaglnak, s az els vlaszol nyer. Nos, az IGMPv2ben ennek az els vlaszolnak annyira megn az nbizalma, hogy azt felttelezi,
az egyetlen, ergo az utols csoporttag a csoportban. Emiatt ha valamilyen oknl
fogva elhagyja a csoportot, akkor kld egy 'legyetek jk, ha tudtok' zenetet, azaz
egy Leave Group Message csomagot. A cmzett ilyenkor a 224.0.0.2, azaz az all router
csoport, a felad a host nem multicast cme, a Group Address pedig az elhagyott
multicast csoport cme. Persze az IGMPv2 routerek sem most jttek le a falvdrl,
ellenrzsknt kikldenek egy csoportspecifikus query-t, a ksbb trgyaland
Group Specific Query csomagot. Ha erre valaki vlaszol, akkor a routerek nem
csinlnak semmit. Ha csak nma csend kveti a krdst, akkor tnyleg a kilp host
volt az utols, beindul a multicast csoport trlsi procedrja.
~ 171 ~
4.1 .4 .5 .2 C S O P O R T S P E C I F I K U S L E K R D E Z S
A Group Specific Query (GSQ) zenet teljesen analg az IGMPv1 Host Message Query
zenetvel. Az egyetlen klnbsg az, hogy amg az ltalnos esetben hasznlt HMQ
zenet cmzettje a 224.0.0.1 (all host), illetve a csomagban lv GROUP ADDRESS
rtke 0.0.0.0, addig a GSQ zenetben mindkt helyen a lekrdezend csoport
multicast cme tallhat. Ebbl kvetkezen nem minden multicast host kapja meg,
hanem csak az illet csoporttagok - ergo csak k reaglnak egy HMR zenettel.
4.1 .4 .5 .3 A K R D E Z B I Z T O S
~ 172 ~
rtelmezse
Host Membership Query (ide tartozik a GSQ is)
IGMPv1 Host Membership Report
IGMPv2 Host Membership Report
Leave Group Message
IGMPv2:
http://technet.microsoft.com/en-us/library/cc957916.aspx
~ 173 ~
4. 1 .4 . 6 IG MP V 3
RFC 3376
Nehz gy. Az IGMPv2-vel mr tkletesre faragtuk a multicast forgalom kezelst mi jhet mg? Mit tudunk mg javtani rajta?
A hagyomnyos multicast kommunikcin mr semmit. Csakhogy ma mr a
multicast sem a rgi.
Mi is a multicast? Van egy forrs s az gy juttat el egy adst nhny kivlasztott
gpre, hogy a forgalom csak egyszer megy t a drton.
Tippelj: mennyi eslye van annak, hogy egy ltalad internetre kldtt ads elri
mindazokat multicast hostokat, melyek klnbz kontinenseken vannak
rcsatlakozva a netre? Ugye, nem nehz: nulla. Ma az interneten elhanyagolhatan
kevs a multicast routerek szma54.
De lpjnk tl ezen a fzison. Legyen egy idelis enterprise mret hlzatod, ahol
minden router egyben IGMP-kpes is. Gynyr. Mehet oda-vissza mindenhol a
multicast. Elkezdnk nyomni egy adst mondjuk San Francisco-ban, aztn aszerint,
hogy a tvolabbi hlzatokban, illetve az azok mgtti hlzatokban akad-e olyan
host, mely ehhez az adshoz tartoz multicast cmmel rendelkezik, a routerek teszik
a dolgukat. gy az ads elbb-utbb eljut Kazincbarcikra is.
De mi van akkor, ha valahol vkony a svszlessg? Mondjuk Budapest s London
kztt? Ekkor az sszes magyar helysznen borzasztan fog szaggatni az ads.
Logikusan clszerbb lenne valami hordozhat mdin mr elre eljuttatni az
anyagot Budapestre - s mg nhny helyi kzpontba a vilgban - majd amikor indul
a msor, mindegyik rsztvev host maga dnti el, melyik adra figyel a csoporton
bell. Ezt hvjk gy, hogy Multiple Source For Multicast Traffic, az IGMPv3 pedig
azrt jtt ltre, hogy ezt a kommunikcit ki tudja szolglni.
MBONE:
http://www.mbone.net/
http://en.wikipedia.org/wiki/Mbone
http://acs.lbl.gov/OldMisc/mbone/
Viszont ltezik az interneten egy MBONE, azaz Multicast Backbone. Ezt leginkbb dediklt
szervezetek (IETF, NASA) hasznljk. De tulajdonkppen itt is arrl van sz, hogy multicast szigeteket
ktnek ssze egy gerincvonallal, gy, hogy maga a gerinc a normlis IP forgalomba van
belecsatornzva. (IP-in-IP tunnel). Rszletesebben lsd a link szekcit.
54
~ 174 ~
4.1 .4 .6 .1 IGM P V 3 H O S T M E M B E R S H I P Q U E R Y
Egy kicsit megntt a csomag. Az eleje a rgi (mg a TYPE=11 is), de utna kapott egy
csom mezt.
RESERVED: Sorminta.
SUPPRESS ROUTER-SIDE PROCESSING: Ez egy trkks flag. Arrl van sz, hogy ha - a
lentebb lv - robusztussgi elrs magas, akkor a krdezbiztosnak akkor is ki kell
kldenie a HMQ csomagokat, ha mr kapott vlaszt. Ilyenkor lltja magasra ezt a
flag-et, jelezve a tbbi routernek, hogy habr neki muszj volt kikldenie ezt a
krst, de ne foglalkozzanak vele - azaz ne nullzzk le a stopperket. (Mely fut id
lesz sszehasonltva a QUERY INTERVAL rtkvel.)
~ 175 ~
~ 176 ~
4.1 .4 .6 .2 IGM P V 3 H O S T M E M B E R S H I P R E P O R T
TYPE: 0x22.
NUMBER OF GROUP RECORDS: A blokkok szma.
~ 177 ~
~ 178 ~
4.2 IP V 6
J 10-15 vvel ezeltt megjsoltk, hogy az IP cmek el fognak fogyni, az internet
pedig sszeszakad. Nos, ez nem trtnt meg, ksznheten a korbban mr emltett
CIDR-nek s NAT-nak.
Persze ezzel csak idt nyertnk, hiszen mindkett csak foltozsa egy kintt
gnynak.
Azrt a NAT csak erforrsignyes. Gondoljunk egy kicsit vissza a folyamatra:
lthatjuk, egy kapcsolathoz a routernek el kellett raktroznia a port mapping
rtkeket. Mi van, ha tbb ezer kapcsolat prg t a routeren percenknt?
Fst. Meg cskkentett felhasznli lmny.
Mi van akkor, ha erforrsokat akarunk publiklni az internet fel? Mondjuk,
kt darab webszervert? A routernek csak egy darab 80-as portja lesz. A msik
webszervernek mr bele kell trdnie a nem szablyos portba. rlni fognak
neki a remnybeli ltogatk. (Feltve, hogy a nluk lv tzfalon egyltaln
engedlyezve lesz mondjuk a helyettestnek kitallt 81-es port.)
A NAT nem igazn tud megbrkzni azzal a szitucival, amikor maga az
alkalmazs szint protokoll rakosgat be IP cm, illetve port rtkeket a
szlltand csomagba - hiszen nonszensz lenne elvrni egy natol eszkztl,
hogy ismerje az sszes protokollt.
Titkosts. Ha a router belepiszkl a csomagba, akkor hiba rtam al odabent
digitlisan, az egsz megy a levesbe. Arrl nem is beszlve, hogy egy rendesen
titkostott csomagot nem is tud a router rtelmezni. (Mondjuk a NAT
Traversal - IPSEC NAT-T - segtsgvel le lehet kezelni a problmt, viszont ez
erforrsba kerl.)
Prbljuk meg elkpzelni a multicast forgalmat egy natolt hlzat fel.
s ezek mg csak a NAT htrnyai. Lehetne sorolni az IPv4 kellemetlen
tulajdonsgait is:
Szk nvtr.
A routolsi szintek nehezen strukturlhatk.
Az autokonfigurci hinya.
A QOS55 csak azzal a bizonyos mdostott TOS mezvel oldhat meg, de ezt
nem minden hlzati elem ismeri. (Pontosabban, vannak olyan elemek,
melyek a TOS rgebbi rtelmezst ismerik csak.)
A mobil kliensek tmogatsnak nehzkessge. (Pl. ha a mobil kliens
menetkzben cellt vlt, a kapcsolat nem szakadhat meg.) Ezt IPv4 all
lekezelni nagyon krlmnyes.
55
~ 179 ~
~ 180 ~
~ 181 ~
~ 182 ~
~ 183 ~
4. 2 .1 . 1 U N I C A S T C M E K
~ 184 ~
~ 185 ~
4.2 .1 .1 .2 L I N K - L O C A L C M E K
A link-local cmek azon cmei egy node-nak, melyek csak az adott linken rvnyesek.
A router ezeket a cmeket nem fogja kiengedni.
Kpzsk:
~ 186 ~
4.2 .1 .1 .3 S I T E - L O C A L C M E K
A szereplket mr ismerjk. A link local cmeknl rtak itt is rvnyesek, csak site
szinten: az INTERFACE ID-nak site szinten kell egyedinek lenni.
Itt mondjuk elgondolkodtam. Ha megnzed a globlis cmeknl a Subnet ID mrete
16 bit, itt meg 54. Ht ezt meg hogyan?
Nem lehet ms a megolds, mint az, hogy a kt Subnet ID nv mgtt eltr
tartalmak lteznek.
Globlis cmnl az ISP-nk subnetel neknk egy kztes szintet. 216, azaz 65536
kztes alhlzatot hozhat ltre.
A Site-local cmnl viszont mi magunk - az ISP-nk mgtt - hozhatunk ltre
egy szigoran loklisan rtelmezett kztes subnet rendszert.
~ 187 ~
4.2 .1 .1 .4 U N I Q U E L O C A L A D D R E S S :
RFC 4193
A helyzet az, hogy a site-local cmek miatt nem lehetnk 100 szzalkig biztosak
abban, hogy a link-local cmeink abszolt egyediek a linken.
RFC 3879 - Developer Pain
~ 188 ~
4.2 .1 .1 .5 S P E C I L I S C M E K
tlltani az internetet az IPv6-ra... igen nagy falat lesz. Nem is fog menni egyik
naprl a msikra. A bks tmenet rdekben szksgnk lesz egy csom ktlt
cmre. Itt csak felsorolom ezeket, a rszletezskre ksbb kerl sor.
IPv4-compatible address
IPv4-mapped address
6to4 address
ISATAP address
Teredo address
~ 189 ~
4. 2 .1 . 2 M U L T I C A S T C M E K
~ 190 ~
rtelme
Lefoglalt, nem hasznlhat
Interface-local scope
Link-local scope
Lefoglalt, nem hasznlhat
Admin-local scope
Site-local scope
Organization-local scope
Global scope
Lefoglalt, nem hasznlhat
Rengeteg egyb elre definilt multicast cm ltezik - pl. sszes DHCPv6 szerver,
meg egyb nyencsgek. Tessk utnaolvasni.
IPv6 multicast cmek:
http://www.iana.org/assignments/ipv6-multicast-addresses
60
~ 191 ~
Cmtartomny eleje
2000::
FE80::
FEC0::
FD00::
FC00::
FF01::0001
Cmtartomny vge
3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
FEBF::FFFF:FFFF:FFFF:FFFF
FEFF::FFFF:FFFF:FFFF:FFFF
FDFF::FFFF:FFFF:FFFF:FFFF
FCFF::FFFF:FFFF:FFFF:FFFF
FF35::FFFF:FFFF
:hq
: Hybrid
: No
: No
. :
Realtek RTL8168B/8111B Family PCI-E Gigabit Ethernet NIC (NDIS 6.0)
: 00-1E-8C-AB-2F-88
: Yes
: fe80::c5cc:1c5c:8384:4546%8(Preferred)
: 192.168.1.101(Preferred)
: 255.255.255.0
Pszeudorandom algoritmussal.
Jvbeni algoritmussal - ergo ez a tartomny mg nem l.
63 Nem folytonos tartomny, mg a definilt rsztartomnyok kzl sem aktv mindegyik.
61
62
~ 192 ~
:
:
:
:
:
:
. :
:
:
:
:
:
:
:
:
. :
:
:
:
:
:
:
:
isatap.{47CE5CAA-223F-4CD4-9A17-D91D7DDC2066}
00-00-00-00-00-00-00-E0
No
Yes
fe80::5efe:192.168.1.101%10(Preferred)
84.2.44.1
84.2.46.1
: Disabled
Ethernet
NIC
Metric
20
306
306
306
276
276
276
306
276
306
276
~ 193 ~
Csemegzznk.
Vajon mi lehet az IPv6 cmem? Vigyzat, beugrat krds, ugye elg sok lehet. De
jelen esetben csak link-local cmeket ltunk, az egyik pl. gy nz ki:
fe80::c5cc:1c5c:8384:4546%8. Rnzsre tbb baj is van a cmmel. Elszr is, mi az
a %8 a vgn? Aztn az INTERFACE ID egyltaln nem gy nz ki, mintha a MAC
address-bl kpeztk volna betoldssal. ruls? Nos, a %8 formulra egyszer a
vlasz: htkznapi cm esetn ez az interface azonost szma, gynevezett
znaazonost. (A route tblnl lthat, hogy konkrtan egy Realtek hlkrtyrl
van sz.)
J, akkor mi van az INTERFACE ID-val? Az, hogy az EUI-64 nem ktelez. A Windows
Server 2008 illetve a Vista alaphelyzetben pldul vletlenszeren generlt interface
ID-t hasznl. Errl a kvetkez parancs segtsgvel tudjuk lebeszlni:
netsh interface ipv6 set global randomizeidentifiers=disabled
~ 194 ~
64
IPv6
Elfogyott
Multicast cmek (FF0x::/8)
Szintn nincs
Meghatrozatlan cm (unspecified address): ::64
Loopback: ::1
Global Unicast Address
Unique Local, Site Local Addresses
Link Local Addresses
~ 195 ~
4. 2 .1 . 3 A Z I P V 6 C S O M A G
Van packet s van header, odig rendben is volnnk - de van egy extension header a
payload-on bell. St, nem is egy, mert az brn is tbbes szmmal lett jellve.
Bizony, bizony. gy lett rugalmas az IPv6. Van egy rgztett fejlce, van egy rgztett
PDU-ja - ez volt az IPv4-ben a payload - s a kett kztt van egy tetszlegesen
bvthet gumi gyrdzna.
~ 196 ~
A fels brn nincs Extension Header, a fejlc kzvetlenl a payload-dal, azaz a TCP
szegmenssel folytatdik. Az als brn jelentsen bonyolultabb lett a helyzet, kt
extra fejlc is befurakodott az IPv6 fejlc s a payload kz.
Az Upper-Layer Protocol Data Unit-tal (ez neveztem PDU-nak) van a legkevesebb
gondunk: mint rtam, ez felel meg az IPv4 payload-nak, azaz lehet TCP, UDP, ICMPv6.
A tbbi mezvel viszont rdemes rszletesebben is megismerkedni.
~ 197 ~
4.2 .1 .3 .1 IP V 6 H E A D E R
SSZEHASONLTSA
Nos, itt vannak. Melyik a nagyobb? Na...? Ha jl figyeltl korbban, akkor mr tudod a
korrekt vlaszt: 'attl fgg'. Lthatod, hogy az IPv4 csomag ll egy fix - 20 bjt mret rszbl, majd jn az IP Options mezk vgelthatatlan sora. (Maximum 60
bjt, termszetesen nggyel oszthatra kiegsztve.)
Ezzel szemben az IPv6 fejlc mrete fix 40 bjt. Tessk krem, jabb s kisebb pedig az IP cmek ngyszerannyi helyet foglalnak.
Na, ja. Csakhogy az IP Options mezket poftlanul kiszerveztk a payload-ba, s hogy
a PSzF se jjjn r, tneveztk Extension Headers nvre.
Ami nem vltozott, az az IP csomag (header+payload) maximlis mrete: az
tovbbra is 65535 bjt65. Azaz tulajdonkppen lthat, hogy csak a dgt rugdostuk
t az egyik gy all a msik al, a fejlc mrete a payload mretnek rovsra
cskkent.
Illetve az IPv6 csomag lehet nagyobb is, mint 65535 bjt, ekkor jumbogram-nak hvjuk, s nmileg
mshogyan kezeljk.
65
~ 198 ~
66
~ 199 ~
~ 200 ~
4.2 .1 .3 .2 IP V 6 E X T E N S I O N H E A D E R S
Megnevezs
Hop-by-Hop Options header
TCP
UDP
Encapsulated IPv6 header
Routing Header
Fragment header
Encapsulating Security Payload header
Authentication header
ICMPv6
Konyec, nincs tbb header
Destination Options header
~ 201 ~
4.2 .1 .3 .2 .1
HO P- B Y - H OP O P T I O N S H E A D E R
~ 202 ~
4.2 .1 .3 .2 .2 D E S T I N A T I O N O P T I O N S H E A D E R
~ 203 ~
RFC 2406
Az AH sok mindent nyjt - titkostst speciel nem. Arra az ESP j.
Mind az AH, mind az ESP Header, illetve a mgttk lv eljrsok meglehetsen
komplex rendszert alkotnak, ezekkel majd ksbb foglalkozunk.
~ 204 ~
4.2 .1 .3 .3 ICM P V 6
RFC 4443
Nagyjbl ugyanazok a feladatok, mint az ICMPv4 esetben - csak valamivel
ramvonalasabb adatszerkezettel. Msok lettek a mezk, a nevek, a kdok - de a
funkcik maradtak.
Mivel ezekrl mr volt sz bven ebben a knyvben, gy csak egy tblzatban teszem
egyms mell az azonos funkcikat.
4.24. TBLZAT
ICMPv4
Destination Unreachable-Network Unreachable
(Type3, Code 0)
Destination Unreachable-Host Unreachable (Type 3,
Code 1)
Destination Unreachable-Protocol Unreachable (Type
3, Code 2)
Destination Unreachable-Port Unreachable (Type 3,
Code 3)
Destination Unreachable-Fragmentation Needed and
DF Set (Type 3, Code 4)
Destination Unreachable-Communication with
Destination Host Administratively Prohibited (Type 3,
Code 10)
Source Quench (Type 4, Code 0)
Redirect (Type 5, Code 0)
Time Exceeded-TTL Exceeded (Type 11, Code 0)
Time Exceeded-Fragment Reassembly Time Exceeded
(Type 11, Code 1)
Parameter Problem (Type 12, Code 0)
ICMPv6
Destination Unreachable-No Route to Destination
(Type 1, Code 0)
Destination Unreachable-Address Unreachable
(Type1, Code 3)
Parameter Problem-Unrecognized Next Header Type
Encountered (Type4, Code 1)
Destination Unreachable-Port Unreachable (Type 1,
Code 4)
Packet Too Big (Type 2, Code 0)
Destination Unreachable-Communication with
Destination Host Administratively Prohibited (Type 1,
Code 1)
Nyema
Neighbor Discovery Redirect message (Type 137, Code
0)
Time Exceeded-Hop Limit Exceeded in Transit (Type
3, Code 0)
Time Exceeded-Fragment Reassembly Time Exceeded
(Type 3, Code 1)
Parameter Problem (Type 4, Code 0 v. 2)
~ 205 ~
4. 2 .1 . 4 N E I G H B O R D I S C O V E R Y , N D
~ 206 ~
IPv6
Neighbor Solicitation message
Neighbor Advertisement message
Neighbor cache
Duplicate Address detection
Router Solicitation message
Router Advertisement message
Redirect message
Az eddigiektl eltren ebbe a fejezetbe nem mennk bele annyira rszletesen inkbb csak elv szintn mutatnm be a Neighbor Solicitation / Neighbor
Advertisement folyamatokat.
Azt tudjuk, hogy ez a kt zenet tpus az ARP Request / Reply zeneteket vltja fel.
Mi is volt az ARP Request legnagyobb hibja? Az ARP broadcast. Egyrszt nagy
terhelst jelentett a hlzatnak, msrszt pedig a routerek lenyakaztk.
Az IPv6-ban ugyan eljtszhattk volna mindezt a minden-node link-local cmre
kldtt zenettel, de akkor ugyanott lennnk, mint az ARP broadcast-tal.
Ehelyett egy specilis multicast cmre megy ki az rdekld zenet. Ezt a specilis
cmet hvjk gy, hogy solicited-node cm. A kvetkezkppen kpzdik:
A megrts kulcsa az als mez. Kinek is az Interface ID-ja? Nyilvn nem a felad.
Annak nem lenne semmi rtelme. Termszetesen a keresett IP cmbl - IP(B) kpzdik a solicited-node cm.
~ 207 ~
Az rdekld (A) node teht legyrtja ezt a solicited -node cmet s elkldi neki a
sajt IP cmt - IP(A) - sajt MAC cmt - MAC(A) - s persze a keresett IP cmet IP(B). Mely node-ok fogjk felkapni ezt a krst? Akiknek a - sajt maguknak mr
korbban legyrtott solicited-node - cmk megegyezik a felad ltal megadott
solicited-node multicast cmmel. Egsz konkrtan: az a pr node fogja felkapni, ahol
az interface ID jobb szls 24 bitje megegyezik. A tbbi node bksen krdzik
tovbb. Tiszta haszon az ARP broadcast-hoz kpest.
A tbbi mr hasonl: a megtallt node visszakldi a MAC(B) cmet s mr mehet is a
traccs.
Egy jabb gondolkods krds: a korbban bemsolt adataim alapjn vajon mi is
lesz az n solicited-node cmem?
Az els 104 bit, az ugye adott. A maradk 24 bit pedig kiszmolhat az Interface IDbl.
Merre is vagy, calc.exe?
Tessk, a cm: ff02:1::ff00:0084:454668. Most az egyszer nem segtek.
Elkpzelhet, hogy valakiben felmerl a krds: mire is j ez az egsz cc? Hiszen
az interface ID a MAC address-bl kpzdik... egyszeren szmoljunk belle vissza s
mr mink is a MAC.
Az tlet j... de sajnos ez csak ajnls. Az interface ID sokflekppen keletkezhet,
semmi garancia sincs r, hogy pont az EUI-64 volt a keletkezsnek alapja.
68
Azt ugye ltjuk, hogy az rtke (ff02) alapjn ez egy link-local multicast cm?
~ 208 ~
4. 2 .1 . 5 M U L T I C A S T L I S T E N E R D I S C O V E R Y ( ML D )
RFC 2710
MLD: ez volt az IPv4-ben az IGMP. Pontosabban az IGMPv2.
RFC 3810
Az IGMPv3-nak pedig az MLD2 felel meg.
Ok, kpben vagyunk. Jhetnek a rszletek.
Rgtn egy klnbsg: IPv4-ben egy host vagy tmogatta a multicast
kldst/fogadst, vagy nem. IPv6-ban nincs ilyen lazasg: a multicast ismerete
ktelez.
Tudom, szomor leszel, de a rszletekbe olyan tlzottan azrt nem fogok belemenni.
Egyrszt az MLD tnyleg nagyon hasonlan mkdik, mint az IGMP, gy a
mechanizmusok ismertetsbe nincs rtelme tlzottan elmlyedni.
Itt is vannak zenetek, az analgikat az albbi tblzat mutatja:
4.26. TBLZAT
IGMPv2
Host Membership Query (Type 17)
Host Membership Report (Type 22)
Leave Group (Type 23)
MLD
Multicast Listener Query (ICMPv6 Type 130)
Multicast Listener Report (ICMPv6 Type 131)
Multicast Listener Done (ICMPv6 Type 132)
~ 209 ~
Hasonl... de nem ugyanaz. Vegyk szre, hogy egy Extension Header befurakodott a
kpbe. Router Alert Option. Mire is j ez? Lapozzunk vissza.
gy van. Figyelmezteti a routert, hogy ezzel a csomaggal lesz nmi adminisztrcis
munkja. (Lsd IGMP.)
~ 210 ~
4. 2 .1 . 6 A U T O K O N F I G U R C I
RFC 2464
Ez megint egy szp tma. Kezdjk megint azzal, hogy milyen lehetsgnk volt
autokonfigurcira IPv4 alatt? Igen, a DHCP. (Illetve, brmilyen furcsn hangzik, de
egyfajta stateless autokonfigurci volt az APIPA is.)
Az IPv6 alatt tgabb lett a horizontunk:
Stateless autoconfiguration
Stateful autoconfiguration
Kombinlt brlet
Az egsz gy kezddik, hogy a router - ha van egyltaln - kikld a linkre egy Router
Advertisement zenetet. Ennek meglttl, illetve tartalmtl fggen az egyes
hostok eldntik, hogy itt most a fenti hrom autokonfigurcis esetbl melyik ll
fent.
Itt most csak a stateless vltozatot vizsglgatjuk, a DHCP mkdsvel majd az
alkalmazs rtegben fogunk megismerkedni.
RFC 4862
Van egy hostunk, egy hlzati krtyval. Feldugjuk egy IPv6 hlzatra. DHCPv6
nincs. Router van.
A router meghatrozott idnknt kld egy zenetet (Router Advertisement) a
minden-node link cmre. Az zenet sokmindent tartalmaz, tbbek kztt:
A router MAC cmt
A linken l prefixeket
A linken rvnyes MTU-t
A linkre vonatkoz spci routolsokat
A linken rvnyes maximlis hop szmot
Van-e DHCP a linken?
s mg sok egyebet. Mennyire j ez neknk? Nagyon. Kzpontilag szablyozhat
MTU? Hmm... finom. A link sszes prefixe? lljunk csak meg. Ha adottak a prefixek
(rgi szhasznlatban a subnetek) - Router Advertisement, azon bell Prefix
Information opci - a hlkrtya meg ismeri a sajt MAC cmt, ismeri az EUI-64
mdszert... simn le tudja gyrtani magnak a link sszes prefixre a prefixnek
megfelel IPv6 cmet.
~ 211 ~
~ 212 ~
K O N V E R ZI K
RFC 2893
Szval itt van ez a szebb s jobb IPv6. De mg mita, hogy itt van. Hogyan fogunk
erre ttrni? s mikor? Mikortl kell hexa-dec-bin konvertls szmolgpet
integrlni a rendszergazdk mobiltelefonjba?
Prbljuk meg kicsiben elkpzelni. Van egy magyar rtelemben kis/kzepes cges
hlzatunk: 1-200 gp, 10-15 szerver, egy core.net a kzpontban, kt telephely
(site1.net, site2.net), meg egy dmz.net. Hogyan llnnk neki?
Els krben fellltannk hrom kategrit:
IPv4 only host
:
olyan gp, amelyik csak az IPv4 mdot ismeri.
IPv6 only host
:
olyan gp, amelyik csak az IPv6 mdot ismeri.
IPv4/IPv6 host
:
olyan gp, amelyik mind a kettt ismeri.
Mikor fogunk eljutni oda, hogy egy szervernk IPv6 only legyen? Taln az unoknk.
Teljesen termszetes, ha elszr azt clozzuk be, hogy minden host, minden router
IPv4/IPv6 host legyen. Szerencsre ez ma mr nem akkora nagy kihvs, a Service
Pack 2 ta az XP is kpes r.
~ 213 ~
~ 214 ~
Igen.
69
~ 215 ~
~ 216 ~
Szz eszmefuttatsnl is tbbet r egy konkrt plda. Van neknk egy IPv6
alhlzatunk Kazincbarcikn (1a04:ff1:1::/64) s van egy msik New Yorkban
(1a04:ff1:2::/64). A kt alhlzatot szeretnnk sszektni az interneten keresztl.
Mindkt alhlzatban zemel egy-egy Windows Server 2008, melyeket routerknt
hasznlunk. (Tudom, nyakatekert a dolog, de ez alapveten egy Windows knyv, n
pedig nem akarok belemenni router clhardver konfigurlsba. Nem is tudnk.)
~ 217 ~
New York:
netsh interface ipv6 add route 1a04:ff1:1::/64 ToKazincbarcika
s kszen is vagyunk.
Egy gondolatkisrlettel nzzk meg, mit is csinltunk.
New York-bl szeretnk elrni az egyik kazincbarcikai gp fjlmegosztst.
Kazincbarcikn csak IPv6only hostok vannak, teht az IPv4 szba sem jhet.
A kazincbarcikai gp IPv6 cmt valahogy (DNS, host fjl) megtudjuk. Megprblunk
rkapcsoldni. Elkszl a SYN csomag, elindul. A default gateway-knt is mkd
routerbe pp nemrg gettk bele, hogy a kazincbarcikai IPv6 cmtartomny
(1a04:ff1:1::/64) esetben melyik adaptert hasznlja: ez a ToKazincbarcika
adapter. A router szpen becsomagolja IPv4 csomagba az IPv6 csomagot s elkldi
az IPv4-es csatornn Kazincbarcikra. Az ottani router lehntolja a kls IPv4
csomagolst, az IPv6 csomagot pedig mr el tudja kldeni a helyi gpnek az IPv6only
hlzaton.
J, most mr ismerjk a manulis csatornaptst. Hogyan nz ki akkor az
automatikus?
Els krds: milyen entitsok kztt van rtelme automatikus csatornaptsrl
beszlni? Nyilvn nem routerekrl van sz, mert azokat a szakik manulisan
konfigurljk. De mi van akkor, ha egy host akar csatornzni egy msik host-tal, vagy
~ 218 ~
Windows IP Configuration
Host Name
Primary Dns Suffix:
Node Type
IP Routing Enabled
WINS Proxy Enabled
:hq
: Hybrid
: No
: No
~ 219 ~
. :
Teredo Tunneling Pseudo-Interface
02-00-54-55-4E-01
No
Yes
2001:0:d5c7:a2ca:3c2f:2bc6:3f57:fe9a(Preferred)
fe80::3c2f:2bc6:3f57:fe9a%9(Preferred)
::
Disabled
. :
isatap.{47CE5CAA-223F-4CD4-9A17-D91D7DDC2066}
00-00-00-00-00-00-00-E0
No
Yes
fe80::5efe:192.168.1.101%10(Preferred)
84.2.44.1
84.2.46.1
: Disabled
~ 220 ~
4. 2 .2 . 1 I N T R A -S I T E A U T O M A T I C T U N N E L A D D R E S S I N G P R O T O C O L , IS AT A P
RFC 4214
A nevbl is ltszik, hogy ez a csatornzs csak site-on bell mkdik. Brmennyire
is szomor, de Mari nni s Auntie Mary nem ezt a technikt fogjk hasznlni az
interneten keresztli csatornaptshez. A keletkez IPv6 cm nem lesz globlis.
Az algoritmus:
~ 221 ~
4. 2 .2 . 2 6T O4
RFC 3056
Ennl az automatikus csatornatpusnl mr unique-global cmet kapunk. Azaz
elmletileg Mari nni s Auntie Mary mr kpesek lennnek ezt a csatornt
hasznlni. De csak elmletileg. A csatornnak van ugyanis egy kellemetlen felttele:
nem lehet tkzben cmfordt (natol) hlzati eszkz. Ms szval, a
hdfllsoknak publikus IP cmekkel kell brniuk - mrpedig ha a kt ltes hlgy
cges hlzatban dolgozik, akkor ez valsznleg nem ll.
De azrt nzzk meg, hogyan generldik ennl a tipusnl az automatikus cm.
Mivel unique-global cmrl van sz, a kpzse is hasonl.
Lesz egy 48 bites prefix: 2002:w.x.y.z
16 bit site azonost
64 bit node azonost.
Mint emltettem, ha a hostnak privt IP cme van, akkor nem generldik 6to4 cme,
gy az n gpemnek sincs.
Csak a plda kedvrt kpzeljk el, hogy dafke generlok magamnak 6to4 cmet.
Legyen a site azonostm: c01d. Ekkor a kvetkez 6to4 cmet kapnm:
2002:c0a8:165:c01d: c5cc:1c5c:8384:4546.
(A node azonostt a link-local cmbl lehet kiolvasni.)
Gondolom, ltszik a bukta: mivel a prefix kpzshez az IP cmemet hasznltuk s az
nem publikus cm, gy egyltaln nem garantlja semmi sem, hogy az egyedisget
biztost prefixem vilgmretben tnyleg egyedi is lett. Azaz dafke ide vagy oda, nem
tudnm biztonsgosan hasznlni.
Ennl a csatornatpusnl is az IPv6-over-IPv4 kapszulzst hasznljuk.
~ 222 ~
4. 2 .2 . 3 TE RE DO
RFC 4380
Itt is unique-local cmeket kapunk - s ez a csatorna mr thidalja a cmfordtsokat
is. Igen, ez az, melyet vgre becsletben megszlt kollganink is tudnak majd
hasznlni.
Szakemberknt viszont azt kell mondjam, ez a legbonyolultabb eljrs.
Kezdjk ott, hogy nem a megszokott IPv6-over-IPv4 kapszulzst hasznlja. Annak
ugyanis volt egy kellemetlen tulajdonsga: az IPv4 csomagban, amikor jelezni
akartuk, hogy milyen protokollt is tartalmaz a payload, azt mondtuk, hogy
protocol41, azaz IPv6. Ettl viszont a legtbb tzfal eldobja az agyt. Meg a
csomagot.
A Teredo ravaszabb egy kicsit: IPv4-en belli UDP csomagba kapszulzza be magt,
gy mr srtetlenl tsuhan a kerberoszok mellett.
Fontos, hogy a Teredo csatornk kiptshez nem elg a kt vgpont. Szksg van
nmi segtsgre is, mgpedig a megfelel IPv6 cmek kiszmolshoz. (Ne felejtsk
el, privt cmekbl kpeznk unique-global cmeket.) Ezt a segtsget egy n. Teredo
szerver biztostja a vgpontoknak, azaz a Teredo klienseknek. (Emellett a szerver a
kommunikci beindtsnl is segdkezik.)
Honnan szerznk ilyen szervert? Van. Legyen elg ennyi. A Microsoft zemeltet ilyen
szervereket valahol a felhben, az opercis rendszerei pedig hasznljk a
szolgltatsaikat, anlkl, hogy kln rtestennek rla minket.
Ennyi bevezets utn nzzk, hogyan keletkezik egy Teredo cm.
70
~ 223 ~
72
0
0
1
1
A mveletnek van egy rdekes trkkje: ha tetszleges szmot xorolunk egy szmmal, majd a mvelet
eredmnyt xoroljuk ugyanazzal a szmmal, akkor az eredeti szmot kapjuk vissza. rthetbben: (A
xor B) xor B = A.
~ 224 ~
Az brrl leolvashat, hogy a NAT mgtti Teredo kliens vagy egy Teredo relay-n,
vagy egy Teredo host-specific relay-n keresztl tud kommuniklni a tloldali Teredo
klienssel, illetve IPv6 node-dal. A Teredo szerver a csatorna kiptshez kell (ez
oszt IPv6 cmet s indtja be a kommunikcit.) A Windows Sever R2 eltt mind a
~ 225 ~
~ 226 ~
Szval, fapad. Cserbe egyszer, mint a tgla, nem rakdik risi vzfej header a
csomagokra s a kisr kommunikci hinya miatt gyors is.
Hogyan is rtk anno a Trabant kezelsi kziknyvben?
"A Trabant tfekvse kitn, s gyorsulsa kifogstalan.
Ez azonban nem szabad, hogy knnyelmsgre csbtson."73
73
~ 227 ~
Aki figyelmesen olvasta eddig a knyvet, nyilvn nem fog meglepdni a kvetkez
brn.
Szpen lthatak az egyes rtegek, lthat, hogy ami az egyik rtegnek payload, az a
msikon bell tovbb oszlik header+payload darabokra - s gy tovbb.
~ 228 ~
~ 229 ~
Errl a szerkezetrl van sz. Vizsgld meg alaposan a korbbi brt (5.3. bra UDP
csomag felptse) Ltsz valahol a capture fjlban ilyen szerkezetet? Ugye nem.
Pedig ott van.
Csak darabokban. Ott van ugyanis a Source IP Address, a Destination IP Address s a
Protocol az IP fejlcben, a Length pedig az UDP fejlcben. (Az Unused bjt csak
padding clt szolgl.)
Nos, ez a szerencstlensg azrt pszeud, mert kln nem utazik a csomagban,
hanem a csomag egyb mezibl rakja ssze a kld/fogad host.
Jogos a krds, hogy mi szksg lehet r?
~ 230 ~
~ 231 ~
~ 232 ~
haladtam
A parszerem nem brt megbrkzni a TCP stream jellegvel. A j g ldja meg, hiszen
eddig itt mindent dobozoltunk. Hogyan mondhatjuk ki egy alapveten diszkrt
doboz tartalmra, hogy az folyamatos adatram?
Napokig olvasgattam, trtam a netet.
Aztn hagytam a fenbe az egszet, hirtelen kzbejtt egy csom egyb problma.
Hrom nap mlva ltem le megint a kzirathoz - s nem rtettem, mit nem rtettem
korbban. Az agy egy hihetetlenl rdekes szerkezet.
Plda. Egyszeren gy kell elkpzelni a dolgot, hogy mondjuk szp lassan
hmplyg a Duna. Igenm, csakhogy a Vaskapunl zembelltottak egy gtat, arra
szereltek egy futszalagot, mely csak dobozokat kpes szlltani. A futszalag elejn
a szakik villmgyorsan bedobozoljk a vizet, rfirkantanak egy azonost szmot s
mr mehet is a szalagra. A tloldalon pedig sorbarendezik a dobozokat a szmok
alapjn, kibortjk bellk a vizet, az res dobozra rrjk, hogy a csomag rendben
megrkezett, majd visszakldik a futszalag elejre.
A Duna a futszalag eltt a felad alkalmazs, a Duna a futszalag utn a fogad
alkalmazs. A futszalag pedig maga a hlzati infrastruktra.
J-j, de mirt tennnek ilyen rltsget a romn vzgyes szakik?
Nos, innentl sntt a hasonlat. Javaslom, trjnk is vissza az informatika vilgba.
Itt a krds mshogyan hangzik el: krem szpen, hogyan is lehetne mskpp?
~ 233 ~
74
75
muss sein
Eddig brtam fken tartani a npmvelt.
~ 234 ~
~ 235 ~
~ 236 ~
5.1. TBLZAT
Kapcsolat
Megbzhatsg
Puffer
Trdels
Folyamatszablyozs
Tbbnejsg
Sebessg
Hatkonysg
UDP
Kapcsolatmentes.
A felad elkldi a csomagot, a cmzett
megkapja. Ezen a tranzakcin kvl semmit
nem beszlgetnek.
Megbzhatatlan.
A kld/fogad alkalmazsokra bzza,
hogy vegyk szre a csomagvesztst.
Nincs.
A kld alkalmazs egybl kldi a
csomagot s az ahogy megrkezik, egybl
megy is tovbb a fogad alkalmazshoz..
Nincs.
Az UDP kln nem foglalkozik vele. Ha a
csomag nagyobb lett az MTU-nl, akkor
majd trdel az IP rteg. A maximlis
mrete 64 KB.
Nincs.
Nem tudja rzkelni, hogy dug van s
lasstania kellene. Hasonlkppen azt sem,
hogy szabad a plya, lehet gyorstani.
Poligm
Kpes a pont-multipont kapcsolatra.
Multicast kommunikcinl csak UDP
jhet szba.
Gyors
Mivel nincs benne ez a sokfajta vdelem,
meg ellenrzs.
J
A csomagok tartalmhoz kpest nem tl
nagy a vzfej.
TCP
Kapcsolatcentrikus.
Mg a tnyleges adatklds eltt a felek
kiptenek egy kapcsolatot s azt poljk
is.
Megbzhat.
Az adatfolyam darabjai szmozottak s
azokat leltr szerint t kell vennie a
fogad flnek.
Van.
Mind kld oldalon, mind fogad oldalon
ltezik egy tmeneti trolhely, mely
segt a csomagok elrendezsben.
Van.
A TCP kpes kommuniklni az IP
rteggel s a csomagok sszeraksnl
figyelembeveszi az MTU rtkt.
Van.
Rendszeresen
mri
a
csomagok
berkezsi idejt s ehhez hangolja a
sebessget.
Monogm
Csak
pont-pont
kapcsolatra
j,
multicasthoz hasznlhatatlan.
Lass.
Mivel ebben viszont benne van az a
sokfajta vdelem, meg ellenrzs.
Gyenge
Mind a csomagok fejlct, mind az extra
elkldtt csomagokat tekintve nagy a
vizfej.
~ 237 ~
~ 238 ~
Eddig az ilyen adatokat valamilyen LENGTH nvvel illettk. A TCP-s fik szaktottak ezzel a
szemllettel, k azt mondtk, hogy ez a szm azt jelenti, hogy honnan kezddik a DATA. gy
pontosabb nv r az OFFSET. A lelkk rajta. Az eredmnye a kt megkzeltsnek mindenesetre
ugyanaz.
76
~ 239 ~
Ezen egyszer gyis tl kell esnnk: nzzk meg, konkrtan hogyan is szmtdik ki
ez az rtk. A Wireshark szolglatkszen mr a vgeredmnyt mutatja, azt, hogy a
header hossza 20 bjt. De mi van legalul? Amikor rllunk a HEADER LENGTH sorra
(melyrl persze tudjuk, hogy ez az igazi Trebitsch a DATA OFFSET), akkor azt ltjuk,
hogy 50. Iz. Ezmiez?
Mivel a Packet Bytes rsznl ltjuk, gy nyilvn egy hexadecimlis rtk. Decimlisra
tszmolva 80 - melynek megint nincs tl sok rtelme. Nem is lehet, hiszen csak mi,
elkorcsosult tzujj emberek szmolunk tizes szmrendszerben. Vltsuk t a szmot
binrisba: 01010000. Ha megnzzk az brt (5.8. bra A TCP fejlc), lthatjuk, hogy
a bjt als fele a RESERVED rtk s ktelezen nulla. Marad a 0101 rtk, mely
egsz pontosan annyit tesz emberl, hogy 5. (Meg hexban is.) Teht ez a szm van
letrolva a mezben. Hogyan lesz ebbl 20? gy, hogy mivel ez a szavak szmt
jelenti, s egy sz az 32 bit, gy a vgeredmny 5*32, azaz 160 bit, azaz 20 bjt.
RESERVED: Mint korbban is kiderlt, ksbbi clokra fenntartott mez, rtke nulla.
RFC 793, 3168
FLAGS: 8 kicsi zszlcska. Szoktk ezeket control biteknek is nevezni. A TCP kapcsolat
kiptsben s kezelsben jtszanak fontos szerepet. Ott is lesznek rszletesen
bemutatva.
WINDOW: Ez tulajdonkppen egy adatmret. Azt mutatja meg, hogy a fogad mekkora
adatkupacot kpes egyszerre elfogadni a kvetkez csomagban. Az rtke nem
lland, a fogad a terhelstl fggen vltoztatja. Ha pldul 0, akkor a fogad
egyelre bezrta az ajtt. Majd szl - kld egy csomagot, nulltl eltr WINDOW
rtkkel - amint jra kinyitott.
~ 240 ~
Rnzsre teljesen olyan, mint az UDP pseudo header (5.4. bra UDP Pseudo
Header), az egyetlen klnbsg, hogy itt a PROTOCOL mez rtke 6 (TCP), ott pedig
17 (UDP). A szerepe is hasonl: sszekti az IP headert s a TCP headert, gy, hogy a
pszeudo headert is hozzcsapja a TCP header s a szegmens mell, amikor a CRC-t
kiszmolja.
URGENT POINTER: Egy mutat, mely megmutatja, hol van a szegmensen bell
rendkivli srgsggel szlltand adat.
Nem tudod elkpzelni, mi? Elszr n se tudtam. Most akkor mi van? A srgsggel
szlltand adat kitr a dobozbl s beelzi a csomagot?
Majdnem, majdnem.
Lteznek olyan informcik, melyek az adott - alkalmazs szint - protokoll
vezrlshez szksgesek. Ezek az informcik - hiba az adatok kztt utaznak - de
kiemelten fontosak az alkalmazs szempontjbl. Ezeket a vezrl informcikat
szoktk out-of-band adatoknak is nevezni. Ilyesmit ktflekppen lehet sszehozni:
Kln TCP csatorna. Ezt az utat vlasztotta az FTP: van egy adatcsatornja,
ahol hossz tmtt sorokban hmplygnek a bitek s van egy
kontrollcsatornja, ahol a vezrl informcik utaznak.
Egy TCP csatornn utazik minden. Ekkor a vezrl informcikat az Urgent
Pointer hastja ki a szegmensbl. Termszetesen az adat nem fogja beelzni a
csomagot, de amint berkezik a TCP pufferbe, egybl feldolgozsra is kerl.
gy mkdik a Telnet.
RFC 793, 1122
~ 241 ~
~ 242 ~
~ 243 ~
S A Z
A CK N O W L ED G M E N T N U M B ER
P I N G P O N G CS AT A
77
~ 244 ~
78
J-j, mire ez a knyv megjelenik, az egyik mr nem lesz zszls. De most mg az.
~ 245 ~
Nzzk csak meg. Azt mondja, hogy az ISN rtke nulla. (Becsletre legyen mondva,
figyelmeztet, hogy ez relative ISN.)
De a helyes rtket akkor kapjuk meg, ha a Packet Bytes rszre vetjk a
pillantsunkat:
92 EA 06 F1 - azaz 2464810737. Szp nagy szm. Knnyen bele is lehet zavarodni.
Mivel a ksbbi SN/ACK rtkek ennl csak nagyobbak lesznek, a Wireshark nemes
egyszersggel csak a nvekmnyeket jelzi ki.
Hogy kvethetek legyenek a szmok, az brkon klnbz sznekkel jelltem,
hogy mikor melyik alap nvekvnyrl lesz sz. A bord jelli a kliens oldalt, teht
ha azt ltjuk, hogy ACK=1, akkor az gyakorlatilag azt jelenti, hogy ACK= ISNkliens + 1,
azaz 2464810737+1.
Na, ez az ISN rtk mr nem nulla. Meg nem is tnik tl szablyosnak sem. Nem is az.
Windows Server 2008/Vista esetn ugyanis az ISN egy megszott, megfszerezett,
generlt vletlenszm.
~ 246 ~
5. 2 .1 . 2 2. L P S : S Y N -A C K
~ 247 ~
~ 248 ~
5. 2 .1 . 3 3. L P S : AC K
~ 249 ~
5. 2 .1 . 4 4. L P S : G E T
~ 250 ~
~ 251 ~
5. 2 .1 . 5 5. L P S : AC K
~ 252 ~
Egyfell a 15-s csomagbl tudom, hogy egy Apache webszerver szolglt ki, ami
azrt behatrolja az opercis rendszert.
De nem ez volt a legnagyobb hazugsg. Hanem az, hogy nem tudom, mirt pont 475.
Nzzk csak meg a korbbi (13-as csomag) GET krsnket a Packet Bytes rovatban
a fenti brn. Ez egy szp nagy adatkupac. Mekkora? Azt mondja, 16 oszlop, 30 sor,
az annyi mint 480 bjt, ebbl lejn az els hat, mert az nincs bemeszelve, akkor az
pont 474. Azaz ennyi a TCP payload, azaz a TCP szegmens. Ez az rtk nem utazik
ugyan a csomagban, de a Wireshark szolglatkszen kijelzi a TCP sszegz sorban.
Pr oldallal ezeltt problmztam azon, hogy mirt pont annyi az ACK, amennyi.
Nos, ezrt. A fogad azt mondja, hogy megkaptam tled az Y SN rtk csomagban X
bjt payload-ot, a kvetkez csomagnak teht Y+X+1-tl kell indulnia - azaz erre a
Sequence Number rtkre fogok szmtani.
Nzzk meg, milyen ACK-et kld vissza a webszerver? ACK=475. Azaz t krem
legkzelebb SN-knt. s akkor n is knnyebben tudom sorbarakni a csomagokat.
~ 253 ~
5. 2 .1 . 6 6. L P S : H TT P
Most megint valami nem vrt dolog trtnt: ismt a webszerver kldtt egy
csomagot. Mirt is? Nos, az elz, azaz a 13-as csomag gyakorlatilag res volt,
pusztn egy ACK volt benne. Az igazi vlasz, azaz a kliens ltal krt weblap a mostani
csomagban megy vissza.
Mirt nem lehetett egyszerre, egy csomagban leackolni a kliens krst s rgtn
abba bele is rakni a vlaszt?
~ 254 ~
~ 255 ~
RFC 1122
Illetve egy picit lehet mg kozmetikzni rajta. Ezt nevezik gy, hogy delayed ACK.
Nem egybl vlaszolunk vissza a feladnak, hanem vrunk egy kicsit. Ha 0,5
msodpercen bell79 megy vissza valamilyen adatcsomag, akkor nyertnk, mert
ennek a csomagnak a nyakba ltetjk (piggyback) az ACK-et.
Ezt a csomagot ltjuk ebben az alfejezetben.
Igen, rzem n is, hogy sntt egy kicsit a plda - hiszen egyszer mr leackoltuk a
csomagot (14), mirt kell most mg egyszer?
szintn szlva, nem tudom. Mivel ez egy piggyback ACK - azaz nem jelent
szmottev terhelst a forgalomban - csak arra tudok gondolni, hogy a fogad oldali
implementci inkbb nem vizsglgatott, hanem sz nlkl rnyomta mg egyszer
az ACK-et, ha mr gyis ment ppen arra egy csomag.
De ha mr itt jrunk, emltsnk meg mg nhny trkkt. Pl. nagymret
adatmennyisg kldsnl megelgsznk a kt csomagonknti ACK-kel, ezzel rgtn
felre reduklva a visszirny forgalmat. Vagy PSH flag-gel elltott csomagot nem
kell egybl ackelni. Aztn vannak olyan esetek, amikor korbban elveszett
csomagokat kldnk t jra (SACK), ilyenkor a tbb csomagbl ll bercsomaghoz
mr csak egy ACK jr. Vagy ha mr cifrzzuk: pldul kldenek neknk egy hat
csomagbl ll vonatot, de mondjuk az els csomag elveszik. Ekkor hiba kapjuk
meg a tbbi tt, nem tudjuk leackolni. Majd amikor lejr az id s a felad nem kap
semmit s emiatt jrakldi mind a hat csomagot s vgre fogad oldalon sszell a
csomag - ekkor az utols csomag leackolsa automatikusan visszaigazolja mind a hat
csomagot. (Kleine Fische, gute Fische - nem egy nagy sprolsok, de sok kicsi sokra
megy.)
De most mr tnyleg nagyon elrerohantam, trjnk vissza a pingpongmeccshez.
79
Az RFC szerint 0,5 sec. Windows Server 2008 s Vista esetben ez konkrtan 0,2 sec.
~ 256 ~
5. 2 .1 . 7 7. L P S : FI N -AC K
~ 257 ~
5. 2 .1 . 8 8. L P S : AC K -F I N
~ 258 ~
5. 2 .1 . 9 9. L P S : AC K
~ 259 ~
~ 260 ~
Lesz egy opci azonost, lesz egy 1 bjtos rtk, mely az opci hosszt jelli - s
utna jhetnek az opcispecifikus adatok.
5. 2 .2 . 1 E N D O F O P T I O N L I S T S N O O P E R A T I O N
~ 261 ~
5. 2 .2 . 2 M A X I M U M S E G M E N T S I Z E O P T I O N
80
~ 262 ~
5. 2 .2 . 3 TC P W I N D O W S C A L E O P T I O N
Mint a TCP header trgyalsnl is lttuk, a WINDOW mez mrete 2 bjt. Ez azt
jelenti, hogy a receive window maximlis mrete 65535 bjt. Ez a szabvny
ksztsekor maximlisan elegendnek tnt81, de azta haladt valamennyit elre a
vilg. Gigabites kapcsolatoknl mirt ne lehetne bszme nagy ablakokat hasznlni a
folyamatos kommunikci vgett?
Ha nagyobb window mretet szeretnnk, akkor knytelen lesznk hasznlni a TCP
Windows Scale opcit. Az Option Kind rtke: 3. Az opci adatmezjben egy szm
fog utazni, melynek maximlis rtke 14 lehet. Valjban ez a szm egy
hatvnykitev, ahol a hatvnyozs alapja 2. Az eredmnyl kapott szmmal pedig
meg kell szorozni az eredeti maximlis ablakmret rtkt, hogy az jat megkapjuk.
Ebbl kifolylag az opcikkal megsegtett maximlis ablakmret:
216 * 214 = 230 = 1073741824 bjt. Kzismertebb nevn 1 GB.
81
~ 263 ~
5. 2 .2 . 4 S E L E C T I V E A C K N O W L E D G M E N T (SAC K) O P T I O N
Esett mr sz rla, hogy mi van akkor, amikor kimarad egy ACK a cmzettl. A felad
kldi a csomagokat, a cmzett makacsul nem ackol, aztn feltelik a kld oldali
puffer, vgl megmerevednek a frontok. Nagy sokra letelik az ACK vrsra
fenntartott id, a kld jra elkldi a le nem ackolt csomagokat.
De mi van akkor ha gigabites vonalon nyomtuk, j nagy ablakmretekkel (long fat
pipe)? Kldjk jra az sszes csomagot? Amikor - lttuk - az ablak akr 1 GB mret
is lehet?
Ilyen nagy ablakmreteknl mr rdemes hasznlni a selective ACK, azaz SACK
opcikat. A tbbes szm nem vletlen, ilyen opcibl ugyanis kett is van:
SACK-Permitted Option (Option Kind=4)
SACK Option (Option Kind=5)
A SACK-Permitted opci jelzi a partnernek, hogy tudom kezelni, ha SACK
visszajelzst kapok. Ezt az informcit szintn a SYN csomagokban egyeztetik a
felek.
A SACK opciban pedig konkrt szmok utaznak. Itt szerepelnek azok a Sequence
Number rtkek, melyeket a fogad nem kapott meg. Ilyenkor a felad csak ezeket
kldi jra.
~ 264 ~
5. 2 .2 . 5 TC P T I M E S T A M P S O P T I O N
~ 265 ~
5. 2 .2 . 6 P L D K
~ 266 ~
A j reg No Operation TCP opci. Mondtuk rla, hogy elvlaszt (stimmel), mondtuk
rla, hogy 1 bjt s mondtuk rla, hogy az rtke 1.
TCP Window Scale opci. Az Option Kind rtke 3, az opci mrete 3 bjt, az adat
pedig 2. Mennyi is akkor a kliensem maximlis fogad ablaka? 216 * 22 = 218 = 256 KB.
~ 267 ~
Ezt mr nem rszleteznm annyira mlyen. Maximum arra hvnm fel a figyelmet,
hogy ebben a csomagban mr magas az ACK flag, durvn be is jtt annyi csomag,
amennyi egy Send Window-ban elfr - teht tudunk RTT rtket visszakldeni.
~ 268 ~
F LA G - EK
~ 269 ~
~ 270 ~
K AP C SO LA T O K K EZ E L S E
~ 271 ~
5. 2 .4 . 2 E G Y TC P K A P C S O L A T F E N N T A R T S A
82
~ 272 ~
5. 2 .4 . 3 E G Y TC P K A P C S O L A T F E L B O M L S A
5.2 .4 .3 .1 A B K S E B B V E R Z I : F IN
~ 273 ~
5.2 .4 .3 .2 A V A D A B B V E R Z I : R S T
Szemmel lthatan nem rltek neknk. Meg szerettk volna rzni a kezket, olyan
j hromlpses formban - de mr a kinyjtott keznket sem fogadtk el. Elkldtk
a SYN csomagunkat, gy ahogy kell (SNrel=0, RecWin=8192, szegmensmret=0,
MSS=1460 s Window Scale=2 ) - de csak egy zord RST-ACK jtt vissza.
Mivel nagyapnktl azt tanultuk, hogy ne ljnk fl olyan szekrre, ahol nem ltnak
minket szvesen, tudomsul vettk az RST-t - hrom prblkozs utn abbahagytuk.
RST-t nem csak kapcsolat ltrehozsakor kaphatunk. Ugyanide jutunk, ha egy mr
meglv kapcsolaton keresztli forgalomban rtelmezhetetlen paramtert tall a
TCP fejlcben valamelyik host. Ilyenkor a kapcsolat sszes adata elvsz, melyeket az
alkalmazs mg nem olvasott fel a receive pufferbl.
~ 274 ~
5. 2 .4 . 4 A TC P K A P C S O L A T O K L L A P O T A I
Lers
Az gegyadta vilgon nem trtnik semmi.
Egy alkalmazs szint protokoll elkezdett figyelni egy porton.
Egy alkalmazs szint protokoll kapcsolatot kezdemnyezett, azaz elkldtt egy SYN csomagot.
A SYN csomag megrkezett, ment is vissza a SYN-ACK.
Megrkezett a SYN-ACK utni ACK, a kapcsolat ltrejtt.
A kapcsolat bontst kezdemnyez els FIN-ACK csomag elment.
Megjtt az ACK a kezdemnyez FIN-ACK csomagra.
Ez egy ilyen lebeg llapot, megkaptuk a FIN-ACK csomagot, de mg nem kldtk el az ACK-et.
Mindenki megkapott minden csomagot, mely a kapcsolat ktirny lezrshoz szksges volt.
Ekkor mg eltelik egy bizonyos id, amg j kapcsolatot lehet nyitni.
Megkaptuk a FIN-ACK csomagot s kldnk is egy FIN-ACK csomagot.
Megkaptuk az ACK csomagot a FIN-ACK csomagunkra.
~ 275 ~
TRKPE
(W IKIPEDIA )
Mint lthat, a lezrsnl van egy aktv folyamat s van egy passzv. Az aktv
folyamat azokbl az llapotokbl ll, amelyeken a bontst kezdemnyez fl megy
t, mg a passzv folyamat azokbl az llapotokbl, amelyeken a partner. Ergo a FIN
WAIT-2 llapotban a bontst kezdemnyez fl kapja meg az ACK csomagot a FINACK krsre, mg a LAST ACK llapotban a tloldali fl kapja meg az ACK-et az
FIN-ACK csomagjra vlaszul.
~ 276 ~
AD AT FO L Y A M
Teht, a bitek folynak - mint azt korbban mr tisztztuk. Jnnek befel, gylnek a
receive pufferben, majd az alkalmazs felkapkodja. A msik oldalon az alkalmazs
tolja bele a send pufferbe, ahonnan a TCP talicskzza kifel.
De egsz pontosan, milyen llapotai is lehetnek egy csomagnak? Hogyan
viszonyulnak ehhez a Send/Receive ablakok? s mirt ll meg a kzlekeds nlunk,
ha leesik egy centi h?
Habr az eddig lertakbl - majdnem - minderre meg lehet tallni a vlaszt, gy
gondolom, egy grafikus szemltets mindig jl jhet83.
5. 2 .5 . 1 S E N D W I N D O W
83
84
~ 277 ~
~ 278 ~
5. 2 .5 . 2 R E C E I V E W I N D O W
~ 279 ~
J krds lehet, hogy a Receive Window most akkor egy fix mret, vagy dinamikusan
vltoz? Mikor hogy. Valamikor fix rtk volt (a Windowsban nyilvn registryben
trolva), de a Windows Server 2008 / Vista esetben mr gynevezett autotuning
hangolja, a konkrt vonal svszlessgnek s forgalmnak fggvnyben. (Emiatt
szoktk felhvni a figyelmet arra, hogy a fenti opercis rendszereknl tnyleg
figyeljnk oda a QOS-re: ugyanis innentl a TCP sokkal hatkonyabban tmi ki a
drtot - azaz ha van valami alkalmazs, mely fix, minimlis svszlesg ignnyel br,
akkor ezt foglaljuk is le a szmra. Hulladkknt mr nem fog neki annyi
megmaradni, mint korbban.)
~ 280 ~
JR AK L D SE K R EN DS Z E RE
A TCP mkdse eddig teljesen logikus volt, mg ha egy kicsit bonyolult is.
Na, ez vltozik meg innentl.
Nem, nem a logikval lesz baj. s egyszersdni sem fog a helyzet.
Azt lltottam a TCP-rl, hogy megbzhat. Ez bizony nem csak abbl ll, hogy
sorszmozza a csomagokat s ellenrzi a megrkezsket: szksg esetn jra is kell
kldenie az elveszett csomagokat.
Istenem, milyen szp dolog is a nyelv. A fenti mondat gy helyes, ahogy van,
mindenki blogat - pedig kt helyen is bele van kdolva a rejtett akna: mi az, hogy
'szksg esetn'... s mi az, hogy 'elveszett'?
A TCP kulcskrdshez jutottunk el. Mikor kldjnk jra egy csomagot?
Ha tl sokig vrunk, akkor lass lesz az tvitel - hiszen ezt az idt minden
visszaigazols eltt ki kell vrni.
Ha tl hamar jrakldjk, akkor borzasztan rossz lesz a hatkonysg hiszen anyag megy ugyan t a kapcsolaton, csak sokszor ugyanaz mg
egyszer.
Igen rzkeny optimumot kell eltallni - radsul szdletesen vltoz
krnyezetekben. Egyltaln nem mindegy, hogy gigabites LAN-on vagyunk (ahol
minden belefr), mholdas WAN-on (ahol nagy a svszlessg, de a hiba is rengeteg)
vagy ppen egy betrcszs ISDN-en (ahol nysztnk minden egyes kbps-rt).
Emellett egyltaln nem mindegy, hogy a kommunikl felek a TCP mely
huncutsgait ismerik s melyeket nem.
Rengeteg trkk, apr sszersts ltezik a TCP-ben, hogy a mkdse mindenhol
optimum kzelben legyen. Nem fogom mindegyiket bemutatni ebben a fejezetben,
inkbb csak mazsolzgatok.
Elszr is, ismerkedjnk meg az jraklds alapelemeivel. Az RTO/RTT prosrl
mr ejtettem pr szt, de igazbl ebben a fejezetben rzik magukat otthon.
RTT (Round Trip Time): Az az id, mely a csomag feladsa s a visszaigazols
megrkezse kztt telik el. Ezt a TCP folyamatosan mri.
RTO (Retransmission Time Out): Az az idkorlt, mely utn egy csomag
elveszettnek tekintend, azaz a felad jrakldi. A TCP bizonyos
rendszeressggel az RTT rtkekbl szmolja ki.
~ 281 ~
~ 282 ~
Hogyan veszhetnek el tkzben csomagok? Elmletileg nem kizrt, hogy ppen arra
jrt a balts gyilkos s aprra hastotta az ethernet kbelt - de a gyakorlatban inkbb
a tlterhelt routerek szoktk eldoblni a csomagjainkat. Nyilvn visszajelzs nlkl,
hiszen tlterheltek. Hogyan vdekezhetnk ez ellen? Ha felismernnk, hogy router
tlterhelsrl van sz, akkor pldul megnvelhetnnk az RTO-t. Ez tulajdonkppen
automatikus is, hiszen megn az RTT, teht meg fog nni az RTO. Fog. Csak ppen
pr tempval ksbb, hiszen az RTO a korbbi RTT-kbl ll ssze. Azaz mr nagy az
RTT, de az RTO mg a korbbi, kisebb RTT-k alapjn ll ssze -> hirtelen nagyon
megugrik az eldobott csomagok szma -> hirtelen beindul egy nagyobb llegzet
jraklds. Mindez akkor, amikor a router egybknt is be van havazva.
5. 2 .6 . 1 S L O W S T A R T A L G O R I T M U S
~ 283 ~
5. 2 .6 . 2 C O N G E S T I O N A V O I D E N C E A L G O R I T M U S
Tegyk fel, elveszett egy csomagunk. Letelt a vrakozsi id, s mi, mint feladk nem
kaptuk meg a visszaigazolst. Nyilvn jbl el fogjuk kldeni. Hnyszor? Mg
egyszer egszen biztosan. s ha arrl sem jn meg a visszaigazols? Trelmes
emberek vagyunk, egyszer mg megprbljuk. Ha arrl sem jn meg az ACK, akkor
hagyunk fel csak a kldssel.
Mennyi id teljen el kt klds kzben? Ez nyilvn az RTO-tl fgg, hiszen annyit
vrunk, amg a csomagot elveszettnek nem nyilvntjuk. J neknk az, ha mindig
ugyanannyi RTO-val szmolunk? Nem. Az alkalmazott logika az, hogy az
jrakldseknl megduplzzuk a korbbi RTO-t. Konkrtan Windows Server 2008
esetn a tipikus plda kapcsolat felptsekor: kezd RTO 3 sec, jranyits 6 sec,
utols prblkozs 12 sec. Azaz egy nem mkd kapcsolat felismerse 21 sec
sszesen.
5. 2 .6 . 4 D E A D G A T E W A Y F E L I S M E R S
Az elbb nagyon gyorsan lezrtuk a szlat, amikor azt mondtuk, hogy abbahagyja a
kldst - s ksz. Nem egszen.
Ha ugyanis a kldsi irny a default gateway fel mutatott, s gy veszett el - egyms
utn hromszor - a csomag, akkor a host gy fogja kezelni, hogy ez a default gateway
megdgltt. s igen, most jn el az, hogy mirt lehet egy hlzati krtya
konfigurcijnl tbb DGW-t is megadni. Nem, nem azrt, hogy az egyik irnyhoz
erre, a msik irnyhoz meg amarra menjenek a csomagok85. Arra a route tbla val.
85
~ 284 ~
Bejelentkezik a tske. Egy pillanatra elromlik a vonal, egy csomagnl megn az RTT.
Ttelezzk fel, hogy ppen egy sok szegmensbl ll nagy ablak szegmenseinek
kldse kzben vagyunk, mondjuk az elejn. Az egyik szegmensnl lejr az RTO, gy
nem kapjuk meg a visszaigazolst - mikzben meglehetsen nagy valsznsggel a
csomagok megrkeztek, csak a vonal pillanatnyi belassulsa miatt a visszaigazols
nem. Hivatalosan most jra kellene kldennk az sszes csomagot, melyeket a nem
visszaigazolt csomagtl egszen a Send Window vgig kldtnk - valsznleg
feleslegesen.
Ilyenkor lp letbe az F-RTO algoritmus.
RFC 4138
A felad elszr csak az ablak els olyan szegmenst kldi jra, amelyiknl lejrt az
RTO. Megvrja a visszaigazolst. Ha ez megjtt, akkor gy csinl, mintha nem trtnt
volna semmi s elkldi az ablak _utni_ els szegmenst. (Feltve, hogy a tloldali
Receive Window-ban van mg szabad hely.) Ha erre is megjtt a visszaigazols, az
csak gy lehetsges, ha az egsz ablak tartalma korbban mr megrkezett a
tloldalra. (Ugyanis ha lenne benne lyuk, akkor a fogad nem igazoln vissza az
utbbi csomagot.)
Megksznjk, mehetnk tovbb.
Mire is j ez? Tipikusan a wifi-re. Amikor megy szpen a hlzat, de
kiszmthatatlanul fordulhatnak el pillanatnyi lassulsok.
~ 285 ~
5. 2 .6 . 6 S E L E C T I V E A C K N O W L E D G E M E N T (SAC K)
Errl mr volt sz korbban a TCP opciknl, a kp teljessge miatt vettem csak bele
a felsorolsba. (Ismtls: ha a cmzett nem kapott meg minden szegmenst egy
ablakbl, vissza tudja jelezni, hogy mely szegmensek hinyoznak. A felad ezutn
csak azokat kldi jra s nem az egsz ablakot.)
5. 2 .6 . 7 K A R N A L G O R I T M U S
5. 2 .6 . 8 F A S T R E T R A N S M I T
RFC 2581
Beesik a vrba egy kbor lovag. Ht te melyik sereghez tartozol?
A fogad egyszer csak kap egy csomagot, melynek az SN rtke nem illik a sorba. Ez
egy kbor csomag, mely eddig bklszott valahol a hlzaton. A fogad knjban
visszaigazolja, mghozz az ACK mezbe azt a Sequence Number rtket rja, melyre
egybknt szmtott. Ezzel viszont a feladt hozza zavarba: szegny szerencstlen
kt ugyanolyan ACK rtk visszaigazolst fog kapni. s ha mg csak kettt.
Karn, P. and C. Partridge, "Improving Round-Trip Time Estimates in Reliable Transport Protocols",
(SIGCOMM 87).
86
~ 286 ~
~ 287 ~
~ 288 ~
~ 289 ~
Termszetesen nem teljes. Irgalmatlanul nem teljes. Nyilvn nem csak ennyi
protokoll ltezik. Nyilvn nem csak a bngsz hasznlja a DNS-t. A Total
Commander nyilvn nem csak az SMB-t hasznlja - ha nevet kell feloldania, fordulhat
DNS-hez s WINS-hez is. A fokonyv.exe-rl meg legtbbszr a fejlesztje sem tudja,
mit is hasznl pontosan.
Ezekbl a rgztett, alkalmazs-rtegbeli protokollokbl mutatok be ebben a
fejezetben kettt. A lista bven a teljessg ignye nlkl kszlt - ezekbl a
protokollokbl ugyanis meglehetsen rengeteg van. (Rszletesebben a msodik
ktet fog foglalkozni velk.)
~ 290 ~
Habr a helyzet vlsgos, de nem remnytelen. A fejezet sorn fny derl a titokra.
~ 291 ~
~ 292 ~
Szp nagy. Meg tudnd mutatni rajta a jl megszokott tagolst: header s payload?
Bizony, nem.
Nincs. A legfels szinten vagyunk. Vagy ms nzpontbl, ez a legkisebb Matrjoska
baba. Itt mr minden payload, mg a header is. Ms szval a kisrinformcik is
rszei a protokollnak.
MESSAGE OP CODE: Request(1) vagy Reply(2)
HARDWARE ADDRESS TYPE: Hirtelen leszaladunk a fldszintre. Hardware Address?
Utoljra ilyen csnya szavakat a Network Interface rtegben hallottunk, amikor az
ARP folyamatot boncolgattuk. (3.14. bra ARP keret) Itt is ugyanarrl van sz: itt
azonostjuk be, hogy egyltaln milyen hardvert, milyen hlzati csatlakozst
hasznl a kliens. (Az Ethernet kdja 1, a Token Ring kdja 4, az EUI64 kdja meg 27.)
Hogy mg rthetbb legyen: ez a kd azt adja meg, milyen tipus MAC addressre
szmthatunk a CLIENT HARDWARE ADDRESS mezben.
~ 293 ~
~ 294 ~
A megolds kulcsa a DHCP Relay Agent-ek megjelense. Ehhez nem kell felttlenl
plusz hardver, az brn is igyekeztem rzkeltetni, hogy meg lehet oldani a feladatot
gy is, hogy maga a hlzati eszkz - router clhardver - tudja a DHCP Relay
funkcit... de meg lehet oldani gy is, hogy az rintett alhlzaton valamelyik
Windows szerverre felrakjuk az RRAS funkcit s azon bell lltjuk be a DHCP Relay
Agent szerepkrt.
Mi is trtnik ekkor?
Az alhlzaton a kliens IP cmet szeretne krni, ezrt elkld egy DHCPDISCOVER
zenetet. Ezt a Relay Agent kapja el s kldi tovbb a DHCP szervernek - de kzben
a HOPS mezben tallhat rtket megnveli eggyel, a GATEWAY IP ADDRESS mezbe
pedig berja a sajt IP cmt - mgpedig azt, amelyik egy alhlzaton van a krst
kld klienssel. Ebbl fogja tudni a tvoli subneten lv DHCP szerver, hogy melyik
znbl adjon IP cmet a kliensnek.
~ 295 ~
~ 296 ~
6.1. TBLZAT
Option
Option Name
Type
0
Pad
1
Subnet Mask
3
Router
6
12
15
31
33
43
44
Domain Name
Servers
Host Name
DNS Domain Name
Perform Router
Discovery
Static Route
Vendor-specific
information
WINS/NBNS Servers
Option
Length
4 bjt
Vltoz
(4*x bjt)
Vltoz
(4*x bjt)
Vltoz
Vltoz
1 bjt
Vltoz
(8*x bjt)
Vltoz
Vltoz
(4*x bjt)
1 bjt
46
NetBIOS Over
TCP/IP Node Type
47
50
51
53
NetBIOS Scope ID
Requested Address
Lease Time
DHCP Message Type
Vltoz
4 bjt
4 bjt
1 bjt
54
55
4 bjt
Vltoz
58
Server Identifier
Parameter Request
List
Renewal Time (T1)
59
4 bjt
61
81
Client Identifier
Dynamic DNS
Update
Classless Static
Route
Classless Static
Route
End
Vltoz
Vltoz
121
249
255
Magyarzat
1 bjt, az rtke 0. Elvlasztjel.
A kiajnlott cm alhlzati maszkja.
A kliens hlzatn a routerek IP cmei. Az els a Default
Gateway.
A DNS szerverek IP cmei
A kliens neve
A tartomny neve, amelyikbe a kliens tartozik.
A kliensnek a Router Discovery IP opcit kell hasznlnia a
routerek feldertshez.
Classful bejegyzsek a kliens loklis route tbljba. 4 bjt IP
cm, 4 bjt router IP cm.
Brmi, ami gyrtspecifikus.
A WINS szerverek listja.
Vltoz
4 bjt
Vltoz
~ 297 ~
FO LY A MA T O K
6. 1 .3 . 1 E G Y N O R M L I S C M B R L S N Y L B E T S E
Itt fogunk vlaszt kapni az els krdsnkre: hogyan tud kommuniklni egy kliens a
hlkzaton IP cm nlkl? Az brn valami gyansat mr lthatsz is: egy csupa nulla
IP cm valami kld egy vilgmret broadcast zenet a subnetre (3. csomag), a
DHCP szerver visszabroadcastol (5. csomag), majd jbl jn a csupanulla (6.
csomag), aztn megint a DHCP szerver (7. csomag) - s a ngy zenetbl ngy
broadcast. Nos, igen. Amg nincs IP cmem, addig csak broadcasttal lehet megtallni.
(Hogyan is? gy, hogy habr mindenki felkapja a MAC/IP szint broadcast
csomagokat, de a forrsoldali MAC cmek minden csomagban benne vannak,
emellett a Transaction ID s a DHCP csomag tartalma egyrtelmv teszi, hogy kik a
trsalgsban rsztvev felek s melyek az ppen aktulis tnclpsek.)
Nzzk ezeket a lpseket. Mindenhol egy-egy csomagot fogunk boncolgatni,
mghozz gy, hogy az eredeti informcikat kln sznnel emeltem ki. Ezek kz
fogom beirklni a megjegyzseimet.
~ 298 ~
Source
0.0.0.0
Destination
255.255.255.255
Protocol
DHCP
Info
DHCP Discover - Transaction ID 0x81c0d341
Az IP fejlcbl ltjuk, hogy igen, tnyleg broadcast s tnyleg UDP. De ltunk mst is:
az Ethernet frame-ben benne van a MAC cmnk, a krds-felelet csomagokat pedig
sszekti a Transaction ID.
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
Source port: bootpc (68)
Destination port: bootps (67)
Length: 308
Checksum: 0x87a6 [correct]
Mint ahogy rtam, a kliens a 68-as portot hasznlja (bootp client), a szerver pedig a
67-est (bootp server). Azaz a forrs a kliens, a cl a szerver.
Bootstrap Protocol
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Igen, a broadcast flag. A Vista kliensem jelezte, hogy kptelen unicast vlaszt fogadni,
csak a broadcast a j.
~ 299 ~
Itt fogtunk valamit. Errl a mgikus stirl eddig mg nem esett sz.
RFC 951, 1048
Az RFC 951 rja le a BOOTP (BootStrap) protokoll mkdst. Ennek kiegsztse az
RFC 1048, amelyben a vendorfggetlen BOOTP implementcit igyekeznek
definilni. Itt mondjk ki, hogy ahhoz, hogy egy BOOTP megvalsts gyrtfggetlen
legyen, az Options meznek a kvetkez szmsorozattal kell kezddnie:
99.130.83.99. (63.82.53.63 hexadecimlisan.)
~ 300 ~
~ 301 ~
Itt azt kell ltni, hogy a Parameter Request List/Value mezben egy-egy bjt jelli a
szksges paramter azonostjt. Pldul a 'NetBIOS over TCP/IP Scope'-hoz a
0x2F azonost tartozik, mely emberi nyelvre fordtva 47.
6.1 .3 .1 .2 DHC P OF F ER
6.3. TBLZAT
No. Time
5
1.150481
Source
192.168.1.1
Destination
255.255.255.255
Protocol
DHCP
Info
DHCP Offer - Transaction ID 0x81c0d341
~ 302 ~
~ 303 ~
6.1 .3 .1 .3 DHC P R E QU ES T
6.4. TBLZAT
No. Time
6
1.150913
Source
0.0.0.0
Destination
255.255.255.255
Protocol
DHCP
Info
DHCP Request - Transaction ID 0x81c0d341
Itt jelezzk, hogy ez mr egy hatrozott krs, azaz request. Eddig csak
rdekldtnk.
Option: (t=61,l=7) Client identifier
Option: (61) Client identifier
Length: 7
Value: 01001E8CAB372E
Hardware type: Ethernet
Client MAC address: AsustekC_ab:37:2e (00:1e:8c:ab:37:2e)
Option: (t=50,l=4) Requested IP Address = 192.168.1.103
Option: (50) Requested IP Address
Length: 4
Value: C0A80167
Option: (t=54,l=4) Server Identifier = 192.168.1.1
Option: (54) Server Identifier
Length: 4
Value: C0A80101
Option: (t=12,l=2) Host Name = "hq"
Option: (12) Host Name
Length: 2
Value: 6871
Option: (t=81,l=5) Client Fully Qualified Domain Name
Option: (81) Client Fully Qualified Domain Name
Length: 5
Value: 0000006871
Flags: 0x00
~ 304 ~
6.1 .3 .1 .4 DHC P AC K
6.5. TBLZAT
No. Time
7
1.151844
Source
192.168.1.1
Destination
255.255.255.255
Protocol
DHCP
Info
DHCP ACK - Transaction ID 0x81c0d341
~ 305 ~
~ 306 ~
6. 1 .3 . 2 E G Y C M E L E N G E D S E
~ 307 ~
6. 1 .3 . 3 R E N E W S R E B U I L D
Szpen lthat a DHCP Request s a DHCP ACK vlasz - ahol mind a kt csomagnak
rendes cmzettje s feladja van. Sz sincs semmifle broadcastrl.
~ 308 ~
6.1 .3 .3 .2 R E B U I L D
Egy kicsit cifrbb dologrl van sz. Letelt a T1 idtartam, a kliens eszeveszetten
szeretn megjtani a brlett - de a DHCP szerver nem rhet el. Terroristk
felrobbantottk. Lentttk kakaval. Elvitte a cica. Brmi. A kliens prblkozik,
prblkozik... majd ha letelt az 59-es opciban megadott T2 idtartam, akkor feladja:
jrakezd egy DHCPDISCOVERY zenettel, htha tall msik DHCP szervert.
~ 309 ~
6. 1 .3 . 4 S U B N E T V L T S
~ 310 ~
~ 311 ~
Renew
Rebind
Reply
8
9
Release
Decline
10
Reconfigure
11
12
InformationRequest
Relay-Forward
13
Relay-Replay
~ 312 ~
Lers
A kliens keresi a szervert
A szerver vlaszol a Solicit krsre
A kliens konkrtan elkri az adatokat
A kliens krberdekldik az sszes DHCP szervernl, hogy amit
kapott, az j-e
Cm megjts
Cmeldobs, amennyiben nem sikerlt a Renew
A szerver visszaigazolja a krseket (request, confirm, rebind,
reply)
A kliens zeni, hogy p, kisaranyom.
A kliens zeni a szervernek, hogy az rossz anyagot szlltott ilyen cm mr van.
A szerver zeni a kliensnek, hogy vltoztak a konfigurcis
adatai, nzzen be jra. A kliens ilyenkor vagy Renew, vagy
Information-Request zenettel prblkozik.
A kliens konfigurcis informcikat kr. (De IP cmeket nem.)
A DHCP Relay Agent kldi az eredeti DHCP krst, DHCPv6
Relay-Message zenetbe csomagolva.
A DHCP szerver vlaszol a Relay Agent-nek, szintn RelayMessage zeneten keresztl.
DHCPv4
megfelelsg
DHCPDiscover
DHCPOffer
DHCPRequest
DHCP Request
DHCPRequest
DHCPRequest
DHCPAck
DHCPRelease
DHCPDecline
DHCPInform
-
~ 313 ~
~ 314 ~
~ 315 ~
N AM E Q U E RY R E SP O N S E
Z EN ET EK
~ 316 ~
6. 2 .1 . 1 D NS Q U E R Y H E A D E R
6.18. BRA DNS H EADER (N AME Q UERY R EQUEST / N AME Q UERY R ESPONSE )
~ 317 ~
~ 318 ~
Lers
Siker
Format Error
Szerverhiba
Nemltez domain
Not implemented
Query elutastva
Ltez nv, mely nem ltezhetne
RR, mely nem ltezhetne
RR, melynek lteznie kellene
A szerver nem autoritatv a znra
A nv nincs a znban
~ 319 ~
6. 2 .1 . 2 Q U E R Y Q U E S T I O N E N T R I E S
QUESTION NAME: Vltoz mret mez. Itt utazik maga a krds. A cm, aminek a
feloldsra vlaszt szeretnnk kapni. A kdolsa... minimum bjos.
~ 320 ~
Nv
Host Address (A) rekord
Name Server (NS) rekord
Alias (CNAME) rekord
Start of Authority (SOA) rekord
Reverse-lookup (PTR) rekord
Mail Exchanger (MX) rekord
IPv6 host (AAAA) rekord
Server Selection (SRV) rekord
Incremental Zone Transfer (IXFR) rekord
Standard Zone Transfer (AXFR) rekord
All records
A fenti kpen (6.22. bra Question Name) lthat (00 01), hogy 'A' rekordot krtem
le.
Question Class: Kt bjt. DNS esetben mindig 1. Ez jelzi az (IN) class-t.
~ 321 ~
6. 2 .1 . 3 Q U E R Y E R F O R R S R E K O R D O K
Mivel formailag teljesen megegyeznek, gy nincs rtelme kln trgyalni ezt a hrom
mezt.
~ 322 ~
Akik szeretnek matekozni, azokat valsznleg rdekelni fogja, mirt pont c0 0c lett
ez a pointer.
Ez ugye kt bjt. rjuk fel binris formban:
11000000 00001100
Az els kt bit jelzi, hogy ez pointer lesz. Azokat le is kaphatjuk a tblrl.
000000 00001100
Mennyi is ez decimlisban? 12.
Kezdjnk el szmolni. Jelen esetben a bemeszelt rsz a DNS csomag, azon bell kell
megkapnunk a Question Name kezd bjtjnak a szmt. Aszongya, 1, 2, 3, ..., 13.
Iz.
Neknk meg 12 jtt ki.
~ 323 ~
89
~ 324 ~
U P DA T E R E SP O N S E
Z EN ET E K
~ 325 ~
6. 2 .2 . 1 D NS U P D A T E S U P D A T E R E S P O N S E H E A D E R
~ 326 ~
6.30. BRA A FLAG MEZ SZERKEZETE A DNS U PDATE S U PDATE R ESPONSE FEJLCBEN
~ 327 ~
6. 2 .2 . 2 U P D A T E Z O N E E N T R I E S M E Z
ZONE NAME: Vltoz mret mez, a zna teljes neve. Az adatok brzolsa a
korbban megismert mdon (szm, cimke, szm, cimke, stb...) trtnik.
ZONE TYPE: Fix 6-os. A 6.8. tblzat szerint ez a SOA kdja.
ZONE CLASS: 1, azaz (IN).
~ 328 ~
6. 2 .2 . 3 U P D A T E E R F O R R S R E K O R D O K
Ez a plya.
RFC 2136
A Prerequisite Resource Records mezben tulajdonkppen erforrs rekordokra
vonatkoz elfeltteleket adhatunk meg. Ezt gy kell rteni, hogy az update csak
akkor trtnhet meg, ha ezen felttelek mindegyike igaz.
A felttelek konkrt megadsa nem knnyen lthat t. Ebbe a mezbe ugyanis
Resource Record-okbl ll set-ek kerlnek, mghozz a normlistl nmileg eltr
feltltssel. (A Resource Record felptst az albbi bra mutatja: 6.24. bra DNS RR
formtum a Query Response csomagban.) Attl fggen, hogyan varilom meg a
feltltsi szintaxist, t feltteltipust hasznlhatunk:
Az erforrs rekord csomagban lv erforrs rekordok kzl legalbb az
egyik ltezik a szerveren.
Az erforrs rekord csomagban lv sszes erforrs rekord ltezik a
szerveren.
Az erforrs rekord csomagban lv egyik erforrs sem ltezik a szerveren.
A megadott nvvel legalbb egy erforrs rekord ltezik a szerveren.
A megadott nvvel egy erforrs rekord sem ltezik a szerveren.
Az Update Resource Records mezben azokat az erforrs rekordokat talljuk,
melyeket vagy hozz kell adni az rintett znkhoz, vagy ki kell trlni bellk.
Az Additional Resource Records mezben pedig az update-hez tartoz egyb
erforrs rekordok utaznak.
~ 329 ~
F O L Y A M AT O K
Source
192.168.1.104
Destination
84.2.44.1
Protocol
DNS
Info
Standard query A www.index.hu
Ezt egy kicsit benzte a Wireshark, de nem ezrt szeretjk. Tudjuk, hogy a kliens
hogyan kapcsoldik a szerverhez: forrsknt n. kliens portot (1024-65535)
hasznl, cmzettknt meg az n well-known portot, mely a protokoll RFC-jben kerl
ajnlsra. Az UDP 53 a szerver oldalon rendben is van - de a kliens oldalon lv,
vletlenszeren kivlasztott user port pont megegyezik egy ritkn hasznlt
~ 330 ~
data
is
Egy cmet szeretnk feloldani. Az RR mezk logikusan resek, hiszen ezek a vlaszok
szmra vannak fenntartva.
Queries
www.index.hu: type A, class IN
Name: www.index.hu
Type: A (Host address)
Class: IN (0x0001)
~ 331 ~
Source
824.2.44.1
Destination
192.168.1.104
Protocol
DNS
Info
Standard query response A 217.20.130.97
Azonost: stimmel.
Flags: 0x8180 (Standard query response, No error)
1... .... .... .... = Response: Message is a response
.000 0... .... .... = Opcode: Standard query (0)
.... .0.. .... .... = Authoritative: Server is not an authority for domain
.... ..0. .... .... = Truncated: Message is not truncated
.... ...1 .... .... = Recursion desired: Do query recursively
.... .... 1... .... = Recursion available: Server can do recursive queries
.... .... .0.. .... = Z: reserved (0)
.... .... ..0. .... = Answer authenticated: Answer/authority portion was not
authenticated by the server
.... .... .... 0000 = Reply code: No error (0)
~ 332 ~
90
91
Vicc volt.
Rossz vicc.
~ 333 ~
6. 2 .3 . 2 R E V E R Z N V F E L O L D S
Lthat, hogy nv helyett a Question Name mezben most egy IP cm, pontosabban
egy IP cmbl kpzett elnevezs ll. (Az egyes cimkk tovbbra is ASCII kdokkal
troldnak.) A tpus is ms egy kicsit, most nem 'A' rekordra vadszunk, hanem
'PTR'-re. De minden ms stimmel.
~ 334 ~
~ 335 ~
6. 2 .3 . 3 H O G Y A N C S I N L J U N K H L Y T M A G U N K B L ?
A vge fel kzelednk, itt mr egy kicsit elengedhetjk magunkat. Mindenki dljn
htra a szkben92, helyezze magt knyelembe. Meslni fogok.
Egyik gyfelnk frissen bezemelt alternatv levelezsi kijratval baj volt. Ha azon
ment ki egy levl, akkor nagy valsznsggel nem rkezett meg a cmzetthez,
radsul hibazenet sem rkezett vissza. Nem kicsit volt knos, az gyfl zleti
tevkenysge ugyanis ersen emailfgg.
ltalban mikor nem rkezik hibazenet? Ha a tloldalon lv levelezszerver
szpemnek tekinti a kldemnyt. Hlye lenne a szpemmert informcikkal tmni.
De mirt tekintettek minket szpemmernek? s mirt csak nhnyan?
Nmi nyomozs utn kiderlt, hogy azokkal a cmzettekkel volt baj, ahol az
gyfelnk levelezsi kijratt reverz DNS vizsglattal ellenriztk. Ez abbl ll, hogy
megnztk, milyen IP cmrl rkezett meg a levl, rkrdeztek, hogy ehhez az IP
cmhez milyen FQDN tartozik - s ha talltak ehhez tartoz MX rekordot az gyfl
znjban, akkor a levl nem volt szpem. Feltehetleg.
Innentl mr snen voltam: elkezdtem tesztelni a kijratra vonatkoz nvfeloldst.
Elkesert eredmnyt kaptam: mind a nagyvilgban, mind a magyar neten teljesen
vletlenszer volt, hogy mely DNS szervereknl mkdik a reverz lekrdezs s
melyeknl nem.
Jobb hjn sszelltottam egy terjedelmes lerst a jelensgrl, elkldtem az gyfl
DNS szolgltatjhoz. Nzzk meg, oldjk meg... csinljanak valamit.
(A kvetkez oldalon az index.hu pldjn mutatom be a hlyesgemet.
Termszetesen az eredeti gyfl _nem_ az index.hu volt. Jl is nznk ott ki a
Windows-os tudsommal.)
92
~ 336 ~
~ 337 ~
~ 338 ~
Ltsz a vlaszban feloldott nevet? Nem. A Queries mez utn rgtn az Authority RR
mez jn, nincs sehol Answer RR. Mirt nincs? A flag-eket kell megnzni. Ott ll
feketn-fehren a Recursion Available flag-ben, hogy "Server can't do recursive
queries". Ezt a DNS szervert gy konfigurltk, hogy ne dolgozzon ms helyett. Ha
rekurzv lekrdezsre utastjk, akkor visszadobja, hogy merre indulna el - s
ennyi. Ez az inf van az Authority RR mezben s ezt az inft dobja fel az brn
(6.38. bra Ez meg mi?) is.
Nzznk egy ellenprbt. Lthat, hogy a nagy magyar interneten volt olyan DNS
szerver is, mely kpes volt feloldani az gyfl cmt. (6.37. bra Egy normlis, odavissza nvfelolds)
~ 339 ~
~ 340 ~
AZ
IP V 6- B AN
~ 341 ~
~ 342 ~
KIVEZETS
7 K IVEZETS
Minden normlis knyvben arra szokta buzdtani a szerz a kedves olvast, hogy ha
krdse van, akkor ne hezitljon, tegye fl btran.
Ez ilyen szempontbl is rendhagy knyv. n azt mondom, hogy eszed gban se
legyen tlem brmit is krdezni. Nem azrt, mert n egy undok vadmalac vagyok...
hanem azrt, mert ez egy alulrl korltos knyv.
Elmagyarzom.
Aki van annyira btor, hogy knyvet r, annak nagyon kell tudnia. Ezt a tudst
legtbbszr nem is tudja teljesen kirni magbl. Mr nyomdban van a knyv,
amikor eszbe jut, hogy ez is kimaradt, meg az se lett teljesen kibontva. Azaz ha
brki krdez valamit, ami nem kerlt bele a knyvbe, a szerz magtl rtetden el
tudja magyarzni.
Ez a fellrl korltos knyv. Ilyen volt az Exchange 2007-rl szl knyvem.
Ennek a mostani knyvnek mr a legelejn jeleztem, hogy rendhagy kisrletre
kszlk. Olyan terletrl rok, amelyhez nem rtek. Pontosabban rtek
valamennyire, de messze nem annyira, mint amilyen mlyen el akarok merlni a
tmban. Menetkzben tanulok... s a megrtett dolgokat gyermeki rmmel adom
t, mint megannyi jdonsgot.
Lertam mindent, amit tudok... st valjban tbbet is rtam le, mint amit
tnylegesen tudok. Hiszen a keretek s datagramok szerkezett, a szabvnyok
lnyegt n is kziknyvekbl, weblapokrl szedtem ssze.
Ergo ez egy alulrl korltos knyv.
Krdezni krdezhetsz, persze... de n is csak annyit tudok tenni, amennyi neked is
rendelkezsedre ll: gugli vagy bing.
Ellenben ha te a tma szakrtje vagy s csak a viccek miatt olvastad vgig a
knyvet, aztn gy talltl benne ordt hibkat - nos, te ne ttovzz, rd meg ezeket
egybl a jpetrenyi@gmail.com cmre. Az online megjelensnek ugyanis pont az az
risi elnye, hogy a tartalom mdosthat, aktualizlhat.
A vgre egy j hr: a knyv mkdik. Amikor gyjtttem az anyagot, szp lassan
kezdett rthet lenni a TCP/IP mkdse. Amikor rtam a knyvet, mr azt hittem,
hogy rtem - csak ekkor mg darabokban lttam mindent, hiszen ebben a fzisban a
rszletek kidolgozsa volt a jellemz. s amikor lektorlskor olvastam el egyben az
egszet, akkor llt csak ssze a teljes kp. De sszellt.
~ 343 ~
8 F ORRSOK , LINKEK
Ez a knyv gy kszlt, hogy elolvastam hozz RFC-ket, izmos kziratokat - majd
ahol gy reztem, hozzolvastam a netrl is. Rengeteg link gylt ssze a vgre.
Ezeket a linkeket talljtok meg a ebben a fejezetben, minimlisan strukturlva.
SZAKKNYVEK:
Alapveten ezekre az rott forrsokra tmaszkodtam:
Joseph Davies: Windows Server 2003 TCP/IP Fundamentals for Microsoft
Windows
Joseph Davies: Windows Server 2008 TCP/IP Fundamentals for Microsoft
Windows
Joseph Davies, Tony Northrup with the Microsoft Networking Team:
Windows Server 2008 Networking and Network Access Protection (NAP)
Joseph Davies: Windows Server 2008 TCP/IP Protocols and Services
Joseph Davies: Understanding IPv6
RFC
A tiszta forrs, ahol minden megvan:
http://tools.ietf.org/html/
http://www.rfc-editor.org/rfc.html
http://www.networksorcery.com/enp/
http://en.wikipedia.org/wiki/Request_for_Comments
KIEMELT LINKEK:
TCP/IP Guide:
http://www.tcpipguide.com
Internetworking Technology Handbook:
http://www.cisco.com/en/US/docs/internetworking/technology/handbook
/ito_doc.html
TCP/IP Networks:
http://www.citap.com/documents/tcp-ip/tcpip001.htm
Protocols Directory:
http://www.protocols.com/protocols.htm
Internetworking Guide:
http://technet.microsoft.com/en-us/library/cc951210.aspx
~ 344 ~
FORRSOK, LINKEK
WINDOWS SERVER 2008 S VISTA
New Networking Features in Windows Server 2008 and Windows Vista
http://technet.microsoft.com/en-us/library/bb726965.aspx
Windows Server 2008 Networking:
http://technet.microsoft.com/en-us/library/cc753940(WS.10).aspx
Windows Vista Networking Tecnologies:
http://en.wikipedia.org/wiki/Windows_Vista_networking_technologies
MLESZTETT LINKEK
Vgl mlesztve egy csom link abbl a segdfjlbl, ahov menetkzben szrtam a
hasznos infkat tartalmaz tallatokat.
http://www.itu.int/rec/T-REC-X/en
http://en.wikipedia.org/wiki/Ethernet
http://en.wikipedia.org/wiki/Frame_(telecommunications)
http://www.iana.org/assignments/ieee-802-numbers
http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/llc.html
http://www.citap.com/documents/tcp-ip/tcpip007.htm
http://www.techfest.com/networking/lan/token.htm
http://www.javvin.com/protocolFDDI.html
http://www.laynetworks.com/FDDI.htm
http://en.wikipedia.org/wiki/Point_to_Point_Protocol
http://www.cisco.com/en/US/docs/internetworking/technology/handbook/PPP.html
http://www.tcpipguide.com/free/t_PointtoPointProtocolPPP.htm
http://en.wikipedia.org/wiki/802.11
http://hu.wikipedia.org/wiki/Wi-Fi
http://hu.wikipedia.org/wiki/WPA
http://wifi.cs.st-andrews.ac.uk/wififrame.html
http://en.wikipedia.org/wiki/MAC_address
http://en.wikipedia.org/wiki/Media_Access_Control
http://www.leapforum.org/published/internetworkMobility/split/node12.html
http://www.wireless-center.net/Wireless-Internet-Technologies-andApplications/1923.html
http://www.iana.org/assignments/arp-parameters/
http://www.javvin.com/protocolARP.html
http://blogs.technet.com/networking/archive/2009/01/15/unable-to-connect-towindows-server-2008-nlb-virtual-ip-address-from-hosts-in-different-subnets-when-nlb-isin-multicast-mode.aspx
https://www.netacademia.net/tudastar/default.aspx?upid=2836
http://en.wikipedia.org/wiki/Address_Resolution_Protocol
http://sunsite.nus.sg/pub/slip/slip-vs-ppp.html
http://www.iana.org/assignments/ppp-numbers
http://en.wikipedia.org/wiki/Cryptographic_hash_function
http://en.wikipedia.org/wiki/Challenge-handshake_authentication_protocol
~ 345 ~
http://www.windowsnetworking.com/articles_tutorials/Windows-Server-2008Networking-Services.html
http://www.szabilinux.hu/trendek/trendek422.html
http://www.protocols.com/pbook/frame.htm
http://en.wikipedia.org/wiki/Frame_Relay
http://en.wikipedia.org/wiki/Maximum_transmission_unit
http://www.iana.org/assignments/ip-parameters
http://en.wikipedia.org/wiki/Routing
http://technet.microsoft.com/en-us/library/cc750576.aspx
http://technet.microsoft.com/en-us/library/bb727001.aspx
http://en.wikipedia.org/wiki/Routing_Information_Protocol
http://en.wikipedia.org/wiki/Distance-vector_routing_protocols
http://en.wikipedia.org/wiki/Open_Shortest_Path_First
http://www.iana.org/assignments/icmp-parameters
http://en.wikipedia.org/wiki/Ping_of_death
http://www.tcpipguide.com/free/t_ICMPv4DestinationUnreachableMessages-3.htm
http://www.networkcomputing.com/netdesign/1107icmp3.html?ls=NCJS_1107bt
http://en.wikipedia.org/wiki/Path_MTU_discovery
http://www.netheaven.com/pmtu.html
http://en.wikipedia.org/wiki/ICMP_Redirect_Message
http://www.networkdictionary.com/protocols/irdp.php
http://www.javvin.com/protocolESIS.html
http://tldp.org/HOWTO/Multicast-HOWTO-2.html
http://en.wikipedia.org/wiki/Distance_Vector_Multicast_Routing_Protocol
http://www.dataconnection.com/multicast/pimprotocol.htm
http://www.javvin.com/protocolMOSPF.html
http://en.wikipedia.org/wiki/Internet_Group_Management_Protocol
http://technet.microsoft.com/en-us/library/cc957916.aspx
http://technet.microsoft.com/en-us/library/cc957911.aspx
http://www.mbone.net/
http://en.wikipedia.org/wiki/Mbone
http://acs.lbl.gov/OldMisc/mbone/
http://www.cisco.com/en/US/tech/tk828/tech_brief09186a00800a4415.html
http://en.wikipedia.org/wiki/Multicast_address
http://www.networksorcery.com/enp/protocol/igmp.htm
http://www.javvin.com/protocolIGMP.html
http://www.iana.org/assignments/ipv6-multicast-addresses
http://www.tcpipguide.com/free/t_UDPMessageFormat-2.htm
http://en.wikipedia.org/wiki/User_Datagram_Protocol
http://en.wikipedia.org/wiki/Transmission_Control_Protocol
http://www.tcpipguide.com/free/t_TCPConnectionEstablishmentSequenceNumberSynchro
niz.htm
http://www.firewall.cx/tcp-analysis-section-2.php
http://en.wikipedia.org/wiki/Windows_Vista_networking_technologies
http://technet.microsoft.com/en-us/library/bb726965.aspx
http://en.wikipedia.org/wiki/TCP_tuning
http://en.wikipedia.org/wiki/Karn%27s_Algorithm
~ 346 ~
FORRSOK, LINKEK
http://www.cs.utk.edu/~dunigan/tcptour/javis/tcp_karn.html
http://www.iana.org/assignments/bootp-dhcp-parameters/
http://support.microsoft.com/kb/169289
http://www.tcpipguide.com/free/t_DHCPLeaseRenewalandRebindingProcesses-2.htm
http://www.tcpipguide.com/free/t_DHCPOptionsOptionFormatandOptionOverloading2.htm
http://www.tcpipguide.com/free/t_TCPIPAddressResolutionForIPMulticastAddresses.htm
http://av.c3.hu/multicast/
http://www.firewall.cx/multicast-intro.php
http://www.tcpipguide.com/free/t_ProxyARP.htm
http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080094a
db.shtml
http://www.osischool.com/protocol/Tcp/slidingWindow/index.php
http://www.osischool.com/protocol/Tcp
~ 347 ~
9 J AVTSOK
Habr az lenne a helynval, hogy egyenknt emltsek meg mindenkit, aki szrevett
valami hibt, vagy fogalmi zavart, de attl jelentsen olvashatatlan lenne ez a
javtsokat felsorol rsz. gy egyszerre szeretnk ksznetet mondani
mindenkinek, aki hozzjrult ahhoz, hogy a knyv korrektebb s rthetbb legyen.
9.1 2.1
VERZI ,
2011
PRILIS
62. oldal: Kaptam pldt egy olyan esetre, amelyre korbban azt rtam, hogy
Windows krnyezetben nem trtnhet meg.
119. oldal: Habr a plda levezetse elmletileg helyes volt, egy kedves olvas
ki is prblta s kiderlt, hogy ami elmletben nem mkdik, az a
gyakorlatban - a krlmnyek fura sszjtka miatt - igen. Kiegsztettem a
fejezetet az eset lersval.
9.2 2.0
VERZI ,
2010
MRCIUS
~ 348 ~
JAVTSOK
9.3 1.1
VERZI ,
12. oldal
23. oldal
79. oldal
86. oldal
2009
DECEMBER
~ 349 ~
~ 350 ~
A SZERZ
10 A SZERZ
~ 351 ~
http://emaildetektiv.hu
http://tinyurl.com/ydmbgdk
Privt blog
MI VAN VELEM?
http://mivanvelem.hu
Email:
jpetrenyi@gmail.com
95
~ 352 ~