Title: - ???????????????TCP/IP (2)
1?????? (3)
- ???????????????TCP/IP (2)
- TCP (Transport Control Protocol)
- UDP (User Datagram Protocol)
2001.04.25
???????? ???? E-Mail katto_at_katto.comm.waseda.ac.
jp
2TCP
Transport Control Protocol
3??????????
?????????
???????? HTTP, RTSP, FTP, Telnet, ...
????????
???????
????? TCP ??????????????? ????? UDP
???????? ?????????
??????
?????? ????????
?????????????? IP ??????????????? ICMP
????? IGMP ??????? (mbone)
??
??
T
T
????? ???????, PPP, X.25, ATM,
R
R
???
4IP ??????
IP ??????
???
TCP ?? 20 byte UDP 8 byte
IP 20-60 byte
RTP 12 byte
NW ???
??? (??????)
TCP/UDP
RTP
IP
??????
???????
????????
??????
5TCP ???
4 byte
????????
????????
??????? (SEQ)
?????? (ACK)
????? (rwnd)
?????
reserved
URG
ACK
PSH
RST
SYM
FIN
??????
?????????
(?????)
(?????)
???
????? ??????????? ??????? ??????????????
(??????????) ?????? ?????????????????????????
ACK ??? ????? ?????????????????
6TCP ???
- End-to-End ??????????????????
????
??????
ACK????
???
????UDP??????????????? ???? well-known port ??
??????
7?????????
self clocking
- ACK ????? (????????) ????????????
??????
???
???
?????
??????
T
?????? ???
T
ACK
ACK
T
T
T
V.Jacobson Congestion Avoidance and Control,
SIGCOM88.
8?????????
- ???????????????????????????????
- ???????????????????????? (??????)?
(?) ?????????? 1 ?????? (5 ?????) ?????????
? ????????? ? ?? 1 ?????
1
4
? ????????? ? ??? 2/3 ????
5
? ????????? ? ??? 1/3 ????
2
3
D.Bertsekas and R.Gallager Data Networks,
Prentice Hall.
9TCP?????????
??
?????????? (?????)
????
???????
?????????
??????
??
TCP ??????? ??????
????????
????
???????
?????????
TCP Reno ???
??
10?????TCP
??
TCP Tahoe
??????? ?????? ????
TCP Reno
Tahoe ????
TCP Vegas
RTT (round trip delay) ??????????
TCP SACK
Reno ????? (selective repeat)
- ??????? slow start
- ?????? congestion avoidance
- ???? fast retransmission
- ???? fast recovery
??????????? TCP Reno
11????TCP
- Go-Back-N ARQ (????????????)
???? ACK ????? N ??????????? ???? ACK
??????????????????????????? ???? n ????????1??
ACK ??? (????)
??
????????????
????
1
2
3
4
5
6
1
2
3
4
5
6
ACK
?? ???????????????
12TCP Tahoe (1)
cwnd ????????? (congestion window
???1) ssthresh ??????????????????????
(????) tcprecvthresh ?????????ACK? (???3)
- ??????? (???? ???????????)
if ( cwnd lt ssthresh ) --- ACK ???????2???
--- cwnd 1
- ?????? (???? ???????????)
else if ( cwnd gt ssthresh ) --- ACK
???????1????cwnd ????1??? --- cwnd 1/cwnd
V.Jacobson Congestion Avoidance and Control,
SIGCOM88.
13TCP Tahoe (2)
(1) ?? ACK ??? (TCP ???? ACK ????????????) (2)
?????? (ACK ?????????)
ACK ??????????????????????? (??) if ( ?? ACK ?
tcprecvthresh ) --- ??????? --- ssthresh
cwnd/2 cwnd 1
??????????? (ssthresh gt cwnd)
??????????????????????? (??) if ( ?????? ) ---
??????? --- timeout 2
14TCP Tahoe (3)
?????
??????
ACK
??????
??ACK ????
??
??????
???????(1)
???????(2)
NS (Network Simulator) ????????????
15TCP Reno (1)
????????????????????? ???????? cwnd ????? (??
??? cwnd ???)
if ( ?? ACK ? tcprecvthresh ) --- ???????
(????) --- ssthresh cwnd/2 cwnd
cwnd/2 tcprecvthresh
????????????? (ssthresh lt cwnd)
????
?? ACK ? (ACK ?????????)
if ( ?? ACK ? gt cwnd/2 ) --- ?? ACK
?????????????? --- if ( ??????????? ) cwnd
ssthresh
???????????? (??? cwnd ??????? ??? cwnd ????????)
??????????
16TCP Reno (2)
?????
??????
????
ACK
??????
??ACK ????
??
???????
????
??????
NS (Network Simulator) ????????????
17TCP Vegas (1)
??????????????????????????????? ??????????????????
?????????????
- ?????????? (RTT) ??????????
???????????????? (?????????)
???????
????????
???????????????? ??????????
????? (?RTT) ? cwnd ?????
- ?????????? (RTT) ???????????
18TCP Vegas (2)
?????
??ACK ????
??????
??????
ACK
??
???????
??????
NS (Network Simulator) ????????????
19??????
Tahoe
???????
?????????
Reno
Vegas
20TCP????
????????????? ? ?????????????????????????????????
?????????????????????????
???? (additive increase) ????? (multiplicative
decrease) ??? ?????????????????????? ?
?????????????????????????????????? ???
(?) ????????????? ??????????????
21UDP
User Datagram Protocol
22UDP ???
4 byte
????????
????????
UDP ?????
??????
??? ( RTP???)
????? ??????????? ??????????????????????????????
? ???????????
23UDP ???
????
??????
???
TCP ???? (????)
????????????
?????? (???????????)
??????
TCP ????? (??)
??? (UDP)
??? (TCP)
24TCP ? UDP
?????????
TCP
UDP
??????
?
?
????
?
?
?????????
TCP
UDP
????????
?
?
?????
?
???????
?
????
?
? (???????)
???????????????