Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Computer Network - Tunneling, IP etc.
nonylene
June 20, 2019
Technology
0
28
Computer Network - Tunneling, IP etc.
nonylene
June 20, 2019
Tweet
Share
More Decks by nonylene
See All by nonylene
nonylene
1
1.3k
nonylene
0
1.1k
nonylene
1
830
nonylene
0
790
nonylene
0
500
nonylene
0
820
nonylene
0
590
nonylene
11
3.6k
nonylene
1
1.5k
Other Decks in Technology
See All in Technology
yosuke_matsuura
PRO
0
3.5k
yukishinonome
0
160
ama_ch
0
3.7k
yosshi_
3
350
satoshirobatofujimoto
0
110
saoritakita
0
350
oracle4engineer
0
2.7k
minamizaki
0
710
iqbocchi
0
540
yutamakotaro
1
190
yamasaki696
0
330
torisoup
0
300
Featured
See All Featured
hursman
106
9.2k
zenorocha
297
40k
trallard
13
640
dougneiner
55
5.4k
62gerente
587
200k
mza
80
4.1k
shpigford
368
42k
qrush
285
18k
ufuk
56
5.4k
hannesfritz
27
930
smashingmag
283
47k
eitanlees
111
9.9k
Transcript
Computer Network 5.5-5.6.3 2019/06/20 nonylene
5-5. ωοτϫʔΫؒଓ
ωοτϫʔΫؒଓ 5.5 • ֤ωοτϫʔΫͰଟͷ૬ҧ͕͋Δ • ྫ: ແઢ -> 802.11 /
༗ઢ -> Ethernet • ౷Ұ͞Εͳ͍ʢͦΕͧΕར͕͋Δʣ • ૬ҧΛຒΊΔͨΊͷٕज़Λݟ͍ͯ͘ • QoS ͳͲ૬ޓޓ͕͍͠ͷ
τϯωϦϯά 5.5.3 • IPv4 ͱ IPv6 ૬ޓมͰ͖ͳ͍ • IPv6 (128bit)
Λ IPv4 (32bit) ʹམͱ͠ࠐΊͳ͍ → IPv6 ͔Β IPv4 Λܦ༝ͯ͠ IPv6 ωοτϫʔΫ ʹૹΓ͍ͨ߹ɾɾɾʁ v6 Network v6 Network v4 Network
τϯωϦϯά 5.5.3 • IPv4 ωοτϫʔΫͰ IPv4 ύέοτʹ IPv6 ύέοτΛೖΕͯૹΔ →
τϯωϦϯά v6 Network v6 Network v4 Network v6 Packet v4 v6 Packet v6 Packet Tunneling (IPv6 over IPv4)
ωοτϫʔΫؒͷϧʔςΟϯά 5.5.4 • ISP ʢΠϯτϥυϝΠϯʣͰࣗ༝ʹܦ࿏ܾఆ • ISP ͷܦ࿏ ISP ֎ʹग़ͳ͍
• ಠཱͯ͠ಈ࡞ → ࣗγεςϜʢASʣ • ISP ؒʢΠϯλʔυϝΠϯʣͰ BGP Ͱܦ࿏ަ • ৄࡉࠓޙ
ύέοτͷϑϥάϝϯτԽ 5.5.5 • ֤ωοτϫʔΫͰύέοτͷ࠷େʢMTUʣ ͕ҟͳΔ • 802.11 -> 2272 bytes
/ Ethernet -> 1500 bytes • ֤ωοτϫʔΫΛ௨Γൈ͚ͯߦ͘ʹɺ ύέοτΛׂʢϑϥάϝϯτԽʣͯ͠ૹΔ
ύέοτͷϑϥάϝϯτԽ 5.5.5 1. ωοτϫʔΫ͝ͱʹׂɾ݁߹͢Δ • Pros: ୯७ • Cons: ϧʔλʔͷෛՙ͕େ͖͍
• ϧʔλʔ͝ͱʹ݁߹ɾׂॲཧΛ͢Δ͜ͱʹ • ݁߹શύέοτͭඞཁ͕͋Γେม
ύέοτͷϑϥάϝϯτԽ 5.5.5 2. ʢωοτϫʔΫ͝ͱʹׂ͠ʣΫϥΠΞϯτͰ݁߹ • Pros: ϧʔλʔͷෛՙ͕খ͍͞ • ϧʔλʔݸผͷύέοτΛׂ͢Δ͚ͩ •
Cons: શωοτϫʔΫͰׂ͞Εͨ··ʹ • IP Ͱͪ͜ΒΛ࠾༻
ύέοτͷϑϥάϝϯτԽ 5.5.5 • ࠜຊతͳରࡦ: ϑϥάϝϯτͤ͞ͳ͍ • ࣄલʹܦ࿏ͷ MTU (PMTU) ΛΔ͜ͱͰɺ
PMTU Ҏ্ͷύέοτΛૹΒͳ͍ → PMTUD (Path MTU Discovery) Λߦ͏
ύέοτͷϑϥάϝϯτԽ 5.5.5 • PMTUD (Path MTU Discovery) 1. ϑϥάϝϯτېࢭʢDFʣͰύέοτΛૹΔ 2.
ϧʔλʔ͔Βͷ ICMP ΤϥʔΛݟΔ • PMTU Λ͍͑ͯΔͱ Packet Too Big ͕ฦΔͣ 3. ૬खʹಧ͘·Ͱ MTU Λௐ͢Δ
ύέοτͷϑϥάϝϯτԽ 5.5.5 • PMTUD ͷσϝϦοτ • Ԇ࣌ؒͷ૿େ • PMTUD Blackhole
• ϧʔλʔ͕ ICMP ΛϑΟϧλͯ͠Δͱ͔Βͳ͍ʂ
5-6. Πϯλʔωοτʹ͓͚Δ ωοτϫʔΫ
ωοτϫʔΫ 5.6 • ૬ޓଓ͞ΕͨωοτϫʔΫɾAS ͷू߹ • ༷ʑͳܦ࿏͕͋Δ • IP (Internet
Protocol) ͰΓऔΓ͞Ε͍ͯΔ • ͲͷΑ͏ͳܦ࿏ͰύέοτΛ௨͔͢ → IP ϧʔςΟϯά
IPv4 5.6.1 • Internet Protocol (Version 4) • ΞυϨε 32
bit ʢ͔͠ͳ͍ʂʂʣ
IPv4 5.6.1 • Internet Header Length (4 bit) • ϔομՄม
IPv4 5.6.1 • Types of Service (8 bit) • ݱࡏ
QoS (6 bit) ͱ ECN (2 bit) ʹΘΕΔ
IPv4 5.6.1 • Total Length (16 bit) • ύέοτ
IPv4 5.6.1 • Identification (16 bit) • ϑϥάϝϯτԽͨ͠ύέοτΛࣝผ͢Δ
IPv4 5.6.1 • Flags (3 bit) • ະ༻ / Don’t
Fragment / More Fragment
IPv4 5.6.1 • TTL (8 bit) • ϧʔλʔΛܦ༝͢Δ͝ͱʹ 1 ݮΒ͞ΕΔ
IPv4 5.6.1 • TTL (8 bit) • 0 ʹͳΔͱഁغʢϧʔϓରࡦʣ
IPv4 5.6.1 • Protocol (8 bit) • Data ͷϓϩτίϧʢTCP /
UDP ͳͲʣΛผ
IPv4 5.6.1 • Checksum (8 bit) • IP ϔομʔ͕ਖ਼͘͠ૹΒΕ͍ͯΔ͔Λ֬ೝ
IPv4 5.6.1 • Checksum (8 bit) • 16 bit ͝ͱͷ1ͷิͷ1ͷิ
IPv4 5.6.1 • Options (Մม) • ͦͷଞͷՃใɺ͋·ΓΘΕͳ͍
• IP ΞυϨεԿͷใΛؚΜͰ͍Δͷ͔ʁ • αϒωοτ • ωοτϫʔΫͰࡉԽͨ͠ωοτϫʔΫʢޙड़ʣ • αϒωοτͷϗετ൪߸ IP
ΞυϨε 5.6.2 203.0.113.1
IP ΞυϨε 5.6.2 203.0.113.1 11001011.00000000.01110001.00000001 ↓ Bin
• ྫ͑αϒωοτͷϗετ͕ 254 ݸͩͱ… • αϒωοτʹଐ͢ΔΞυϨε܈͜͏ͳΔ IP ΞυϨε 5.6.2 203.0.113.1~254
11001011.00000000.01110001.XXXXXXXX
• ྫ͑αϒωοτͷϗετ͕ 254 ݸͩͱ… • ԼҐ 8 bit ͰϗετΛද͢͜ͱʹͳΔ IP
ΞυϨε 5.6.2 203.0.113.1~254 11001011.00000000.01110001.XXXXXXXX ϗετ
203.0.113.1~254 • ྫ͑αϒωοτͷϗετ͕ 254 ݸͩͱ… • ্Ґ bits ॴଐ͢ΔαϒωοτΛද͢ IP
ΞυϨε 5.6.2 11001011.00000000.01110001.XXXXXXXX αϒωοτ
203.0.113.1~254 • ྫ͑αϒωοτͷϗετ͕ 254 ݸͩͱ… IP ΞυϨε 5.6.2 ωοτϫʔΫ෦ ϗετ෦
11001011.00000000.01110001.XXXXXXXX : ωοτϫʔΫ෦Λαϒωοτ෦ͱ͚Δ͜ͱ͋Δ (See: rfc 1983)
• αϒωοτͷද͠ํ ᶃϓϨϑΟοΫε • αϒωοτ෦ͷ bit Λද͢ IP ΞυϨε 5.6.2
11001011.00000000.01110001.XXXXXXXX 203.0.113.0/24 24bit 8bit Prefix
• αϒωοτͷද͠ํ ᶃϓϨϑΟοΫε • ΞυϨεαϒωοτͷ࠷খͷΞυϨε IP ΞυϨε 5.6.2 11001011.00000000.01110001.XXXXXXXX 203.0.113.0/24
24bit 8bit Prefix
• αϒωοτͷද͠ํ ᶄαϒωοτϚεΫ • ϗετͷΞυϨεͱΈ߹Θͤͯද͢ • ྫ • ΞυϨε: 203.0.113.1
• αϒωοτϚεΫ: 255.255.255.0 IP ΞυϨε 5.6.2
• ωοτϫʔΫͷද͠ํ ᶄαϒωοτϚεΫ • ཧੵΛऔΔ͜ͱͰαϒωοτ͕͔Δ IP ΞυϨε 5.6.2 11001011.00000000.01110001.00000001 11111111.11111111.11111111.00000000
× 11001011.00000000.01110001.00000000 ʹ ΞυϨε: 203.0.113.1 αϒωοτϚεΫ: 255.255.255.0 αϒωοτ: 203.0.113.0/24
• αϒωοτ • ωοτϫʔΫͷதͰ۠ͬͨωοτϫʔΫ • ωοτϫʔΫ֎෦͔Βड͚ͨͷͰɺ αϒωοτ৫Ͱ͚Δͷʢେମʣ IP ΞυϨε 5.6.2
ωοτϫʔΫ 203.0.113.0/24 αϒωοτ3 203.0.113.128/25 αϒωοτ1 203.0.113.0/26 αϒωοτ2 203.0.113.64/26 : ͜ͷεϥΠυͰωοτϫʔΫͱαϒωοτͷҙຯ߹͍Λ͚͍ͯΔ
• CIDR (Classless InterDomain Routing) • ύέοτͷૹͷΈ • େ͖ͳΞυϨεۭؒͰ·ͱΊͯܦ࿏Λࢦఆ IP
ΞυϨε 5.6.2 Oxford Cambridge Edinburgh London New York 198.51.100.0/24 198.51.100.32/27 198.51.100.64/26 198.51.100.128/25
• CIDR (Classless InterDomain Routing) • New York London
ʹ͑͞ૹ͢Εྑ͍ → ϧʔςΟϯάςʔϒϧ͕গͳͯ͘ࡁΉ IP ΞυϨε 5.6.2 Oxford Cambridge Edinburgh London New York 198.51.100.0/24 198.51.100.32/27 198.51.100.64/26 198.51.100.128/25
• CIDR (Classless InterDomain Routing) • ඃΔ߹ Prefix ͕࠷͍ܦ࿏Λ࠾༻ •
Longest Prefix Matching ͱ͍͏ IP ΞυϨε 5.6.2 London New York 198.51.100.0/24 Seattle 198.51.100.8/29 198.51.100.32/27 198.51.100.64/26 198.51.100.128/25
• ಛผͳΞυϨεͷྫ • 255.255.255.255: ϒϩʔυΩϟετΞυϨε • ಉαϒωοτͷશϗετʹ͛Δ • 127.0.0.0/8: ϧʔϓόοΫ
• ࣗͷϗετʢlocalhostʣ IP ΞυϨε 5.6.2
• NAT • IPv4 ΞυϨε 2^32 = 43ԯݸ͔͠ͳ͍ • ͱ͜ΖͰٿͷਓޱ75ԯਓ
→ Γͳ͍ʂʂʂʂ ɾ IPv6 Λ࡞͚ͬͨͲҠߦાஔ͕ඞཁ… IP ΞυϨε 5.6.2
• NAT • গͷIPΞυϨεΛωοτϫʔΫͰ͍ճ͢ • ෦༻ͷΞυϨεۭؒΛ֎෦͔Β͢Δ IP ΞυϨε 5.6.2 ৫ωοτϫʔΫ
192.168.1.0/24 203.0.113.7/32 Internet
• NAT • NAT ശͰIPΞυϨεͱϙʔτΛม͢Δ IP ΞυϨε 5.6.2 Internet 192.168.1.0/24
198.51.100.1:80 192.168.0.5 NAT Box ϧʔλʔͰಈ࡞͢Δ͜ͱ͕ଟ͍ NAT Box
• NAT ͷϙʔτɾΞυϨεมʢOutboundʣ • ωοτϫʔΫ෦͔Β֎෦ଓ IP ΞυϨε 5.6.2 Internet 198.51.100.1:80
192.168.1.0/24 192.168.0.5 NAT Box
• NAT ͷϙʔτɾΞυϨεมʢOutboundʣ • NATശૹ৴ݩ IPɾϙʔτΛࣗͷ֎෦ IP ʹ IP ΞυϨε
5.6.2 Internet 198.51.100.1:80 192.168.0.5 -> 203.0.113.7 src addr: 4345 -> 6342 src port: 192.168.1.0/24 192.168.0.5 NAT Box
• NAT ͷϙʔτɾΞυϨεมʢOutboundʣ • NATശૹ৴ݩΛ֎෦ʹมͨ͠ύέοτΛૹ৴ IP ΞυϨε 5.6.2 Internet 198.51.100.1:80
203.0.113.7 src addr: 6342 src port: 198.51.100.1:80 192.168.1.0/24 192.168.0.5 NAT Box
• NAT ͷϙʔτɾΞυϨεมʢInboundʣ • NATശ͕มߋͨ͠IPɾϙʔτѼύέοτ͕དྷΔ IP ΞυϨε 5.6.2 Internet 203.0.113.7:6342
192.168.1.0/24 192.168.0.5 NAT Box
• NAT ͷϙʔτɾΞυϨεมʢInboundʣ • NATശѼઌ IPɾϙʔτΛ෦ͷIPʹ͢ IP ΞυϨε 5.6.2 Internet
203.0.113.7-> 192.168.0.5 dst addr: 6342 -> 4345 dst port: 203.0.113.7:6342 192.168.1.0/24 192.168.0.5 NAT Box
• NAT ͷϙʔτɾΞυϨεมʢInboundʣ • NATശѼઌΛ෦ʹมߋͨ͠ύέοτΛૹ৴ IP ΞυϨε 5.6.2 Internet 203.0.113.7:6342
192.168.1.0/24 192.168.0.5 192.168.0.5:4345 192.168.0.5 dst addr: 4345 dst port: NAT Box
• NAT ͷϙʔτɾΞυϨεมʢInboundʣ • ֎෦ͱ෦͔ΒݟΔͱ௨ৗͷૹड৴ʹͳΔ IP ΞυϨε 5.6.2 Internet 192.168.1.0/24
192.168.0.5 NAT Box : Symmetric NAT ͳͲผͷํࣜ͋Δ
• ϓϥΠϕʔτΞυϨε • Πϯλʔωοτ্ʹଘࡏ͠ͳ͍ → NAT Ͱ༻ • 192.168.0.0/16 •
172.16.0.0/12 • 10.0.0.0/8 IP ΞυϨε 5.6.2
• NAT ͷ࣮ • Α͘ϑΝΠΞʔΥʔϧͱҰମԽ͍ͯ͠Δ • ֎෦͔Βͷ༧ظͤ͵ΞΫηεΛ͍͗͢ • ϙʔτ࿙ΕͯͨΓͱ͔ •
IP ͨ͘͞Μ͋ͬͯ NAT ΘΕͯͨΓ͢Δ IP ΞυϨε 5.6.2
• NAT ͷɾσϝϦοτ • IP Ϟσϧʹ͍ͯ͠Δ • ʢͦͷ··Ͱʣ֎෦͔Β௨৴Λ։࢝Ͱ͖ͳ͍ • Ұ෦ϓϩτίϧͰ௨৴Ͱ͖ͳ͘ͳΔ
• TCP / UDP Ҏ֎Ͳ͏͢Δͷ͔ • ࣮ࡍ: ICMP ผͷࣝผࢠΛ͏ͳͲ IP ΞυϨε 5.6.2
IPv6 5.6.3 • Internet Protocol (Version 6) • IPv4 ͔Βͷվળ
• ΞυϨε͕ 128 bit ʹ • NAT ͍Βͳ͍ʂ • ϔομ͕γϯϓϧʹ
IPv6 5.6.3 • Internet Protocol (Version 6) • IPv4 ͔Βͷվળ
• ηΩϡϦςΟ (IPSec) ʹྀ • ࣗಈͰ IP Λઃఆ͢ΔΈ͕͋Δ (RA)
IPv6 5.6.3 • Internet Protocol (Version 6)
IPv6 5.6.3 • Traffic Class (DS) (8 bit) • QoS
(6 bit), ECN (2 bit)
IPv6 5.6.3 • Flow Label (20 bit) • ίωΫγϣϯΛܗ͍ͨ͠ͱ͖ʹ͏ࣝผࢠ
IPv6 5.6.3 • Payload Length (16 bit) • ϖΠϩʔυʢIPv4
IP ύέοτશମʣ
IPv6 5.6.3 • Next Header (8 bit) • ֦ுΦϓγϣϯ or
ϖΠϩʔυͷλΠϓ (TCP )
IPv6 5.6.3 • Hop Limit (8 bit) • IPv4 Ͱݴ͏
TTL ʢ໊લ͕࣮༻ʹଈͨ͠ʣ
IPv6 5.6.3 • Address (128 bit) • 2^128 = 3.4
* 10^38 ݸʂ
IPv6 5.6.3 • ֦ுϔομʔͷྫ • ϑϥάϝϯτԽ • ϧʔλʔͰͳ͘ E2E Ͱߦ͏
• ೝূʢAHʣɾ҉߸ԽʢESPʣ • ϧʔςΟϯάࢦఆ
IPv6 5.6.3 • ΞυϨεܗࣜ • IPv4 ͱҧ͍ Hex • 0
ΛলུͰ͖Δ 2001:0db8:132f:0000:0000:aa12:0023:0001 2001:db8:132f::aa12:23:1
IPv6 5.6.3 • IPv6 ͷݱঢ় • ੈքతʹΘΕ͖͍ͯͯΔʢຊ૿Ճதʣ Ҿ༻ݩ: https://www.google.com/intl/ja/ipv6/statistics.html#tab=ipv6-adoption
ࢀߟจݙ • ΞϯυϦϡʔɾSɾλωϯόϜɺσΠϏουɾJ ɾΤβϩʔϧ ʮίϯϐϡʔλωοτϫʔΫ ୈ5൛ʯ, 2013, ܦBPࣾ