Search
moon
sun

P2P applications

Created
2022/09/03 11:10
1 more property

DNS Records

DNS : distributed db storing resource records (RR)
โ€ข
RR format: (name, value, type, ttl)
โ—ฆ
Type=A (DNS์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ)
โ–ช
name = hostname
โ–ช
value = IP address
โ—ฆ
Type=NS (๋„๋ฉ”์ธ์„ ๋‹ด๋‹นํ•˜๋Š” name server)
โ–ช
name = domain
โ–ช
value = hostname of authoritative name server for this domain
โ—ฆ
Type=CNAME (alias์™€ alias๋ฅผ ๋งคํ•‘)
โ–ช
name = alias name for some โ€œcanonicalโ€ (the real) name
โ–ช
value = canonical name
โ—ฆ
Type=MX (๋ฉ”์ผ ์„œ๋ฒ„)
โ–ช
value = name of mailserver associated with name

DNS ์„œ๋ฒ„ ๋ถ„๋ฅ˜์— ๋”ฐ๋ฅธ RR์ €์žฅ ์ •๋ณด

โ€ข
Local name server
โ€ข
Root = Top level ๋„๋ฉ”์ธ์„ ๋‹ด๋‹นํ•˜๋Š” TLD (.com, .net ...) ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ์Œ โ‡’ NS
โ€ข
TLD = ๊ฐ ๊ธฐ๊ด€์„ ๋‹ด๋‹นํ•˜๋Š” Authoritative์„œ๋ฒ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ์Œ โ‡’ NS
โ€ข
Authoritative = ์ž์‹ ์˜ ๊ธฐ๊ด€๋‚ด ๋„๋ฉ”์ธ-IP ๋งคํ•‘ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ โ‡’ A

DNS protocol, messages

DNS๋Š” query/reply ๋ชจ๋‘ ๋™์ผํ•œ ๋ฉ”์„ธ์ง€ ํฌ๋งท์„ ์‚ฌ์šฉํ•œ๋‹ค.
โ€ข
identification = ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ผ๋•Œ ํ•ด๋‹น ํ•„๋“œ์— ๊ฐ’์„ ๋„ฃ์–ด์„œ ๋ณด๋‚ด๋ฉด reply๊ฐ€ ํ•ด๋‹น ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ๋ณด๋ƒ„
โ€ข
flags
โ—ฆ
query or reply
โ—ฆ
recursion desired (recursion์„ ํ•„์š”๋กœ ํ•˜๋Š”๊ฐ€?)
โ—ฆ
recursion available (recursion์„ ์ œ๊ณตํ•ด์ค„ ์ˆ˜ ์žˆ๋Š”๊ฐ€?)
โ—ฆ
reply is authoritative
โ€ข
variable
โ—ฆ
name, type fields for a query
โ—ฆ
RRs in response to query
โ—ฆ
records for authoritative servers
โ—ฆ
additional "helpful" info that may be used

DNS ๋ ˆ์ฝ”๋“œ์— ์‚ฝ์ž…๋˜๋Š” ๊ณผ์ •

