=== ch09.docx
[chap]9́@lbg[N̒xƐ키

lbg[NǗ҂́AXlbg[N̒xƐȂĂ͂܂BȂAlbg[N̒x͒pׂƂ킯ł͂܂B
lbg[N̒xɎgޑOɁA{Ƀlbg[Nx̂ƂƂmFKv܂B̏͂ł͂̊mF@Љ܂傤B
܂TCP̃G[Joƃt[@\ɂĐ܂BɃlbg[Nx̌o@T܂BŌɃlbg[NƁAlbg[Nœ삷@킨уT[rX̃x[XCݒĂ܂B̏͂I鍠ɂ́Albg[NxʁAffAguV[eBOł͂Ă͂łB

@lbg[Nx̉ɗpłeNjbN͕܂B̏͂ł͂ƂƂ̑TCPɓIi܂BTCPg΁A]ȃgtBbN𑝂₳ɁiICMP̂悤Ɂj͂sƂł܂B

TCP̃G[Jo@\
TCP̃G[Jo@\́Albg[N̍ẍʒuAffACĂAŗǂ̃c[łBRs[^lbg[LOpł́AxiCeVjƂ̓pPbgMAM܂ł̎Ԃ̂ƂłB
x͈iM父܂Łj邢͉iM父܂ŁAĈ悩瑗M܂Łj̗ő肳܂BʐM@Ԃł̒ʐMxApPbgn_ʂ̒n_֓͂܂ł̎ԂZ΁AxƂƂɂȂ܂B΂ɃpPbg͂܂łɑȎԂꍇAxƂ܂Bx̓lbg[NǗ҂̍ő̓GłB
6͂ł́ATCPV[PXACKԍgāApPbgǂ̂悤Ɋmɓ]邩܂B{͂ł́AēxV[PXACKԍāAxɂĂ̔ԍM鏇Ԃꂽꍇi邢͂܂MȂꍇjATCPǂ邩Ă܂B

TCPđ
pPbg̍đ́ATCP̂Ƃ{IȃG[Jo@\̂ЂƂłB̋@\̓pPbgĥړIƂĂ܂B
pPbgɂ́AAvP[Vُ̈A[^̃gtBbNߕׁA邢͈ꎞIȃT[rXQ܂ށA܂܂Ȍl܂BpPbgxł̎Ԃ̌o߂͑A܂pPbg͈ꎞIłꍇ߁ATCPvɌmA烊Jo[̂dvƂȂ܂B
pPbgđKvǂ߂ȃJjÝAđ^C}[ƌĂ΂Ă܂B^C}[RTOiđ^CAEgj̒l邽߂̂̂łBTCPgăpPbgMƍđ^C}[X^[gÃpPbgACKMƎ~܂܂BpPbgMAACKpPbgM܂ł̎ԂRTTiEhgbv^CjƌĂт܂B̎Ԃ̕ϒlAŏIIRTOlZo܂B
RTOl܂܂ŁAM̓ftHgRTTݒɊÂčs܂B̐ݒ̓zXgԂ̍ŏ̒ʐM̂߂ɐݒ肳ꂽ̂ŁAMpPbgRTTƂɁAۂRTOo܂B
RTOl܂ƁAđ^C}[g΃pPbgNǂ܂B}9-1TCP̍đvZX}̂łB

}9-1@TCPđvZX̊TO}
MzXg
MzXg
f[^
đ1ځiRTOj
đ2ځiRTO~2j
đ3ځiRTO~4j
đ4ځiRTO~8j
đ5ځiRTO~16j
ȂڑI

pPbgĂAM҂TCP ACKpPbg𑗐MȂƁAM̃zXg͑pPbgƔfApPbgđ܂BđsƁARTOl͔{ɂȂ܂B̒lɒBOACKpPbg͂ȂƁAčđ܂BĂ܂ACK͂ȂꍇAl͂ɔ{ɂȂ܂BACKpPbgM܂ŁA܂͍ŏɐݒ肵đ񐔂̍ōlɒB܂ŁÃvZX͌JԂARTOl͍đ邽тɔ{Ă܂B
đ񐔂̍ōl͐ݒɂ܂BWindowszXg̏ꍇ̃ftHg̍ōđ񐔂5ALinux̏ꍇ15łB
TCPđ̗邽߁At@Ctcp_ retransmissions.pcapJƁApPbg6Ă܂B}9-2Ɏ̂ŏ̃pPbgłB

}9-2@f[^܂TCPpPbg

648oCg̃f[^A܂TCP PSH/ACKpPbg@ŁA10.3.30.110.3.71.7֑ꂽ̂łBBT^Iȃf[^pPbgłB
ʏ̏󋵂ł΁Aŏ̃pPbgMƂATCP ACKpPbgƂđĂ͂łBł́ÃpPbgđĂ̂ApPbgꗗ̃yCƕ܂BInfoJɂ͂͂[TCP Retransmission]ƂApPbg͍ɐԂeLXgŕ\Ă܂B}9-3̓pPbgꗗ̃yC̍đXg̗łB

}9-3@pPbgꗗ̃yC̍đXg

}9-4̂悤ɁApPbgڍׂ܂̓oCĩyCłApPbgđꂽǂ킩܂B

}9-4@đpPbg

̃pPbg͍ŏ̃pPbgƓ̂łiIPID[Checksum]tB[h΁jB2̃pPbg̃oCĩyCr΁Ałƌ؂ł܂@B
pPbgڍׂ̃yCƁAđpPbgSEQ/ACK AnalysiswfBỎɁAǉ񂪂̂ɋCÂł傤BWireshark񋟂ĂŁApPbĝ̂ɂ͊܂܂Ă܂BSEQ/ACK͂AꂪmɍđŇBARTOl0.206bCARTOl1Ԗڂ̃pPbg̃f^^CƂɂĂƊmFł܂B
c̃pPbgłľʂo܂AIPID[Checksum]tB[hA܂RTOl͈Ⴂ܂BepPbg̎ԍڂŊmFɂ́ApPbgꗗ̃yCTimeJ܂i}9-5jBđRTOl{邲ƂɁAԂ啝ɉтĂ̂킩܂B
TCP̍đ@\́AM҂pPbgoA烊Jo[̂ɗpł܂Bx͎M҂pPbg̏oAJo[̂ɎgdACKiduplicate acknowledgmentsj@\Ă݂܂傤B

}9-5@RTOl̑TimeJ

dACKƍđ
M҂Ԃ̋pPbg󂯎ƂɑTCPpPbgAdACKłBTCṔAf[^ԂőMAēxgݗĂ悤AV[PXԍƃwb_ACKԍtB[hgĂ܂B

@TCPpPbg͌ɂTCPZOgłAʂɂ̓pPbgƌĂ΂Ă܂B

VTCPڑmꂽƂAnhVFCNvZXŌƂdvȏ̂ЂƂACjVV[PXԍiISNjłBISNڑ̗ŃZbgƁApPbgM邲ƂɁÃpPbg̃f[^eʕV[PXԍĂ܂B
zXgISN5000ŁA500oCg̃pPbg𑗐MƂ܂B̃pPbgMƁAMACKԍ5500TCP ACKpPbgŕԐM܂B

V[PXԍ{Mꂽf[^̃oCgeʁACKԍ

M֕ԂACKԍ́AM҂Ɏ󂯎V[PXԍƂƂɂȂ܂B}̂}9-6łB
	
}9-6@TCPV[PXԍACKԍ
MzXg@MzXg
V[PXԍ5000@@f[^500
ACKԍ5500
V[PXԍ5500@f[^500
ACKԍ6000
V[PXԍ6000@f[^500
ACKԍ6500

M҂̓V[PXԍ΁ApPbgoł܂BV[PXԍǐՂĂ΁AԍĂȂǂmFł̂łB
\zȊÕV[PXԍMꍇApPbgƉł܂Bf[^ēxK؂ɑgݗĂɂ́ApPbgMKv̂ŁApPbg̃V[PXԍ܂ACKpPbgđAMɍđ𑣂܂B
M҂3dACK󂯎߁ApPbg{ɏƊmMAɍđs܂Bđn܂ƁAđpPbgM܂ŁAقׂ̂ẴpPbg̑MU~܂B̃vZX}Ɍ̂}9-7łB

}9-7@dACKđɂȂ

t@Ctcp_dupack.pcapɏdACKƍđ̗Ⴊ܂B̃Lv`t@C̍ŏ̃pPbg}9-8łB

}9-8@ACK̃V[PXԍĂ

f[^Mҁi172.31.136.85j瑗Mҁi195.81.202.68j֑MꂽTCP ACKpPbg@ɂ́Aقǂ̃pPbgőꂽmFf[^Ă܂ALv`t@Cɂ͊܂܂Ă܂B

@Wireshark̃ftHgݒł͔ԍ̉͂ȒPɂ邽߂ɁAΓIȃV[PXԍg悤ɂȂĂ܂A̗̍XN[Vbgł͂̋@\͎gĂ܂B̋@\Itɂɂ́A[Edit][Preferennces]IA[Preferences]EBhE[Protocols]A[TCP]Iт܂B[Relatice sequence numbers and window scaling]̉̃{bNX̃`FbNOĂB

̃pPbgACKԍ1310973186AŁAꂪɎMpPbg̃V[PXԍɂȂ͂łi}9-9jB

}9-9@\ĂȂV[PXԍ̃pPbg

cOȂ玟̃pPbg̃V[PXԍ1310984130@łB͑M̓rŃpPbgƂӖĂ܂BpPbg̔ԍV[PXOĂ̂ŁAM҂3Ԗڂ̃pPbgŏdACK𑗐M܂i}9-10jB

}9-10@ŏ̏dACKpPbg

̂ǂ炩̂悤ɂȂĂ΁AdACKpPbgłB

EpPbgڍׂ̃yCInfoJAɐԂŕ\ĂB
EpPbgڍׂ̃yCSEQ/ACK AnalysiswfBOLĂ݂āA1Ԗڂ̃pPbg̏dACKƂČfڂĂB

}9-11̂悤ɁÃpPbgł̃vZX܂B

}9-11@V[PXԍ߂ɐꂽdACK

M瑗ꂽ4Ԗڂ̃pPbgɂ́AԈV[PXԍĂ̂Ň@AM҂2ڂ̏dACK𑗐M܂ABƂ܂Ԉԍ̃pPbg͂߇BA3ڂ̍Ō̏dACK܂CB
M3ڂ̏dACK󂯎ƂɁAׂẴpPbg̑M𒆒fApPbgđ܂B}9-12͏pPbg̍đłB

}9-12@dACKɂpPbg̍đ

JԂ܂ApPbg̍đ̓pPbgڍׂ̃yCInfoJŊmFł܂B̗ᓯlAɐԎŏĂ̂ł悭܂BSEQ/ACK AnalysisڂAꂪđłƐł܂@iēxJԂ܂ÃpPbgđƎĂ̂̓pPbgł͂ȂAWireshark̋@\łjBŏIpPbǵAđ̎MACKpPbgƂȂ܂B

@pPbgNTCPʐM̃f[^t[ɉe^Ǝv̂AZNeBuACKiSelective Acknowledgementj@\łB̃pPbgLv`ł́Aŏ3EFCnhVFCNvZXɂāAZNeBuACKLȋ@\ƂălSVG[gĂ܂B̏ꍇpPbgďdACK󂯎ƁAɂق̃pPbg̎MĂ΁ApPbĝ݂đ܂BZNeBuACKLɂȂĂȂƁApPbĝƂɑMꂽׂẴpPbgApPbgƂƂɍđM܂B܂ZNeBuACKɂāAf[^JoIɍsƂł̂łBŐVTCP/IPX^bN̓ZNeBuACKT|[gĂ̂ŁAʏ͂̋@\Ă͂łB

TCPt[
đƏdACK͏pPbg񕜂邽߂TCP@\łBKTCPɂ́ApPbg\h@Ă܂B
TCṔApPbgN肻ɂȂƁAf[^][g𒲐ĂhXCfBOEBhEƂJjYĂ܂BXCfBOEBhÉAM҂̎MEBhEgăf[^t[𐧌䂵܂B
MEBhE͎M҂w肷lŁATCPwb_Ɋi[ĂiPʁFoCgjATCPobt@Xy[XɊi[f[^ʂ𑗐M҂ɓ`̂łB̃obt@Xy[Xɂ̓f[^ꎞIɕۊǂǍf[^̓AvP[VwvgRɓnď҂܂BM1ɑMłf[^ʂ́AEBhETCYtB[hɎw肳ꂽŌ܂܂BM҂ɑ̃f[^𑗐Mɂ́Ãf[^MƂAM҂ACK҂Ȃ΂Ȃ܂B܂̃f[^āATCPobt@Xy[XɂKv܂B}9-13MEBhE̎dg݂}Ă܂B

}9-13@M҂󂯎f[^ʂ𐧌䂷MEBhE
NCAg@T[o
obt@Xy[Xeʁ@EBhETCY
2500oCg
2000oCg
ACK
3000oCg
1000oCg
ACK

2500oCg
500oCg
5000oCg
2000oCg
1000oCg
5000oCg

5000oCg
5000oCg
5000oCg
5000oCg
5000oCg
5000oCg


}9-13ł́AMEBhETCY5000oCg̃T[oɃNCAgf[^𑗐MĂ܂BNCAg2500oCg̃f[^𑗐M߂ɃT[õobt@Xy[X2500oCgւƌA2000oCgꂽ̂500oCgւƌ܂BɃT[o͂̃f[^ACK𑗂܂Bobt@̃f[^ƁA܂󂫂ł܂B̃vZXJԂANCAg3000oCgA1000oCgƃf[^𑗐MAT[õobt@1000oCgւƌ܂BNCAg͍ēxACK𑗂Aobt@̃f[^܂B

EBhETCY̒
EBhETCY̒͂킩₷vZXłAɂ܂Ƃ͌܂BTCPf[^󂯎ƁAACKꉞƂđ܂AM҂̃obt@ɂf[^ɐvɏ킯ł͂Ȃ̂łB
T[õNCAg̃pPbgɖZƁAobt@󂯂ƂxȂÃf[^󂯎ꏊȂȂ܂Bt[䂪sȂ΁A̓pPbgƃf[^QɂȂ܂BKɂAT[oZăf[^xꍇAMEBhẼTCY𒲐邱Ƃł܂BACKpPbgTCPwb_ŁAEBhETCY̒l΂̂łB}9-14̈Ă܂B

}9-14@T[oZȂEBhETCY𒲐ł
NCAg@T[o
2000oCg
2000oCg
ACK@EBhEAbvf[g@1000oCg
800oCg
150oCg
ACK

obt@Xy[Xe
3000oCg
1000oCg
5000oCg
200oCg
50oCg
1000oCg

EBhETCY
5000oCg
5000oCg
1000oCg
1000oCg
1000oCg
1000oCg

}9-14ŁAT[o5000oCg̃EBhETCYŎn܂Ă܂BNCAg2000oCg̃f[^𑗂A2000oCĝŁAobt@Xy[X̋󂫂1000oCgɂȂĂ܂܂BT[o̓obt@ɖ܂Ă܂ƔFÃy[XŃf[^]΁ApPbgNƍl܂BƃT[óAEBhETCY1000oCgɂƂACKNCAgɑ܂B̌ʃNCAg瑗Mf[^ʂAT[o̓f[^t[葬xŕۂAobt@̃f[^ł悤ɂȂ܂B
EBhETCY͏邾łȂA傫ꍇ܂BT[o荂Ƀf[^ł΁AEBhETCYLƂACKpPbg𑗐M܂B

[EBhEʒmł̃f[^t[̈U~
T[oȏANCAg̃f[^łȂȂꍇ܂BƂĂ̓sA\͂̕sA邢̖͑肪l܂B炪NƃpPbgʐMvZX̒~ɂȂ܂AMEBhEgΔQŏɂƂǂ߂邱Ƃ\łB
肪ƁAT[o̓TCY[̃EBhE܂ރpPbg𑗐M܂BNCAg̃pPbgMƁAf[^]͒~܂AL[vACupPbg𑗂AT[oƂ̐ڑ͈ێ܂BL[vACupPbǵAT[o̎MEBhȄ󋵂mF邽߁AԊuő܂BT[o̓f[^ĊJƁAm[EBhETCỸpPbg𑗂AʐMĊJ܂B}9-15̓[EBhEʒm̗Ă܂B

}9-15@EBhETCY[ɐݒ肳ƃf[^]~
NCAg
T[o
2000oCg@
2000oCg
ACK@EBhEAbvf[g@0oCg
L[vACu
ACK@EBhEAbvf[g@1000oCg
900oCg

obt@Xy[Xe
3000oCg
1000oCg
0oCg
0oCg
1000oCg
100oCg

EBhETCY
5000oCg
5000oCg
0oCg
0oCg
1000oCg
1000oCg

}9-15ł́AT[o̓EBhETCY5000oCgŃf[^MJnĂ܂BNCAg4000oCg̃f[^MƁAvZbTׂɍȂANCAg̃f[^؏łȂȂĂ܂܂BT[o̓EBhETCYtB[h0ɐݒ肵pPbg𑗐MANCAg̓f[^]𒆎~ăL[vACupPbg𑗂܂B̌T[oAf[^M\ɂȂAEBhETCY1000oCgɂƂʒm𑗂̂ŁANCAg̓f[^MĊJ܂B

TCPXCfBOEBhE̎H
TCPXCfBOEBhE̘_̂ŁALv`t@Ctcp_zerowindowrecovery.pcapŎۂɌĂ݂܂傤B
̃t@C192.168.0.20192.168.0.30֑ꂽTCP ACKpPbgŎn܂Ă܂BԂ̊֐S̓EBhETCYtB[h̒lłA̓pPbgꗗ̃yCInfoJƁApPbgڍׂ̃yCTCPwb_̗Ō܂Bŏ3̃pPbgŁÃtB[h̒lĂĂ邱Ƃɕ܂i}9-16jB

}9-16@pPbg̃EBhETCYĂ

ŏ̃pPbg8760oCg2Ԗڂ̃pPbgł5840oCgɁA3Ԗڂ̃pPbgł͂2920oCgւƌĂ܂@BEBhETCY̌́AzXg̒ʐMɒxNĂT^Iȏ؋łBTimeJƁATCYɑ炳Ă̂܂ABEBhETCYꂾ炳ƁA[܂ŉꍇAۂ4Ԗڂ̃pPbgȂĂ܂i}9-17jB

}9-17@[EBhE̓zXgf[^ȏMłȂƂӖ

4Ԗڂ̃pPbg192.168.0.20192.168.0.30֑ꂽ̂łAȏf[^󂯎ȂƓ`̂ړIłBTCPwb_ɂ[̒l@AăpPbgꗗ̃yCInfoJƁATCPwb_SEQ/ACK AnalysisZNVA΁Aꂪ[EBhEpPbgƂƂ܂B
[EBhEpPbgMƁA192.168.0.30̒ʐM@́A192.168.0.20EBhETCYƂʒmEBhEAbvf[g󂯎܂ŁAf[^𑗐M܂BŃ[EBhEN͈ꎞIȂ̂Ȃ̂ŁA}9-18̂悤ɁÃpPbgŃEBhEAbvf[gĂ܂B
ŃEBhETCY64240oCg܂ő܂@BSEQ/ACK AnalysiswfBO΁AꂪEBhEAbvf[gƕ܂B

}9-18@f[^M\ɂȂƂ`TCPEBhEAbvf[gpPbg

Abvf[gpPbgMƁA192.168.0.30̃zXg͍Ăуf[^M\ɂȂ̂ŁA6Ԗڂ7Ԗڂ̃pPbg𑗂܂B̃vZX͔ɐvɍs܂Bł]ɎԂƁAf[^]̒xQNłB
xXCfBOEBhEāAt@Ctcp_ zerowindowdead.pcap𒲂ׂĂ݂܂傤Bŏ̃pPbǵA195.81.202.68172.31.136.85ւ̕ʂHTTPgtBbNłB̃pPbĝƂɁA172.31.136.85[EBhEpPbgĂ܂i}9-19jB

}9-19@f[^]~߂[EBhEpPbg

͐}9-17̃[EBhEpPbgƂ悭Ă܂Aʂ͂܂Ⴂ܂B172.31.136.85̃zXg̓EBhEAbvf[g𑗂ĒʐMĊJʒm̂ł͂ȂA}9-20̂悤ɃL[vACupPbg𑗂Ă܂B

}9-20@L[vACupPbg̓[EBhẼzXgƂ̐ڑێ

̃pPbgɂ́ApPbgڍׂ̃yCTCPwb_SEQ/ACK AnalysisZNVŁAL[vACuƂ邵Ă܂@BTimeJƁAŌ̃pPbgMꂽ3.4bɁÃpPbgꂽƂ킩܂B}9-21̂悤ɁAЕ̃zXg[EBhEpPbg𑗂AL[vACupPbg𑗂ƂvZXA񂩑܂B

}9-21@[EBhEpPbgƃL[vACupPbg̑MxJԂ

L[vACupPbǵA3.4bA6.8bA13.5b̊ԊuőMĂ܂@B̒ʐM@킪ڂĂOSɂẮÃvZXȂ蒷Ȃ܂BłTimeJ̒lZĂ̂ŁAڑ͂ق25bԒ~܂BhCRg[ł̔F؂AC^[lbgt@C_E[h悤ƂĂƂɁA25b̒xꂪǂł傤B䖝ł킯܂B

TCPG[ƃt[pPbgw
ē]AdACKAXCfBOEBhE֘AtĂ݂܂傤BxƂ̒ӓ_Ă܂B

ē]pPbg
ē]ŝ́ANCAgf[^AT[oMĂȂƂNCAgołB܂͂鑤ɂẮAē]ɋCtȂ킯łBT[õf[^Lv`ꍇANCAg瑗MA܂đMꂽpPbg͎󂯎Ȃ̂ŁAē]pPbgڂɂ邱ƂȂÂȂ܂܂ƂȂĂ܂܂BT[oł̃pPbg̔Q҂mȂƎvANCAg̃gtBbNLv`邱ƂlĂ݂܂傤B΍ē]pPbg݂̑mFł܂B

dACKpPbg
M҂͏dACKAē]̋t̂悤Ȃ̂ƍlĂ܂BƂ̂ANCAg̃pPbgrŏƃT[ooƂɑ邩łBdACḰATCh̃gtBbNLv`ƂɌ̂ŁA󂯎pPbgV[PXOĂƂɔ̂ł邱ƂvoĂBƂ΃T[o3̃pPbĝA1Ԗڂ3Ԗڂ󂯎ꍇAdACKANCAg2Ԗڂ̃pPbgđ܂BT[o1Ԗڂ3Ԗڂ󂯎Ă̂ŁA2Ԗڂ̃pPbg͂Ȃ͈̂ꎞIȌɂ̂łAʏdACK͖MAM܂B񂱂̃ViIɐƂ͌܂񂪁AT[oł̃pPbg^AdACKȂꍇANCAgł̃pPbgLv`ĂB

[EBhEƃL[vACupPbg
XCfBOEBhÉAT[of[^MAłȂԂƒڌтĂ܂BEBhETCYk邢̓[EBhEԂɂȂ̂́AT[oŖ肪NĂƂƂȂ̂ŁAǂ炩̎ԂA𒲂ׂׂłBʏ̓T[oƃNCAg̗TChŁAEBhEAbvf[g̃pPbg͂łB

x̌˂~߂
pPbgx̌łȂꍇ܂B2̃zXgԂ̒ʐMxĂATCPđdACKȂƂ̂łB̂悤ȏꍇAx̌ʂ̃eNjbNKvƂȂ܂B
x̌˂~߂ƂʓIȕ@̂ЂƂ́Aŏ̃nhVFCNƁÂƂɑ邢̃pPbg𒲂ׂ邱ƂłBɃNCAgWebT[oƐڑĂāAWebT[oŃzXgĂTCguEY悤ƂƂ܂傤BŒӂKvȂ̂́ATCPnhVFCNAŏHTTP GETNGXgAGETNGXgɑ΂ACKAT[oNCAgɑŏ̃f[^pPbg\Aŏ̂U̃pPbgłB

@̍ڂ𐳂ɂ́AWiresharkŎԕ\tH[}bg𐳂ݒ肷Kv܂B[View][Time Display Format]A[Seconds Since Previous Displayed Packet]I܂B

ȒʐM
lbg[Nx[XC̏ڍׂɂẮA{͂̌㔼Ő܂Bł́Ax̏󋵂Ɣr邽߂ɁAʐM̃x[XCKvƂƂ𗝉ĂĂB̂Ƃ̗ł́At@Clatency1.pcapgp܂BTCPnhVFCNHTTPʐMɂĂ͂̂ŌJԂ܂B܂pPbgڍׂ̃yC܂Bł͐}9-22Ɏ悤ɁATimeJɏW܂B

}9-22@̃gtBbN͂Ɏn܂Ă萳Ƃ݂ȂƂł

̒ʐMV[PX͔ɑłBvZXŜ0.1b܂B
̂̃Lv`t@ĆAgtBbNp^[Ő藧Ă܂ApPbg̃^C~OႢ܂B

xʐM\\P[u̒x
x̓t@Clatency2.pcapĂ݂܂傤B}9-23킩悤ɁA2̃t@C̃pPbǵAԂ̒l΂ׂēłB

}9-23@2Ԗڂ5Ԗڂ̃pPbgxĂ

6̃pPbgĂƂAŏ̒x̃TCɋCÂ܂BNCAgi172.16.16.128jTCPnhVFCNJn邽߂ɍŏSYNpPbg𑗂AT[oi74.125.95.104jSYN/ACK󂯎܂łɁA0.87b̒xꂪ܂B̓NCAgƃT[oԂ̒ʐM@ɂĈNP[ux̍ŏ̒łB
]pPbg̐AꂪP[u̒xłƔfł܂BT[oSYNpPbg󂯎ہA𑗂̂ɕKvȏ͂킸łBƂ̂AgX|[gw̏̏̓T[õ[N[hɊւĂȂłBT[õgtBbNȂ葽ƂĂASYN/ACKpPbgŐvȉ\łB܂T[o͍x̌ł͂܂B
NCAgxNĂ܂B̎_łSNY/ACKpPbgMȏ̏sĂȂłB
NCAgƃT[o̗ɖ肪ȂƂƁAŏ2̃pPbgɁAx̌ƂƂɂȂ܂B
3EFCnhVFCNACKpPbgM͂ɍsANCAgHTTP GETNGXg܂B2̃pPbg𐶐鏈́ASYN/ACK󂯎ɃNCAgŃ[JɍŝŁANCAgłׂ̏dȂA2̃pPbg̓]͐vɍs͂łB
5Ԗڂ̃pPbg̎ԒlAɍȂĂ܂BŏHTTP GETNGXgMꂽƁAT[o߂ꂽACKpPbg͂܂ł1.15bĂ܂BHTTP GETNGXg󂯎ƁAT[o̓f[^MJnOɂ܂TCP ACK𑗂܂ȀقƂǕS͂܂BЂƂ̃P[ux̃TCłB
P[uxƁAŏ̃nhVFCNłSYN/ACKłȂAقACKpPbgłx̂邵f܂B̏̓lbg[N̍x̌Ă͂܂񂪁ANCAgƃT[ołȂ̂͂킩̂ŁAҊԂ̑̒ʐM@킪x̌Ƃ킩܂BƂ܂܂ȃt@CAEH[A[^AvLV𒲂ׁAƐl邱Ƃł܂B

xʐM\\NCAg̒x
̒x̃ViÍAt@Clatency3.pcapɊ܂܂Ă܂i}9-24jB

}9-24@xpPbgŏHTTP GET

̃Lv`́AvTCPnhVFCNŐɎn܂Ax̒͌܂BnhVFCNƁA4Ԗڂ̃pPbgłHTTP GETNGXg܂ł́AׂĂ̂悤łBƂ낪̃pPbgŁA1.34b̒xꂪ܂B
x̌ɂ߂ɂ́A3Ԗڂ4Ԗڂ̃pPbg̊ԂŉN𒲂ׂȂ΂Ȃ܂B3Ԗڂ̃pPbg̓NCAgT[oɑꂽTCPnhVFCN̍ŌACKpPbgŁA4Ԗڂ̃pPbg̓NCAgT[oɑꂽGETNGXgłB҂ɋʂĂ̂́AǂNCAg瑗Mꂽ̂ŁAT[oƗĂ_łBׂ͂ăNCAg𒆐SƂĂ̂ŁAACKꂽƂɁAGETNGXgsׂłB
cOȂAACKGETւ̈ڍs̓X[Yɂ܂łBGETpPbg̐Ɠ]ɂ̓AvP[Vwł̏KvłȀ̒xƂ̂́ANCAg̏ǂȂƂӖɂȂ܂B܂肱̒ʐM̍x̌́ANCAgɂ̂łB

xʐM\\T[o̒x
Ō̒x̃ViI̓T[o̒xŁAt@Clatency3.pcapg܂i}9-25jB

}9-25@ŏIpPbg܂ōx̒Ȃ

2̃zXgԂTCPnhVFCN̓X[YvɍsA܂Ă܂BŏGETNGXgƂ̉ACKpPbg̔zM΂₭s܂B̃t@Cł͍ŏIpPbg܂ŁAx̒Ȃ̂łB
6Ԗڂ̃pPbǵANCAgGETNGXgɉăT[o瑗ꂽŏHTTPf[^pPbgłAT[oGETNGXgɑ΂đTCP ACK̓0.98bxĂ܂B5Ԗڂ6Ԗڂ̃pPbgւ̈ڍśAnhVFCNłACKGETNGXgւ̈ڍsƔɂ悭Ă܂Bł́AT[oƂȂ܂B
5Ԗڂ̃pPbǵANCAg󂯎GETNGXgɑ΂T[oACKłBT[o̓pPbg𑗐M炷Af[^MJnȂ΂Ȃ܂B̃pPbg̃f[^ւ̃ANZXApbP[WA]HTTPvgRɂčs܂BĂ̓AvP[VwvgRȂ̂ŁAT[oɂ鏈KvƂȂ܂B̃pPbg̒x́AT[of[^ɒǂĂȂ邵Ȃ̂ŁAx̗R̓T[oƂƂɂȂ܂B

xt[[N
6̃pPbggāAlbg[Nx̌T܂B̃ViI͏XGɎv܂A}9-26ۂ̒xƂɖ𗧂͂łB{͂ǂTCPʐMɂĂ͂܂܂B

@UDPxɂĂ͂قƂǐGĂ܂BUDP͍łMႭAxo񕜂@\ĂȂłB̑Af[^z̐M߂邽߂ɑgݍ킳ꂽAvP[VwvgRiICMPjA̖SĂ܂B

}9-26@ۂ̒x̉Ɏg}\
NCAg@T[o
SYN@SYN/ACK@ACK@C7vgRNGXg@ACK@C7vgRf[^
P[ux@NCAgx@T[ox

lbg[Nx[XC̊m
܂ȂꍇAlbg[Nx[XCAlbg[N̒x邽߂̏dvȃf[^ƂȂ܂Bł̓lbg[Nx[XCAuȁvlbg[NgtBbN̑傫Ȃ܂܂ށAlbg[N̂܂܂ȃ|CgW߂gtBbÑTv\ĂƂ܂Blbg[Nx[XCmƂ́Albg[NʐM@킪@\ȂƂɁArΏۂƂ邽߂̂̂łB
Ƃ΃lbg[NłȂĂ镡̃NCAgA[JWebAvP[VT[oփOĈɎԂƋĂƂ܂傤B̃gtBbNLv`ălbg[Nx[XCƔrƁAWebT[o͐ɉĂ̂ɁAWebAvP[Vɑgݍ܂ꂽORecɂODNSNGXg̑xA펞2{xƂ܂B
lbg[Nx[XCƔׂȂĂODNST[oxƋCÂm܂񂪁AȕωƂ͂܂B10DNSNG̏펞0.1bx̂́A1̃NGɐ펞1bȏォ̂Ɠ炢łAlbg[Nx[XCȂAO҂m̂͂Ȃ荢łB
lbg[N݂͑Ȃ߁Albg[Nx[XC̃R|[lgȂĂ܂B̍ł̓lbg[Nx[XC̃R|[lg̗܂BׂẴlbg[NɊYꍇ΁AقƂǓĂ͂܂Ȃꍇł傤BɂAx[XC3̊{JeS[łTCgAzXgAAvP[VɁAeR|[lgzu邱ƂɂȂ܂B

TCgx[XC
TCgx[XC̖ړÍAlbg[N̕IȃTCg̃gtBbŃAS̓IȃXibvVbg𓾂邱ƂłBWANׂ̂ẴZOgŎŝzłB
̃x[XCɊ܂܂R|[lĝ͎悤ɂȂ܂B

gpĂvgR
 [Statistics][Protocol Hierarchy]I[Protocol Hierarchy Statistics]EBhEJAlbg[NGbWi[^/t@CAEH[jŃZOĝׂĂ̒ʐM@̃gtBbNLv`āAׂĂ̒ʐM@킩̃gtBbN܂BƏƂ炵킹邱ƂŁA펞ɌvgR݂Ă邩ǂA邢͐VvgRĂȂ킩܂BvgRx[XƂꕔ̃gtBbNʂA啝ɑĂȂǂ܂B

u[hLXggtBbN
lbg[NZOĝׂẴu[hLXggtBbN܂܂܂BTCĝǂ̃|CgŃXjbtBOĂAu[hLXggtBbNLv`ł̂ŁA펞͒NA܂͉ʂ̃u[hLXggtBbN𑗂Ă邩Au[hLXg̗ʂȂ܂͏ȂȂ܂B

F؃V[PX
ANeBufBNgAWebAvP[VAgDŗL̃\tgȂǁAT[rX̔F؃vZX̃gtBbN܂܂܂BʂɔF؂ɂ͎Ԃ܂Bx[XCɂāAF؂ʐMx̌ǂfł܂B

f[^][g
lbg[N̂TCg瑼̗lXȃTCgւ́Aʂ̃f[^]̑肩\Ă܂BLv`̃T}[Wireshark̃Ot@\𗘗pāA]Ɛڑ̐mFł܂B炭̃TCgx[XCԏdvɂȂł傤BڑxꍇAx[XCƓf[^̓]sǍʂr܂Bΐڑ{ɒx̂ǂ킩A܂ǂŖ肪NĂ̂T肪ɂȂ܂B

zXgx[XC
zXgx[XCƂĂAׂẴzXg̃x[XCmKv͂܂BgtBbNƂA܂̓~bVNeBJȃT[oł̂ݍsΏ\łBT[oxƊǗ傩{̓dbĂ̂ŁÃzXg̃x[XC΂̂łB
zXgx[XC̃R|[lg͈ȉ̒ʂłB

gpĂvgR
[Protocol Hierarchy Statistics]EBhEgāAzXg̃gtBbNLv`܂BƏƂ炵킹邱ƂŁA펞ɌvgR݂Ă邩ǂA邢͐VvgRĂȂ킩܂BvgRx[XƂꕔ̃gtBbNʂA啝ɑĂȂǂ܂B

ACh/rW[ȃgtBbN
s[N܂Its[ŃAȃgtBbÑLv`ō\Ă܂BԑтɂڑgpшcĂ΁Ax[U[ׂ̂Ȃ̂AƂقɖ肪̂܂B

N^Vbg_E
̃x[XC𓾂ɂ́AzXg̋NƃVbg_E̍ۂɐgtBbNLv`Kv܂BRs[^NȂAVbg_EȂA邢͋NVbg_E̍ۂ̑xɒ[ɒxꍇÃx[XCƏƍAxlbg[N֘Aǂ𔻒fł܂B

F؃V[PX
T[rX̔F؃vZX̃gtBbNLv`Kv܂BʂɔF؂ɂ͎Ԃ܂Bx[XCɂāAF؂ʐMx̌ǂfł܂B

֘A^ˑ
̃zXgǂ̃zXgɈˑĂ邩i܂̃zXgɈˑĂ鑼̃zXgjm邽߂ɁAԂLv`s܂B[Statistics][Conversations]I[Conversations]EBhEJA֘Aƈˑ܂B̗ł́AWebT[oSQLT[ozXgɈˑĂ܂Bi͂܂zXgԂ̈ˑ֌WӎĂȂ̂ŁAzXgx[XC𗧂܂BɂāAzXg@\Ȃ̂듮̂߂Ȃ̂Ax̒ʐM@̈ˑ̂߂Ȃ̂܂B

AvP[Vx[XC
lbg[Nx[XC̍Ō̃JeS[́AAvP[Vx[XCłBrWlXNeBJȃlbg[Nx[X̃AvP[Vɂ͕K{łB
AvP[Vx[XC̃R|[lg͈ȉ̂ƂłB

gpĂvgR
̃x[XCłAWireshark[Protocol Hierarchy Statistics]EBhEg܂A̓AvP[VsĂzXg̃gtBbNLv`܂B̃XgƔr΁ÃAvP[VˑvgRAɋ@\Ă邩ǂ܂B

N^Vbg_E
̃x[XC𓾂ɂ́AAvP[V̋NƃVbg_E̍ۂɐgtBbNLv`Kv܂BAvP[VNȂA邢͋NVbg_E̍ۂ̑xɒ[ɒxꍇÃx[XCƏƍA˂~߂邱Ƃł܂B

֘A^ˑ
̃AvP[Vǂ̃zXg܂̓AvP[VɈˑĂ邩m邽߂ɁA[Conversations]EBhEgāAԂLv`s܂Bi͂܂AvP[VԂ̈ˑ֌WӎĂȂ̂ŁÃx[XC𗧂܂BɂāAAvP[V@\Ȃ̂듮̂߂Ȃ̂Ax̒ʐM@̈ˑ̂߂Ȃ̂܂B

f[^][g
Lv`̃T}[Wireshark̃Ot@\𗘗pāA펞̃AvP[VT[oւ̓]Ɛڑ̐ɊÂx[XC쐬ł܂BAvP[VxƂ񍐂΁Ãx[XCgāAx̌Agpx邽߂Ȃ̂A[U[ׂ߂Ȃ̂𔻒fł܂B

x[XCɂĂ̒ǋL
lbg[Nx[XC쐬ۂɁASɗ߂Ăׂ_2A3ǉĂ܂B

Ex[XC쐬ꍇA1ɂŒ3͍쐬܂傤BgtBbN̏ȂԑсijAgtBbN̑ԑсiߌjAgtBbNقƂǂȂԑсi[jƂłB
E\ȂAx[XC쐬ĂzXgAڃLv`͔̂܂傤BgtBbNԑтƁALv`ׂ𑝂₵AptH[}XWApPbg̏𓱂āAx[XC𖳌ɂĂ܂ꍇ܂B
Ex[XCɂ̓lbg[NɊւ铽񂪊܂܂Ă̂ŁAZLeBɒӂ܂傤BꂽlXANZXłSȏꏊɕۑ邱ƂłBɂpł悤A茳ɒuĂ܂傤BUSBhCuAÍp[eBVɓĂׂłB
Ex[XC֘A.pcapt@C܂Ƃ߁A֘A╽σf[^][gȂǁA悭QƂĺuJyvĂ܂傤B

܂Ƃ
̏͂ł́Albg[Nx̃guV[eBOɏœ_𓖂Ă܂BTCPoAJo[邽߂̂֗ȁAM̍@Albg[NʐM̍x̌T@Albg[Nx[XC̏dvƂ̃R|[lgɂĐ܂BŐeNjbNƁAWireshark̃Otщ͋@\i5͂Őjg΁Albg[NxƂ̓db󂯂ĂAΉ邱Ƃł܂B

