1'/,
6EH8N;GMF@I
EJ=M?N;GM
P2P()?
:ND</+#3?
6EH8N;GMEKA9I
C>ALN7!" 2
1'/OTCP/IP
1'/OTCP/IP Protocol Suits
OSI
2
EKA9I
Session Layer5EKA9I (Upper Layer
Protocol) *0
TCP/IP
Application
Message / Stream
Transport
Transport
Transport Packet
Port
Network
Internet
IP Datagram
IP address
Data Link
Network Interface
Frame
Datalink Address
Physical
Hardware
6BJ<
– 6EH8N;GM-&43
– 6EH8N;GM$2.-%&43
Application
Presentation
C>ALN7!" 2
1
Session
C>ALN7!" 2
3
C>ALN7!" 2
4
1
Session Layer
Presentation Layer
a_qx
9P/NP2
mubxfz_qx
gzcP4+
– _`fnymrehlZznP.*C>gzcB(EC4+y,6
DVUHRP0
– – Transaction
– Session
9POEJ>
,W2
• #}P4+
– Transaction Logging & Roll-back operation
– Session Termination
– jYhIJ4+FUA
» 1, 2, 4, less than 1 byte (6 bits), ….
Xms]z_qxAT5H>9P%/N2L$
/N
,
iehwz\7<=1;2
– jYh[zdzQM@FUPA
» Little Endian / Big Endian
– 8FUPkeh[zdzQM@FUPA
» MSB first, LSB first
5
iehwz\7<=1;2
6
Application Layer
Xms]z_qx{-| (Layer 7)
/NXms]z_qxW& FUHRPmvh^t
– )~Xms]z_qxGPSPKQN?
– :oztP"KQ SMTP (simple mail transfer protocol)
B2DVJ?U
– EAENBT:ozt"'3W!IHXms]z_qxB#
C
Xms]z_qxpgt
Xms]z_qxpgt
• MTA: sendmail, qmail, postfix, etc….
• MUA: Eudora, Mozilla Thunderbird, MS/Outlook, etc….
iehwz\7<=1;2
7
iehwz\7<=1;2
8
2
V¢¨
V¢¨ client/server
¡¥¤¢{R;
¡¥¤¢{R;
V¢
– Client / Server model
– Broadcast based parallelization
– Peer-to-Peer (P2P) model
server
client
Request/reply
>¢
– ?1 / <m
• Process semantics
– Atomic / checkpoint
client
p~p~xy6L+n{h
– End user services
– Network management
'£¥SabF`2
9
'£¥SabF`2
yo client / server h!}sq{h
h!}sq{h
Client / server {[@
6LBy]i
hnf
u{>¢|¥
– ¥¤¥: client
– D>: server
10
– Q5¥3Hnzc¥{Q5i&O
– M y¥ ¡ (scalability) C
– ¥{Q5z#n4dy*(
• 6L\JwT:\G>i"=vj
• X?G>~"/mnf3W
.',¢z
yf
¥AP¢iIrsq
– -{ ¤z#muc"U$-{¥
– Well-known address ¦¥§ + well-known port (¥{
D_§zsuc0|¥APmufq
– BZtl (dynamic binding) |^mhsq
– ¥ze'c ¤i9?n
– ¤h'Yz8ngy¥c
¤{T:E2Bz?mgwnw<>if
• ¢~cG>¢i7}yhsq
• ¥ ¡{K)i^¦Q5¥izkf§
• =| dynamic binding ~%kN
uf (Sun RPC bind etc.)
'£¥SabF`2
11
'£¥SabF`2
12
3
A
{:
A
{: parallelization using broadcast
^VJ}pw|?
^VJ}pw|?
}pw|
“up & running” ._Kjw|_SZJUDP}
pw|lWZs}l@i>e
– '3_lA
(broadcast) _gWZ#
– UcZ`xw[l&
– mqzn^w|l8XQjR\O[Pj
– T port _CYQhkZLjw|`xwaJT/
lUjH/lEUj}pw|
– T~y|qxr
|_Ujw|l+1
– rwhod
TCP[)
[Pj
UkbJxr
|\LMDl9*
– Server federation `(3^mo{nmaJR`=iNh0d
kZPZLj
~y|q;GI6F2
~y|q;GI6F2
13
14
A
{
A
{ Peer-to-Peer (P2P)
A
{tB$
A
{tB$
uO!X<-O4"#l7M
– ]`vwzft[Kiqom|[Kj
server
%?,7
– Gnutera, Winny, …..
server
client
`28\vwz\SZ`5O:D
Request/reply
server
~y|q;GI6F2
15
~y|q;GI6F2
16
4
Overlay network
Ag¦¨§
P2P¥%b{}'sXE
] 1y
– Packet loss ( §
– Packet duplication (aR§
– Retransmission (\)Re@
!¢¥8^_n¢¥8^k
¥£&~t
– ¢¥8^-
@A
– @S<q6zrk!Q+n|
pq|@w}CfBNo*Sql
– Identification |m}:wm@V
– !Q.
IP&
• Exactly once semantics
• At least once semantics ¦¥W#§
• At most once semanticsj¦\W#§
,¢¥YijFh2
,¢¥YijFh2
17
Ag¦©§
AgNo
AgNo….
“idempotent”
Idempotent @qJ
– ¥$w}R3@qDwk@v}
k;xM7q)
– un@K{}k\@80£ 8Iyuq~r
18
¥`8^Vyu~kU9@qO
~|¥To
• wpw>/4y@=.q*S
The Internet
,¢¥YijFh2
19
Idempotent@
A5@
•j¡¥£A
•jm(0
•j[P2¤c"H@5
•j@dL!?
•jDBGq$Z
,¢¥YijFh2
20
5
/9726
/9726
Non structured
– Binary
– ASCII
HK?MCO=JM
HK?MCO=JM
Structured
– TLV: Type, Length, Value
– ASN.1
– XML
FBELO<#,-+2
FBELO<#,-+2
21
Trade-off
22
Binary & ASCII
.60R!6*0
Binary
ASCII
– IP header (RFC791), TCP
header (RFC793)
– I>ENGBE;OA (host bit
order) 3FBENGBE;OA
(network bit order) 6(.:
5
– PQ6.6)
XML
ASN.1
ASCII
– FTP (RFC959)
– SMTP (RFC2821)
– POP3 (RFC1939) – 8bit clean 24.'$28
1.DO@%&:"
TLV
binary
FBELO<#,-+2
23
FBELO<#,-+2
24
6
FTP
SMTP
001.204.01754: 220 ftp.isi.edu NcFTPd Server (free educational license) ready.
176.020.00021: USER anonymous
001.204.01754: 331 Guest login ok, send your complete e-mail address as password.
176.020.00021: PASS -wget@
001.204.01754: 230 Logged in anonymously.
176.020.00021: SYST
001.204.01754: 215 UNIX Type: L8
176.020.00021: PWD
001.204.01754: 257 "/" is cwd.
176.020.00021: TYPE I
001.204.01754: 200 Type okay.
176.020.00021: CWD /in-notes
001.204.01754: 250 "/in-notes" is new cwd.
`[_hjW5<=-;2
1758: 220 ns.ixj-mc.com ESMTP Sendmail 8.9.3p2+3.1W/3.7W/ns; Fri, 30 May
2003 00:15:43 +09
0025: EHLO mf.aist-nara.ac.jp
1758: 250 ns.ixj-mc.com Hello 168.pool3.ftthtokyo.att.ne.jp [165.76.67.168], pleased
to meet you
0025: MAIL FROM:<[email protected]> SIZE=1524
1758: 250 <[email protected]>... Sender ok
0025: RCPT TO:<[email protected]>
1758: 250 <[email protected]>... Recipient ok
0025: DATA
1758: 354 Enter mail, end with "." on a line by itself
0025: Received: from mf.aist-nara.ac.jp (localhost [127.0.0.1])
3 +0900 (JST)
`[_hjW5<=-;2
25
TVL
!"+KbgYi]jXci1M*
!"+KbgYi]jXci1M*
Type, Length, Value
OSPF (RFC2328)
RADIUS (RFC2138)
XDR (eXtended Data Representation) for Sun
RPC/NFS (1980’s)
ASN.1 (1980’s)
XML (1990’s)
#7CG2'
$OQTS%
26
– )& (wire efficiency)
– TypeLPHI(U:
– LengthUTGJ8^jZUASP@LKS
– ValueN>ETFT2'U/DS
– R?M B
– 36
• ^jZkstatic typing), ,9M.( (name space)
• ^jZM04
– \jf>dVadeM
`[_hjW5<=-;2
27
`[_hjW5<=-;2
28
7
ASN.1 (BER encoding)
SNMP
SNMP Object Identifier
(tag, length, value)
Iso(1).org(3).dod(6).internet(1)
– Tag: ASN.1 type
– Length: size of the ASN.1 value
– Value: ASN.1 value
– Mgmt (2)
– Experimental (3)
– Private (4)
1.3.6.1.2.1….
– SNMP
– MIB-II (RFC1214),
– Structure of Management Information version 2 (SMIv2)
(RFC2578)
ASN.1
–
–
–
–
INTEGER
OCTET STRING
OBJECT IDENTIFIER
SEQUENCE ()
2
29
2
XML
XML namespace
<?xml version = "1.0"?>
<tag attribute="value">
<another-tag another-attribute="value" />
</tag attribute="value">
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance'
xmlns:xsd='http://www.w3.org/1999/XMLSchema'
xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
soap:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>
<soap:Body>
<n:getQuoteResponse xmlns:n='urn:xmethods-delayed-quotes'>
<Result xsi:type='xsd:float'>7.92</Result>
</n:getQuoteResponse>
</soap:Body>
</soap:Envelope>
2
31
2
30
32
8
XMLP@DUgtc
vXML
XML Schema
XMLP@DUgtcv
XMLvHQQ
!
XMLvHQQ!
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema“
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<namesp1:getQuote xmlns:namesp1="urn:xmethods-delayed-quotes">
<symbol xsi:type="xsd:string">AKAM</symbol>
</namesp1:getQuote>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
gtcQ-2: RDF
etpQ: XPath, XSLT,
APIQ: DOM, SAX, etc.
idhrt]3:;)92
5Q,<
– XML Digital Signature
– XML Encryption
33
idhrt]3:;)92
34
idhrt]3:;)92
36
XMLRNLS
6/
XMLRNLS6/
XMLY$=I`afnBCXVUT>POKL=U
– XMLMQ."
– XML#+
P2PNR
A
P2PNRA
idhrt]7XU_tja`afnY*GU
P
R<XMLY$=UQB4NOKL=U
–
–
–
–
XMLR8('
Qbkh[\ZMSgtc."PXMLY>ENB?L=U
HWHW &OP%FH>J
lq^oms^01uXML
idhrt]3:;)92
35
9
qs%dK
P2P/%Wl)f
P2P/%Wl)f Winnyd<g`
Winnyd<g`
vsrz
Warez%L
sP2P
rP2P
– ftp, WWW, Netnewsp9[]J1qsd%L
– F,XZY2>pNhnceClbW^]
: Server
qs%rx{d<
– *: Gnutella, NapstercknP2Prx{d<
– *: WinMX ()SKaZaa ()a[_km3AZo]f
– sP2P
r
qs)fa
– Winny (2002)d<
– rP2Pf
–
d#[cknSkm6dTT4I!
vHQR?P2
: Server
r
r
iIi`
DU
p`DTS
Ipr`DU
iIir
`DU
FTPjWWWp9[]
qs%
WinMX, KaZaa
Gnutella, Freenet,
Winny
vHQR?P2
37
P2Pqs%rx{d'
P2Pqs%rx{d'
Napster
Napster
Gnutella
Winny
WinMX
LimeWire
Share
BitTorrent
Cabos
5
38
– ")\nO+qs(mp3)d|p)[SqspBa[
]~tur
– sP2Pa[_7Zo_T]
– -BXEZo_VmSqs)p>=a[]y
x
{a[_i-B[_T]
:/
– Northeastern University@z}|d8 {t
q
wShawn Fanning0X19991(cM;
– 20007( RIAAkm$GZo&GSvp.
– 200310(kmSO+Lz|a[_8
vHQR?P2
39
vHQR?P2
40
10
Gnutella
Winny (1)
_=
Winny¯³
– WinMX²<r¯¥KOf¥ªÓÀÃÛN²ª·²ÁÔÚ
ÇßÊØÞ
– ÒÖÁP2P,±º½ÓÀÃÛNÐÍÏÝ߯QoÌÓÏÄÅÁ
– )b®½¢¯¯B±c%v«¬ª¢¯»/X{¥ÓÀÃÛN
ÐÍÏÝ߯QA£¾ª
– mp3ÓÀÃÛ±»°£¶¤¶°ÓÀÃÛ;:²¿%v¯
¥ªÌÓÏÄÅÁ
– n`>¯°½ÈßÑ0*¨§n`¸0*¥°
– ÒÖÁP2P,²3}
– ©²<²P2PÓÀÃÛHÌÓÏÄÅÁ²"\ÕÎÛ¯°¬ª
eU
Winny²eU
– 200082M pNullsoftk²fu»
– 200083M ¥¥²AOLk²I±º¬24L
®S
– £¶¤¶°ÆÜßÞ]g.¥½
@-ÐÍÏÝ߯m2'
– 200285M6K ]
– 200385M5K 2.0]
– 2004811M28K Winnycu²Dfu51Eqf²S
(2.07.1)
– 200485M31K +Pfu¿
xRW#àzR²4á
²7s
– 200486M1K fu
– 2006812M13K +|±VNsàtá KF
@-ÐÍÏÝ߯m2'
41
Winny (2)
Winny¿·¡½&
Winny¿·¡½&
20038L[®20(ÐÍÏÝ߯kµ)â200
(ACCSµ)²×ßÉß0*¯G2£¾½
2004811M²Dufa<®)ÏÙÓÂÍ
Ʋ1/6 Z¥ª àWinny²cZ6?)
200687M²-®³175²cu¯G2
X¦½@-²´²&
42
– ²x^²WX
– ÓÀÃÛ¹lÓÀÃÛ²X
– ÄÂÛ˲y9
ÓÀÃÛ²$¼CJW±!(
– ÓÀÃÛ¯@-
¿cª¢¯²!(
•
•
•
•
¸wd±ÓÀÃÛf®½
fÓÀÃÛ²$¼Y¥®°
ÓÀÃÛf²_2%v
ih¯¦½ÓÀÃÛ¿T¥ j½JW°
– º¼Q£¾ª@-H£¾½?~½
@-ÐÍÏÝ߯m2'
43
@-ÐÍÏÝ߯m2'
44
11
Winnyzz
Winnyzz
P2PBgTVP2PBgTV-
Cn! P2PBgT;+
–
–
–
–
– h<-
·¤·£dn!x
%{ _7
±¸¸WHBgT>R
– ·¤·£Bgy}8 ¦ZvBgT4
"6w]{ M
P¹PBgT4,Z/Y
–
–
–
–
roh/Y#.BgJV-
.©¢¦¶¸bqsQp2
Bg0|<*~
XUz±¸¸K1HBgV ¦mzD\|®¨¸XEBg4
¦?uXEBg&4
45
¬³
c
±¸¸
c
aj
¬³fe
_
.©¢¦¶¸bqsQp2
46
wxwx`
P2P©¢¦¶¸O=HF
– 2005(109t¡¶¸´¸§SNapsterN{23Napster
°ª·^P
– SKazaaNtµ¯¸²·¬³i't:5¬³i
t)I¯¥³LP
[@¸« >R
[@¸« >R
Skype
– Gnutella /YAFtlg¸« – GH[@$k
.©¢¦¶¸bqsQp2
47
.©¢¦¶¸bqsQp2
48
12
} ^?v,\u
^?v,\u
bY4v¹
bY4 (load balance) "F{@=v,k
µ¹¦©±· (LB; Load Balancer) (xBH
G
5±·¥o&5¹©
¹©]t
– TCP¨ °·TMDLBvPG
The Internet
Server1: 192.168.20.1
Client: 163.221.50.15
/¹©: 202.247.15.1
Server2: 192.168.20.2
The Internet
IdempotentG
H9G
•nµ¹¦©±·H
•nr±¡¢*0
•nbY4¸g#PG9
•nGiR"F
•nDBOv$a
.¨¤¥¶¹`mnNl2
Forwarding Table
Src: 163.221.50.15
Dst: 192.168.20.[1-3]
.¨¤¥¶¹`mnNl2
49
TMDPG
TMDPG
zI'Q
zI'Q
¹©¨ °·TMz|u
¹©¨¤¥¶¹Ex !
– ±·¦µ«·6)o8%2U6)o-W_C6)
>p
1AvV:¸"[zr
– g#PGf\
• Server down
sKu
Server3: 192.168.20.3
50
– ¥·¨²·o·¢¹¨¤¥©±©±q¹©
¹©]|yw
– Sever federation rs6{y
CDN (Contents Delivery Network)
¹©¦´¡er
shZ{u
– ¹©
¬±¹¥IPro~+jd
7w3t,\vq
– SNAT£¯
– z ISP L<JbY4{6)vXJ
– CDN
– Akamai.com v;¹«¡ª§
• Cookie, HTTP®µ¹¦¦´¡.vcry
vq
• ¬²¹ °·¬µ¥³Hvq
.¨¤¥¶¹`mnNl2
51
.¨¤¥¶¹`mnNl2
52
13
Providing Service at your site…
site….
Contents Delivery Network
DNEOBOK+<7
7ANHNG7
(freshness control)
server
Data Center
IX
clients
ISP6!/>1CD7
BOK+<)7ISP7%
6BOLC? *
(well-managed access)
clients
JFIMO@"'(&2
JFIMO@"'(&2
53
7
P anycast 7
7P
54
Anycast 58
$?96*.56;23)#:4
-=
Root DNS BOK,07
2001::1
HOST
HOST
HOST
HOST
2001::1
2001::1
JFIMO@"'(&2
55
JFIMO@"'(&2
56
14
Geographical distribution using “Anycast”
Anycast”
F root DNS
– Originally at ISC in Silicon
Valley, Calif.
– Currently, Hong Kong &
Amsterdam
?
? ?
5=43@9-*
1!+;89?A5*
)
%*
6A<)$'.
Hong Kong, CN
6A<+ 3:>72
(-2"/#
/*&0-,
Silicon Valley, Calif.
Amsterdam, NL
;89?A52
57
15
© Copyright 2026 Paperzz