โ€œNetwork Utopiaโ€๋ผ๋Š” ์Šคํƒ€ํŠธ์—…์ด ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
1.
authoritative server๋ฅผ ๊ตฌ์ž…
a.
์›นํŽ˜์ด์ง€ ์ ‘์†์„ ์œ„ํ•œ type A๋ ˆ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅ
b.
๋ฉ”์ผ์„œ๋ฒ„๋ฅผ ์œ„ํ•ด type MX์™€ A๋ฅผ ์ž…๋ ฅ
2.
DNS์— ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•ด ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๊ด€์— ์•Œ๋ ค์•ผ ํ•จ
a.
์ž์‹ ์˜ authoritative ์ฃผ์†Œ์™€ ์ด๋ฆ„์„ ์•Œ๋ ค์ค˜์•ผ ํ•จ
b.
.com์„ ๋‹ด๋‹นํ•˜๋Š” TLD ์„œ๋ฒ„์— ๋‘๊ฐœ์˜ RR์„ ์ถ”๊ฐ€ํ•จ
1.
๋„คํŠธ์›Œํฌ ์œ ํ† ํ”ผ์•„๋ผ๋Š” ํšŒ์‚ฌ๋Š” ๋งŒ๋“ค์–ด์ง€๊ณ  authoritative DNS๋ฅผ ๊ตฌ์ž…ํ•œ๋‹ค.
a.
authoritative DNS์— ์ž์‹ ์˜ ํšŒ์‚ฌ๋‚ด ์ปดํ“จํ„ฐ๋“ค์— ๋Œ€ํ•ด์„œ RR์„ ๋“ฑ๋กํ•จ
2.
Network Registrar๊ธฐ๊ด€์— authoritative DNS๋ฅผ ๋“ฑ๋กํ•จ
3.
ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋ฐ›์€ Network Registrar๋Š” .com TLD์—๊ฒŒ 2๊ฐœ์˜ Record๋ฅผ ์ถ”๊ฐ€ํ•จ
a.
์ด๋ฆ„์„ ๋“ฑ๋กํ•˜๋Š” NS์™€ ํ•ด๋‹น record์˜ IP๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” A๋ ˆ์ฝ”๋“œ๋ฅผ ๋“ฑ๋กํ•จ
4.
์–ด๋–ค ์‚ฌ์šฉ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ ์œ ํ† ํ”ผ์•„์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ์›น๋ธŒ๋ผ์šฐ์ €์— ์š”์ฒญ
a.
์ž์‹ ์˜ ๋กœ์ปฌ DNS์— ์ฟผ๋ฆฌ๋ฅผ ๋˜์ง
5.
Local name server์˜ DNS๋Š” ์›์น™์ ์œผ๋กœ๋Š” Root DNS์„œ๋ฒ„์— DNS ์ฟผ๋ฆฌ๋ฅผ ๋˜์ง
6.
TLD๋Š” ํ•ด๋‹น ์š”์ฒญ ๋ฐ›์•„์„œ Local name server์— ์‘๋‹ต์ฟผ๋ฆฌ๋ฅผ ์ „์†กํ•จ
7.
๋„คํŠธ์›Œํฌ ์œ ํ† ํ”ผ์•„์˜ authoritative DNS์— Aํƒ€์ž…์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฟผ๋ฆฌ ์š”์ฒญ
8.
๋‹ค์‹œ Aํƒ€์ž…์˜ ์ฟผ๋ฆฌ ์‘๋‹ต์„ ์ „์†กํ•จ
9.
์ผ๋ จ์˜ DNS์ฟผ๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ณ  ๋‚œ ํ›„ ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํ•ด๋‹น IP๋ฅผ ์ „๋‹ฌ
10.
๋ธŒ๋ผ์šฐ์ €๊ฐ€ IP๋ฅผ ํ†ตํ•ด์„œ ๋„คํŠธ์›Œํฌ ์œ ํ† ํ”ผ์•„ ํ™ˆํŽ˜์ด์ง€์— ์ ‘์†

P2P applicaion

Pure P2P architecture

โ€ข
no always-on server
โ€ข
์ž„์˜์˜ end-systems ๋ผ๋ฆฌ ์ง์ ‘์—ฐ๊ฒฐ๋˜์–ด ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ํ•จ
โ€ข
peer โ‡’ P2P์— ์ž„์˜ ์—ฐ๊ฒฐ๋œ end-system
โ€ข
ํ”ผ์–ด๋“ค์€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค ํ•ด์ œ๋˜์—ˆ๋‹คํ•˜๊ณ , IP์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ๊ธฐ๋„ํ•จ
โ—ฆ
BitTorrent, KanKan, Skype

P2P ๊ตฌ์กฐ์˜ ์žฅ์ 

