Professional Documents
Culture Documents
IPv6
S BEVEZETST TMOGAT
TECHNOLGIK
1. kiads
HunNet-Mdia Kft.
Budapest, 2015
Tartalomjegyzk
1.
Bevezets ..................................................................................................... 6
2.
3.
tvlaszts..................................................................................................30
3.1. OSPFv3 ...................................................................................................................... 30
3.1.1. OSPFv2 s OSPFv3 sszehasonltsa ................................................................... 30
3.1.2. OSPFv3 mkdse ................................................................................................... 31
3.2. BGP-MP ..................................................................................................................... 35
3.2.1. BGP alapok ................................................................................................................ 35
3.2.2. BGP kapcsolat kialaktsa ........................................................................................ 36
3.2.3. BGP kommunikci ................................................................................................. 37
3.3. PIM-SM ...................................................................................................................... 42
3.3.1. Bevezet ..................................................................................................................... 42
3.3.2. A PIM-SM mkdse ............................................................................................... 43
3.3.3. A PIM-SM hibatrse............................................................................................... 45
3.4. Linux rendszerek konfigurlsa .............................................................................. 46
3.4.1. Alapbelltsok ........................................................................................................... 46
3.4.2. ip6tables ...................................................................................................................... 50
3.4.3. Automatikus IPv6 cmkioszts ............................................................................... 50
3.4.4. BIND .......................................................................................................................... 55
3.5. Cisco IOS alap eszkzk konfigurlsa ..............................................................56
3.5.1. IPv6 Konfigurci .................................................................................................... 58
5.
1. Bevezets
Br az internet protokoll 6-os verzijt (IPv6) mr 1998-ban definiltk (RFC 2460), ltalnos
elterjedse az egsz vilgon, gy haznkban is sokig ksett, s csak a publikus IPv4 cmtartomny
kimerlsvel vlt halaszthatatlann. Az IP j verzijra val zkkenmentes s mielbbi ttrs
megkveteli, hogy a hlzatokkal foglalkoz szakemberek birtokban legyenek a szksges ismereteknek. Ez nem pusztn az IPv6 protokoll ismerett jelenti, hanem a kt protokoll egyttmkdshez szksges klnfle n. IPv6 ttrsi technolgik (IPv6 transition technologies) s azok
klnfle implementciinak alapos ismerett is. Nem tudunk olyan magyar nyelv szakknyvrl,
ami ezt a tmt kell mlysgben trgyaln; clunk ennek a hinynak a betltse. Munknkkal gyakorlati szakemberek, egyetemi hallgatk, oktatk s kutatk szmra egyarnt segtsget szeretnnk
nyjtani. Az olvasrl felttelezzk, hogy birtokban van az alapvet szmtgp-hlzati ismereteknek, belertve mind a TCP/IP protokollcsald (TCP/IP protocol stack), mind a hordozhlzatknt hasznlt klnfle fizikai/adatkapcsolati szint hlzati megvalstsok ismerett1.
Az IPv6 tmakrben az alapoktl indulunk, bemutatjuk az IPv6 cmzst, az IPv6 datagram szerkezett s az IPv6 protokoll mkdst, fokozott figyelmet szentelve az IPv4-tl eltr megoldsoknak (pl. ARP helyett NDP). Az elmlet mellett gyakorlati pldkkal illusztrljuk az egyes megoldsok belltst, hasznlatt, tesztelst. Kln fejezetben foglalkozunk az tvlaszts krdseivel.
Az ttrsi technolgik kzl azokat trgyaljuk rszletesen, amelyeket jelenleg fontosnak, elremutatnak tartunk. Nhny ttrsi technolgia ltalunk kivlasztott implementciival kapcsolatban bemutatjuk sajt kutatsi eredmnyeinket is. Remljk, hogy ezek hasznosak lesznek mind a
gyakorlati szakemberek szmra (segtenek a megfelel technolgia s implementci kivlasztsban), mind az akadmiai szfra rsztvevinek (tovbbi kutatsokra motivlnak). Br a knyv terjedelmnek jelents rszt a kutatsi eredmnyeink bemutatsa teszi ki, hangslyozzuk, hogy ez
messze nem teljes; szmos problma vizsglatra van mg szksg, melyre ezton is keresnk
egyttmkd partnereket.
Ksznetnket fejezzk ki a knyv hivatalos lektornak, Almsi Blnak a kzirat tolvassban,
javtsban vgzett alapos munkjrt, valamint mindenkinek, aki a brlati pldnyt tolvasta, s
hibkat jelzett, klnsen Varga Gyrgynek, akitl szmos hibajavtst, javaslatot kaptunk.
Munknknak ez az els kiadsa, amit szeretnnk a tovbbiakban folytatni, bvteni. A knyv jabb
kiadsrl tjkoztatst adunk, valamint a knyvvel kapcsolatos szrevteleket, hibabejelentseket
ksznettel fogadunk: http://ipv6ready.hu/konyv/.
Remljk, hogy munknk hozzjrul az IPv6 mielbbi magyarorszgi elterjedshez.
Lencse Gbor, Rps Sndor, Arat Andrs
1 Ha valaki ezen a tren szeretn a tudst kiegszteni, akkor az id- s kltsghatkony egyetemi jegyezettl [1] a vaskos
angol nyelv knyvek magyar fordtsig [2] s [3] szles palettrl vlogathat.
2. IPv6 alapok
2.1. IPv6 cmek
Az IPv6 protokoll egyik legszembetnbb eltrse az IPv4-hez kpest a cmek mrete. Az IPv6
128 bites cmeket hasznl, gy mg a cmtartomny nem hatkony felhasznlsa esetn is hossz
idre elegend cmet biztost a vrhat s az elre nem lthat feladatokra.
2001:DB8:0:AE:0:0:0:ABCD
2001:DB8:0:AE::ABCD
Amennyiben egy IPv6 cmet IPv4 cmbl kpeztnk, s az IPv6 cm az IPv4 cmet az utols 32
bitjn tartalmazza, akkor az IPv4 cmet tartalmaz rszt rhatjuk az IPv4 kanonikus formtumban
is, pldul a 64:FF9B::C000:20A cm rhat gy is, hogy: 64:FF9B::192.0.2.10.
A hexadecimlis szmjegyekben szerepl betkkel kapcsolatban sincs megkts, hogy kis- vagy
nagybetk legyenek, a pldkban RFC 4291 nagybetket hasznl.
Gyakran van szksg egy IPv6 cm els n bitjnek a megadsra, amit n mret eltagnak (prefix)
neveznk s az eltag utn /n megadsval jellnk. Fontos, hogy prefix rsakor az utols olyan
16 bites csoportot, ami nem csupa 0-t tartalmaz, mindig vgig ki kell rni.
Plda: 2001:DB8:AB00::/40 a helyes rsmd, mert ha 2001:DB8:AB::/40-et rnnk, az azt jelenten, hogy: 2001:0DB8:00AB::/40, ami pedig valjban: 2001:0DB8::/40.
A dupla kettspont hasznlatval prefixeknl klnsen krltekinten kell bnni, pldul a
2001:DB8:0:A::/64 nem rvidthet tovbb gy, hogy 2001:DB8::A/64, mert az teljesen mst jelent, konkrtan azt, hogy: 2001:DB8:0:0:0:0:0:A/64.
Az RFC 3986 definilja az IPv6 cmek hasznlatt URL-ekben. Pldk:
http://[2001:DB8:FFFF:FFFF::192.224.128.1]:8080/index.html
ftp://[2001:DB8:2C01:8000::15]
Kanonikus formtum
Az RFC 4291 rugalmassga nagyon knyelmes, gy egy IPv6 cmnek sokfle rsmdja lehetsges
attl fggen, hogy a felhasznl mely lehetsgekkel kvn lni, s melyekkel nem. Azonban az
RFC 5952 lerja, hogy ez a szabadsg szmos esetben problmkat okozhat a gyakorlatban. Pldul
gondoljuk arra, hogy egy naplfjlban a 2001:db8::a:0:0:1 cmet szeretnnk megkeresni, mikzben
az olyan formban szerepel benne, hogy: 2001:0DB8:0:0:A::1. A problma megoldsra bevezetik
az IPv6 cmek szveges rsnak kanonikus formjt azzal, hogy egy program bemenetknt minden
7
olyan cmet kteles (MUST) elfogadni, amit RFC 4291 megenged, de kimenetn ersen ajnlott
(SHOULD) a kanonikus forma hasznlata. Tovbb azt tancsoljk, hogy az IPv6 cmek lersakor
mi emberek is hasznljuk a kanonikus formt. Ennek szablyai a kvetkezk:
Az egyes 16 bites csoportokban a vezet nullkat el kell (MUST) hagyni.
A dupla kettspontot a maximlis kapacitsig ki kell (MUST) hasznlni.
A duplakettspontot tilos (MOST NOT) egyetlen 16 bites csoport rvidtsre hasznlni.
Amennyiben tbb csupa nulls csoport van, akkor a leghosszabbat, ha pedig a csoportok
hossza egyenl, akkor balrl jobbra haladva az elst kell (MUST) dupla kettsponttal
helyettesteni.
Hexadecimlis szmokban kisbetket kell (MUST) hasznlni.
Ebben a knyvben a tovbbiakban treksznk a fentiek betartsra, de cmekben (vagy defincis
cmkkben) szndkosan csupa nagybett hasznlunk, s mshonnan tvett anyagokat (pl. brk,
RFC rszletek) sem mdostunk.
Binris prefix
------------00...0 (128 bit)
00...1 (128 bit)
11111111
1111111010
(minden ms, ami nem
IPv6 jellssel
------------::/128
::1/128
FF00::/8
FE80::/10
specilis)
Ahol:
Prefix: fc00::/7
L: ktelezen 1 rtk
Global ID: vletlenszeren vlasztott, igen j esllyel globlisan egyedi3
Subnet ID: a hlzatcm hasznlja osztja ki a hlzatainak
Interface ID: a hlzati interfsz 64 bites azonostja, lsd ksbb
Az IPv4-rl IPv6-ra val tlls (IPv6 transition) tmogatsra szntk az albbi IPv6 cmtpusokat
azzal a cllal, hogy IPv6 hlzatokban IPv4 cmeket reprezentljanak:
::/96 IPv4-Compatible IPv6 Addresses RVNYTELEN!
IPv6 hlzatokban az x.y.z.w IPv4 cmet reprezentlta volna a kvetkez alakban: ::x.y.z.w (az
elejn 96 db 0 rtk bit volt). Eredetileg az IPv4 IPv6 tmenethez val felhasznlsra szntk,
de mr ms megoldst (lsd kvetkez) talltak ki, ezrt rvnytelentettk.
::FFFF:0:0/96 IPv4-Mapped IPv6 Addresses (ez hasznlhat!)
IPv6 hlzatokban az x.y.z.w IPv4 cmet reprezentlja a kvetkez alakban: ::ffff:x.y.z.w (az elejn
80 db 0 rtk bit van). A korbbi ::x.y.z.w helyett azrt kellett msik, mert vltozott a mdszer,
amit az IPv4 IPv6 tmenethez szeretnnek alkalmazni.
2 Az RFC azt is lerja, hogy a msik problma, ami IPv4-nl is eljtt, az az, hogy a loklis(nak sznt) IP-cmekkel rendelkez datagramok esetenknt mgis kiszivrognak, ilyenkor aztn mindenfle gondot okoznak, radsul mg azt sem lehet
megtallni, hogy honnan jttek.
3 Megjegyzs: ltezik olyan szolglats (https://www.sixxs.net/tools/grh/ula/), ahol generlnak szmunkra ULA IPv6
cmet, s be is lehet azt jegyeztetni, de mivel hasznlata nem ktelez, ezrt semmilyen garancit sem nyjt a cm egyedisgre.
Megjegyzs: a fenti prefix vgn szksges volt kirni a kt darab 16 bites (csupa 0 rtk) csoportot jell :0:0 rszt, mert a ::ffff/96 jellsnl a 16 darab 1 rtk bit a 128 bites IPv6 cm
legals 16 bitjnek a helyre kerl. (Lsd az RFC 6890 hibajegyzkben a 2. bejegyzst.)
Hlzati alkalmazsok ksztse esetn ennek a cmtpusnak a hasznlatval lehetsges az, hogy
egyetlen socketet hasznljunk mind IPv6, mint IPv4 kommunikcira. Ilyenkor elegend a socket
kezel fggvnyeknek csak az IPv6-os verzijt hasznlni. Ha IPv4-mapped IPv6 cmeket adunk
meg, akkor a (Linux) kernel IPv4-es csomagokat kld ki, illetve ha az alkalmazs ltal figyelt portra
IPv4 csomag rkezik, akkor ilyen IPv6 cmekkel kapja meg az alkalmazs a csomagot. Ezzel a megoldssal igen jelents mennyisg programozsi munkt takarthatunk meg.
2001:DB8::/32 IPv6 szabvnyos dokumentcis prefix
Annak rdekben, hogy a dokumentcikban szerepl pldk ne okozzanak zavart (a fejekben)
vagy mkd rendszerekkel val tkzst, lefoglaltak egy globlis unicast prefixet kifejezetten dokumentcis clra. Ez a 2001:db8::/32 (RFC 3849). Ezt a prefixet soha senkinek sem fogjk kiosztani s nem is routoljk. De termszetesen ettl mg nem szmt loklis unicast prefixnek!
(gy ha egy pldban ezt a prefixet hasznljk, s valaki a pldt sz szerint begpeli, az nem fog
krt okozni, mert a prefixet a vals letben soha semmire nem hasznljuk. A prefixet helyi hlzatokban is kiszrhetik; ezrt senki ne szmtson r, hogy mkdni fog, ha hasznlni prbln!)
Megjegyzs: IPv4-nl is vannak ilyenek, az RFC 5737 szerint: 192.0.2.0/24, 198.51.100.0/24,
203.0.113.0/24.
A specilis cl IPv4 s IPv6 cmekrl sszefoglal tallhat: RFC 6890
mez neve
prefix
112
flags scope
group ID
11
Broadcast:
Multicast:
Anycast:
12
13
A cmallokci megfontolsai
Az elavult (obsolete) RFC 3177 szerint a site-ok szmra az alaprtelmezett allokcis egysg mrete a /48 volt. Az j irnyelvet az RFC 6177 IPv6 Address Assignment to End Sites fogalmazza
meg. Ezt rviden az albbiakban foglaljuk ssze:
Kis felhasznlknl nem szksges a pazarl /48 mret.
A /64 viszont nem elg, mert idvel tbb fizikai hlzatra lehet szksg.
Szempont a takarkossg is, de az is, hogy ksbb se legyen szksg NAT-ra (a site kapjon elegend cmet).
A reverse DNS felolds szempontjbl megfontoland a 4 bites hatrra val illeszkeds.
Megemlti az egyes RIR-ek gyakorlatt (/56-os mret), de alapelv, hogy nincs j alaprtelmezett mret.
Br a /128 bizonyos esetekben elfogadott, site esetn semmikppen sem javasolt.
14
15
ms clra hasznlhatunk: ezekkel klnfle fejrsz kiterjesztseket adhatunk meg. Kzlk nhnyat mr az RFC 2460-ban definiltak:
Hop-by-Hop Options (0) Ha van ilyen, akkor ennek kell a legelsnek lennie. Amint
a nevbl is kiderl, ezt minden egyes routernek (hop) meg kell vizsglnia (mg az egyebeket ltalban csak a clnl).
Routing (43) Eredetileg a 0-s tpus vltozatt definiltk (Type mez rtke 0, rviden
RH0-nak is nevezik), ami az IPv4 Loose Source and Record Route opcijnak a megfelelje
volt, segtsgvel olyan csompontok IP-cmeit lehetett megadni, amin a csomagnak keresztl kell haladnia. Mivel ez kivl lehetsget nyjtott hlzati torldst elidz, tulajdonkppen szolgltatsmegtagads (Denial of Service, DoS) tpus tmadsra, ezrt rvnytelentettk (RFC 5095). Mobil IPv6-hoz a 2-es tpusa hasznlhat.
Fragment (44) Csomagok trdelsre lehet hasznlni, de erre IPv6-ban kizrlag a
forrsnl van lehetsg. A trdels megvalstsra hasznlt mezk teljesen hasonlak,
mint IPv4 esetn, mlyebben nem foglalkozunk vele.
Destination Options (60) Az ltala szlltott informcit csak a cl csompontban
kell megvizsglni. (Multicast esetn tbb cl is lehet.)
A fentieken tl mg kt fontos fejrszkiterjesztst emltnk meg:
Authentication (51) Az adatok eredett (origin) s vltozatlansgt (integrity) igazolja s
visszajtszs (replay) ellen is vd (RFC 4302).
Encapsulating Security Payload (50) Az adatok titkossgnak (confidentality), vltozatlansgnak (integrity) s (tttelesen) eredetnek (origin) vdelmre hasznlhat (RFC
4303).
Megjegyezzk, hogy az utols kettt hasznl IPsec (RFC 4301) eredetileg minden teljes IPv6
implementci ktelez (MUST) rsze volt, de az RFC 6434 ersen ajnlott (SHOULD) minstette
t azzal az indoklssal, hogy vannak ms megoldsok is (pldul TLS, SSH), s az IPsec nem minden
esetben az idelis megolds.
Az egyes opcik szerkezett, mkdst mlyebben nem vizsgljuk, annyit jegyznk meg rluk,
hogy sorrendjk (kzeltleg) kttt, mretk oktettben kifejezve mindig 8-cal oszthat, s az els
oktettjk mindig a kvetkez kiterjeszts vagy az IP fltti protokoll azonostja. (Vegyk szre,
hogy IPv4 esetn 32-bites, IPv6 esetn pedig 64-bites egysgekben gondolkozunk.)
Ksbb jabb kiterjesztseket is definiltak, st a fejrsz kiterjeszts ltalnos formtumt is definiltk az RFC 6564-ben az albbiak szerint (de ez csak az ksbbiekre ktelez):
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len |
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
|
|
.
.
.
Header Specific Data
.
.
.
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Hdr Ext Len (8 bit) fejrsz kiterjeszts hossza Ez a 8 bites eljel nlkli egsz szm
az adott fejrsz kiterjeszts mrett adja meg, 8 oktettes egysgekben mrve gy, hogy az
els 8 oktettet nem szmtjuk bele.
Header Specific Data (vltoz hosszban) kiterjeszts specifikus adatok Kiterjesztstl fggen ms-ms adatok.
18
Fontos, hogy ez a kittel csak a MAC cmre vonatkozik, ettl mg a generlt IPv6 cm lehet link loklis s globlis is.
19
az utols 24 bitje pedig a mdostott EUI-64 azonost utols 24 bitje, ami viszont nem ms, mint
a hlzati interfsz MAC cmnek az utols 24 bitje.
A DAD sorn a vizsglt cmet hasznlni kvn interfsznek mg a fenti NS zenet kikldse
eltt csatlakoznia kell kt multicast csoporthoz, ezek az all-nodes multicast (azrt, hogy ha valaki
mr hasznlja a vizsglt cmet, akkor megkapja a Neighbor Advertisement zenetet) s a vizsglt
cmhez tartoz solicited-node multicast (azrt, hogy ha valaki ms is szeretn haszlni a vizsglt
cmet, akkor halljk egymst). Az RFC mg szmos egyb felttelt s rszletet ler (pldul a klnbz vletlenszeren megvlaszott ksleltetsekkel kapcsolatban), de ilyen szint rszletekbe most
nem megynk bele (a rszletek megtallhatk az RFC 4862 5.4. rszben).
Vgl, ha vlaszknt Neighbor Advertisement zenet rkezik, akkor a vizsglt cm nem egyedi,
teht tilos (MUST NOT) az interfszhez rendelni (hasznlni) s ersen ajnlott (SHOULD) az
esemnyt naplzni.
2.4.3. Cmfelolds
Br a szmtgpek IP-cmmel azonostjk egymst, egy csomag tnyleges (fizikai) elkldshez
szksg van annak az interfsznek az adatkapcsolati szint (link layer) cmre (MAC-cmnek is
szoktuk nevezni) amely szmra kzvetlenl (link szinten) kldeni szeretnnk a csomagot szllt
adatkapcsolati szint adategysget, pl. Ethernet keretet. Az IP 4-es verzija erre a clra a jl ismert
ARP-t alkalmazza. IPv6 esetn pedig a Neighbor Solicitation (NS) s Neighbor Advertisement
(NA) ICMPv6 zenteteket hasznljuk. (Az IPv6 cmfelolds rszletes lersa az RFC 4861 7.2. rszben tallhat.)
Amikor egy (multicast kpes) hlzati interfszt engedlyeznek, az kteles (MUST) csatlakozni az
all-nodes multicast csoporthoz, valamint az sszes IPv6 cmhez tartoz solicited-nodes multicast
address ltal meghatrozott csoporthoz is. Ha az IPv6 cme megvltozik, akkor kteles (MUST)
tagja lenni az j IPv6 cmhez tartoz solicited-nodes multicast address cm ltal meghatrozott
csoportnak, illetve elhagyni az olyan csoportot, amiben mr nem illetkes. Megjegyzs: amint mr
korbban emltettk, lehetsges, hogy tbb klnbz IPv6 cmhez ugyanaz a csoportcm tartozik.
(Pldul tipikusan ez a helyezet, ha egy fizikai interfszen tbbfle prefix alapjn kpzett interfsze
is van, s ezek utols 64 bitjt a hlzati interfsz azonostjbl kpeztk.) gy nem minden esetben trtnik tnylegesen csoportba val belps illetve onnan val kilps. Amennyiben ilyen trtnik akkor erre az MLD (Multicast Listener Discovery) protokoll 1-es vagy 2-es verzijt hasznljk.
Az RFC szmos lehetsget ler, hogy NS/NA zenetvltskor milyen cmeket hasznlhatnak, itt
most egy tipikus pldt mutatunk be. A krdez gp az NS zenetet a sajt link-loklis IPv6 cmrl
a krdses IPv6 cmhez tartoz solicited-node multicast cmre kldi, s az zenet Target Address
mezjben benne van a krdses IPv6 cm, valamint a krdez a Source link-layer address opcival
megadja a sajt MAC cmt is. Az IPv6 cm gazdja egy NA zenettel vlaszol, amit a sajt linkloklis IPv6 cmrl a krdez link-loklis IPv6 cmre kld, benne van a Target Address mezben a
krdses IPv6 cm, s a hozz tartoz MAC cm pedig a Target link-layer address opciban tallhat.
20
forgalmra. (Az MLDv1 az IGMPv2-nek, az MLDv2 pedig az IGMPv3-nak az IPv6-os megfelelje. Az jabb verzi clja mindkt esetben az volt, hogy a vevk kifejezhessk azon ignyket,
hogy az adott multicast csoport forgalmbl csak egy adott forrs adsra tartanak / nem tartanak
ignyt.)
Az MLD ICMPv6 zeneteket hasznl, azaz az IPv6 fejrszben a kvetkez fejrsz (next header)
mez rtke 58, s aztn az ICMPv6 fejrsz tpus (type) mezje azonostja a konkrt zentet. Ezek
a v2-ben a v1-hez kpest vltoztak, az 1. tblzatban rviden sszefoglaljuk, hogy melyik verzi
milyen clra milyen zeneteket hasznl. Az egyes zenetek utn megadjuk az ICMPv6 tpus mez
decimlis rtkt is, amire a klnbz verziszm, ezrt eltr Multicast Listener Report zenetek azonostshoz van szksg.
verzi
csoporttagsg lekrdezse
csoportagsg jelzse
csoportbl kilps
MLDv1
Multicast Listener Query (130)
Multicast Listener Report (131)
Multicast Listener Done (132)
MLDv2
Multicast Listener Query (130)
Multicast Listener Report (143)
Multicast Listener Report (143)
22
IN AAAA
2001:DB8::10
www
IN A
IN AAAA
192.0.2.10
2001:DB8::10
Ha egy hoszt rendelkezik IPv4 s IPv6 cmmel is, akkor mindkt tpus rekordot ltre kell hozni
a znban. Egy ilyen esetre plda az albbi znafjl rszlet:
A DNS szerver nem veszi figyelembe, hogy a krs IPv4, vagy IPv6 protokollal rkezik-e hozz,
hanem a krdezett rekordtpushoz tartoz vlaszt adja vissza.
2001:db8::10
2001:0db8:0000:0000:0000:0000:0000:0010
0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
Az IPv6 cm:
A rvidts nlkl:
Domain nv:
2001:abcd:e001:1::2
2001:abcd:e001:0001:0000:0000:0000:0002
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.1.0.0.e.d.c.b.a.1.0.0.2.ip6.arpa.
nev zna, a
0.1.0.0.0.0.0.0
IN
PTR
www.isp.hu.
nev zna, a
2.0.0.0.0.0.0.0
PTR rekorddal.
IN
PTR
www.isp2.hu.
23
nv
African Network
Information Center
Asia Pacific Network
Information Centre
American Registry for Internet Numbers
Latin America and
Caribbean Network
Information Centre
The Rseaux IP Europens
Network Coordination
Centre
terlet
Afrikai rgi
weboldal
http://www.afrinic.net/
https://www.apnic.net/
https://www.ripe.net/
https://www.arin.net/
http://www.lacnic.net/
24
IANA
RIR
ISP/LIR
EU (ISP)
EU (ISP)
RIR
NIR
ISP/LIR
EU
End Users
25
Fontos, hogy az egyedi IPv6 unicast cmek nem kerlnek a felhasznlk tulajdonba, azokat k
csak hasznlatba kapjk.
A legkisebb IPv6 allokci prefixe /32. Ez azt jelenti, hogy ha egy LIR IPv6 cmtartomny allokcit kr, legalbb ekkora cmteret kap. Az allokcinl figyelembe lehet venni a hasznlt IPv4
cmtartomnyokat, melyek indokolhatjk a rvidebb IPv6 prefix (nagyobb cmtartomny) allokcijt is. Az IPv6 cmek allokcijakor alkalmazott megolds (nem kzvetlen egyms utn kerltek
alloklsra a cmtartomnyok) lehetv teszi, hogy szksg esetn a /32-es tartomny (sszefgg)
/29-esre bvthet legyen. Ezt a bvtst jelenleg indokls nlkl krheti brmely LIR, ezltal megnyolcszorozva a rendelkezsre ll cmtartomny mrett.
A felhasznlk rszre biztostott prefix mrete az internetszolgltat dntsn mlik, azonban
egy vgpontra a /64 (teht az egy alhlzat) a legkisebb mret cmtartomny. A /64 s /48 hosszak
kztti prefixek esetben nincs szksg a felhasznltl dokumentci beszerzsre, azonban a
/48-as prefixnl nagyobb cmtartomny kijellse esetben mr a felhasznlnak bizonytania kell,
hogy valban szksge van ilyen mret tartomnyra. Ilyen esetekben a RIPE NCC hagyja jv az
allokcit.
Az IPv6 cmek kijellst regisztrlni kell a RIPE NCC adatbzisban. A LIR ezt kt fle mdon
csinlhatja. Ha az egyes felhasznlk rszre /48-nl nagyobb tartomnyt biztost, gy ezt a tartomnyt a felhasznl rszre kell regisztlnia az adatbzisban. Ha /48 s /64 kztti tartomnyokat
jell ki, azt nagyobb tartomnyokknt is regisztrlhatja, azonban, ilyenkor meg kell adnia az
AGGREGATED-BY-LIR attribtumot is az objektumhoz.
26
A reverze delegcit a /32-es prefixekhez a domain objektum segtsgvel rgzthetjk az adatbzisban. Erre mutat pldt az 5. bra.
112 db
86 db (76,79%)
1 db (0,89%)
1 db (0,89%)
/31, 1 db, 1%
27
db
18
16
14
12
10
8
6
4
2
0
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 v
2.8.3. Ajnlsok
A korbban ismertetettek alapjn, az elfizeti telephelyek rszre kijellt cmtartomny ajnlott
mrete a minimlis /64 s a maximlis /48 kz esik. Az tlthatsgot nveli (s a reverz DNS
belltst egyszersti), ha a mretezsnl figyelembe vesszk a byte, vagy a flbyte (4 bit) hatrokat.
Ezek alapjn vizsgljuk meg, hogy egy /32 prefixmret kezdeti allokcit felhasznlva egy LIR
hny felhasznl rszre tud IPv6 cmet kijellni.
kijellt prefix mret
/64
/60
/56
/52
/48
gyfelek szma
232=~4,3 millird
228=~286,4 milli
224=~16,8 milli
220=~1 milli
216=65536
a byte hatrokat betartva, mindenkinek /56-os cmtartomnyt jell ki, akkor sem relis, hogy kifogyjon a rszre alloklt IPv6 cmtartomnybl. Ezzel a mdszerrel minden gyfele szmra biztostja azt is, hogy az gyfelek legalbb 256 alhlzatot alakthassanak ki sajt hlzatukon bell.
Termszetesen egy hlzat tervezsnl sok szempontot figyelembevtele szksges, hiszen nagyon fontos az aggregls lehetsge, a szolgltat, valamint az gyfl hlzatnak fldrajzi elhelyezkedse, az gyfl hlzatnak mrete, stb. Ugyanakkor jl lthat, hogy az IPv6 protokoll alkalmazsa esetn nem a takarkossg kell, hogy a vezrlelv legyen. (A technikai szempontok mellett,
a marketing szempontok figyelembevtele is szksges.)
29
3. tvlaszts
3.1. OSPFv3
Az Open Shortest Path First (OSPF) 2-es verzijt sok helyen alkalmazzk. Elnye, hogy nylt
szabvny, mely hlzati eszkzk szles skljn implementlt, gy heterogn, tbb gyrttl szrmaz eszkzkbl kialaktott hlzat kialaktsa sem okoz problmt. Az OSFPv2 azonban nem
tmogatja az IPv6-os protokollt, gy szksgess vlt tovbbfejlesztse, melynek sorn elszr az
OSPF for IPv6, majd az IP protokoll mindkt verzijt tmogat OSPFv3 kerlt szabvnyostsra.
Elterjedt megoldsknt az OSPFv2-t az IPv4 protokoll, mg az OSPFv3-at az IPv6 protokoll tvlasztsra hasznljk, annak ellenre, hogy az jabb eszkzk mr tmogatjk az OSPFv3-as ktprotokollos mkdst is (AF: Address Families). Az OSPFv2-t jelenleg az RFC 2328, mg az
OSPF for IPv6-ot az RFC 5340, vgl az OSPFv3 s AF-et az RFC 5838 definilja. Az OSPFv3
AF nem minden rendszerben implementlt. Pldul a Cisco IOS Release 15.1(3)S s 15.2(1)T eltt
is mkdtt az OSPFv3 IPv6, de OSPFv3 IPv4 alkalmazsra csak ezektl a felsorolt verziktl
van lehetsg.
OSPF ttekintse
A routerek Link-State Advertisement (LSA) csomagokat kldenek ki minden llapotvltozs esetn. A tbbi router irnybl fogadott LSA csomagokbl kinyert informcikat pedig a Link-State
Database (LSDB)-ben troljk le. (Ezt az adatbzist hvhatjk mg topolgia adatbzisnak is, hiszen
a hlzat felptst kpezi le a router szmra rtelmezhet formban.)
Az LSDB alapjn az SPF eljrs segtsgvel, az OSPF esetben alkalmazott kltsg (cost) metrikk
figyelembevtelvel kivlasztjk a legolcsbb teljes kltsg (cumulated cost) tvonalat. Utols lpsben pedig a routing tblba bejegyzik a legolcsbb tvonalakhoz tartoz kvetkez routereket (nexthop).
31
32
Neighbor ID: Ebbl a mezbl annyi tallhat, ahny routerrel a Hello csomagot
kld router a hlzaton, mr sikeresen kialaktotta a kapcsolatot. A mezk rtkei,
pedig a szomszdos routerek Router ID-ivel egyeznek meg. Ebbl a mezbl tudja egy
szomszdos router, hogy a Hello csomagot kld routerhez elzleg eljutott a sajt
Hello csomagja..
Rtr Priority: rtke a routing informcik cserjre kijellt tvlaszt (Designater Router,
DR) s a tartalk DR (Backup Designated Router, BDR) kivlasztsnl jut szerephez.
0 esetn a router biztosan nem lesz DR, vagy BDR.
A szomszdsgi kapcsolat kialaktshoz fontos, hogy a kvetkez mezk rtkei megegyezzenek:
Area ID, Hello Interval, Router Dead Interval. Az alaprtelmezett Hello s Router Dead Interval
msodperc rtkeket az 5. tblzatban adjuk meg.
Hello
10
30
10
30
30
Router A
Router B
Cost=15
Cost=15
Cumulative cost=35
Cost=20
Router C
Router D
kialaktsa az alkalmazott router tpustl fgghet. Lehet bellthat manulisan, de akr az adott
interfsz sebessgnek s egy referenciasebessgnek a felhasznlsval is automatikusan elllthatja
a router.
Az SPF algoritmus Edsger W. Dijkstra, dn tuds ltal 1956-ban megalkotott, s rla elnevezett
Dijkstra algoritmus segtsgvel az LSDB adatait felhasznlva felpt egy olyan grfot, melynek kiindulsi pontjban a router van, s minden egyes alhlzat fel a legalacsonyabb kltsg tvonalon
lehet eljutni. Teht egy area esetben minden router LSDB-je megegyezik, azonban a grfok eltrnek, hiszen a grfok kiindulsi pontjban minden esetben ms router tallhat. Az SPF algoritmus
viszonylag nagy erforrsignye miatt rgebben sok kismret area kialaktsa volt clszer, mra
azonban a Routerek fejldsvel mr lnyegesen nagyobb area is gond nlkl kialakthat. (Fontos
ugyanakkor, hogy a nagyobb Area, nagyobb hlzati forgalmat is generl.)
OSPF Area
Az OSPF segtsgvel nagymret, sok alhlzatbl ll hlzatok is kialakthatak. Nagy hlzatok esetben azonban rdemes a hlzatot tbb rszre, gynevezett arera osztani. Fontos, hogy
Backbone Area (0.0.0.0, vagy 0-val jellt) kialaktsa minden esetben szksges, s minden area
kapcsolattal kell, hogy rendelkezzen a Backbone Area irnyban. Teht a Backbone Area biztostja
a tranzitforgalom tovbbtst a tbbi Area kztt. Ezrt sokszor nevezik tranzit arenak is.
Msik AS
Backbone
Router
Internal
Router
ABR
ASBR
AREA 0
OSPF AS
ABR
AREA 1
Internal
Router
AREA 2
kicserlsre, inkbb egy AS-en bell kerlhetnek kialaktsra OSPF, vagy ms IGP
szigetek.)
3.2. BGP-MP
A Border Gateway Protocol (BGP) egy AS-ek kzti routing protokoll (interdomain routing
protocol, IDRP, ms kifejezssel: interautonomous system, inter-AS). Jelenleg a 4-es verzija van
hasznlatban (Border Gateway Protocol 4, BGP-4), melyet az RFC 4271 definil. A BGP-4 IPv6os kiterjszetsvel (Multiprotocol Extensions for BGP-4 ) az RFC 4760 foglalkozik. Fontos megjegyezni, hogy a kt emltetten kvl mg szmtalan RFC kapcsoldik a BGP-4 protokollhoz. A
BGP egy nagyon megbzhat, sokoldalan konfigurlhat, rendkvl jl sklzhat, az internetszolgltatk, valamint a nagy hlzatokat zemeltet szervezetek krben szleskrben alkalmazottt
routing protokoll. Mind AS-ek kzt (exterior gateway protocol, EGP7), mind pedig AS-en bell
(interior gateway protocol, IGP) alkalmazhat (s alkalmazott), ugyanakkor AS-en belli alkalmazsa nehzkes, ezrt ltalban ms IGP protokollal (pl. OSPF) kzsen hasznljk. Knyvnkben
csak a BGP IPv6-os alkalmazshoz s annak megrtshz felttlenl szksges alapokat mutatjuk
be, bvebb informcikrt rdemes a kapcsold RFC-ket tanulmnyozni.
Mivel a BGP elsdlegesen EGP, s a msik AS-bl rkez informcik nem felttlenl megbzhatak, de akr tvedsbl is elfordulhatnak hibs informcik, a BGP nagyon sok szrsi lehetsget tmogat. A BGP sokrt szrse teszi lehetv az AS tulajdonosa szmra a rszre megfelel routing politika (policy) technikai megvalstst. A szrsek mellett kpes a BGP peer hitelestsre is. Erre a clra ltalban TCP MD5-t (RFC 2385) alkalmaznak, de akr IPsec segtsgvel
is biztosthat a BGP routerek kzti kommunikci biztonsga.
35
memriamrete szokott okozni, mert az ilyen mennyisg adat trolsa csak kellen nagy memrival rendelkez routerekben lehetsges.
A BGP egy kibvtett tvlosgvektor (enhanced distance-vector) alap routing protokoll [4], amely
csak triggered update-eket alkalmaz s nagyon sokfle metrika (ezek a metrikk a BGP attribtumok, melyekrl ksbb lesz sz) alkalmazst tmogatja. A triggered update-eket nem azonnal tovbbtja, hanem ktegekbe sszefogva. AS-en kvli szomszdok8 fel (alaprtelmezetten) 30 msodpercenknt, mg AS-en belli irnyban (alaprtelmezetten) 5 msodpercenknt. (A ktegelt tovbbts nagyobb sklzhatsgot, ugyanakkor lassabb konvergencit is eredmnyez.) A kommunikcihoz a megbzhat adatvitelt biztost TCP-t alkalmazza, valamint (alaprtelmezetten 60
msodpercenknt) keep-alive csomagok segtsgvel gyzdik meg egy msik BGP peer elrhetsgrl. (Hiszen egy BGP szomszdsgi viszony nem felttlenl jelent link szomszdsgot is.)
BGP attribtumok
Az OSPF ismertetse sorn mr megismerkedtnk a metrika fogalmval, s azt is tudjuk, hogy az
egyes routing protokollok a metrikk alapjn dntik el azt, hogy egy-egy csomagot milyen irnyban tovbbtanak. A BGP esetben a metrikk a BGP tvonal attribtumok (BGP path attributes).
Ezek az attribtumok lehetnek ktelezen (well-known) s opcionlisan (optional) tmogatottak.
A well-known attribtumok a kvetkezk:
Mandatory (ktelezen tovbbtandk)
o Origin: a hlzat irnyba mutat route forrsa (IGP, EGP, Incomplete)
o AS-path: a hlzat mely AS-eken keresztl, s milyen sorrendben rhet el, hasznlhat pldul optimlis tvonal kivlasztsra, s segti a hurkok elkerlst is
o Next-hop: a kvetkez router IP cme a hlzat irnyba
Discretionary (ktelezen tmogatandak, de nem ktelez tovbbtani):
o Local preference: csak azonos AS-be tartoz peerek rszre (teht IBGP esetben) kerl tovbbtsra, alaprtke 100, a routerek a nagyobb rtkekkel rendelkez tvonalakat (route) preferljk azonos hlzatok irnyba
o Atomic aggregate: az tvonal (route) aggreglssal (tbb kisebb hlzat sszevonsval) kerlt ellltsra
Az opcionlis attribtumok kt csoportra oszthatk:
Tranzitv: tovbbtsa megtrtnik, valamint a felismers megjellsre kerl
Nemtranzitv (Non-transitive): csak felismers esetn kerl tovbbtsra
A legfontosabb opcionlis attribtum a community, mely tranzitvan viselkedik. A community egy
olyan numerikus rtk, mely a route-hoz kapcsolhat, annak tovbbtsakor. Segtsgvel megjellhetek az egyes route-ok, s a jellsek ksbb felhasznlhatk a hasznlni kvnt route-ok
kivlasztsra.
36
AS 65000
AS 65001
BGP router
Statikus router
BGP router
37
Szmunkra az opcionlis paramter mezk a klnsen rdekesek, hiszen itt helyezhet el annak
az informcinak a hirdetse is, hogy a router kpes az IPv6 tmogatsra. A BGP capability hirdetsnek mdjt az RFC 5492 rja le. Amennyiben az Optional parameter type mez rtke 2,
akkor az Capabilities Optional Parameter-t azonost a kvetkez (RFC 5492 szerinti) formban
(ismtlds esetn mindhrom mez ismtldik):
38
+------------------------------+
| Capability Code (1 octet)
|
+------------------------------+
| Capability Length (1 octet) |
+------------------------------+
| Capability Value (variable) |
~
~
+------------------------------+
39
+-----------------------------------------------------+
|
Withdrawn Routes Length (2 octets)
|
+-----------------------------------------------------+
|
Withdrawn Routes (variable)
|
+-----------------------------------------------------+
|
Total Path Attribute Length (2 octets)
|
+-----------------------------------------------------+
|
Path Attributes (variable)
|
+-----------------------------------------------------+
|
Network Layer Reachability Information (variable) |
+-----------------------------------------------------+
0...................1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Attr. Flags |Attr. Type Code|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
40
+---------------------------------------------------------+
| Address Family Identifier (2 octets)
|
+---------------------------------------------------------+
| Subsequent Address Family Identifier (1 octet)
|
+---------------------------------------------------------+
| Length of Next Hop Network Address (1 octet)
|
+---------------------------------------------------------+
| Network Address of Next Hop (variable)
|
+---------------------------------------------------------+
| Reserved (1 octet)
|
+---------------------------------------------------------+
| Network Layer Reachability Information (variable)
|
+---------------------------------------------------------+
+---------------------------------------------------------+
| Address Family Identifier (2 octets)
|
+---------------------------------------------------------+
| Subsequent Address Family Identifier (1 octet)
|
+---------------------------------------------------------+
| Withdrawn Routes (variable)
|
+---------------------------------------------------------+
+---------------------------+
|
Length (1 octet)
|
+---------------------------+
|
Prefix (variable)
|
+---------------------------+
41
3.3. PIM-SM
3.3.1. Bevezet
Szmos IP multicast routing protokoll ltezik. Ilyenek pldul az OSPF multicast prja az
MOSPF (Multicast Open Shortest Path First, RFC 1581), a DVMRP (Distance Vector Multicast
Routing Protocol, RFC 1075), s a Core-Based Trees (RFC 2189) is. A PIM (Protocol Independent
Multicast) pedig egy protokollcsald. A PIM multicast routing protokoll valamely unicast routing
protokolltl (pl. OSPF) szerzett routing informci alapjn pt multicast fkat, ezrt is hvjk protokoll fggetlennek (protocol independent). Ngy vltozata van:
1. PIM-DM (PIM Dense Mode, RFC 3973) gy pt multicast fkat, hogy az egsz
hlzatot elrasztja multicast forgalommal, s azutn levgja azokat az gakat, ahol
nincsenek multicast vevk. Amint a neve is mutatja, hasznlata akkor elnys, ha a
hlzatban srn helyezkednek el a multicast forgalomra ignyt tart llomsok.
2. PIM-SM (PIM Sparse Mode, RFC 4601) Nem ttelez fel mindenhol csoporttagokat,
csak arra kld multicast forgalmat, ahonnan arra ignyt jelentettek be. A forgalom tovbbtsra az n. randev pontban (Rendezvous Point) gykerez, tbb forrs forgalma
ltal megosztottan hasznlt fkat (shared trees) pt. Opcinlisan hasznlhat forrsonknt
legrvidebb utat megvalst fkat is. Mkdst rszletesen bemutatjuk.
3. PIM-SSM (PIM Source-Specific Multicast, RFC 4607) Egyetlen forrsban gykerez
multicast fkat pt fel, gy nincs szksge RP-re. A PIM-SM-nl elvileg szkebb krben,
tipikusan valamilyen tartalom broadcast jelleg tovbbtsra hasznhat. IPTV szolgltatsra viszont ez is elg, ezrt a jvben vrhatan terjedni fog a hasznlata.
4. BIDIR-PIM (Bidirectional PIM, RFC 5015) A PIM-SM olyan vltozata, amely a forrsokat s a vevket sszekt ktirny megosztott fkat pt. A PIM-SM-mel ellenttben
sohasem pt forrsonknt legrvidebb utat megvalst fkat.
Ezek kzl a PIM-SM protokollt IPTV rendszerekben elterjedten hasznljk, ezrt azt fogjuk
rszletesen bemutatni.
42
A randev pont
Mivel a PIM-SM a brmely forrs multicast (ASM: Any-Source Multicast) routing protokollok kz
tartozik, a vevknek valahogy meg kell tallniuk a multicast forrst vagy forrsokat. Ezt a clt szolglja a tallkozsi pont vagy randev pont (RP: Rendezvous Point). Az RP-t statikusan bellthatja az
adott AS adminisztrtora vagy egy megfelel algoritmussal megvlaszhatjk az adminiszrtor ltal
RP jelltnek (Candidate RP) belltott routerek kzl. Egy AS-ben vagy multicast tartomnyban
multicast csoportonknt logikailag csak egy RP lehet. Ennek nem mond ellent, hogy ltezik az n.
Anycast RP (RFC 4610) megolds, amikor tbb RP pldny van egy multicast tartomnyban, s ezek
ugyanazt az IP-cmet hasznljk (anycast cmzssel).
1. fzis: RP-tree
Az els fzisban a randev pontban gykerez fa (Rendezvous Point Tree) pl fel a kvetkez mdon. A vevk az MLD (Multicast Listener Discovery, RFC 3810) protokoll hasznlatval Multicast
Listener Report zenetekkel jelzik az ignyket valamely multicast csoport forgalmra. A vev kijellt
routere (DR: Designated Router, ezt korbban mr megvlasztottk a helyi routerek kzl) ennek
az zenetnek a hatsra PIM Join zenetet kld az ignyelt multicast csoport RP-jnek. Ez a PIM
Join zenet thalad a hlzatban az RP fel vezet t routerein, amelyek elksztik a megfelel
MRIB bejegyzseket, s gy felpl az RP-fa. Egy PIM Join zenet jellse (S, G), ahol az els elem
a forrs IP-cme, a msodik elem pedig a csoport IP cme (ennek a prefixe termszesen FF00::/8).
A (*, G) jells pedig azt jelenti, hogy a vev a G multicast csoport minden forrsra ignyt tart.
Fontos, hogy a forrs IP-cme ismeretnek hinyban a DR elszr mindig (*, G) Join zenetet
kld! (Majd a 3. fzisban lesz lehetsge a forrs alapjn val finomtsra.) A PIM Join zeneteknek
nem mindig kell az RP-ig eljutniuk, hanem elg, ha elrnek egy olyan pontot, ahol az RP-fa mr
kiplt. Az RP-ft azrt hvjk megosztott fnak (shared tree), mivel minden forrs multicast forgalma
ugyanazt a ft hasznlja. A PIM Join zeneteket a DR periodikusan kldi, amg ltezik az adott
csoportnak legalbb egy tagja (van olyan vev, aki az adott multicast csoport forgalmra ignyt tart).
Amikor az RP-fnak egy levl (leaf) azaz a fban csak egyetlen kapcsolattal rendelkez hlzatban az utols tag is elhagyja a G csoportot, akkor a DR egy (*, G) jells PIM Prune zentet kld
az RP fel, s a ft vissszametszik addig a pontig, ahol mg vannak aktv vevk.
Amikor egy S forrs adni kezd egy G multicast csoport szmra, akkor a forrs DR-e a multicast
adatcsomagokat regisztrcis zeneteknek (Register messages) nevezett unicast csomagokba gyazza
be, amelyeket az RP-nek cmez. (Az RP router ezekbl az zenetekbl szerez tudomst arrl, hogy
az S forrs szeretne multicast forgalmat kldeni.) Az RP kibontja a regisztrcis zeneteket, s az
RP-fa mentn tovbbtja a megfelel multicast csoport szmra (ha ltezik legalbb egy tagja). A
folyamat mkdst a 11. bra mutatja be. A multicast tovbbts ekkor mr funkcionlisan mkdik, a tovbbi kt fzis csak a hatkonysgot szolglja.
43
(amelyek a multicast forgalmat unicast csomagokba gyazzk be). A 2. fzis mkdst a 12. bra
mutatja be.
(belertve a C-RP routereket is) megtanulja a BSR IP-cmt. Eztun a C-RP routerek periodikusan
kldik az RP jellt hirdets (C-RP-Adv: Candidate-RP-Advertisement) zeneteiket a BSR-nek. (A CRP-Adv zenetek kldsnek peridusidejt C_RP_Adv_Period nvvel illetik, melynek alaprtelmezett rtke 60 msodperc.) A BSR begyjti a C-RP-Adv zeneteket, s az RP jelltekrl listt kszt
(RP list), majd a listt egy bootstrap zenetbe (BSM, ugyanolyan tpus zenet, mint amit a BSR
megvlasztshoz is hasznltak) gyazva periodikusan elkldi az sszes PIM-SM routernek (peridusid: BS_Period, alaprtelmezett rtk: 60 msodperc). Minden PIM-SM router (belertve a BSRt s a C-RP-ket is) sajt maga kpes C-RP-k prioritsa alapjn a gyztes RP meghatrozsra. (Ezt
mindegyik PIM-SM router maga vgzi el, s a vgs eredmny meghatrozsakor a BSM-ben kapott
informcin tl figyelembe veszi a benne statikusan belltott informcit is.)
Megjegyzs: multicast csoportonknt klnbz RP-k lehetnek, az RP-ket csoportcmmel egytt
hirdetik. St egy RP tbb csoporthoz is tartozhat, ennek a hatkony megadsra a csoportcmen
tl csoportmaszkot (group mask) is tovbbtanak.
Ha az aktulis RP nem kld C-RP-Adv zenetet a BSR-nek RP Holdtime (a C-RP-Adv zenetben
megadott rtk: a hirdets ennyi ideig rvnyes) idn bell, akkor a BSR gy dnt, hogy az adott
RP nem mkdik s j RP listt kezd el hirdetni a nem mkdnek tlt RP kihagysval.
A C-RP routerek lellsukat a BSR szmra 0 rtk RP Holdtime megadsval tudjk jelezni.
Ilyenkor az BSR azonnal j RP listt hirdet az adott C-RP kihagysval. A C-RP routereknek a CRP-Adv zenetben legalbb 2,5*max(BS_Period, C_RP_Adv_Period) nagysg RP Holdtime rtket kell (SHOULD) megadniuk, gy a rendszer kpes tolerlni nhny BSM s/vagy C-RP-Adv
zenet elveszst.
A C-BSR routerek arra is gyelnek, hogy a megvlasztott BSR router mkdik-e, ellenkez esetben j BSR-t vlasztanak. Ha egy C-BSR router BS_Timeout ideig (alaprtelmezett rtk 130 msodperc) nem kap BSM zenetet, akkor egy BSM zenet kibocstsval elindt egy BSR vlasztst.
3.4.1. Alapbelltsok
Az egyes hlzati vezrlkhz rendelt IPv6 cmeket az IPv4 esetben is megszokott ifconfig
parancs alkalmazsval krdezhetjk le:
root@Debian:~# ifconfig
eth0
Link encap:Ethernet HWaddr 00:15:5d:20:42:33
inet addr:10.0.0.10 Bcast:10.0.0.127 Mask:255.255.255.192
inet6 addr: 2001:db8::215:5dff:fe20:4233/64 Scope:Global
inet6 addr: fe80::215:5dff:fe20:4233/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22015 errors:0 dropped:3138 overruns:0 frame:0
TX packets:8063 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1746432 (1.6 MiB) TX bytes:920169 (898.6 KiB)
46
Jl lthat az IPv6 mkdshez szksges link local, valamint a mdostott EUI-64 alkalmazsval automatikusan hasznlatba vett IPv6-os cm is. Ebben az esetben az tvlasztn, mellyel a
szmtgp kapcsolatban van, engedlyezett a Router advertisement, gy a korbban mr ismertetett
SLAAC segtsgvel automatikusan jutott IPv6 cmhez a szmtgp. Ha nem alkalmazunk
SLAAC-t s DHCP-t, vagy egy knnyebben megjegyezhet cmet szeretnnk fixen a szmtgphez rendelni, gy a /etc/network/interfaces llomnyban tehetjk ezt meg az inet6 stanza
alkalmazsval (feltve, hogy nem hasznlunk pldul Network Managert). A hlzati maszk hoszszt a bitek darabszmval adhatjuk meg:
iface eth0 inet6 static
address 2001:DB8::10
netmask 64
gateway 2001:DB8::1
Ha rendelkeznk IPv6 DHCP szerverrel s stateful auto address konfigurcit alkalmazunk, akkor az IPv4 protokollhoz hasonlan a static szcska helyre a dhcp-t kell rni. Ha kifejezetten az
SLAAC alkalmazst szeretnnk, akkor pedig az auto a megfelel sz.
A Linux verzitl fggen elfordulhat, hogy nem csak a statikusan belltott cmet hasznlja szmtgpnk, hanem az SLAAC segtsgvel hasznlatba vettet is:
root@Debian:~# ifconfig
eth0
Link encap:Ethernet HWaddr 00:15:5d:20:42:33
inet addr:10.0.0.10 Bcast:10.0.0.127 Mask:255.255.255.192
inet6 addr: 2001:db8::215:5dff:fe20:4233/64 Scope:Global
inet6 addr: fe80::215:5dff:fe20:4233/64 Scope:Link
inet6 addr: 2001:db8::10/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:112 errors:0 dropped:7 overruns:0 frame:0
TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16145 (15.7 KiB) TX bytes:10324 (10.0 KiB)
Ezt rdemes megszntetni, mert nem kvnt mkdst is elidzhet. Tbb megoldst is alkalmazhatunk, melyek kzl taln a legegyszerbb a hlzati vezrlk konfigurcijt tartalmaz llomny
mdostsval a SLAAC alkalmazsnak letiltsa:
iface eth0 inet6 static
address 2001:DB8::10
netmask 64
gateway 2001:DB8::1
post-up echo 0 > /proc/sys/net/ipv6/conf/default/accept_ra
post-up echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
post-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra
post-up echo 0 > /proc/sys/net/ipv6/conf/default/autoconf
post-up echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
post-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/autoconf
Az IPv6 nvszerverek belltst az IPv4-hez hasonlan a /etc/resolv.conf llomnyban vgezhetjk el. Hasznlhatunk csak IPv4-es, vagy csak IPv6-os, vagy mindkt tpus nvszervereket
47
egyarnt. A DNS mkdsbl addan mindegy, hogy milyen verzij IP cmen rhet el a nvszerver, az nem befolysolja a mkdst.
A routing tbla manipulcijt az ip parancs alkalmazsval rdemes elvgezni. Amennyiben a
parancs alkalmazsakor megadjuk a -6 paramtert, gy a kiadott parancsok az IPv6 protokollra
rvnyesek. Ezek alapjn a routing tbla kiratsa:
root@Debian:~# ip -6 route
2001:db8::/64 dev eth0 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256
ff00::/8 dev eth0 metric 256
default via 2001:db8::1 dev eth0 metric 1
j bejegyzs hozzadsa a tblhoz, teht egy statikus tvonal (route) ltrehozsa az add paramterrel lehetsges. Pldul egy olyan statikus route, mely szerint a 2001:db8:1::/64 hlzat a
2001:db8::2 IPv6 cm tjrn rhet el, a kvetkez paranccsal hozhat ltre:
root@Debian:~# ip -6 route add 2001:db8:1::/64 via 2001:db8::2
Ha a szmtgp egyik hlzati vezrlkrtyjhoz tbb IPv6-os cmet is szeretnnk hozzrendelni, gy a helyes mkds rdekben azt az ip -f inet6 addr add paranccsal vgezzk, ne az
IPv4-nl mr megszokott eth0:0 aliast alkalmazzuk. Pldul:
root@Debian:~# ip -f inet6 addr add 2001:db8::3456/64 dev eth0
48
Mint mr az olvas is tisztban van vele, az IPv6 protokoll az IPv4-tl eltren nem az ARP
protokollt alkalmazza az egyes hlzati (L3) cmekhez tartoz fizikai (L2) cmek feloldsra, hanem
az NDP-t. Az Linux NDP tblzatnak manipullshoz az ip -6 neigh parancs hasznlhat. A
tblzat kiratsra plda:
root@Debian:~# ip -6 neigh show
fe80::20c:42ff:fe9a:4b7a dev eth0 lladdr 00:0c:42:9a:4b:7a router REACHABLE
2001:db8::1 dev eth0 lladdr 00:0c:42:9a:4b:7a router REACHABLE
A knyv szerzinek tapasztalata szerint sajnos sokszor elfordul, hogy szmtgpnk nem tall
egy szomszdos szmtgpet. Ilyenkor sok esetben segt, ha a tblzatbl a nem elrhet eszkzt
manulisan trljk, mely utn ltalban megjavul a hlzati kapcsolat a kt szmtgp kzt. Erre
plda:
root@Debian:~# ip -6 neigh del 2001:db8::1 dev eth0
sval lehet.
time=145
time=145
time=145
time=145
ms
ms
ms
ms
--- cisco.com ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 3011ms
rtt min/avg/max/mdev = 145.316/145.400/145.434/0.469 ms
Ha egy parancs paramtereknt IPv6 cmet kell megadnunk, de nem egyrtelm, hogy hol vannak
a cm hatrai, gy a cmet [ ] jelek kz rhatjuk. Pldul:
root@Debian:~# scp * [::1]:/home
49
3.4.2. ip6tables
Az IPv4 esetben alkalmazott iptables parancsnak az IPv6 protokoll esetn alkalmazott megfelelje az ip6tables. Hasonlsguk miatt csak az ip6tables legfontosabb parancsait ismertetjk
pldk segtsgvel. Az A parancs segtsgvel egy meglv lnc vghez fzhetnk jabb sort, mg
az I parancs segtsgvel a lnc elejre szrhatunk be. Trlni a D paranccsal lehet, mg az L-lel
listzhatjuk ki a lncot.
Egy sor beszrsa a lnc vgre, mely minden csomagot eldob, ami a 2001:db8::100 cmrl rkezik:
root@Debian:~# ip6tables -A INPUT -s 2001:db8::100 -j DROP
50
Prefix definci:
prefix prefix/length
{
list of prefix specific options
};
Kliens
Linux router
radvd-vel
s DNS szerverrel
Az AdvSendAdvert on segtsgvel a peridikus Router Advertisement (RA) zenetek kikldst, valamint a vlaszadst a router solicitation zenetekre engedlyezzk. A prefix paramter mutatja meg a SLAAC kilens szmtgpnek, hogy az ltala generlt IPv6 cm mely hlzatba tartozzon. Az RDNSS segtsgvel pedig a DNS szerver IPv6 cmt tovbbthatjuk a kliensnek (RFC 6106
alapjn). Fontos informci, hogy nem minden kliens hasznlja fel az gy kapott DNS informcikat. Az ltalunk hasznlt Debian Linux rendszert futtat kliensen a mkds rdekben elbb telepteni kell a rdnssd csomagot (apt-get install rdnssd). (Megolds lehet mg az is, ha a radvd
mellett teleptnk egy DHCP szervert is, amely azonban csak a DNS szerver cmt segt belltani
a klienseknek. Ilyenkor a cmkioszts szintn stateless mdon trtnik.)
51
Ez a mdszer azonban biztonsgi problmkat idzhet el, hiszen az IPv6 cm vge viszonylag
jl klienshez kthet. Ennek a kezelsre dolgoztk ki az RFC 4941-ben rgztett privacy
extensions-t, melyet az ltalunk is hasznlt Debian Linux kliensen a /proc file rendszeren keresztl
engedlyezhetjk a kvnt interfszen, pldul a kvetkez mdon, a /etc/network/interfaces
llomnyban:
iface eth1 inet6 auto
pre-up sysctl -w net.ipv6.conf.eth1.use_tempaddr=2
A megadott 2-es rtk azt eredmnyezi, hogy rendszernk a kommunikci sorn az ideiglenes
IPv6 globlis cmet preferlja a mdostott EUI-64 algoritmus segtsgvel generlttal szemben,
mg 1-es rtk esetn a helyzet fordtott. 0 rtk (alaprtelmezs szerinti) esetn nem kerl ltrehozsra ideiglenes IPv6 cm. A megadott konfigurci esetn az interfsz belltsa a kvetkez:
eth1
rdemes r figyelni, hogy a privacy extension alkalmazsa ugyan nveli a biztonsgot, ugyanakkor
okozhat problmkat a mkds sorn.
Ha valamilyen okbl a kliens nem lltja be automatikusan a kvnt paramtereket, akkor Debian
Linuxot futtat kliens esetben jl hasznlhat hibakeres eszkz az rdisc6 parancs, mely az
nidsc6 a csomag rsze:
root@Debian:~# rdisc6 eth1
Soliciting ff02::2 (ff02::2) on eth1...
Hop limit
Stateful address conf.
:
:
64 (
No
52
0x40)
seconds
seconds
seconds
seconds
Az AdvManagedFlag on segtsgvel engedlyezzk a stateful mkdst, azaz az IPv6 cm krst a DHCP szervertl. Az AdvOtherConfigFlag on pedig engedlyezi a kliens szmra, hogy a
DHCP szervertl egyb belltsokat is elfogadjon. A kt intervallumot (MinRtrAdvInterval s
MaxRtrAdvInterval) azrt kell belltani, mert az alaprtelmezs szerinti rtkek olyan magasak
(200 s 600 msodperc), hogy a kliens sokszor csak indulsa utn percekkel rteslne az alaprtelmezett tjr cmrl, ugyanis ezek a paramterek lltjk be a radvd-nek a router advertisement
hirdetsek kzti idintervallumot. Indtsuk jra a radvd-t a /etc/init.d/radvd restart parancs
kiadsval!
A DHCP szerver teleptst az apt-get install isc-dhcp-server paranccsal vgezhetjk
el. Ezutn a /etc/default/isc-dhcp-server llomnyban be kell lltani az IPv6 protokoll
hasznlatt a OPTIONS="-6" sor segtsgvel. A szerver teleptse sorn automatikusan ltrejn a
/etc/dhcp/dhcpd.conf llomny, melyben a DHCP szerver belltsait elvgezhetjk. Az llomnybl nem trlve, ahhoz adjuk hozz a kvetkez sorokat:
53
subnet6 2001:db8::/64
{
range6 2001:db8::100 2001:db8::200;
option dhcp6.name-servers 2001:db8::1;
option dhcp6.domain-search "mylan.hu";
}
A subnet6 mondja meg, hogy a DHCP szerver mely interfszen fog mkdni, a range6, pedig
a kioszthat IPv6 cmek tartomnyt hatrozza meg. A kt option a nvkiszolgl cmt s a keressi zna nevt adja meg. (Ha szeretnnk prefix delegcit is hasznlni, gy a prefix6 kulcsszval adhatjuk me az e clra felhasznlhat tartomnyt.)
Hozzuk ltre a kiosztott IPv6 cmekkel kapcsolatos informcikat trol llomnyt a touch
/var/lib/dhcp/dhcpd6.leases parancs segtsgvel, majd indtsuk el a dhcpd daemont a
/etc/init.d/isc-dhcp-server start parancs kiadsval.
Ezek utn a kliens megkapja a hlzat elrshez szksges adatokat. Ha Debian Linuxot futtat
klienst hasznlunk, lehetsges, hogy a kliens nem lltja be az alaptjr cmt. Ennek oka, hogy ez
a kliens DHCP alkalmazsa sorn letiltja a RA csomagok figyelst. A problma egyszer mdon
kikszblhet a /etc/network/interfaces llomnyban, a megfelel interfsznl:
iface eth1 inet6 auto
post-up sysctl -w net.ipv6.conf.eth1.accept_ra=1
metric 1024
Vgl pedig, a nvszerver bellts is a DHCP szerveren megadott rtket vette fel:
root@Debian:~# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by
# resolvconf(8)
nameserver 2001:db8::1
search mylan.hu
54
3.4.4. BIND
Szintn az ISC ltal fejlesztett, szabad szoftverknt elrhet ISC BIND segtsgvel mutatjuk be
a nvszerver konfigurcit. Pldnkban a DNS-rl szl rszben mr ismertetett znkt hozzuk
ltre.
Els lpsknt teleptsk a BIND csomagot az apt-get install bind9 parancs segtsgvel.
Azrt, hogy szervernket ne hasznljk fel DDoS tmadsokhoz, korltozzuk le rekurzv hasznlatt sajt hlzatunkra. Ehhez elszr egy ACL-t kell ltrehoznunk az /etc/bind/named.conf.local
llomnyban a kvetkezk szerint:
acl mynetwork { 127.0.0.0/8; ::1; 192.0.2.0/24; 2001:db8::/32; };
(Az ACL-ek ltrehozsa sorn az IPv4-es s IPv6-os cmeket nyugodtan keverhetjk, nincs szksg kln ACL-ek ltrehozsra.)
Engedlyezzk a korltozst a /etc/bind/named.conf.options llomnyban a kvetkez sor
elhelyezsvel:
allow-recursion { mynetwork; };
SOA
dns
www
Hozzuk
dns.isp.hu. root.isp.hu. (
2015022301
; serial YYYYMMDDnn
86400
; refresh ( 24 hours)
7200
; retry
(
2 hours)
3600000
; expire (1000 hours)
172800 )
; minimum (
2 days)
NS
dns.isp.hu.
AAAA
2001:db8::1
A
192.0.2.10
AAAA
2001:db8::10
ltre
reverz
nvfeloldshoz
szksges
llo-
/etc/bind/db.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa
sorokkal:
zone "isp.hu" {
type master;
55
file "/etc/bind/db.isp.hu";
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa" {
type master;
file
"/etc/bind/db.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa";
};
Majd indtsuk jra a nvszervert a /etc/init.d/bind9 restart parancs kiadsval! Munknkat ellenrizzk le a host parancs segtsgvel:
root@Debian:~# host www.isp.hu ::1
Using domain server:
Name: ::1
Address: ::1#53
Aliases:
www.isp.hu has address 192.0.2.10
www.isp.hu has IPv6 address 2001:db8::10
root@Debian:~# host 2001:db8::10 ::1
Using domain server:
Name: ::1
Address: ::1#53
Aliases:
0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa
domain name pointer www.isp.hu.
Mint lttuk, egy IPv6-os rekordokat (is) tartalmaz zna llomny ltrehozsa semmiben sem tr
el IPv4-es megfeleljtl, fontos azonban, hogy tbb IPv6-os opci jelent meg, melyeket IPv4-es
megfeleljktl a -v6 vgzds klnbztet meg. Pldul:
transfer-source-v6
notify-source-v6
listen-on-v6
nv
Router1
Router2
Router3
Router4
Router5
hardver
ASR1001-X
ASR1001-X
WS-C4500X
CISCO2911
CISCO2911
Site4: ISP1
Site5: ISP2
2001:db8:4:1/64
2001:db8:5:1/64
Gi0/0
Gi0/0
2001:db8:0:45/64
Gi0/2
Gi0/2
2001:db8:4:1::10
2001:db8:5:1::10
R4
R5
Gi0/1
Gi0/1
2001:db8:0:25/64
2001:db8:0:14/64
Site1: Datacenter
Site2: Datacenter
Gi0/0/1
Gi0/0/1
2001:db8:1:1::10
2001:db8:0:12/64
Gi0/0/2
Gi0/0/3
R1
20
01
:d
b8
:0
:1
3/
64
Gi0/0/0
2001:db8:1:1/64
2001:db8:2:1::10
Gi0/0/2
Gi0/0/3
R2
64
3/
:2
:0
b8
d
:
01
20
Gi0/0/0
2001:db8:2:1/64
Ten2/1/3
Ten1/1/3
2001:db8:3:1::10
2001:db8::1/128
R3
Ten1/1/1
2001:db8:3:1/64
Site3: Remote
IPv6 engedlyezse
A kvetkez sorok bemutatjk a konfigurcis zemmd s egy konfigurcis paramter (IPv6
routing engedlyezs) vltoztatst. A ksbbiekben csak a konfigurcis parancsok kerlnek bemutatsra.
R R1>enable
Password:
R1#
R1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#ipv6 unicast-routing ezzel engedlyezzk az unicast routingot
Jl lthat, hogy a router a global unicast cm mellett a link-local cmet is automatikusan engedlyezte az interfszen. A global s link-local cm manulis belltst a kvetkezkppen tehetjk
meg:
R1(config)#interface gigabitEthernet 0/0/0
R1(config-if)#ipv6 address 2001:DB8:1:1::1/64
R1(config-if)#ipv6 address FE80::1 link-local link-local cm bellts
R1#show ipv6 interface brief
<...rvidtve...>
GigabitEthernet0/0/0
[up/up]
FE80::1
2001:DB8:1:1::1
A tovbbiak tekintsk gy, hogy a globlis IPv6 cmek a fenti hlzati topolgin lthat mdn
vannak belltva. A helyi hlzati szegmensek esetben a router interfszek a prefixhez tartoz legkisebb hasznlhat IPv6 cmet kaptk. Az egyes routereket sszekt hlzatokban pedig az adott
router IPv6 cmnek utols szmjegye megegyezik a router sorszmval (1-5).
Kapcsolat ellenrzse
Egy kapcsolat ellenrzshez hasznlhatjuk az egyszer ping, ssh vagy pedig a show ipv6
neighbors parancsot, ami az IPv6 neighbor discovery (ND) tblt mutatja meg. Az albbi pld-
kon bemutatjuk a kapcsolat ellenrzst, valamint az IPv6 cmek hasznlatt mindhrom mdszer
alkalmazsval.
R1#ping 2001:DB8:0:12::2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8:0:12::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R1#ssh -l admin 2001:DB8:0:12::2
Password:
R2#sh ipv6 neighbors IPv6 szomszdok listzsa
<...rvidtve...>
IPv6 Address
Age Link-layer Addr State
Interface
2001:DB8:0:25::2
0 a80c.0d83.4229 REACH Gi0/0/1
FE80::AA0C:DFF:FE83:4229
89 a80c.0d83.4229 DELAY Gi0/0/1
2001:DB8:0:12::1
0 84b8.021e.ca04 REACH Gi0/0/2
FE80::86B8:2FF:FE1E:CA04
27 84b8.021e.ca04 STALE Gi0/0/2
2001:DB8:0:23::2
0 0008.e3ff.fc04 REACH Gi0/0/3
FE80::208:E3FF:FEFF:FC04
0 0008.e3ff.fc04 REACH Gi0/0/3
59
Amennyiben a helyi hlzaton ms IPv6 eszkzk is talallhatak, gy az ICMPv6 protokoll segtsgvel ellltott ND tbla segtsgvel, az IPv4 ARP tbljhoz hasonlan lehet az aktv eszkzk L3 s L2 cmeit felderteni.
Gi0/0/1
Gi0/0/2
2001:db8:0:12/64
Gi0/0/3
Router1
2001:db8:2:1::10
Gi0/0/2
Gi0/0/3
Router2
Prefix
Gi0/0/0
2001:db8:0:12::1
2001:DB8:0:12:86B8:2FF:FE8C:BD04
Gi0/0/0
60
R2 konfigurc:
ipv6 dhcp pool ISP-pool IPv6 cmtartomny ltrehozsa
prefix-delegation pool ISP-ipv6 lifetime 1800 60 szolgltattl kapott cm
dns-server 2001:558:FEED::1
dns-server 2001:558:FEED::2
interface gigabitEthernet 0/0/2
ipv6 address dhcp szolgltattl kapunk cmet
ipv6 enable
ipv6 nd autoconfig default-route
ipv6 dhcp client pd hint ::/60 szolgltattl krnk /60 cmtartomnyt
ipv6 dhcp client pd ISP-ipv6 ezzel a nvvel azonostjuk a /60 cmtartomnyt
interface gigabitEthernet 0/0/0
ipv6 address ISP-ipv6 ::0:0:0:0:1/64 szolgltattl kapott els/64 subnet
ipv6 enable
ipv6 nd other-config-flag
ipv6 dhcp server ISP-pool ltalunk definilt DHCP pool, a cm a szolgltattl jn
interface gigabitEthernet 0/0/10
ipv6 address ISP-ipv6 ::1:0:0:0:1/64 szolgltattl kapott msodik/64 subnet
ipv6 enable
ipv6 nd other-config-flag
ipv6 dhcp server ISP-pool
lyezse
61
3.5.3. OSPFv3
Az OSPF protokoll belltsnak bemutatshoz 19. brn lthat topologit fogjuk hasznlni.
A backbone area (area 0) a kzponti routerek kapcsolatt biztostja. Nagyobb hlzatok teleptsnl a diagramon lthat area 1, 2 s 3 ltalban tovbbi routereket is magban foglal, nem csak az
R1, R2 s R3 area border routereket.
62
szen
passive-interface Loopback0
exit-address-family
R2 konfigurci:
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ipv6 address FE80::2 link-local
ipv6 address 2001:DB8:2::2/128
ipv6 ospf 1 area 2
!
interface GigabitEthernet0/0/0
ipv6 address FE80::2 link-local
ipv6 address 2001:DB8:2:1::2/64
ospfv3 1 ipv6 area 2
!
interface GigabitEthernet0/0/1
ipv6 address FE80::2 link-local
ipv6 address 2001:DB8:0:25::2/64
ospfv3 1 ipv6 area 0
!
interface GigabitEthernet0/0/2
ipv6 address FE80::2 link-local
63
R3 konfigurci:
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ipv6 address FE80::3 link-local
ipv6 address 2001:DB8:3::3/128
ipv6 ospf 1 area 3
!
interface TenGigabitEthernet1/1/1
no switchport
no ip address
ipv6 address FE80::3 link-local
ipv6 address 2001:DB8:3:1::1/64
ospfv3 1 ipv6 area 3
!
interface TenGigabitEthernet1/1/3
ipv6 address FE80::3 link-local
ipv6 address 2001:DB8:0:13::3/64
ospfv3 1 ipv6 area 0
!
interface TenGigabitEthernet2/1/3
ipv6 address FE80::3 link-local
ipv6 address 2001:DB8:0:23::3/64
ospfv3 1 ipv6 area 0
!
router ospfv3 1
router-id 3.3.3.3
!
address-family ipv6 unicast
passive-interface Loopback0
exit-address-family
Konfigurci ellenrzse
Az OSPF konfigurci ellenrzshez a show ospfv3 parancs alkalmazsra van szksg. Az
albbi pldk bemutatjk a fontosabb parancsokat s hasznlatukat az R1 routeren:
64
Pri
1
1
State
FULL/BDR
FULL/BDR
Dead Time
00:00:32
00:00:36
Interface ID
58
12
Interface
GigabitEthernet0/0/3
GigabitEthernet0/0/2
65
OSPF routing tbla ellenrzsre az albbi parancsot hasznljuk. Minden hlzati prefix esetn
lthat:
next-hop local-link cme
next-hop interfsz neve
administrative distance s OSPF cost.
R1#show ipv6 route ospf
IPv6 Routing Table - default - 21 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eid
a - Application
O
2001:DB8:0:23::/64 [110/2]
via FE80::3, GigabitEthernet0/0/3
O
2001:DB8:0:25::/64 [110/3]
via FE80::3, GigabitEthernet0/0/3
OI 2001:DB8:2::2/128 [110/2]
via FE80::3, GigabitEthernet0/0/3
OI 2001:DB8:2:1::/64 [110/3]
via FE80::3, GigabitEthernet0/0/3
OI 2001:DB8:3::3/128 [110/1]
via FE80::3, GigabitEthernet0/0/3
OI 2001:DB8:3:1::/64 [110/2]
via FE80::3, GigabitEthernet0/0/3
<...rvidtve...>
rdemes megjegyezni, hogy a routing tblba csak azok az OSPF bejegyezsek kerlnek, amelyek
nem tallhatk meg kisebb administrative distance segtsgvel, azaz olyan routing protokollal,
amelyik az zemeltet ltal jobban preferlt. Pldul azok a hlzatok, amelyek kzvetlenl vannak
csatlakoztatva a kvetkez mdon rathatak ki:
66
{ipsec
{encryption-algorithm [[key-encryption-type]
| null}
key]
A 20. bra s a konfigurci bemutatja az OSPFv3 authentication bekapcsolst a pldahlzatunkon, az R1 s R2 router kztt, a backbone areban.
OSPFv3 IPSEC
SPI=1000, Key256bit=12345...1234
Gi0/0/1
2001:db8:1:1::10
2001:db8:0:12/64
Gi0/0/2
Gi0/0/3
Gi0/0/1
2001:db8:2:1::10
Gi0/0/2
Gi0/0/3
R1
R2
Gi0/0/0
Gi0/0/0
Ten2/1/3
Ten1/1/3
2001:db8:3:1::10
2001:db8::1/128
R3
Ten1/1/1
R2 konfigurc:
interface GigabitEthernet0/0/2
no ip address
negotiation auto
ipv6 address FE80::2 link-local
ipv6 address 2001:DB8:0:12::2/64
ipv6 ospf encryption ipsec spi 1000 esp aes-cbc 256
1234567890123456789012345678901234567890123456789012345678901234 sha1
1234567890123456789012345678901234567890
ospfv3 1 ipv6 area 0
end
Az ellenrzshez ltalban elg csak meggyzdni arrl, hogy az OSPF szomszdunk llapota
FULL, de lehetsg van arra is, hogy magt az IPsec kapcsolatot az SPI index segtsgvel beazonostsuk.
R1#show ipv6 ospf neighbor
OSPFv3 Router with ID (1.1.1.1) (Process ID 1)
Neighbor ID
3.3.3.3
2.2.2.2
Pri
1
1
State
FULL/BDR
FULL/DR
Dead Time
00:00:33
00:00:33
Interface ID
58
12
Interface
GigabitEthernet0/0/3
GigabitEthernet0/0/2
68
#pkts
#pkts
#pkts
#send
Konfigurci
Az MP-BGP implementcija egyarnt tmogatja az IPv6 s IPv4 protokollt. Az MP-BGP alapszint konfigurcija a kvetkez lpsekbl ll:
1. MP-BGP Autonomous System (AS) szm hozzrendelse a BGP processzhez.
2. A Router azonost megadsa. Ez Cisco eszkzkn egy 32 bit hossz IPv4 cm s ktelez, hogy elrehet (up sttus) legyen. Ezrt ezt a cmet, ltalban az egyik loopback interfszhez szoktk rendelni.
3. MP-BGP szomszd(ok) definilsa.
4. IPv6 cmcsald definilsa s opcionlisan a sajt hlzatok hirdetse s szrse.
Az albbi plda bemutatja az MP-BGP protokoll konfigurcijt az R1, R2, R4 s az R5-es
routereken a fenti diagram alapjn. Segtsgknt a fenti diagramot hasznljuk a pldhoz.
69
2001:db8:0:25/64
2001:db8:0:14/64
20
01
:d
b8
:
0:
13
/6
4
20
01
:d
:
b8
2
0:
64
3/
R2 konfigurc:
router bgp 65000
bgp router-id 2.2.2.2
neighbor 2001:DB8:0:12::1 remote-as 65000
70
R4 konfigurc:
router bgp 65004
bgp router-id 4.4.4.4
neighbor 2001:DB8:0:14::1 remote-as 65000
neighbor 2001:DB8:0:45::5 remote-as 65005
!
address-family ipv6
network 2001:DB8:0:14::/64
network 2001:DB8:0:45::/64
network 2001:DB8:4::4/128
network 2001:DB8:4:1::/64
neighbor 2001:DB8:0:14::1 activate
neighbor 2001:DB8:0:45::5 activate
R5 konfigurc:
router bgp 65005
bgp
router-id 5.5.5.5
neighbor 2001:DB8:0:25::2 remote-as 65000
neighbor 2001:DB8:0:45::4 remote-as 65004
!
address-family ipv6
network 2001:DB8:0:25::/64
network 2001:DB8:5::5/128
network 2001:DB8:5:1::/64
neighbor 2001:DB8:0:25::2 activate
neighbor 2001:DB8:0:45::4 activate
Konfigurci ellenrzse
Az MP-BGP konfigurci a show bgp ipv6 parancs segtsgvel ellenrizhet. Az albbi pldk
bemutatjk a fontosabb parancsokat s hasznlatukat az R1 routerrl:
BGP szomszdok ellenrzse a show bgp ipv6 unicast neighbors parancs segtsgvel:
R1#show bgp ipv6 unicast summary
71
AS MsgRcvd MsgSent
TblVer
65000
371
374
89
0 04:58:50
12
65004
41
44
89
0 00:24:08
A BGP hlzati tbla ellenrzse a show bgp ipv6 unicast parancs segtsgvel lehetsges.
Fontos, hogy a tbla nem minden eleme kerl t a routing tblba, ami alapjn a csomagokat a
router majd tovbbtja.
R1#show bgp ipv6 unicast
BGP table version is 113, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
r>
Network
Next Hop
2001:DB8:0:14::/64
2001:DB8:0:14::4
0 65004 i
*>i 2001:DB8:0:25::/64
2001:DB8:0:25::5
0
*
100
0 65005 i
2001:DB8:0:14::4
0 65004 65005 i
* i 2001:DB8:0:45::/64
2001:DB8:0:25::5
0
*>
100
0 65005 65004 i
2001:DB8:0:14::4
0
0 65004 i
* i 2001:DB8:1::1/128
2001:DB8:0:12::2
*>
::
* i 2001:DB8:1:1::/64
2001:DB8:0:12::2
*>
*>
::
2001:DB8:2::2/128
FE80::3
* i
2001:DB8:0:12::2
100
0 i
32768 i
100
0 i
32768 i
2
0
72
32768 i
100
0 i
*>
* i
2001:DB8:2:1::/64
FE80::3
2001:DB8:0:12::2
32768 i
100
0 i
100
0 i
32768 i
100
0 i
32768 i
100
* i 2001:DB8:3::3/128
2001:DB8:0:12::2
*>
FE80::3
* i 2001:DB8:3:1::/64
2001:DB8:0:12::2
*>
FE80::3
* i 2001:DB8:4::4/128
2001:DB8:0:25::5
*>
0 65005 65004 i
2001:DB8:0:14::4
0
0 65004 i
* i 2001:DB8:4:1::/64
2001:DB8:0:25::5
0
*>
100
0 65005 65004 i
2001:DB8:0:14::4
0
0 65004 i
* i 2001:DB8:5::5/128
2001:DB8:0:25::5
0
*>
100
0 65005 i
2001:DB8:0:14::4
0 65004 65005 i
* i 2001:DB8:5:1::/64
2001:DB8:0:25::5
0
*>
100
0 65005 i
2001:DB8:0:14::4
0 65004 65005 i
A routing tbla ellenrzse a show ipv6 route parancs kiadsval lehetsges. Pldaknt nzzk
meg, hogy mit ltunk az R1, R4 s az R5 routereken:
Az R1 routeren lthat az sszes BGP router, amit R4 s R5 hirdet valamint az sszes OSPF
bels route amit R2 s R3 hirdet.
R1#sh ipv6 route
IPv6 Routing Table - default - 21 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
la - LISP alt, lr - LISP site-registrations, ld - LISP dyn-eid
a - Application
C
2001:DB8:0:12::/64 [0/0]
via GigabitEthernet0/0/2, directly connected
L
2001:DB8:0:12::1/128 [0/0]
via GigabitEthernet0/0/2, receive
C
2001:DB8:0:13::/64 [0/0]
via GigabitEthernet0/0/3, directly connected
L
2001:DB8:0:13::1/128 [0/0]
via GigabitEthernet0/0/3, receive
C
2001:DB8:0:14::/64 [0/0]
73
L
O
B
B
LC
C
L
OI
OI
OI
OI
B
B
B
B
L
Az R4 routeren lthat az sszes BGP route, amit az R4 s R5 hirdet, valamint az sszes bels
route, amit a network parancsal hirdetnk az R1 s R2 routereken keresztl. Az OSPF R1, R2 s
R3 routerek kzti sszekttetsekhez tartoz 2001:DB8:0 route-ok azrt nem lthatk itt, mert
ezeket a hlzatokat nem hirdetjk az R1 vagy R2 routereken BGP protokoll segtsgvel.
R4#show ipv6 route
IPv6 Routing Table - default - 17 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1
OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
a - Application
C
2001:DB8:0:14::/64 [0/0]
via GigabitEthernet0/1, directly connected
L
2001:DB8:0:14::4/128 [0/0]
via GigabitEthernet0/1, receive
B
2001:DB8:0:25::/64 [20/0]
via FE80::5, GigabitEthernet0/2
C
2001:DB8:0:45::/64 [0/0]
via GigabitEthernet0/2, directly connected
L
2001:DB8:0:45::4/128 [0/0]
74
B
B
B
B
B
B
LC
C
L
B
B
L
Mivel az R3 routeren csak az OSPF protokollt futtatjuk, ezrt csak az R1 s R2 routerek OSPF
tblja kerl szinkronizlsra. Az R4 s R5 routerek ltal hirdetett hlzatok elrsre csak a default
route segtsgvel lehetsges a jelenlegi konfigurci mellett.
R3#sh ipv6 route
IPv6 Routing Table - default - 14 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, a - Application
O
2001:DB8:0:12::/64 [110/2]
via FE80::1, TenGigabitEthernet1/1/3
via FE80::2, TenGigabitEthernet2/1/3
C
2001:DB8:0:13::/64 [0/0]
via TenGigabitEthernet1/1/3, directly connected
L
2001:DB8:0:13::2/128 [0/0]
via TenGigabitEthernet1/1/3, receive
L
2001:DB8:0:13::3/128 [0/0]
via TenGigabitEthernet1/1/3, receive
C
2001:DB8:0:23::/64 [0/0]
via TenGigabitEthernet2/1/3, directly connected
L
2001:DB8:0:23::3/128 [0/0]
via TenGigabitEthernet2/1/3, receive
OI 2001:DB8:1::1/128 [110/1]
via FE80::1, TenGigabitEthernet1/1/3
OI 2001:DB8:1:1::/64 [110/2]
via FE80::1, TenGigabitEthernet1/1/3
OI 2001:DB8:2::2/128 [110/1]
75
OI
LC
C
L
L
20 BG
20 01 P01 :db >O
:d 8: SP
b8 4: F
:5 1 /
:1 6 4
/6
4
PF 64
OS 1/ 4
-> 8:4: :1/6
P
BG :db b8:5
0 1 :d
20 001
2
76
Termszetesen a teljes BGP hlzati tbla tadsa OSPF-be szinte soha nem praktikus, vagy lehetsges a BGP tbla hatalmas mrete (s az ebbl kvetkez memriaignye) miatt. A BGP hlzati cmek tadsa csak kontrolllt mdon, szrve ajnlott (lsd az albbi pldt). A kls hlzatok
tbbsgt ltalban a default route hasznlatval fogjuk elrni.
Nzznk meg egy pldt arra az esetre, ha az R4 s R5 BGP ltal hirdetett hlzatt az R1 valamint
az R2 routeren keresztl az OSPF tblba visszk t (22. bra).
R1 konfigurci:
router ospfv3 1
router-id 1.1.1.1
!
address-family ipv6 unicast
passive-interface GigabitEthernet0/0/1
passive-interface Loopback0
redistribute bgp 65000 metric 1000 metric-type 1 route-map BGP-OSPF
exit-address-family
!
router bgp 65000
bgp router-id 1.1.1.1
neighbor 2001:DB8:0:12::2 remote-as 65000
neighbor 2001:DB8:0:14::4 remote-as 65004
!
address-family ipv6
network 2001:DB8:1::1/128
network 2001:DB8:1:1::/64
network 2001:DB8:2::2/128
network 2001:DB8:2:1::/64
network 2001:DB8:3::3/128
network 2001:DB8:3:1::/64
neighbor 2001:DB8:0:12::2 activate
neighbor 2001:DB8:0:14::4 activate
!
ipv6 prefix-list R4-R5-NET seq 5 permit 2001:DB8:4:1::/64 prefix-list a kls
hlzat engedlyezsre
R2 konfigurci:
router ospfv3 1
router-id 2.2.2.2
!
address-family ipv6 unicast
passive-interface GigabitEthernet0/0/1
passive-interface Loopback0
redistribute bgp 65000 metric 1000 metric-type 1 route-map BGP-OSPF
exit-address-family
!
77
78
OI
2001:DB8:2:1::/64 [110/2]
via FE80::2, TenGigabitEthernet2/1/3
LC 2001:DB8:3::3/128 [0/0]
via Loopback0, receive
C
2001:DB8:3:1::/64 [0/0]
via TenGigabitEthernet1/1/1, directly connected
L
2001:DB8:3:1::1/128 [0/0]
via TenGigabitEthernet1/1/1, receive
OE1 2001:DB8:4:1::/64 [110/1001]
via FE80::1, TenGigabitEthernet1/1/3
OE1 2001:DB8:5:1::/64 [110/1001]
via FE80::2, TenGigabitEthernet2/1/3
L
FF00::/8 [0/0]
via Null0, receive
3.6.1. Alapbelltsok
Az IPv6 protokoll hasznlathoz telepteni (s engedlyezni) kell a szoftver verzinak megfelel
ipv6 csomagot. A csomag megltt a system package print parancs segtsgvel ellenrizhetjk.
Az IPv6-os cmek, melyek az egyes hlzati interfszekhez vannak rendelve, az ipv6 address
print parancs segtsgvel krdezhetek le:
[admin@MikroTik] > ipv6 address print
Flags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local
#
ADDRESS
FROM-POOL INTERFACE
ADVERTISE
0 DL fe80::20c:42ff:fe3f:2e74/64
ether2
no
1 DL fe80::20c:42ff:fe3f:2e73/64
ether1
no
2 DL fe80::20c:42ff:fe3f:2e75/64
ether3
no
Minden olyan interface, mely aktv, teht van hozz csatlakoztatva hlzat, s nincs letiltva, rendelkezik link local cmmel. IPv6-os cm hozzadsa az ipv6 address add paranccsal oldhat
meg:
[admin@MikroTik] > ipv6 address add interface=ether1 address=2001:DB8::1/64
Melynek eredmnye:
[admin@MikroTik] > ipv6 address print
Flags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local
#
ADDRESS
FROM-POOL INTERFACE
ADVERTISE
0 DL fe80::20c:42ff:fe3f:2e74/64
ether2
no
1 DL fe80::20c:42ff:fe3f:2e73/64
ether1
no
2 DL fe80::20c:42ff:fe3f:2e75/64
ether3
no
3 G 2001:db8::1/64
ether1
yes
79
Bellthatjuk mdostott EUI-64 alkalmazsval ltrehozott IPv6 cm hasznlatt is az eui64=yes paramter megadsval, ez azonban tvlasztk esetben nem clszer.
Statikus route bejegyzs ltrehozsa az ipv6 route add paranccsal lehetsges. Pldaknt egy
De:
[admin@MikroTik] > ping 2a00:1450:4016:803::1000 count=4
SEQ HOST
SIZE TTL TIME STATUS
0 2a00:1450:4016:803::1000
56 49 26ms echo reply
1 2a00:1450:4016:803::1000
56 49 26ms echo reply
2 2a00:1450:4016:803::1000
56 49 26ms echo reply
3 2a00:1450:4016:803::1000
56 49 26ms echo reply
sent=4 received=4 packet-loss=0% min-rtt=26ms avg-rtt=26ms max-rtt=26ms
Az add parancs segtsgvel egy meglv lnc vghez fzhetnk jabb sort. Trlni a remove
paranccsal lehet, mg a print parancs segtsgvel listzhatjuk ki a lncot.
Egy sor beszrsa a lnc vgre, mely minden csomagot eldob, ami a 2001:db8::100 cmrl rkezik:
[admin@MikroTik] > ipv6 firewall filter add chain=input \
src-address=2001:db8::100 action=drop
DHCPD
Els lpsben az IPv6 poolt kell ltrehozni, melybl a prefixek deleglsra kerlnek:
81
rdekes megolds, hogy egy interfsznek automatikusan biztosthatunk egy megadott poolbl
IPv6 cmet a kvetkez parancs segtsgvel:
/ipv6 address add interface=ether1 add address=::1/64 from-pool=IPv6PDPool
Ez lehet egy ltalunk belltott pool, de akr egy prefix delegcival kapott pool is, gy a kapott
prefixekbl automatikusan rendelhetnk IPv6 cmet a router megfelel interfszhez, majd onnan
RA segtsgvel biztosthatjuk a megfelel prefixxel rendelkez cmeket a kliensek rszre.
3.6.4. OSPFv3
RouterOS rendszerekben az OSPFv3 belltsa a routing ospf-v3 instance parancs segtsgvel trtnhet. Els lpsknt rassuk ki az alapbelltsokat:
[admin@MikroTik] > routing ospf-v3 instance print
Flags: X - disabled, * - default
0 * name="default" router-id=0.0.0.0 distribute-default=never
redistribute-connected=no redistribute-static=no redistribute-rip=no
redistribute-bgp=no
redistribute-other-ospf=no metric-default=1 metric-connected=20
metric-static=20 metric-rip=20 metric-bgp=auto metric-other-ospf=auto
Jl ltszik, hogy egy IPv6 OSPF pldny tallhat az tvlasztn, default nven, mely nem hirdeti
tovbb a tbbi routing protokollal kapott, valamint a statikus s kzvetlenl csatlakoz hlzatokat.
A kvetkezkben lltsuk be az OSPFv3-at a 23. brn lthat hlzathoz, majd ellenrizzk mkdst. Az egyszersg kedvrt csak backbone area van a hlzatban.
eth1:
2001:db8::1/64
eth1:
2001:db8::2/64
eth2: 2001:db8:2::1/64
eth2: 2001:db8:1::1/64
MikroTik
MikroTik2
Ellenrizzk le a mkdst:
[admin@MikroTik] > routing ospf-v3 neighbor print
0 instance=default router-id=2.2.2.2 address=fe80::20c:42ff:fe42:d0c9
interface=ether1 priority=1 dr=2.2.2.2 backup-dr=1.1.1.1 state="Full"
state-changes=6 ls-retransmits=0 ls-requests=0 db-summaries=0
adjacency=3m39s
[admin@MikroTik] > ipv6 route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, o - ospf, b - bgp, U - unreachable
#
DST-ADDRESS
GATEWAY
DISTANCE
0 ADC 2001:db8::/64
ether1
0
1 ADC 2001:db8:1::/64
ether2
0
2 ADo 2001:db8:2::/64
fe80::20c:42ff:fe42:d...
110
[admin@MikroTik2] > routing ospf-v3 neighbor print
0 instance=default router-id=1.1.1.1 address=fe80::20c:42ff:fe3f:2e73
interface=ether1 priority=1 dr=2.2.2.2 backup-dr=1.1.1.1 state="Full"
state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=0
adjacency=2m16s
[admin@MikroTik2] > ipv6 route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, o - ospf, b - bgp, U - unreachable
#
DST-ADDRESS
GATEWAY
DISTANCE
0 ADC 2001:db8::/64
ether1
0
1 ADo 2001:db8:1::/64
fe80::20c:42ff:fe3f:2...
110
2 ADC 2001:db8:2::/64
ether2
0
AS65000
2001:db8:100::/48
AS65001
2001:db8:200::/48
2001:db8::/64
MikroTik
MikroTik2
Ellenrizzk a mkdst:
[admin@MikroTik] > routing bgp peer print detail
Flags: X - disabled, E - established
0 E name="MikroTik2-AS65001" instance=default remote-address=2001:db8::2
remote-as=65001 tcp-md5-key="" nexthop-choice=default multihop=no
route-reflect=no hold-time=3m ttl=255 in-filter="" out-filter=""
address-families=ip,ipv6 update-source=ether1 default-originate=never
remove-private-as=no as-override=no passive=no use-bfd=no
Az E bet jelzi, hogy ltrejtt a kapcsolat a msik tvlasztval. Tbbek kzt leolvashat a tvoli
tvlaszt IP cme, a tvoli AS szma, az authentikci sorn hasznlt osztott kulcs s az is ltszik,
hogy nem hasznlunk szrlistt. Ksztsnk egy szrlistt, mely megakadlyozza, hogy default
route hirdetst fogadjunk el a szomszdtl, valamint az elfogadott prefixek esetben belltja a
weight rtkt 200-ra:
[admin@MikroTik] > routing filter add action=discard \
chain=bgpv6-AS65001-IN prefix=::/0 prefix-length=0 protocol=bgp
[admin@MikroTik] > routing filter add action=accept \
chain=bgpv6-AS65001-IN protocol=bgp set-bgp-weight=200
Szrlistt eltvoltani a routing filter remove parancs segtsgvel tudunk. A mvelet eltt
ne felejtsk el a lista hasznlatt megszntetni az adott peer esetben sem!
85
Ha szeretnnk tudatni a PPPOE szerverrel, hogy /62 mret prefix deleglst krjk, akkor a
sor vgre mg rjuk oda, hogy: prefix-hint=::/62
A kiadott parancs eredmnyeknt, ha a PPPOE szerver DHCP szervere delegl a kliens rszre
prefixet, akkor az megjelenik az IPv6 poolok kztt:
[admin@MikroTik] > ipv6 pool print
Flags: D - dynamic
#
NAME
PREFIX
0 D ppp-test
2001:db8::10:0:0:0:0/60
PREFIX-LENGTH EXPIRES-AFTER
64 2d23h59m56s
Lthat, hogy a szerver /60-as mret prefixet delegl (ahogy a szerveren belltottuk), melyet a
kliensen fut DHCP szerver tovbb deleglhat /64-es darabokban.
86
87
IPv4 kliens s IPv4 szerver DE tkzben egy szakaszon csak IPv6 van
Ma mg nlunk nem igazn jellemz, de majd lehet. A megolds az IPv4 datagramok szlltsa
IPv6 fltti alagtban (4in6 tunnel). s a fent emltett MPT is hasznlhat.
IPv4 kliensek privt IPv4 cmmel s IPv4 szerver DE az ISP hlzatban csak IPv6 van
A klienseknek mr nem jutott publikus IPv4 cm, de ahelyett, hogy IPv6-ot hasznlnnak, 4-es
verzij privt IP-cmeket adnak nekik. Megolds lehet a MAP protokoll, rviden trgyaljuk.
az IP-cmet (ilyenkor nem egy fixen megadhat IP-cmre, hanem az interfsz aktulis IP-cmre kell
a forrs IP-cmet kicserlni).
A msik irny feladat az, hogy privt IP-cmmel rendelkez gpeket elrhetv tegynk az Internet fell.
Erre a megolds a Destination NAT (DNAT) vagy ms nven port forwarding, ahol a router az adott
portjra rkez csomagokat egy meghatrozott privt IP-cm gpnek tovbbtja gy, hogy a clcmet kicserli a csomagban. Pldul a 80-as portra rkez csomagokat a 10.1.1.2 webszerver, a 25sre rkezket pedig a 10.1.1.3 SMTP szerver fel tovbbtja.
ICMP esetn nincs portszm, de segthet az, hogy egy hibazenetben benne van az azt kivlt
TCP vagy UDP adategysg els 64 bitje a portszmokkal. Amennyiben nem hibazenetrl van sz,
akkor is van megolds: az ICMP zenet valamilyen azonost jelleg mezjt hasznljk fel.
A NAT-rl bvebben az RFC 3022-ben olvashatunk, az IP, TCP, UDP, ICMP fejrszek mezinek mdostsval a 4.1. rsz, az ellenrz sszeg hatkony jraszmtsval a 4.2. rsz foglalkozik.
Lnyegben arrl van sz, hogy a rgi portszmot "kivonjuk", az jat pedig "hozzadjuk" s nem
kell a szmtst a teljes adategysgre elvgezni.
A NAPT kritikja
A megolds slyos problmja, hogy srti az IP-cmek s porszmok vgponttl vgpontig trtn vltozatlansgnak elvt, ami szmos kvetkezmnnyel jr. Vizsgljunk meg kzlk nhnyat:
Koncepcionlisan az sszes olyan alkalmazsi rtegbeli protokollal problma lehet, ahol az
alkalmazsi rtegbeli PDU-ban megjelenik valamilyen kommunikciazonost (pl. IP-cm,
portszm). Pldul egy FTP kliens aktv mdban a vezrl kapcsolaton keresztl megadja
a szervernek, hogy mely portjn vrja, hogy a szerver felptse az adatkapcsolatot. Privt
IP cmmel vrhatja hacsak nem segt valaki: protocol helper. (Az adott esetben persze tkletes megolds az FTP passzv mdjnak alkalmazsa, amikor a vezrl kapcsolaton keresztl a szerver kldi el a kliensnek az IP-cm + portszm prost, ahova a kliens gond
nlkl fel tudja pteni az adatkapcsolatot. Ez a megolds a kliens oldali tzfal problmjt
is megoldja, ami kifele engedni fogja a kapcsolat felptst, mg befele nem engedn.) Hasonlkppen egy IP telefon rendszernl is gond lesz az IP-cmek tkldsvel (arra is van
megolds, ltezik pldul SIP NAT helper is).
A port forwarding ugyan alkalmas arra, hogy egyetlen publikus IP-cm hasznlatval tbb
szervert tegynk elrhetv, de ettl mg a privt IP-cmmel rendelkez gpek hasznlhatsga nem teljes rtk, hiszen elrhetsgk nem automatikus, a NAPT eszkzn belltsra van szksg, st egy adott portot csak egy eszkz fele lehet tovbbtani. (Teht ha
kt privt IP-cmmel rendelkez, azonos publikus IP-cm mg helyezett elfizet szeretne
azonos porton szolgltatni pldul mindkett web szervert szeretne zemeltetni , az
mr problmt okoz.)
A kzs publikus IP-cmen val osztozs tovbbi problmja, hogy a kommunikciban
rszt vev felek nem tudjk egymst klcsnsen azonostani. Pldul egy web szerver
nem a NAPT mgtti kliensek IP-cmt ltja (privt IP cmk egybknt teljesen haszontalan is lenne), hanem az NAPT eszkz kls interfsznek publikus IP-cmt. Visszalsek megllaptsa (lsd kvetkez pont) vagy pldul szavazsok (egy IP-cmrl naponta
egy szavazat) esetn ez komoly gondot okoz.
Internetszolgltatk esetn fontos jogszablyi elrs, hogy kpeseknek kell lennik utlag
adatot szolgltatni arrl, hogy adott idpontban egy adott IP-cmet mely elfizetjk hasznlt. Tbbletkltsg rn mszakilag termszetesen megoldhat, hogy az IP-cmeket a
portszmokkal egytt naplzzk, de mg ekkor is problmt okozhat, ha olyan megkeresst
kapnak, hogy csak idpont s IP-cm alapjn kell azonostaniuk az elfizett (mert a tmadst vagy visszalst bejelent fl nem naplzta a kliens portszmt, csak IP-cmt).
89
A fenti problmk majd NAT64-nl is eljnnek, ott az alkalmazsok kompatibilitsra rszletesen ki fogunk trni.
Az extended megoldst hasznlja pldul a Linux Netfilter keretrendszere [9] is, amit a felhasznli
interfsznek neve utn iptablesnek is szoktak nevezni.
Az A+P kritikja
A megvltoztatott tvlasztst tmogat eszkz mg kltsghatkonyan elhelyezhet a szolgltatnl, de a minden elfizethz kihelyezend eszkz mr rdemben drgtja a szolgltatst. Az
elfizetknek kiosztand diszjunkt portszm tartomnyok kvetelmnye mg slyosabb problma,
ugyanis ha tl kicsire vlasztjk, akkor az korltozza az elfizett9, gy cskkenti a szolgltats rtkt, ha pedig tl nagyra vlasztjk, az viszont tnkreteszi a megolds hatkonysgt. Pldul elfizetnknt 1024 portot szmtva 64 elfizet10 osztozhat egy publikus IP-cmen. Ezrt a megolds
jval kevsb hatkony, mint a NAPT, ahol nem kell maximumra mretezve fixen kiosztani az
egyes elfizetknek a portszm tartomnyokat, hanem a traditional esetben is statisztikai
multiplexels van, az extended hatkonysga pedig mg annl is sokkal jobb. Az A+P elnye viszont a specilis tvlasztst vgz eszkz llapotmentessge: vele szemben egy extended NAPT
eszkznek igen nagyszm kapcsolat kezelsre kell kpesnek lennie!
A NAPT-nl emltett emltett tovbbi problmk termszetesen itt is fennllnak.
9 Lsd ksbb az egyes alkalmazsok portszm fogyasztst. Illetve egy elfizet (s csaldtagjai) egyidejleg tbb eszkz
hasznlatra is ignyt tarthatnak.
10 Vagy 63, ha a 0-1023 tartomnyt nem osztjuk ki.
91
adni az j gyfeleiknek, s a csak IPv6 cmmel rendelkez (IPv6-only) klienseknek el kell rnik a csak
IPv4 cmmel rendelkez (IPv4-only) szervereket is.
A DNS64+NAT64 megolds hasznlhatsgnak egyik szksges felttele, hogy a csatlakozni
kvn fl (kliens) a DNS rendszert hasznlja az elrni kvnt fl (szerver) IP-cmnek kidertsre,
s a kliensben nvkiszolglknt egy DNS64 szerver legyen belltva.
A DNS64 szerver (RFC 6147) egy caching-only nvkiszolglhoz hasonlan recursive querykre vlaszol. Ennek sorn, egy adott szimbolikus nvhez (domain name):
ha van IPv6 cm, akkor tovbbtja a vlaszban a kliensnek
ha nincs IPv6 cm, de IPv4 cm van, akkor az IPv4 cm alapjn generl egy specilis IPv6
cmet, s azt adja vissza a kliensnek.
A specilis IPv6 cm egy IPv4 cmet begyaz IPv6 cm (IPv4-Embedded IPv6 Address) ami a legegyszerbb esetben, az n. NAT64 Well-Known Prefix hasznlata esetn, a 64:ff9b::/96 prefix + az
utols 32 biten a szimbolikus nvhez tartoz IPv4 cm.
A megolds mkdshez tovbb szksges, hogy az tvlasztsi tblzatok szerint a NAT64
Well-Known Prefix (mint hlzat) fel az t egy NAT64 tjrn (RFC 6146) keresztl vezessen
(anycast cmzs hasznlhat).
11 A valsgban a DNS64 szerver kt kln krst kld: elszr egy AAAA rekord krst, s amennyiben erre res
vlaszt kap, akkor egy A rekord krst [11]. Az RFC 6417 5.1.8. pontja azt is megengedi, hogy a kt krdst prhuzamosan kldje el (a msodik kldse eltt nem vrja meg az els vlaszt).
92
5. A kliens TCP SYN szegmenst tartalmaz IPv6 csomagot kld a kapott IPv4 cmet begyaz IPv6 cmre (64:ff9b::c000:201), amely a routing belltsa miatt a NAT64 tjrhoz rkezik meg.
6. A NAT64 tjr az IPv6 csomag alapjn egy IPv4 csomagot kszt; benne a clcm a specilis IPv6 clcm utols 32 bitje (192.0.2.1), a forrscm pedig a NAT64 tjr IPv4 cme
lesz. Kzben a NAT64 tjr eltrolja a kapcsolattbljba a szksges informcikat, s
ha korszer az implementci, akkor a forrs portszmot csak szksg esetn cserli. Az
tjr az elkszlt IPv4 csomagot elkldi a cmzettnek, ami az IPv4-only szerver.
7. Az IPv4-only szerver megkapja a TCP SYN szegmenst tartalmaz IPv4 csomagot s a
megszokott mdon vlaszol (SYN+ACK). Mivel a kapott IPv4 csomagban a forrscm a
NAT64 tjr IPv4 cme volt, a vlasz cmzettje is a NAT64 tjr IPv4 interfsze lesz, a
forrscm pedig a sajt IPv4 cme. A vlasz megrkezik az NAT64 tjrhoz.
8. A vlasz alapjn a NAT64 tjr elkszti a neki megfelel IPv6 csomagot, melybe forrscmknt ugyanaz a specilis IPv6 cm kerl, amit a DNS64 szerver generlt, clcmknt az
IPv6-only kliens IPv6 cme kerl; mindez a kapcsolattbla alapjn trtnik. Az IPv6 csomagot a NAT64 tjr elkldi az IPv6-only kliensnek.
Amikor az IPv6-only kliens megkapja a csomagot, gy folytatja a kommunikcit, hogy kzben
mit sem sejt arrl, hogy a szervernek IPv4 cme van. A klienshez hasonlan a szerver sem szlel
semmi klnset, hiszen ltszlag a NAT64 tjr IPv4 interfszvel kommunikl. Ennek persze
az a kvetkezmnye, hogy a szerver az IPv6-only kliens valdi IPv6 cme helyett a NAT64 tjr
IPv4 cmt fogja naplzni. Ez egyben a megolds egyik gyengesge is, de termszetesen nem csupn
a NAT64-, hanem a privt IP-cmek hasznlatakor alkalmazott NAT- is, mint azt mr emltettk.
(Szmos esetben okoz slyos problmt, pldul naplzsnl, IP-cm alapjn vgzett szavazsnl,
vagy kitiltsnl, stb.)
Megjegyzs: A NAT64-tl val megklnbztetsl a NAT-ot NAT44-nek is hvjk, amikor
mind a lecserlt, mind az j IP-cm verziszma 4-es.
A fentiekben bemutatott megolds az RFC 6052 szerinti 64:ff9b::/96 elre lefoglalt, n. NAT64
Well-Known Prefixet hasznlja. A prefix hasznlatnak szmos korltja van, lsd RFC 6052 3. rsz.
A NAT64 tjr megvalstsakor a gyakorlatban sok esetben az egyes IPv6 hlzatokbl szoktak
erre a clra lefoglalni egy rszt, ezt hlzat-specifikus prefixnek (Network-Specific Prefix) nevezik.
Ha pldul egy /48-as cmtartomnyunk van, akkor a hlzat-specifikus prefix mrete /56, /64
vagy /96 lehet. A vlaszts szempontjairl az RFC 6052 3.3. s 3.4. rszben olvashatunk.
94
is: Mapping of Address and Port with Encapsulation (MAP-E, RFC 7597), illetve Mapping of Address and
Port using Translation (MAP-T, RFC 7599).
Mivel a megoldst nem tartjuk elremutatnak, bvebben nem foglalkozunk vele.
95
A megolds mkdshez szksges felttel, hogy a becsomagolst vgz eszkznek (6to4 router
vagy 6to4 host) legyen publikus IPv4-cme, klnben nem tudna rvnyes 6to4 IPv6 cmet nyjtani
a mgtte tallhat eszkzknek. Ha a becsomagolst vgz eszkznek nincs publikus IPv4 cme,
akkor a 6to4 helyett Teredot lehet hasznlni (RFC 4380).
A msik eset, amikor kt 6to4 lloms kommunikl egymssal (kt IPv6 szigetet ktnk ssze a
6to4 segtsgvel az IPv4 Internet felhasznlsval). Ebben az esetben a becsomagolst vgz eszkz a datagram cl IPv6-cmbl (2002::/16 prefix) tudja meg, hogy nem egy 6to4 relaynek, hanem
a megfelel IPv4 cm pseudo-interfsszel rendelkez eszkznek (6to4 host vagy 6to4 router) kell
IPv4 szinten cmeznie s kldenie a csomagot. A 26. bra pldja segtsgvel egy ilyen esetet is
nyomon kvethetnk. Kommunikljon most az elbbi pldban szerepl kliens az bra jobb fels
sarkban tallhat 6to4 llomssal:
A kliens a 6to4 lloms fel IPv6 csomagot kld (forrscm: 2002:c000:208::2, clcm:
2002:c633:640c::2).
A becsomagols elvgzje (a 2002:c000:208::1 cm 6to4 router) az IPv6 csomagot IPv4
csomagba gyazza. Ennek sorn az IPv6 csomagban szerepl clcm 2002::/16 prefixe
alapjn tudja, hogy a datagramot nem egy 6to4 relaynek kell cmeznie, hanem a cl IPv4
cm a cl IPv6 cmbl az els 16 bitet kvet 32 bit, azaz 198.51.100.12 lesz (forrscm:
192.0.2.8, clcm: 198.51.100.12).
A csomag megrkezik a 198.51.100.12 IP-cm 6to4 hosthoz.
A 6to4 host pseudo interfsze elvgzi a kicsomagolst s tovbbtja az IPv6 datagramot az
IPv6 interfsznek (forrscm: 2002:c000:208::2, clcm: 2002:c633:640c::2).
97
98
Biztonsg
A 6to4 megolds biztonsgi krdseivel kln RFC foglalkozik (RFC 3964). A 6to4 megolds
termszetbl addan rzkeny a szolgltatsmegtagads (DoS: Denial of Service) s a cmhamists (address spoofing) tpus tmadsokra. A legtbb biztonsgi problmt a 6to4 kvetkez kt
jellemzje okozza:
1. Egy 6to4 routernek el kell fogadnia s ki kell bontania brmely ms 6to4 routertl (6to4
hostot is belertve) vagy relaytl szrmaz forgalmat.
2. Egy 6to4 relaynek el kell fogadnia brmely natv IPv6 node forgalmt.
Az RFC-ben meghatroztak olyan szablyokat, hogy egy 6to4 routernek, illetve relaynek milyen
ellenrzseket kellene vgrehajtania. Pldul egy 6to4 router (a 6to4 hostot is belertve) ne engedjen
meg olyan forgalmat, aminek pldul:
1. IPv4 cme privt, broadcast vagy valamilyen lefoglalt tartomnyba tartozik
2. IPv4 forrscme nem egyezik meg azzal, ami a 6to4 prefixben van
3. IPv6 cme nem globlis IPv6 cm (hanem pldul link-loklis, stb.)
4. 6to4 prefixe nem egyezik meg a sajtjval.
Hasonlan 6to4 relayre is vannak ilyenek. Pldul a fentiek kzl az els hrom arra is vonatkozik.
Kifejezetten 6to4 relayre vonatkoz tilts, hogy ne fogadjon el 6to4 routertl olyan forgalmat, aminek az IPv6 clcmben 6to4 prefix szerepel (s nem natv IPv6 cm).
Sajnos ezeknek a szablyoknak a betartst a 6to4 implementcik nem mindig ellenrzik (knyszertik ki).
Az RFC szmos tmadsi lehetsget ler, amelyeket nem rszleteznk, csak megjegyezzk, hogy
a 6to4 sajnos sok lehetsget ad a tmadsra, ezrt aki hasznlni szeretn, annak mrlegelnie kell a
kockzatokat. Az OpenBSD opercis rendszerben pldul biztonsgi megfontolsbl nem implementltk a 6to4 megoldst: http://www.securityfocus.com/columnists/459.
6rd
Szintn a 6to4 negatv tulajdonsgainak kikszblsre szletett a 6rd (RFC 5969) megolds. A
6rd f elnynek szntk, hogy csak az adott szolgltat hlzatn bell s kontrollja alatt mkdik,
s itt szlltja IPv4 fltt az elfizetk IPv6 forgalmt. Ennek megfelelen nem a 2002::/16 prefixet,
13
99
hanem a szolgltat sajt IPv6 prefixt hasznlja. Ez azrt elnys, mert mg a 6to4 esetn kiszmthatatlan, hogy melyik 6to4 relayen keresztl megy t egy csomag a natv IPv6 hlzatbl az IPv4
hlzatba, itt a szolgltat prefixe ezt egyrtelmen meghatrozza. Mindez garantlt elrhetsget
s szolgltats minsget biztost az elfizetknek. Amennyiben teht egy szolgltat szeretne a
segtsgvel majdnem igazi IPv6 internet elfizetst nyjtani, akkor arra a clra kivlan alkalmazhat. Viszont a 6rd-t csak a szolgltat tudja a hlzatban bevezetni, a szolgltat nlkl a
megolds hasznlhatatlan, teht a 6rd NEM kpes a 6to4 megoldst helyettesteni.
TCP subflow
IP
IP
MPT
UDP
UDP
IP
IP
Net Access
Net Access
101
102
DNS64
Az egyes DNS64 implementcikat elssorban stabilits s teljestkpessg szempontjbl vizsgltuk hromfle opercis render (Linux, OpenBSD s FreeBSD) alatt. Az egyik implementci
hibja miatt rintettnk biztonsgi krdseket is.
6to4
Az egyes 6to4 implementciknl is teljestkpessget s stabilitst vizsgltunk. Itt szintn vizsgltuk az opercis rendszerek hatst is, br itt az opercis rendszer gyakran ersen behatrolta
a hasznlhat implementcikat.
MPT knyvtr
Az MPT knyvtr teljestmnyt abbl a szempontbl vizsgltuk, hogy milyen hatkonyan kpes
tbb tviteli t kapacitst sszegezni. Mind a hordoz, mind a tunnel protokoll szerepben mindkt IP verzi mkdst teszteltk (sszesen 4 forgatknyv).
103
TAYGA
A TAYGA [39] egy llapotmentes szabad szoftver NAT64 implementci, amit GPLv2 licensz
alatt adtak ki. A kszti zemszeren hasznlhat NAT64 implementcinak szntk olyan esetekre, amikor egy hardveres NAT64 eszkz hasznlata tlzs lenne [39]. Mivel llapotmentes, ezrt
csak 1-1 hozzrendelsre (one-to-one NAT) kpes IPv6 s IPv4 cmek kztt. Ezrt egy llapottart NAT44 megoldssal egytt hasznljk, ami Linux alatt az iptables. A TAYGA a forrs IPv6
cmeket egy megfelelen vlasztott privt IPv4 tartomny klnbz cmeire kpezi le (s termszetesen vgrehatja a protokoll konverzit IPv6-rl IPv4-re), majd a privt IPv4 cmeket az iptables
SNAT-olja a kimen interfsz publikus IPv4 cmre. A msik irnyban az iptables vgrehajtja a
(most mr) cl IP cmben a publikus IPv4 cmrl a megfelel privt IP-cmre val csert, a TAYGA
pedig az ltala ismert 1-1 hozzrendels segtsgvel trja az IPv4 csomagot IPv6 csomagra. A
megolds mkdshez a TAYGA konfigurlsakor a kliensek szmnak (s lehetsges egyidej
aktivitsnak) megfelel mret privt IPv4 tartomnyt kell belltani.
Packet Filter
A PF (Packet Filter) [40] az OpenBSD opercis rendszer beptett tzfala s csomagmanipulcis eszkze, s amiknt az OpenBSD, a PF is BSD licensz alatti szabad szoftver. A PF tmogatja
a NAT-ot, a terhels kiegyenslyozst (load balancing), a naplzst, valamint egyidejleg llapottart s llapotmentes csomagszrknt is hasznlhat.
A NAT64-et az 5.1 verzi ta tmogatja, s cmcsald fordtsnak (address familiy translation) nevezi. NAT64 implementcija az Ecdysis projektbl szrmazik [41]. llapottart mdban tbb
IPv6 cmet kpes egyetlen IPv4 cmre fordtani (many-to-one NAT), amihez llapottblt hasznl.
A TAYGA-val szemben ez nagy elny, mert gy nem kell minden egyes csomagot kt programnak
feldolgoznia.
kivitelezse megtallhatk az eredeti cikknkben [33]. A teszteket mindkt NAT64 implementcival elvgeztk, s azonos eredmnyeket kaptunk. A teszteket mindig legalbb kt klienssel vgeztk annak rdekben, hogy elkerljk a hamis pozitv eredmnyt olyan esetben, amikor az els
kliens sikeresen csatlakozik/mkdik, de a tovbbiak mr nem.
alkalmazs protokoll
HTTP
HTTPS
SMTP
POP3
IMAP4
Telnet
SSH
FTP
OpenVPN
RDP
Syslog
P2P (BitTorrent)
SIP
RTP/RTCP SIP-hez
szlltsi protokoll
port
TCP
80
TCP
443
TCP
25
TCP
110
TCP
143
TCP
23
TCP
22
TCP
20,21
UDP/TCP
1194
TCP
3389
UDP
514
TCP/UDP 6881-6999
TCP/UDP
5060
UDP 1024-65535
IPv4 server
192.168.100.211/24
192.168.100.221/24
NAT64
gateway
DNS64
server
fd5c:6bc1:7bc7:ffff::1/64
fd5c:6bc1:7bc7:ffff::20/64
fd5c:6bc1:7bc7:ffff::21/64
IPv6 clients
29. bra: HTTP, HTTPS, Telnet, SSH, FTP, Syslog vizsglathoz hasznlt teszthlzat [33]
106
f2.tilb.sze.hu
192.168.100.22/24
VPN interface
172.16.0.6/24
VPN interface
172.16.0.1/24
IPv4 client
OpenVPN server
Lab
network
TCP / UDP
channel
192.168.100.221/24
NAT64 + DNS64
fd5c:6bc1:7bc7:ffff::1/64
VPN interface
172.16.0.10/24
VPN interface
172.16.0.14/24
IPv6 clients
fd5c:6bc1:7bc7:ffff::20/64
fd5c:6bc1:7bc7:ffff::21/64
107
OpenVPN
Az OpenVPN vizsglathoz egy msik teszthlzatot ptettnk, amely a laboratrium hlzathoz is kapcsoldott. A vizsglatainkhoz kt darab IPv6-os klienst s egy darab IPv4-es OpenVPN
klienst, valamit egy IPv4-es OpenVPN szervert hasznltunk a 30. bra szerinti sszelltsban.
Miutn a szerver s az sszes kliens gpen elindtottuk az OpenVPN-t, ICMP-vel (ping) vizsglva
brmely kt kliens kztt sikeres volt a kommunikci. Ennek magyarzatt, s az irodalomban
publiklt eredmnyektl val eltrs okt abban ltjuk, hogy a hasznlt Linux Debian Wheezy opercis rendszerben tallhat OpenVPN nem hivatalos fejleszti foltot (unofficial developer patch) tartalmaz az IPv6 tmogatsra a 2.3.0 verzitl.
f1.tilb.sze.hu
192.168.100.21/24
Lab network
192.168.100.221/24
NAT64 + DNS64
fd5c:6bc1:7bc7:ffff::1/64
fd5c:6bc1:7bc7:ffff::20/64
fd5c:6bc1:7bc7:ffff::21/64
IPv6 clients
31. bra: SMTP, POP3, IMAP4 s RDP vizsglathoz hasznlt teszthlzat [33]
Mind a levelek SMTP-vel val elkldse, mind azok POP3 illetve IMAP4 protokollal val letltse sikeres volt.
RDP
Az RDP vizsglatt is a 30. brn lthat hlzatot segtsgvel vgeztk, de csak az egyik szervert
hasznltuk. Itt is mindkt kliens sikeresen csatlakozott a szerverhez.
108
BitTorrent s Skype
A P2P alkalmazsok csaldjbl vett ezen kt reprezentns vizsglathoz a NAT64 tjr kls
interfsznek IPv4 Internet kapcsolatt a laboratriumi hlzaton keresztl biztostottuk. Mindkt
teszt sikertelen volt. BitTorrent esetn nem indult el a fjlok letltse, a Skype-nl pedig mr az
authentikci is sikertelen volt.
SIP
A SIP vizsglatt a 32. brn lthat hlzat segtsgvel vgeztk. Csak IPv4 cmen SIP proxyknt a Trixbox CE 2.8.0.4 verzijt hasznltuk. Az egyik IPv6-os s az IPv4-es gpre Debian
Linux alatt Linphone 3.5.2, a msik IPv6-os gpre Windows al Linphone 3.6.1 SIP kpes IP telefon
szoftvert (softphone) teleptettnk. Azt tapasztaltuk, hogy a hvsok mind IPv4-tl IPv6 fel, mind
az IPv6 fell IPv4 fel sikeresen felpltek, de beszlgetni nem lehetett, mert az RTP csatorna nem
plt fel. Br ellenrz ksrleteinkben NAT44 esetn a NAT mgtt opci biztostotta a megfelel mkdst, NAT64 esetn azonban ez sem oldotta meg a problmt [42].
f2.tilb.sze.hu
192.168.100.22/24
f1.tilb.sze.hu
192.168.100.21/24
sipc3
1000
IPv4 client
Lab network
SIP proxy
192.168.100.221/24
NAT64 + DNS64
fd5c:6bc1:7bc7:ffff::1/64
fd5c:6bc1:7bc7:ffff::20/64
sipc1
2000
fd5c:6bc1:7bc7:ffff::21/64
IPv6 clients
sipc2
2100
Alkalmazs protokoll
PF Tayga
HTTP
HTTPS
SMTP
POP3
IMAP4
Telnet
SSH
FTP passzv md
FTP aktv md
OpenVPN
RDP
Syslog
Skype
BitTorrent
SIP
I
I
I
I
I
I
I
I
N
I
I
I
N
N
N
I
I
I
I
I
I
I
I
N
I
I
I
N
N
N
Ecdsys
[34]
I
I
I
I
I
I
I
?
?
N
I
N
feltteles
N
[36]
I
I
I
I
I
I
?
?
N
N
N
N
110
Mindezekkel ellenttben a hagyomnyos (traditional) tpus NAT vagy NAT64 esetn nincs szksg
a portszmtartomny elzetes felosztsra, mert ezek (pl. az A+P-vel ellenttben) egy kzs tartomnybl dinamikusan alloklnak portot az egyes alkalmazsok szksgletei szerint. Ezrt ezek mretezshez valamifle tlagos portszm fogyaszts jelleg informcira van szksg. Ez nem felttlenl
jellemezhet egyetlen szmmal, szksg lehet valamilyen idfggvnyre.
Ami a kiterjesztett (extended) tpus NAT vagy NAT64 eszkzket illeti, azok a portszmokat jra
fel tudjk hasznlni a klnbz IP-cm szerverek fel, ezrt ebben az esetben elegend a legnpszerbb s legnagyobb portszm igny cl IP-cmekkel (szerverekkel) foglalkozni (rszleteket ld. ksbb).
Talltunk tovbb egy olyan cikket is, melyben az id fggvnyben vizsgltk klnfle hlzati
alkalmazsok portszm fogyasztst, de ez sajnos ugyanaz a cikk, aminek eredmnyeit korbban
nem ismertettk, mert nem tartottuk megbzhatnak [37]. A benne hasznlt vizsglati mdszer (s
a brlat) alapossgt tovbb az is megkrdjelezi, hogy sszesen kt website tesztelse utn bizonytottnak tekintik, hogy a Firefox portszm fogyasztsa magasabb, mint az Internet Explorer.
Ezrt eredmnyeik ismertetst most sem vllaljuk fel.
Ugyan nem tudomnyos cikk, hanem draft RFC, de fontos eredmnyt kzl: [46]. A 2.1. pontban
foglalkozik a NAT64 portszm fogyasztsval: a China Mobile szolgltat azt figyelte meg, hogy a
NAT64 szolgltats felhasznlnknt tlagosan kb. fele annyit portot ignyel, mint a NAT44, mivel
a legnpszerbb web szerverek jelents rsze elrhet IPv6-on keresztl, s ebben az esetben nincs
szksg NAT64-re. s ez az arny tovbb fog javulni az IPv6 elterjedsvel. De sajnos az arnyon
kvl konkrt szmrtkeket nem kzlnek.
A mrsi mdszer
A mrsekhez a korbban emltett TAYGA+iptables s OpenBSD PF NAT64 implementcikat
hasznltuk. Minden tesztet elvgeztnk mindkt sszelltssal, de az eredmnyekben nem talltunk
rdemi eltrst.
A mrshez olyan weboldalakat vlasztottunk, amelyek csak IPv4 cmmel rendelkeztek, teht elrskhz szksg volt NAT64-re. A vlasztott weboldalakat a 11. tblzatban soroltuk fel.
Weboldal
www.amazon.com
www.ask.com
www.baidu.com
www.ebay.com
www.linkedin.com
www.live.com
www.sohu.com
www.taobao.com
www.twitter.com
www.yandex.ru
111
192.168.100.221/24
NAT64 + DNS64
fd5c:6bc1:7bc7:ffff::1/64
fd5c:6bc1:7bc7:ffff::20/64
33. bra: A HTTP protokoll portszm fogyasztsnak mrse NAT64 tjrn [47]
3s
60 s
t (s)
1s
65 s
tartott. Az els mrst 1 msodperc ksleltetssel indttuk, s a hasznlt portok szmt msodpercenknt naplztuk. A bngszt a portszm mrsnl mg kt msodperccel ksbb indtottuk, 60
msodpercig futtattuk s mg a bngsz lelltsn tl kt msodpercig ment a portszm mrs.
Ezeket a vd intervallumokat azrt hasznlatuk, hogy a tvoli script indtsbl s lelltsbl
add szinkronizcis problmkat elkerljk, hiszen az egyes folyamatok indtsa s lelltsa nem
nulla id alatt trtnt meg. A mrshez hasznlt scripteket most mellzzk, azok megtallhatk
[47] cikknkben. Minden mrst 11-szer vgeztk el.
Eredmnyek
ask.com
baidu.com
ebay.com
linkedin.com
live.com
sohu.com
taobao.com
twitter.com
yandex.ru
Windows/Firefox
Windows/Opera
Windows/Explorer
Windows/Chrome
Debian/Chrome
Debian/Iceweasel
Debian/Konqueror
Ubuntu/Firefox
amazon.com
Az eredmnyek els ttekintst a 12. tblzat segtsgvel tehetjk meg. A benne szerepl szmrtkek az adott URL megnyitsnak kezdettl a vizsglati id vgig mrt portszm fogyaszts
maximumt adjk meg. Az els megfigyelseink a kvetkezk:
Igen nagy az eltrs (az ltalban) legkevesebb portot fogyaszt twitter.com (9-16 port, a
bngsztl fggen) s a legtbbet fogyaszt sohu.com (122-198) web oldal portszm
fogyasztsa kztt.
Mg egyes oldalak portszm fogyasztsa ersen fgg a bngszktl (pldul a baidu.com
esetn csak 8 Windows/Explorerrel s 27 Ubuntu/Forefox-szal, ami tbb mint hromszoros eltrs) addig ms oldalaknl ez az eltrs sokkal kisebb (pldul az ask.com estn
mindig 24 s 33 kztt van).
Egyes URL-eknl ugyanannak a bngsznek a portszm fogyasztsa szmotteven eltrhet klnbz opercis rendszerek alatt (pldul az ebay.com esetn a Chrome Windows
alatt csak 30, Debian alatt 48 portot hasznlt).
74
58
67
48
52
55
35
52
28
24
24
25
32
31
26
33
25
16
8
10
13
25
11
27
42
32
37
30
48
43
39
40
18
14
15
14
23
19
12
20
26
37
21
23
39
25
21
25
198
140
123
122
122
186
122
166
135
73
77
67
72
131
135
117
11
13
14
11
16
12
9
11
26
20
19
18
23
20
17
21
hogy a szrs (tipikus rtke 8 krl van) viszonylag kicsi az tlaghoz kpest (tipikus rtke 140
krl van), gy az tlag jl tkrzi az eloszlst. Az 36. brn viszont egy ellenpldt lthatunk: itt az
ltag sszemrhet a szrssal (klnsen 40 s 60 msodperc kztt). Mindezek ismeretben,
mgis csak az tlagos portszm fogyaszts rtket tntetjk fel az id fggvnyben, amikor a 8
megvizsglt opercis rendszer + bngsz kombinci viselkedst sszehasonltjuk, ugyanis 8
vonal tbb, mint elg egy brn (a tovbbi vonalak teljesen emszthetetlenn tennk azt).
sohu.com - Ubuntu/Firefox
180
160
Number of ports
140
120
100
Max.
Avg.
Min.
80
60
40
20
0
0
10
15
20
25
30
35
40
45
50
55
Time (s)
14
Number of ports
12
10
8
6
4
2
0
0
10
15
20
25
30
35
40
45
50
55
Time (s)
sohu.com
200
Number of ports
150
100
50
0
0
10
15
20
25
30
Time (s)
35
40
45
50
55
Windows/Firefox
Windows/Opera
Windows/Explorer
Windows/Chrome
Debian/Chrome
Debian/Iceweasel
Debian/Konqueror
Ubuntu/Firefox
Number of ports
15
10
5
0
0
10
15
20
Windows/Firefox
25
30
35
Time (s)
Windows/Opera
Windows/Chrome
Debian/Chrome
Debian/Konqueror
Ubuntu/Firefox
40
45
50
55
Windows/Explorer
Debian/Iceweasel
amazon.com
60
Number of ports
50
40
30
20
10
0
0
10
15
20
25
30
Time (s)
Windows/Firefox
35
40
45
50
55
Ubuntu/Firefox
39. bra: Az amazon.com tlagos portszm fogyasztsa azonos bngszvel klnbz opercis rendszereken [47]
115
live.com
35
Number of ports
30
25
20
15
10
5
0
0
10
15
20
25
30
Time (s)
Windows/Chrome
35
40
45
50
55
Debian/Chrome
40. bra: A live.com tlagos portszm fogyasztsa azonos bngszvel klnbz opercis rendszereken
[47]
Adott bngsz mellett hogyan befolysolja az opercis rendszer a portszm fogyasztst? Kt olyan bngsznk volt (Firefox s Chrome) amelyet kt platformon is teszteltnk. Br a tesztelt oldalak tbbsgnl az eredmnyek igen hasonlak voltak, nhny esetben jelents eltrst tapasztaltunk. Pldul a 39. brn a Firefox eredmnyeit lthatjuk az amazon.com oldal esetn. Mg Windows esetn
az tlagos portszm fogyaszts elri az 55-t, addig Ubuntunl ez alig haladja meg a 40-et. A 40. brn pedig a Chrome eredmnyeit lthatjuk. Itt Windows esetn elri a 30-at, mg Debian esetn 22
alatt marad. (A legnagyobb rtk itt sem rte el a legkisebb rtk msflszerest.)
Mindezek alapjn megllaptjuk, hogy a web bngszs portszm fogyasztsa nhnyszor 10-tl
nhny 100-ig terjedhet, rtke ersen fgg a megltogatott weboldaltl, de fgg a bngsztl is
(ktszeresnl kisebb eltrst tapasztaltunk), st mg adott bngsz esetn az opercis rendszertl
is fgghet (a tapasztalt eltrs msflszeres alatti volt).
Megjegyezzk tovbb, hogy a fenti vizsglatok eredmnyt jelentsen befolysolja az a krlmny, hogy PC-s krnyezetben trtntek. Okostelefonok esetn a szksges portszmok mennyisge ettl eltr (akr alacsonyabb is) lehet. Garai Gbor szakdolgozatban [48] arra a kvetkeztetsre jutott, hogy egy kis kpernys eszkz (Symbian alap okostelefon) portszm fogyasztsa jelentsen alacsonyabb egy nagy kpernys eszkz (Linuxot vagy Windowst futtat PC) portszm
fogyasztsnl.
Mindezek alapjn arra a kvetkeztetsre jutottunk, hogy a NAT64 tjrk mretezshez tovbbi
vizsglatokra van szksg.
FTP eredmnyek
Eredmnyeinket a 13. tblzat tartalmazza. Ezekkel kapcsolatban megllaptottuk, hogy:
A felhasznlt portok szma kzel arnyos az tvitt fjlok szmval, de mindig valamennyivel nagyobb annl.
IPv4 only server
f2.tilb.sze.hu
192.168.100.22/24
Lab network
192.168.100.221/24
NAT64 + DNS64
fd5c:6bc1:7bc7:ffff::1/64
fd5c:6bc1:7bc7:ffff::20/64
A Midnight Commander klnfle knyvtr listkat tlt le, ez a magyarzata annak, hogy
mr egyetlen fjl esetn is jelents szm portot hasznl, s tbb fjl esetn is van egy kb.
konstans tbblete a tbbi alkalmazshoz kpest.
A Filezilla a 10 prhuzamosan letlthet fjl bellts esetn 9-cel tbb portot hasznlt,
mint amikor 1-et lltottunk be.
File mret (MB)
Debian/FTP
Debian/MC
Windows/TC
Windows/Filezilla 1 prhuzamos
Windows/Filezilla 10 prhuzamos
100 30 x 1
2
32
10
39
3
32
4
33
42
100 x 1 500
102
2
109 10
102
3
103
4
112
-
Mit mrjnk?
Ha egy szolgltat NAT44 vagy NAT64 eszkzt szeretne mretezni, akkor tudnia kell, hogy a
felhasznlinak a forgalma vajon milyen mennyisg portszmot fog ignyelni. Egy felhasznl
portszm ignye szolgltatnknt tbb okbl is eltr lehet, hiszen orszgonknt msok lehetnek
a felhasznli szoksok (ms jelleg oldalakat ltogatnak) s jelents klnbsg lehet a mobil s a
118
vezetkes felhasznlk portszm fogyasztsa kztt (akr az eltr tartalom, akr az eltr kpernymret miatt). Korbban feltrtuk tovbb, hogy egy adott oldal letltse sorn eltrs van a
klnbz bngszk portszm fogyasztsa kzt, st mg azonos tpus bngszk kztt is, ha
azok eltr opercis rendszerek alatt futnak. Egy ltalnos cl vizsglatnl azonban vigyzni kell
arra, nehogy a tl sok paramter figyelembe vtele miatt a mdszer tlsgosan bonyolultt, idignyess, s gy a gyakorlatban hasznlhatatlann vljon. Ezrt kvetkez dntseket hoztuk.
A portszm fogyasztsnak a bngsztl s az opercis rendszertl val fggst teljesen
elhanyagoljuk. Ugyanis egyik oldalrl a korbbi mrseink szerint a megvizsglt URL-ek
esetben a legkisebb s a legnagyobb portszm fogyaszts kztt legfeljebb egy 2-es szorz
volt a klnbsg, ami nagysgrendi becslsnl (1 vagy 500 port per kliens) mg megengedhet. A msik oldalrl viszont a szba jhet bngszk s opercis rendszerek mindegyikn elvgezni a mrseket, majd azutn az eredmnyeket azok piaci rszvel (ami nem
pontosan ismert, radsul idben vltoz) slyozva tlagolni az eredmnyeket; tlsgosan
nagy munkt ignyelne.
A terleti, illetve a mobil/vezetkes jellegbl fakad eltrseket gy kezeljk, hogy egy ltalnos mdszert definilunk, s a mrseket valamilyen konkrt adatokkal vgezzk el.
Szksg esetn a mrseket specifikus input adatokkal elvgezve az eredmnyek adott
esetre nzve pontosthatk.
A mrsi mdszer
Korbban 60 msodperces idintervallumban mrtnk [47], s azt tapasztaltuk, hogy br az oldalak ennyi id alatt letltdtek, mgsem cskkent nullra a portszm fogyaszts a NAT64 tjrn.
Ennek kt oka is lehetett: vagy tnyleg ltek mg a TCP kapcsolatok, vagy pedig azok ugyan mr
lezrultak, de a NAT64 eszkzben mg nem telt le a time-out, s ezrt voltak mg jelen az llapottblban. Mivel klnbz NAT/NAT64 eszkzkben eltr lehet a (default) time-out rtk, gy
dntttnk, hogy azt az intervallumot mrjk, amg a TCP kapcsolat tnylegesen fennll, s szksg
esetn az egyes eszkzk konkrt time-out rtke ksbb figyelembe vehet. Az az id, amg a TCP
kapcsolat fennll, csak a klienstl s a szervertl fgg, az esetleges NAT/NAT64 eszkztl nem,
ezrt a mrsekhez nem volt szksg ilyen eszkzre.
A szmtsokhoz hasznlt mrsek eltt vgeztnk egy mrs sorozatot a szksges mrsi idintervallum meghatrozsra, hogy az egyrszt kellen hossz legyen, msrszt ne vesztegessnk el
feleslegesen sok idt.
119
A mrs paramterei
A mrshez egy tlagos otthoni szmtgpet hasznltunk a kvetkez paramterekkel: AMD
Athlon 64 X2 Dual Core 4200+ 2200 MHz CPU, 2 GB DDR2 667 MHz RAM, 320 GB HDD,
Internet hozzfrs egy Linksys E3000 routerrel kbelneten keresztl 60 Mbps letltsi s 6 Mbps
feltltsi sebessg mellett. A szmtgpen Debian Linux 7.6 opercis rendszer s KDE volt.
Iceweasel (Firefox kln) 24.6.0 bngszt hasznltunk, amit gy lltottunk be, hogy res kezdlappal induljon (teht ne prbljon valamilyen oldalt betlteni vagy a legutbb megltogatott oldalt
helyrelltani). A cache ki volt kapcsolva (0 MB belltsval), de ennek ellenre azt tapasztaltuk,
hogy ntt a ~/.cache/mozilla/firefox knyvtr helyfoglalsa, ezrt minden egyes mrskor
letrltk annak tartalmt kzvetlenl az oldal megnyitsa eltt. (Ksbb megvizsgltuk a cacheels hatst a portszm fogyasztsra, s azt tapasztaltuk, hogy nem cskkenti jelentsen a portszm
fogyasztst [8].)
A Debian nem szabad szoftver troljbl (non-free repository) flash playert teleptettk, hogy a bngsz be tudja tlteni az oldal esetleges flash tartalmt is. A felugr ablakokat (pop-up windows)
blokkolva hagytuk, mert az volt a bngsz alap belltsa. Minden mr belltst is vltozatlanul
hagytunk. A portszmmal kapcsolatos belltsokat ellenriztk az about:config URL megnyitsval:
network.http.max-connections 256
network.http.max-persistent-connections-per-proxy 32
network.http.max-persistent-connections-per-server 6
Ports(URL, t ) =
1 11
Ports(URL, t, M )
11 M =1
Az eredmnyeket a 42. bra mutatja. Jl lthat, hogy egy perc tlsgosan rvid lenne mrsi
idintervallumnak, de kt perc krnykn a portszm fogyaszts ersen lecskken, s 3 perc utn
(egy kivtellel) elenyszv vlik. Ezrt mrsi idintervallum hosszt 200 msodpercere vlasztottuk.
120
live.com
35
Number of ports
30
25
20
15
10
5
0
0
10
15
20
25
Time (s)
30
Windows/Chrome
35
40
45
50
55
Debian/Chrome
42. bra: Az Alexa lista els 10 elemnek portszm fogyasztsa az id fggvnyben [8]
A slytnyezk meghatrozsa
Mivel a forgalmi arnyt is tartalmaz forrsok kzl egyedl a Quantcast lista [55] aktulis, ezrt
azt vlasztottuk. Jobb becsls hjn az egyes web oldalak ltogatsi szmnak arnyt a ltogatk
szmnak arnyval kzeltettk. A 88 nyilvnos profil oldal adatait hasznltuk. A listt 2014. jlius
22-n tltttk le. A slytnyezk alakulst a 43. brn mutatjuk be. Az oszlopok burkolgrbje
az exponencilis eloszlsra emlkeztet. A slytnyezket az albbiak szerint hatroztuk meg:
Weight(i ) =
(2)
Visitors(i )
88
Visitors( j )
j =1
live.com
35
Number of ports
30
25
20
15
10
5
0
0
10
15
20
25
Time (s)
Windows/Chrome
30
35
40
45
50
55
Debian/Chrome
43. bra: Az USA 100 legnpszerbb weboldalnak ltogatszma a [55] forrsbl 2014. 07. 22n letlttt adatok alapjn [8]
121
88
(3)
i =1
Ahol Ports(i,t) az i-edik weboldal ltalunk mrt portszm fogyasztst jelli az id fggvnyben,
Ports(t) pedig a becslt portszm fogyasztsi profilt (lsd majd lent), amivel egy tetszleges web
bngszs portszm fogyasztsnak tlagos alakulst s idbeli lefutst kzeltjk.
Ami az extended tpus NAT eszkzket illeti, azokra a portok jra felhasznlsa miatt csak a
kiugran magas npszersg S portszm igny szerverek (pontosabban cl IP-cmek) jelenthetnek veszlyt. gy azok szempontjbl a web bngszs portszm felhasznlsa az albbi mennyisggel jellemezhet:
88
(4)
44. bra: Becslt portszm fogyasztsi profil a hagyomnyos tpus NAT eszkzkhz [8]
Hangslyozzuk, hogy az eredmnyeink nagysgrendi becslsek, s szeretnnk ms kutatkat arra btortani, hogy ismteljk meg a mrseinket ms bngszkkel s eltr, lehetleg jobb npszersgi
listkkal. A [8] cikknkben tovbbi megfontolsokat is kzlnk a cache-els, a tesztelsre hasznlt
szerver fizikai elhelyezse s egyb tnyezk befolysol hatsra nzve.
122
45. bra: Becslt portszm fogyasztsi profil a kiterjesztett tpus NAPT eszkzkhz [8]
123
talltuk, mivel akkor mindkt clra csak 1-1 implementcit vizsgltunk meg, tovbbi NAT64 s
DNS implementcik teljestkpessgnek s stabilitsnak vizsglatra volt szksg.
A DNS64 s NAT64 tmban val kutatsokrl j sszefoglal tallhat az [62] konferenciacikkben, ahol azt is demonstrltk, hogy a DNS64+NAT64 a gyakorlatban is hasznlhat megolds egy
ISP szmra. Azonban a klnbz DNS64 s NAT64 implementcik nagy terhels alatti stabilitsnak vizsglatval s teljestkpessgk sszehasonltsval nem foglalkoztak.
124
193.225.151.70/28
NAT64
gateway
2001:738:2c01:8001::1/64
2001:738:2c01:8001::111/64
...
2001:738:2c01:8001::118/64
client computers
for all the tests
client1
client8
Mrtk a ping6 parancsok vlaszidejt, valamint a NAT64 implementcit futtat teszt gpen a
processzor terhelst s a memria fogyasztst. Linux alatt ezeket a kvetkez paranccsal naplztuk:
dstat -t -c -m -l -p --unix --output load.csv
vmstat -w 1 >load.txt
Eredmnyek
A 14. tblzatban a TAYGA eredmnyeit mutatjuk be. Az els sorban az adott mrsben rsztvev kliensek szma tallhat. A msodik sor a csomagveszts rtkt mutatja. A harmadik a negyedik s az tdik sorban rendre a ping6 parancs vlaszidejnek tlagt, szrst s maximumt
adtuk meg. A hatodik s a hetedik sor a teszt gpen a processzor kihasznltsgnak tlagt s szrst tartalmazza. A nyolcadik sor a msodpercenknt tovbbtott csomagok szmt mutatja. Az
utols sor pedig a teszt gp memriafogyasztst adja meg.
1
2
3
4
5
6
7
8
9
kliensek szma
csomagveszts [%]
tlag
a ping6 parancs
szrs
vlaszideje [ms]
maximum
CPU kihasztlag
szrs
nltsg [%]
forgalom mrtke [csomag/s]
memriafogyaszts [MB]
1
0,01
0,447
0,103
5,202
69,8
3,3
5 721
10,8
2
0,01
0,957
0,158
5,438
84,3
1,7
6 614
11,4
4
8
0,03
0,03
1,986 4,406
0,321 0,474
8,057 13,965
97,8 100,0
2,2
0,1
7 085 6 890
11,9
12,9
kliensek szma
csomagveszts [%]
tlag
a ping6 parancs
szrs
vlaszideje [ms]
maximum
CPU kihasztlag
nltsg [%]
szrs
forgalom mrtke [csomag/s]
memriafogyaszts [MB]
1
2
4
8
0,02
0,02
0,02
0,02
0,405 0,486 0,606 1,194
0,050 0,073 0,127 0,250
1,770 1,433 3,904 7,055
31,7
50,1
80,1
90,3
5,4
5,0
5,1
4,7
5 909 11 091 18 367 22 886
2,4
3,5
5,5
7,9
126
A memriafogyaszts mindig alacsony volt (13MB alatt maradt), s csak nagyon gyengn
ntt a terhels fggvnyben.
A fentieket sszefoglalva megllapthatjuk, hogy a TAYGA jl teljestett, a memriafogyasztsa
alacsony volt, s nagy terhels esetn a vlaszideje a terhels fggvnyben kzelten lienrisan
ntt, azaz, a TAYGA megfelel a graceful degradation [63] alapelvnek (azaz jelents tlterhels esetn
sem omlik ssze, s a teljestmnye nem cskken hirtelen, a terhelshez kpes arnytalan mrtkben).
A 15. tblzatban a PF eredmnyeit mutatjuk be. (A tblzat felptse az elz tblzatval azonos, ezrt nem rszletezzk.)
Az eredmnyek elemzse:
A csomagvesztsi arny nagyon alacsony volt, tehelstl fggetlenl 0,02%.
Amg volt jelents mennyisg szabad CPU kapacits, a vlaszid a tehels fggvnyben
linerisnl kisebb mrtkben ntt. Azutn 4 helyett 8 kliens hasznlata esetn a vlaszid
mr kzel megduplzdott.
A msodpercenknt kiszolglt csomagok szma lnyegesen nni tudott a kliensek szmnak nvelsvel: 1 helyett 2 kliens esetn kzel megduplzdott (5 909 helyett 11 091),
majd az arny cskkent: 4 kliens esetn 18 367 lett, vgl 8 kliensnl 22 886, ami mr a
teltds jeleit mutatja, de mg mindig maradt kzel 10% szabad CPU kapacits.
A memriafogyaszts nagyon alacsony volt, s a kliensek szmnak fggvnyben a
lienrisnl alacsonyabb mrtkben emelkedett.
sszefoglalsknt megllapthatjuk, hogy a PF kivl teljestmnyt nyjtott, s amg tesztelni tudtuk, viselkedse megfelelt a graceful degradation elvnek, de mg 8 kliensnl is maradt szabad CPU
kapacitsa. Memriafogyasztsa is nagyon alacsony volt.
Packets sent
(p/s)
25,000
22,886
18,367
20,000
15,000
10,000
5,000
PF
11,091
TAYGA
5,909
6,614
7,085
6,890
5,721
0
1
8
Number of clients
47. bra: A tovbbtott csomagok msodpercenknti szma a kliensek szmnak fggvnyben [57]
A TAYGA s a PF teljestmnyt a 47. s 48. brn hasonltjuk ssze. Megllaptjuk, hogy mrskelt terhels (1 kliens gp) mellett a vlaszidik s az tvitt csomagok szma nagyon hasonl volt.
Viszont ers tlterhels (8 kliens gp) esetn a PF 22 886 csomagot tudott kezelni msodpercenknt
1,2 ms tlagos vlaszid mellett, mg a TAYGA csak msodpercenknt 6 890 csomag tvitelre volt
kpes 4,4 ms vlaszidvel. Ez igen jelents (3,3-szoros) teljestmnyklnbsg. Ennek okt a kvetkez kt tnyezben ltjuk:
A TAYGA llapotmentes NAT64 megolds, ezrt egy llapottart NAT44 megoldssal
(iptables) egytt kellett hasznlnunk: gy minden csomagot kt kln programnak kellett
kezelnie.
127
Mivel a TAYGA felhasznli cmtrben (user space) mkdik, minden csomagot t kell
msolni elszr a kernel cmterbl ide, aztn pedig vissza.
Vgezetl megllaptjuk, hogy mindkt megolds (a TAYGA s a PF) stabilnak bizonyult s alkalmasnak tartjuk ket NAT64 funkci elltsra. Amennyiben egy rendszerben az IPv6 kliensek
s az IPv4 szerverek kztt nagy forgalom vrhat, akkor a PF hasznlatt javasoljuk.
Response
time (ms)
5
4.5
4
3.5
3
PF
2.5
TAYGA
2
1.5
1
0.5
0
1
8
Number of clients
128
5.5.2. A tesztkrnyezet
Az volt a clunk, hogy megvizsgljuk s sszehasonltsuk a kivlaszott implementcik teljestmnyt. Arra is nagy hangslyt fektettnk, hogy jelents tlterhels mellett vizsgljuk a stabilitsukat. (A szoftverek tesztelshez valamilyen hardvert kellett hasznlnunk, de nem hardverek teljestmnynek vizslata volt a clunk.)
A tesztelsre hasznlt hlzat topolgijt a 49. brn mutatjuk be. A teszthlzat kzponti eleme
a DNS64 szerver.
129
Az bra als rszn lthat, csak IPv6 cmmel rendelkez DELL munkllomsok jtszottk
DNS64 teljestmnymrsekben a nagyszm kliens szerept. A mrsekhez lnyegben ugyanazokat a gpeket hasznltuk, mint a korbban lert, ICMP-vel vgzet NAT64 teljestmnymrsekhez,
azzal a klnbsggel, hogy a DNS64 vizsglatnl csak 128MB RAM volt a Pentim III teszgpben.
Az eszkzk pontos konfigurcija megtallhat [32] cikknkben. Debian Squeeze 6.0.3 opercis
rendszert teleptettnk minden gpre (a Pentium III tesztgpre is, amikor Linux alatt hasznltuk).
Az OpenBSD verzija 5.1, a FreeBSD- pedig 9.0 volt.
Az egyes eszkzk IP cmeit a 49. brnak megfelelen lltottuk be. A rszletes belltsok
(BIND, TOTD konfigurcis llomnya, valamint a BIND znafjlt elllt script is) megtallhatk a [32] cikknkben.
terminl programjnak a bemenetek sztosztsa (Send Input to All Sessions) funkcijt hasznltuk. A fenti scriptben meghvott dns-st-c.sh nev script (amely kt paramtert vett t) volt a
felels egy 256 nvfeloldsbl ll ksrlet vgrehajtsrt. Ennek tartalma a kvetkez volt:
#!/bin/bash
for c in {0..252..4} # that is 64 iterations
do
host 10-$1-$2-$c.zonat.tilb.sze.hu &
host 10-$1-$2-$((c+1)).zonat.tilb.sze.hu &
host 10-$1-$2-$((c+2)).zonat.tilb.sze.hu &
host 10-$1-$2-$((c+3)).zonat.tilb.sze.hu
done
A for ciklus magjban ngy host parancsot indtott el konkurrens mdon, melybl az els hrom
aszinkron mdon (httrben) futott (gy tudtuk kihasznlni a kt darab ktmagos processzor szmtsi teljestmnyt a minl nagyobb terhels ltrehozsra), s a ciklus magja 64-szer kerlt vgrehajtsra.
A mrssorozatban a mrsben rszt vev kliensek szmt 1-tl 8-ig duplzssal nveltk. A ksrletek vgrehajtsi idejn kvl mrtk a DNS64 szerver programot futtat gpen a memria- s
processzorhasznlatot is. Erre Linux alatt a kvetkez parancsot hasznltuk:
dstat -t -c -m -l -p --unix --output load.csv
130
kliensek szma
egy ksrlet
tlag
szrs
vgrehajtsi
maximum
ideje [s]
CPU kihasztlag
nltsg [%]
szrs
memriafogyaszts [MB]
krsek szma [krs/s]
1
1,127
0,049
1,650
61,77
4,1
40
227
2
4
1,542 3,183
0,037 0,081
1,680 3,310
95,56 100,00
2,3
0,0
58
57
332
322
8
6,318
0,104
6,470
100,00
0,0
57
324
NR =
256 * nk
TE
ahol nk a mrsben rszt vev kliensek szma, TE pedig az egy ksrlet (256 db host parancs)
tlagos vgrehajtsi ideje.
A mrsi eredmnyek alapjn megllapthatjuk, hogy:
A terhels nvelse nem okoz jelents teljestmnycskkenst, s a rendszer egyltaln
nem omlik ssze a tlterhels hatsra. Mg amikor a processzor kihasznltsg 100%-os,
a vlaszid akkor is csak kzeltleg linerisan n a terhelsnek (azaz a kliensek szmnak) fggvnyben.
Br nem tudunk pontos becslst adni a DNS64 szerver memriafogyasztsra, de lthat,
hogy az mg nagyon ers tlterhels esetn is mrskelt.
131
A tblzat utols sorban lthat, hogy a msodpercenknti krsek szmnak a maximumt a rendszer kt kliens esetn rte el. A kliensek szmnak tovbbi nvelse csak a
vlaszidt nvelte, de a msodpercenknti krsek szmt nem. Ennek oka, hogy a teszt
program nem tudott addig j krst kldeni, amg a konkurrens mdon indtott ngy
host parancs kzl az utolsra meg nem jtt a vlasz.
A fenti eredmnyek azrt nagyon fontosak, mert azt mutatjk, hogy a BIND DNS64 szerver
viselkedse megfelel a graceful degradation [63] elvnek; azaz amennyiben nincs elegend erforrs a
krsek kiszolglsra, akkor a rendszer vlaszideje csak linerisan n a terhels fggvnyben.
Egy msik fontos megfigyels, hogy a legnagyobb terhels (8 kliens) esetn a vgrehajtsi id
szrsa (0,104s) kisebb, mint 2%-a az tlagnak (6,318s) s maximuma (6,470) is csak 2,5%-kal tbb,
mint az tlag. Ez azt mutatja, hogy a rendszer mg komoly tlterhels esetn is nagyon stabil.
Ezen kt megfigyels alapjn a Linux alatt futtatott, forwarderknt hasznlt BIND egy kivl jellt
zemszeren hasznlhat DNS64 szervernek les kereskedelmi rendszerekben is.
1
2
3
4
5
6
7
8
kliensek szma
egy ksrlet
tlag
vgrehajtsi
szrs
ideje [s]
maximum
CPU kihasztlag
nltsg [%]
szrs
memriafogyaszts [MB]
krsek szma [krs/s]
1
2
4
8
0,791 1,310 2,158 4,348
0,038 3,863 3,754 5,301
1,370 64,950 63,730 68,540
38,00 58,05 80,16 84,79
2,4
27,1
27,5
29,2
1,0
1,1
1,6
0,8
324
391
474
471
132
Mg annyit emltnk meg, hogy a BIND BSD rendszereken gyengbb tlagos teljestmnyt nyjtott, mint Linux alatt, viszont FreeBSD alatt ezt nagyon stabilan tette, teht ha adott esetben biztonsgi megfontolsok miatt FreeBSD platformra van szksg (pl. jailben val futtats cljbl), s
a teljestmnyldozat elfogadhat, akkor a BIND DNS64 szerver hasznlata FreeBSD alatt j megolds lehet. (Tovbbi rszletek a [32] cikknkben.)
uint16_t mesg_id(void) {
static uint16_t id = 0;
if (!id) {
srandom (time (NULL));
id = random ();
}
if ( !++id ) ++id; /* correction for id==0 */
if (T.debug > 4)
syslog (LOG_DEBUG,"mesg_id() = %d",id);
return id;
}
Az elvi megolds
gy dntttnk, hogy mi is lvletlen tranzakciazonostkat fogunk hasznlni. Azonban az egyedileg generlt lvletlen tranzakciazonostk hasznlata megkvetelte volna, hogy nyilvntartsuk,
hogy mely tranzakciazonostk vannak mg hasznlatban. Ehhez viszont tbb helyen kellett volna
mdostanunk a TOTD forrst (pldul nyilvntartsba venni a tranzakciazonostt, amikor a
TOTD egy j krst kld, s trlni a nyilvntartsbl a tranzakciazonostt, amikor megjtt a
krsre a vlasz, vagy letelt a time-out). Ezrt inkbb az elre generlt lvletlen permutcik hasznlatt vlasztottuk, hogy a vltozsokat egyetlen forrsfjlon bell tudjuk tartani. Kt tovbbi megfontolst tettnk mg:
Ha az lvletlen permutcik mind a 65536 elemt felhasznlnnk, akkor a tartomny
kimerlshez kzeledve egyre nagyobb valsznsggel elrejelezhetk lennnek a
tranzakciazonostk.
Egy adott permutci nhny utols eleme mg hasznlatban lehet, amikor egy j permutci elemeit kezdjk hasznlni (gy ismt tkzs fordulhatna el).
134
Az implementci
A vletlen permutcik generlsra a Durstenfeld ltal publiklt algoritmus [69] kifordtott (inside
out) vltozatt hasznltuk. Mg az eredeti vltozat egy tmb elemeibl helyben kszt vletlen permutcit, s gy a tmb elzetes inicializlst ignyli, a kifordtott vltozat mindkt feladatot elvgzi
egyetlen ciklusban. Mindkt vltozat komplexitsa O(N), de a kifordtott vltozat megtakartja az
inicializlst s az elemek felcserlst.
A mdostott mesg_id() fggvny s az ltala hasznlt make_random_permutation() fggvny megjegyzsekkel elltott C forrskdja megtallhat [67] cikknkben (a folyirat open access).
Teljestmnyvizsglat
Az implementci hatkonysgnak ellenrzsre sszehasoltottuk az eredeti TOTD, a programozsi hiba kijavtst tartalmaz TOTD, a biztonsgi rst kikszblst tartalmaz TOTD s a
(forwarderknt hasznlt) BIND DNS64 implementcik teljestmnyt. A mrseket a korbb cikknkben [32] megadotthoz hasonl mdon, de azzal az eltrssel vgeztk, hogy most a host parancs -t AAAA opcijnak hasznlatval csak az AAAA rekordokat krtk le (enlkl az opci
nlkl a host parancs az MX rekordot is lekri), illetve a kliensek szmt 1-tl 10-ig egyesvel
nveltk (azrt, hogy jl brzolhat grafikont kapjunk). Itt most csak az egy ksrlet (256 db host
-t AAAA parancs) vgrehajtsnk tlagos idejt hasonltjuk ssze az 50. brn, de az sszes mrt
Avg. Resp.
Time (ms)
7
6
5
4
3
2
1
0
1
Original TOTD
Bugfixed TOTD
Improved TOTD
BIND
10
Number of
Clients
50. bra: Egy ksrlet tlagos vgrehajtsi ideje (a kisebb rtk a jobb) [67]
rtk tblzatosan is megtallhat [67] cikknkben. Az brn az eredeti TOTD grafikonjnak hullmzsa teljesen esetleges, hiszen a TOTD vletlenszeren elfordul hibja okozza. (Egy msik
mrsben msknt nzne ki a grafikon.) A programozsi hiba kijavtst tartalmaz TOTD
(bugfixed TOTD) grafikonjt majdnem teljesen eltakarja a biztonsgi rs kikszblst tartalmaz
TOTD (improved TOTD) grafikonja, ami azt jelenti, hogy ezek tlagos teljestmnye kzt nincs
135
lnyegi klnbsg. A BIND teljestmnye lnyegesen elmarad ezeknek a teljestmnytl (10 kliensnl a BIND-dal egy ksrlet tlagos vgrehatsi ideje tbb, mint ktszerese a TOTD javtott verziival mrt tlagos vgrehajtsi idnek).
sszefoglalva megllaptjuk, hogy a biztonsgi rs kijavtst tartalmaz TOTD egy jl hasznlhat, s a tesztelt krlmnek kztt a BIND-nl lnyegesen hatkonyabb megoldsknt olyan
kivl DNS64 implementci, amelynek hasznlatt les krnyezetben is javasoljuk. A TOTD-nek
az ltalunk ksztett javtst is tartalmaz 1.5.3. verzija forrskdban elrhet [70].
136
szksg.) Az egyes 6to4 relay implementcik tesztelshez hasznlt gpre mindig az adott implementcinak megfelel opercis rendszer kerlt.
-i0 \
-i0 \
-i0 \
-i0 \
-i0 \
-i0 \
65536 klnbz cl IP-cm irnyba. Egy mrssorozatban a mrsben rszt vev kliensek szmt
egyesvel nveltk 1-tl 10-ig. A 6to4 relayen a CPU s memria hasznlatt a vmstat paranccsal
mrtk. Annak rdekben, hogy a vmstat nagy terhels mellett is megfelelen mkdjn, -10-es
nice rtket hasznltunk.
No. of
forwarded
packets/sec
100000
100
90000
90
80000
80
70000
70
60000
60
50000
50
40000
40
30000
30
20000
20
10000
10
0
1
0
10
No. of clients
52. bra: Linux sit: msodpercenknt tovbbtott csomagok szma s processzorhasznlat [71]
No. of
forwarded
packets/sec
100000
100
90000
90
80000
80
70000
70
60000
60
50000
50
40000
40
30000
30
20000
20
10000
10
0
1
0
10
No. of clients
53. bra: OpenWrt sit: msodpercenknt tovbbtott csomagok szma s processzorhasznlat [71]
139
No. of
forwarded
packets/sec
100000
100
90000
90
80000
80
70000
70
60000
60
50000
50
40000
40
30000
30
20000
20
10000
10
0
1
0
10
No. of clients
54. bra: FreeBSD stf: msodpercenknt tovbbtott csomagok szma s processzorhasznlat [71]
140
9 kliens mellett, de a 6-10 kliens tartomnyban lnyegben fluktul). A processzorigny mg magasabb rtkrl indul (1 kliens: 51,5%), s kezdettl fogva a teltdsi tartomnyban van (2-4 kliensnl
rendre: 77,1%, 89%, 96,4%).
sszefoglalsknt megllaptjuk, hogy mindhrom implementci stabilan viselkedett, de a teljestmnykben lnyeges klnbsg mutatkozott. Alacsony tehels (1 kliens) esetn a msodpercenknt tvitt csomagok szmban nem volt lnyeges klnbsg, de a processzorignyben mr nagyon
jelents volt az eltrs (Linux sit: 1,8%, OpenWrt sit: 10,1%, FreeBSD stf 51,5%). Nagyobb terhelsnl mr megmutatkozott a klnbsg az egyes implementcik teljestkpessge kztt, cscsteljestmnyk 9 kliens mellet: Linux sit: 73129 csomag/s, OpenWrt sit: 59332 csomag/s, FreeBSD
stf 43970 csomag/s. Br az eltrs jelents, a teljestmnyek arnya messze nem tkrzi azt az
arnyt, amit az 1 kliensnl tapasztalt processzorignyek arnya alapjn vrtunk volna. A jelensg
oknak vizsglata rdekes feladat, de meghaladja mrseink cljt. A kpet mg tovbb rnyalja az
egyes implementcik csomagveszsi arnya. Ebben jellemzben ugyanis a FreeBSD stf volt legjobb, csomagvesztse mindvgig 0,02% alatt maradt, mg 10 kliensnl az OpenWrt sit csomagvesztse 0,089%, a Linux sit csomagvesztse pedig a 0,061% volt.
A hrom vizsglt 6to4 implementci kzl a legjobb tviteli teljestmnyt a Linux sit rte el, de
szksg esetn brmelyik implementci hasznlhat, mert mindegyik stabilan viselkedett.
141
tornakapacits sszegzsnek a hatkonysgra. Amikor az als protokoll IPv4 volt, a csatornakapacits lnyegben linerisan ntt. Amikor pedig IPv6 volt, akkor 7 hlzati interfsz volt a lineris
nvekeds hatra, utna az tviteli kapacits nem ntt tovbb. Azt is megmutattuk, hogy ez a hatr
nem az MPT valamilyen bels tulajdonsga, hanem a szmtgpek erforrsbl kvetkezik (a
processzorok cserjvel a hatrt sikerlt megemelni).
142
6. Irodalomjegyzk
[1] Lencse Gbor: Szmtgp-hlzatok, 2. kiads, Universitas-Gyr Nonprofit Kft., Gyr,
2008. ISBN: 978-963-9819-15-3
[2] J. F. Kurose, K. W. Ross: Szmtgp-hlzatok mkdse - Alkalmazsorientlt megkzelts, Panem Kiad, Budapest, 2008. ISBN: 978-9-635454-98-3
[3] A. S. Tanenbaum, D. J. Wetherall: Szmtgp-hlzatok, 3. kiads, Panem Kiad, Budapest,
2012. ISBN: 978-963-545-529-4
[4] Cisco Systems, Configuring BGP on Cisco Routers, Student Guide, vol. 1, version 3.2, 2005.
[5] G. Lencse and I. Derka, Investigation of the fault tolerance of the PIM-SM IP multicast
routing protocol for IPTV purposes, Infocommunications Journal, vol. 5, no. 1. (March, 2013)
pp. 21-28.
[6] B. Almsi, A. Harman, An overview of the multipath communication technologies, in Proc.
Conference on Advances in Wireless Sensor Networks 2013 (AWSN 2013), Debrecen University
Press, Debrecen, Hungary, 2013. ISBN: 978-963-318-356-4, pages 7-11.
[7] S. Ferdous, F. Chowdhury and J. C. Acharjee, An extended algorithm to enhance the performance of the current NAPT, in Proc. International Conference on Information and Communication
Technology 2007 (ICICT07), Dhaka, Bangladesh, March 7-9, 2007, pp. 315-318, DOI:
10.1109/ICICT.2007.37540
[8] G. Lencse, Estimation of the port number consumption of web browsing, IEICE Transactions on Communications, vol. E98-B, no. 8. (August, 2015) pp. 1580-1588. DOI:
10.1587/transcom.E98.B.1580
[9] M. Boye, Netfilter connection tracking and NAT implementation, in Proceedings of Seminar on
Network Protocols in Operating Systems, Department of Communications and Networking, Aalto
University, 2013, pp. 34-39. http://urn.fi/URN:ISBN:978-952-60-4997-7
[10] S. Rps, P. Farnadi and G. Lencse, Performance and stability analysis of free NAT64 implementations with different protocols, Acta Technica Jaurinensis, vol. 7, no 4, (October,
2014), pp. 404-427. DOI: 10.14513/actatechjaur.v7.n4.340
[11] G. Lencse and A. G. Sos, Design of a tiny multi-threaded DNS64 server, in Proc. 8th International Conference on Telecommunications and Signal Processing (TSP 2015), Prague, Czech Republic,
July 9-11, 2015, Brno University of Technology, pp. 27-32.
[12] D. Liu, H. Deng, NAT46 considerations draft-liu-behave-nat46-02, [Online]. Available:
https://tools.ietf.org/html/draft-liu-behave-nat46-02
[13] A. Yourchenko, OpenWRT feed with stateless NAT46 kernel module, [Online]. Available:
https://github.com/ayourtch/nat46
[14] Bob Weeink, Cisco ASA NAT46 (IPv4-to-IPv6), [Online]. Available: https://supportforums.cisco.com/discussion/11809096/cisco-asa-nat46-ipv4-ipv6
[15] Brocade, Brocade ServerIron ADX NAT64 Configuration Guide: Supporting Brocade ServerIron ADX
version 12.5.02, Part Number: 53-1003448-01 [Online]. Available: http://www.brocade.com/downloads/documents/html_product_manuals/SI_12502_NAT64/
[16] G. Lencse and S. Rps, Performance analysis and comparison of 6to4 relay implementations, International Journal of Advanced Computer Science and Applications, vol. 4, no. 9. (September, 2013), pp. 13-21. DOI: 10.14569/IJACSA.2013.040903
[17] B. Almsi, Sz. Szilgyi, "Throughput performance analysis of the multipath communication
library MPT", in Proc. 36th International Conference on Telecommunications and Signal Processing (TSP
2013), Rome, Italy, July 2-4, 2013, pp. 86-90. DOI: 10.1109/TSP.2013.6613897
143
[18] B. Almsi, Sz. Szilgyi, Multipath FTP and stream transmission analysis using the MPT software environment, International Journal of Advanced Research in Computer and Communication Engineering, Vol. 2, No. 11, (November 2013) pp. 4267-4272.
[19] B. Almsi, A simple solution for wireless network layer roaming problems, Carpathian Journal of Electronic and Computer Engineering, vol. 5, no. 1, (2012) pp. 5-8.
[20] B. Almsi, A solution for changing the communication interfaces between WiFi and 3G
without packet loss, In Proc. 37th International Conference on Telecommunications and Signal Processing (TSP 2014), Berlin, Germany, July 1-3, 2014, pp. 73-77.
[21] E. Crabbe, L. Yong, X. Xu, T. Herbert, GRE-in-UDP encapsulation, IETF Draft, [Online]. Available: https://tools.ietf.org/html/draft-ietf-tsvwg-gre-in-udp-encap
[22] B. Almsi, G. Lencse, Investigating the multipath extension of the GRE in UDP
technology, unpublished
[23] L. Bokor, G. Jeney, IPv4 / IPv6 coexistence and transition: concepts, mechanisms and
trends In: Katalin Tarnay, Gusztv Adamis, Tibor Dulai (Ed.), Advanced Communication Protocol Technologies: Solutions, Methods, and Applications, Hershey: IGI Global, Information Science
Reference, 2011. pp. 156-177.
[24] L. Bokor, Z. Kanizsai, G. Jeney, IMS-centric evaluation of IPv4/IPv6 transition methods in
3G UMTS systems, International Journal on Advances in Networks and Services, vol. 3 no 3 & 4,
(2010) pp. 402-416.
[25] L. Bokor, V. Simon, I. Duds, S. Imre, Anycast subnet optimization for efficient IPv6 mobility management, In: Proc. First International Global Information Infrastructure Symposium (IEEE
GIIS 2007), (Marrakech, Morocco, July 2-6, 2007), IEEE Press, New York, pp. 187-190
DOI: 10.1109/GIIS.2007.4404188
[26] M. Nikkhah, R. Guerin, Migrating the internet to IPv6: An exploration of the when and
why, to appear in IEEE/ACM Transaction on Networking, [Online]. Available:
http://www.seas.upenn.edu/~mnikkhah/Migrating-the-Internet-02252015.pdf
[27] N. Skoberne, O. Maennel, I. Phillips, R. Bush, J. Zorz, M. Ciglaric, IPv4 address sharing
mechanism classification and tradeoff analysis, IEEE/ACM Transactions on Networking, vol.
22, no. 2, pp. 391-404. DOI: 10.1109/TNET.2013.2256147
[28] Free Software Foundation, The free software definition, [Online]. Available:
http://www.gnu.org/philosophy/free-sw.en.html
[29] Open Source Initiative, The open source definition, [Online]. Available: http://opensource.org/docs/osd
[30] Cisco, End user license agreement, [Online]. Available:
http://www.cisco.com/en/US/docs/general/warranty/English/EU1KEN_.html
[31] Juniper Networks, End user license agreement, [Online]. Available: http://www.juniper.net/support/eula.html
[32] G. Lencse and S. Rps, Performance analysis and comparison of different DNS64 implementations for Linux, OpenBSD and FreeBSD, in Proc. IEEE 27th International Conference on
Advanced Information Networking and Applications (AINA 2013), Barcelona, Spain, March 25-28,
2013, pp. 877-884. DOI: 10.1109/AINA.2013.80
[33] S. Rps, T. Hajas and G. Lencse, Application compatibility of the NAT64 IPv6 transition
technology, in Proc. 37th International Conference on Telecommunications and Signal Processing (TSP
2014), Berlin, Germany, July 1-3, 2014, Brno University of Technology, pp. 49-55.
[34] N. koberne and M. Ciglari, Practical evaluation of stateful NAT64/DNS64 translation
Advances in Electrical and Computer Engineering, vol. 11, no. 3, (August 2011), pp. 49-54. DOI:
10.4316/AECE.2011.03008
[35] S. Perreault, J.-P. Dionne, and M. Blanchet, Ecdysis: open-source DNS64 and NAT64,
AsiaBSDCon, 2010, http://viagenie.ca/publications/2010-03-13-asiabsdcon-nat64.pdf
144
Technology (ICCSIT 2010), Chengdu, China, Jul 9-11, 2010, pp. 664-668, DOI:
10.1109/ICCSIT.2010.5564141
[75] D. Hadiya, R. Save, G. Geetu, Network performance evaluation of 6to4 and configured tunnel transition mechanisms: An empirical test-bed analysis, in Proc. 6th International Conference
on Emerging Trends in Engineering and Technology (ICETET 2013), Nagpur, India, December 1618, 2013, IEEE Computer Society, pp. 56-60. DOI: 10.1109/ICETET.2013.14
[76] Horvth Viktor, 6to4 relay implementcik teljestkpessgnek s stabilitsnak vizsglata, szakdolgozat, Szchenyi Istvn Egyetem, MTK, Tvkzlsi Tanszk, 2013.
[77] G. Lencse and . Kovcs, Advanced measurements of the aggregation capability of the
MPT multipath communication library, International Journal of Advances in Telecommunications,
Electrotechnics, Signals and Systems, vol. 4, no. 2. (2015), pp 41-48. DOI: 10.11601/ijates.v4i2.112
147