โ€ข
ํ™•์žฅ์„ฑ
โ—ฆ
P2P ๊ตฌ์กฐ์—์„œ๋Š” ๊ฐ end-system์ด service request๋ฅผ ๊ฐ€์ง€๊ณ  ๋“ค์–ด์˜ฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ™•์žฅ์„ฑ์ด ์žˆ๋‹ค.
โ€ข
Us = Server upload capacity
โ—ฆ
ํฌ๋ฉด ํด์ˆ˜๋ก ์„œ๋ฒ„๊ฐ€ ๋‹จ์œ„์‹œ๊ฐ„๋‹น upload์–‘์€ ๋งŽ์•„์ง
โ—ฆ
๋‹จ์œ„ ์‹œ๊ฐ„๋‹น ์—…๋กœ๋“œ ์–‘์„ ์˜๋ฏธํ•จ
โ€ข
Di = peer i download capacity
โ—ฆ
ํ”ผ์–ด์˜ ๋‹ค์šด๋กœ๋“œ ์‹œ๊ฐ„๋‹ค์œ„ ์–‘
โ€ข
Ui = peer i upload capacitiy
โ—ฆ
์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„์ชฝ upload capacity๊ฐ€ ํผ

ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ชจ๋ธ์˜ ๋ฐฐํฌ ์‹œ๊ฐ„

F - File์˜ ํฌ๊ธฐ
โ€ข
File ํ•˜๋‚˜๋ฅผ ์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œ ์‹œ๊ฐ„ = F/Us
โ€ข
File N๊ฐœ๋ฅผ ์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œ ํ•˜๋Š” ์‹œ๊ฐ„ =NF/Us โ‡’ Server๊ฐ€ File์„ Trassmitํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
โ€ข
Dmin = Di์ค‘์—์„œ ๊ฐ€์žฅ ์ ์€๊ฐ’์„ ๊ฐ€์ง€๋Š” ๊ฑธ ์˜๋ฏธํ•จ
โ€ข
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„ = F/Dmin

P2P ๋ชจ๋ธ์˜ ๋ฐฐํฌ ์‹œ๊ฐ„

File์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ธฐ ์œ„ํ•ด์„  ์„œ๋ฒ„๊ฐ€ ์ผ๋‹จ File์„ ํ•œ๋ฒˆ ์—…๋กœ๋“œ ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฐ€์ • (๊ทธ๋ ‡์ง€ ์•Š์€ P2P์‹œ์Šคํ…œ๋„ ์žˆ์Œ)
โ€ข
์„œ๋ฒ„๊ฐ€ ํŒŒ์ผ์„ ํ•œ๋ฒˆ ์—…๋กœ๋“œ ํ•ด์•ผํ•จ = F/Us
โ€ข
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํŒŒ์ผ์šธ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„ = F/Dmin
โ€ข
N๋ช…์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ• ๋•Œ = FS bits
โ—ฆ
์ตœ๋Œ€ ์—…๋กœ๋“œ ์†๋„ = Us + โˆ‘i=1Nui\sum_{i=1}^{N} u_i

ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ VS P2P ๋ชจ๋ธ ๋ฐฐํฌ์‹œ๊ฐ„ ๋น„๊ต

๋‹จ์ˆœ ๋น„๊ต๋ฅผ ์œ„ํ•ด์„œ ์ƒํ™ฉ์„ ๊ณ ์ •ํ•ด๋‘๊ณ  ๋น„๊ต๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
โ€ข
ํด๋ผ์ด์–ธํŠธ ์—…๋กœ๋“œ ์‹œ๊ฐ„
โ€ข
F/uF/u = 1์‹œ๊ฐ„
โ€ข
usu_s = 10u10u
โ€ข
dminโ‰ฅusd_{min}\geq u_s

BitTorrent

โ€ข
๋น„ํŠธํ† ๋ ŒํŠธ์—์„œ๋Š” 256kb์˜ ์ฒญํฌ๋กœ ํŒŒ์ผ์„ ๋‚˜๋ˆ”
โ€ข
torrent = ํŒŒ์ผ์˜ ์ฒญํฌ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ตํ™˜ํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ๊ทธ๋ฃน
โ€ข
tracker = ๊ฐ ํ† ๋ ŒํŠธ์— ์†ํ•˜๋Š” ํ”ผ์–ด๋“ค์ด ๋ˆ„๊ตฌ์ธ์ง€๋ฅผ ํŠธ๋ ˆํ‚นํ•˜๋Š” ์„œ๋ฒ„

๋น„ํŠธํ† ๋ ŒํŠธ์— ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ Joinํ–ˆ์„ ๊ฒฝ์šฐ

1.
tracker ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” file์„ ๊ฐ€์ง„ ํ† ๋ ŒํŠธ์— ์ฐธ์—ฌ
2.
์ฐธ๊ฐ€ ๋‹น์‹œ์—” ์ฒญํฌ๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ์ง€ ์•Š์ง€๋งŒ, ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์ฒญํฌ๋ฅผ ๋ฐ›์Œ๊ณผ ๋™์‹œ์— ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์ฒญํฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” ์ƒํƒœ๊ฐ€ ๋จ
3.
ํ”ผ์–ด๋“ค๋ผ๋ฆฌ ์ฒญํฌ๋ฅผ ์ง€์†์ ์œผ๋กœ ๊ตํ™˜ํ•ด์„œ ๊ฒฐ๊ตญ ํŒŒ์ผ์„ ์ „๋ถ€ ์–ป๊ฒŒ๋จ
4.
ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ํ•˜๋Š” ์ค‘ ํ”ผ์–ด๊ฐ€ ์—†์–ด์ง€๊ธฐ๋„ ํ•˜๊ณ  ์ƒ๊ธฐ๊ธฐ๋„ ํ•จ
a.
์ด๋Ÿฌํ•œ ํ”ผ์–ด์˜ ๋ณ€ํ™”๋ฅผ churn์ด๋ผ๊ณ  ํ•จ

์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์—์„œ ์ค‘์š”ํ•œ ๋ถ€๋ถ„

โ€ข
์ฐธ์—ฌ์ž๋Š” ์ •๊ธฐ์ ์œผ๋กœ ์ด์›ƒ๋“ค์—๊ฒŒ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ์ฒญํฌ๋ฅผ ๋ฌผ์–ด๋ด„
โ—ฆ
์ด์›ƒ๋“ค์ด ๊ฐ€์ง€์ง€ ์•Š๋Š” ์ฒญํฌ๊ฐ€ ์žˆ์œผ๋ฉด ๋ฐ›๊ณ 
โ—ฆ
๊ฐ€์ง€๊ณ ์žˆ๋Š” ์ฒญํฌ์ค‘ ๊ฐ€์žฅ ์ˆ˜๊ฐ€ ์ ์€ ์ฒญํฌ๋ฅผ ๋จผ์ € ๋ฐ›์Œ
โ€ข
tic-for-tat ์›์น™์œผ๋กœ ์ด์›ƒ๊ณผ ์ฒญํฌ๋ฅผ ๊ตํ™˜ํ•จ
โ—ฆ
์ž๊ธฐ์—๊ฒŒ ์ž˜ ๊ณต๊ธ‰ํ•ด์ฃผ๋Š” ์ด์›ƒ์—๊ฒŒ ์ž๊ธฐ๋„ ์ž˜ ๊ณต๊ธ‰ํ•ด์คŒ
โ—ฆ
์ž˜ ๊ณต๊ธ‰๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ข‹์€ ๊ณต๊ธ‰์ž๊ธฐ ๋˜์–ด์•ผํ•จ
โ–ช
๊ฐ ํ”ผ์–ด๋Š” 10์ดˆ๋งˆ๋‹ค ์ž์‹ ์—๊ฒŒ ๊ณต๊ธ‰์„ ์ž˜ํ•ด์ฃผ๋Š” top 4 peer๋ฅผ ์„ ์ •ํ•ด ์ž๊ธฐ๋„ ํ•ด๋‹นํ”ผ์–ด์—๊ฒŒ ์ž˜ ๊ณต๊ธ‰ํ•ด์คŒ
โ—ฆ
๊ณ„์† top4์™€ ๊ตํ™˜ํ•˜๋‹ค๊ฐ€๋„ 30์ดˆ๋งˆ๋‹ค ๋žœ๋คํ•˜๊ฒŒ ๋‹ค๋ฅธ ํ”ผ์–ด์™€ ๊ตํ™˜์„ ํ•˜๋„๋กํ•จ
โ–ช
์ƒˆ๋กœ ์ฐธ์—ฌํ•œ ํ”ผ์–ด๋ฅผ ์œ„ํ•œ ์กฐ์น˜
โ–ช
๋” ์ข‹์€ ํŒŒํŠธ๋„ˆ๋ฅผ ์ฐพ๊ธฐ์œ„ํ•œ ์กฐ์น˜๊ธฐ๋„ ํ•จ