Professional Documents
Culture Documents
ᘶᗑጱᕟ౮զ݊پᐿᗑᕶփᬌොୗ
ᬟᖭ᮱ړғኧಅํᬳളࣁᘶᗑӤጱԆ౮̶ᬯ᮱ړฎአಁፗളֵአጱ҅አ᭗ᦔහഝوՁ̶ᦇ
ᓒԏᳵጱ᭗ᦔํӷᐿ҅Ӟᐿฎਮಁ-๐ۓොୗ҅ӞᐿฎP2Pොୗ̶
໐ஞ᮱ړғኧय़ᰁᗑᕶᬳളᬯԶᗑᕶጱ᪠ኧᕟ౮̶ᬯ᮱ړฎԅᬟᖭ᮱ړ׀๐̶ۓ໐ஞӾ᩸᯿ᥝ
֢አጱฎ᪠ኧ҅՜ጱ֢አฎړᕟԻഘ҅ݎතکጱړᕟ̶
හഝԻഘጱپᐿොୗᇙᅩғ
1.ኪ᪠Իഘ҅ᵱᥝᬰᤈୌᒈᬳള̵᭗ᦾ̵᯽නᬳളӣӻᬦᑕ̶ᩒრᇿ҅ܛᕚ᪠փᬌጱපሲ̶֗
2.ړᕟԻഘ҅ᵱᥝਖ਼හഝಸړڔ౮ੜጱᒵᳩහഝࣘ҅فےᥝጱഴ҅௳מګ౮ྯӞӻړᕟ҅ྯ
Ӟӻړᕟᇿᒈփᬌ̶ړᕟԻഘṛප҅ᅎၚ҅ᬥ᭛҅ݢᶌ҅֕ฎԞଃԧӞԶӧᥝጱᲀ̶
3.ಸԻഘ҅ෆӻಸփ᭓کԁᬪᜓᅩ҅ق᮱ਂؙӥັࣁݸತݎᤒ҅ᆐݸکݎӥӞӻᜓᅩ̶
੶ړ
ᗑᕶᦓܐ᭗ଉړӧེ੶ݶᬰᤈྯ҅ݎӞ੶ڦړᨮᨱӧݶጱ᭗ۑמᚆ
T C P / I P ᭗ଉᤩᦊԅฎӞӻࢥ੶ᦓܐᔮᕹ҅ইӥࢶಅᐏ
ྯӞ੶ᨮᨱӧݶጱۑᚆ:
1.හഝ᱾᪠੶ғํᤩײᑍԅᗑᕶള̶੶ݗ
3.ᬩᬌ੶ғԅӷݣԆӤጱଫአᑕଧ׀ᒒکᒒጱ᭗҅מԆᥝጱӷӻํᦓܐTCP҈UDPT C P ԅӷݣ
Ԇ׀ṛݢᶌጱහഝ᭗҅מUDPԅ ଫ አ ੶ ׀Ӟ ᐿ ᶋ ଉ ᓌ ܔጱ ๐ ҅ۓփᬌӧݢᶌ̶
4.ଫአ੶ғᨮᨱ॒ቘᇙਧጱଫአᑕଧᕡᜓ̶ԆᥝጱଫአํғTelnet̵FTP̵SMTP̵SNMPҁᓌܔᗑ
ᕶᓕቘᦓܐ҂
ᗑىጱਧԎғӞӻ᱾ളӷᐿӧᦓܐݶᓴጱᬰᑕ҅ԅӞӻᇙਧጱଫአ׀๐̶ۓ
ࣁTCP҈IPᦓܐᓴӾ҅IP੶ֵአӧݢᶌጱ๐҅ۓTCPݢ׀ᶌጱ๐҅ۓԅԧݢ׀ᶌکጱ๐҅ۓTCP
አԧ᩻᯿փ҅ݎᭆളතᒒکᒒጱᏟᦊړᕟ̶ګ
ᗑฎࣁහഝ᱾᪠੶ᗑᕶᬰᤈᘶጱ҅᪠ኧฎࣁᗑᕶ੶ᗑᕶᬰᤈᘶጱ̶
හഝጱᤰ
୮ଫአ੶ֵአTCPփᬌහഝጱ҅ײහഝտᤩනᦓܐف҅ྯӞ੶տᤩ୮֢ӞԀྲᇙၞᭆفᗑᕶ҅ྯ
Ӟ੶տीےଫጱḒ᮱̶TCPփ᭓ᕳIPጱහഝزܔฎTCPಸ҅IPփ᭓ᕳᗑᕶള੶ݗጱහഝݞزܔIP
හഝಸ҅᭗ᬦզॡᗑփᬌጱྲᇙၞᑍԅ̶
UDPහഝӨTCPහഝचӞᛘ҅ࠔӞጱӧݶᅩฎහഝḒ᮱ᤰጱฎUDPḒ᮱҅ᳩଶԅ8ਁᜓ҅UDPᕳ
IP੶փᬌጱฎUDPහഝಸ̶
හഝጱړአӨ॔አ
୮ፓጱԆතکӞӻզॡᗑහഝ҅හഝ੪তᦓܐӾኧବݻӤݶ҅܋݄ധےᦓܐ੶ ݱӤ
ጱಸḒ᮱̶ྯ੶ᦓܐፋ᮷ᥝ݄༄ັಸḒ᮱Ӿጱᦓܐຽᦩ҅զᏟਧളතහഝጱ Ӥ ੶ ̶ ᦓ ܐᬯ ӻ
ᬦᑕᑍ֢ړአ
ᒒݩݗ
TCPUDPአ16bitጱᒒݩݗᬰᤈᦩڦଫአ੶ଧ̶ํӞԶᎣݷጱᒒ҅ݩݗFTPጱTCPᒒݩݗ21҅ྯӞ
ӻTelnetଫጱTCPᒒݩݗฎ23҅TFTPଫጱUDPᒒݩݗฎ69҅ᎣݷጱᒒݩݗӞᛱՕԭ1-255ԏᳵ҅
256-1023ԏᳵԆᥝฎUnix๐ۓᬰᑕಅܛአ҅ԁᒒݗԆᥝࣁړ1024-5000ٌ҅՜כኸጱᒒݩݗฎ
य़ԭ5000ጱ̶
unixᔮᕹጱᒒ҈ࣁਂכݩݗetc/servicesӾֵ҅አӞӥեݢզັ፡ᒒݩݗ
ᒫԫᒍ හഝ᱾᪠੶
හഝ᱾᪠੶ֵአጱמ᭲Ԇᥝํӷᐿᔄࣳғ
1.ᅩᅩמ᭲
2.ଠඎמ᭲
හഝ᱾᪠੶ํӣӻचᳯ᷌ғ
1.ᤰ౮
2.᭐กփᬌ
3.૧Კ༄ၥ
ᤰ౮
੪ฎࣁහഝጱݸڹႲےੲ᮱Ḓ᮱҅ᬯ੪౮ԧӞӻ̶
ኴਧᒧғSOHҁ01҂ᤒᐏӞӻጱত҅EOTҁ04҂ᤒᐏጱᕮ̶
᭐กփᬌ
ݎᭆᒒጱහഝ᱾᪠੶ࣁහഝӾڊሿഴਁګᒧ"SOH"“EOT”҅ײᵱᥝࣁڹᶎൊفӞӻԎਁ
ᒧ"ESC"҅ᬯᐿොୗᑍԏԅਁᜓऴ꧌ᘏਁᒧऴ꧌̶
૧Კഴګ
CRC໊ḵ
PPPᦓܐᕟ౮
1.ඪ೮ྍ᱾᪠҅Ԟඪ೮ྍݶ᱾᪠
2.ୌᒈ̵ᯈᗝၥᦶහഝ᱾᪠ᬳളጱ᱾᪠ഴᦓܐګLCP
3.ᗑᕶഴᦓܐګ
ਁᜓऴ꧌
ڊሿྯӞӻ0x7Eਁᜓጱࣈො҅ൊف0x7D҅ڊሿ0x7Dጱࣈොݸᶎൊف0x5D
ᵭྲᇙऴ꧌
ᬳᖅڊሿ5ӻ1҅੪ࣁݸᶎൊف0
ᒫӣᒍ ᗑᕶ੶
IP੶׀ӧݢᶌ̵෫ᬳളጱ๐҅ۓӧݢᶌጱฎӧᚆᦤכIPහഝ۱ᚆड़౮کۑᬡፓጱࣈҔ෫ᬳളᤒᐏ
IPහഝಸଚӧᖌಷձ֜ىԭݸᖅහഝಸጱᇫா̶௳מ
ӨIPᯈॺጱᦓܐᬮํӣᐿ
ARPғࣈ࣎ᥴຉᦓܐ
ICMPғᗑᴬഴګಸᦓܐ
IGMPғᗑᴬᕟᓕቘᦓܐ
ᇔቘ੶ֵአጱӾᳵᦡ॓ݞݎ
හഝ᱾᪠੶ֵአጱᦡ॓ฎᗑᘏԻഘ
ᗑᕶ੶ֵአጱฎ᪠ኧ
ᗑᕶ੶զӤֵአጱฎᗑى
IPḒ᮱
ฦ᭗ጱIPḒ᮱ᳩଶԅ20ਁᜓ̶ٍ֛ጱࢶᥴইӥғ
Ḓ᮱ᳩଶጱฎḒ᮱ ܛ32 bitਁጱහፓ҅۱ೡձ֜ᭌᶱ̶ኧԭਙฎӞӻ 4ྲᇙਁྦྷ҅ࢩྌḒ᮱๋ᳩԅ
6 0 ӻਁᜓ̶
๐ ۓᔄ ࣳ ( T O S ) ਁ ྦྷ ۱ ೡ Ӟ ӻ 3 b i t ጱ ս ض ৼ ਁ ྦྷ ( ሿ ࣁ ૪ ᤩ ኼ )҅ 4 b i t ጱ T O S
ৼਁ
ྦྷ 1 b i t ๚ አ ֖ ֕ ᶳ ᗝ 0 ̶ 4 b i t ጱ T O S ڦ ړդ ᤒ : ๋ ੜ ̵ ๋ य़ ݺ ރᰁ ̵ ๋
ṛ ݢᶌ ๋ੜᩇአ̶4 bitӾݝᚆᗝٌӾ1 bit̶ইຎಅํ4 bit࣐ԅ0҅ᮎԍ੪ޱ፳ฎӞᛱ๐̶ۓ
ᳩଶਁྦྷฎෆӻ I P හ ഝ ಸ ጱ ᳩ ଶ ҅ զ ਁ ᜓ ԅ ڥ ̶ ֖ ܔአ Ḓ ᮱ ᳩ ଶ ਁ ྦྷ ᳩ ଶ ਁ
ྦྷ҅
T T L( t i m e - t o - l i v e ) ኞ ਂ ᳵ ਁ ྦྷ ᦡ ᗝ ԧ හ ഝ ಸ ݢզ ᕪ ᬦ ጱ ๋ ग़ ᪠ ኧ හ ̶ ਙ
ਧ ԧ හ ഝಸ ጱ ኞ ਂ ᳵ ̶ T T L ጱ ڡত ꧊ ኧ რ Ԇ ᦡ ᗝ ( ᭗ ଉ ԅ 3 2 6 4 )҅ Ӟ ෮ ᕪ
ᬦ Ӟ ӻ ॒ ቘ ਙ ጱ ᪠ ኧ ҅ਙጱ꧊੪ ݄ٺ1̶୮ᧆਁྦྷጱ꧊ԅ 0 ҅හഝಸ੪ᤩӶ҅ଚݎᭆ I C
M P ಸ᭗ᎣრԆ̶
ৼᗑ࣎
ಅํጱԆ᮷ඪ೮ৼᗑ࣎҅ᬯฎਖ਼Ԇړښࣁݩ౮ӞӻৼᗑݩԆݩҔᬯ؉ฎAᔄࣈ࣎Bᔄ
ࣈ࣎ԅԆړᯈԧॡग़ጱᑮᳵ҅ࣁሿਫӾ҅ݢᚆӧᵱᥝᮎԍग़ጱᑮᳵඪ೮̶
IPࣈ࣎ጱၝࢱ
ৼᗑശᎱ
ৼᗑശᎱጱ֢አԆᥝฎᏟਧํग़֖ጱԆྦྷአԭৼᗑ҅ݩԆࣁ̶ݩᕳਧIPࣈ࣎ৼᗑശᎱ
҅ݸԆݢզᏟਧIPහഝಸጱፓጱฎғҁ1҂ৼᗑӤጱԆҁ2҂ᗑᕶӾٌ՜ৼᗑጱԆҁ3҂ٌ
՜ᗑᕶጱԆ̶
ᇙྛጱIPࣈ࣎
ᕪᬦৼᗑጱݢ҅ړښզᏟਧ7ӻᇙਧጱIPࣈ࣎҅
ifconfig
ifconfigฎᗑᕶളݗᬰᤈᯈᗝັᧃጱե҅ifconfigեӞᛱࣁᬩᤈ҅զᯈᗝԆӤጱྯӻ
ള̶ݗ
netstat
netstatԆᥝአԭ׀ᔮᕹጱളݗե̶ݢզֵአፘ݇ىහྯڊܦӞӻളݗጱMTU̵ᬌړفᕟහ̵
ᬌفᲙ̵٫ᑱզ݊୮ڹጱᬌڊᴚڜᳩଶ̶
ړᕟݎᓒဩ
1.හഝಸӾڊݐፓጱࣈ࣎D҅ᆐݸٌکᗑᕶࣈ࣎N
2.ইຎN੪ฎӨ᪠ኧፗളፘᬳጱᗑᕶࣈ࣎҅ᮎԍ੪ፗളԻ՞҅ӧᵱᥝձ֜Ԇ҅ইຎӧฎ҅ᮎԍಗ
ᤈࣈ3ྍṈ
3.ইຎ᪠ኧᤒӾํکᬡᇙਧDጱԆ᪠ኧ҅ᮎԍ੪හഝಸԻӻಅกጱݽӞ᪡᪠ኧ
4.ইຎ᪠ኧᤒํکᬡᗑᕶNጱ᪠ኧ҅ᮎԍ੪හഝಸԻӻಅกጱݽӞ᪡᪠ኧ
5.ইຎ᪠ኧᤒӾํӞӻἕᦊጱ᪠ኧ҅ᮎԍ੪ፗളԻӻกጱӥӞ᪡᪠ኧ
6.ಸړޞᕟڊᲙ
෫ړᔄᖫ࣎CDIR
CDIRጱӷӻᇙᅩғ
1.ၾᴻԧփᕹጱAᔄ̵Bᔄ̵Cᔄࣈ࣎զ݊ৼᗑጱ҅ړښਖ਼IPࣈ࣎ኧӣᕆړᔄ᯿ෛړԅӷᕆ
2.ਖ਼ᗑᕶڹᖗፘݶጱᬳᖅጱIPࣈ࣎ᕟ౮ӞӻCDIRࣈ࣎ࣘ
ֵአCDIR҅୵౮ԧ᩻ᗑ҅࣎ࣈܨᘸࣁ҅ݳ᪠ኧັತӥӞ᪡҅ײአ๋ᳩ܃ᯈ
ICMP
ICMP
ICMPԆᥝړԅӷᐿ҅ICMP૧ᲙಸޞಸICMPᧃᳯಸ
ICMP૧Კಸํࢥᐿғ
1.ᕣᅩӧݢᬡ
2.ᳵ᩻ᬦ
3.݇හᳯ᷌
4.දݒ᪠ኧ
ICMPᧃᳯಸғ
1.ࢧᭆ᧗ࢧᒼ አԭฎݢވᬡզ݊ԧᥴፘଫᇫா
2.ᳵ౿᧗ࢧᒼ አԭᳵၥᰁᰦྍݶ
traceroute(ICMPଫአ)
አԭ᪙᪵Ӟӻړᕟრᅩکᕣᅩಅᕪᬦጱ᪠ஆ
Ping(ICMPଫአ)
ԆᥝአԭၥᦶԆԏᳵጱᬳ᭗̶
ARPࣈ࣎ᥴຉᦓܐ
ARPԅIPࣈ࣎کଫጱᏝկࣈ࣎ԏᳵۖ׀ாฉ̶ARPጱۑᚆԆᥝฎਖ਼᭦ᬋጱIPࣈ࣎۸ԅଫጱ
ᇔቘࣈ̶࣎
ARPࣈ࣎ᥴຉᬦᑕғ
1.୮ԆAᵱᥝݻੴऒᗑጱBݎᭆහഝಸ҅ײᵱᥝࣁٌARPṛ᭛ᖨ٫ັ܄፡ฎํވ෫ԆB
ጱIPࣈ࣎҅ইຎํ҅੪ਖ਼՜ጱଫᏝկࣈ࣎҅ڊݐٚਖ਼ᬯӻࣈٟ࣎کفMAC҅ᆐݸ᭗ᬦੴऒᗑᧆ
MACݎஃྌᏝկࣈ̶࣎
ইຎဌํᵱᥝᬰᤈଠඎ᧗ғ
1.ଠඎݎᭆӞӻARP᧗ړᕟ҅ᆐݸٟفAጱIPࣈ࣎Ꮭկࣈ࣎҅ᬮํBጱIPࣈ࣎ᬰᤈᧃᳯBጱᏝկࣈ
࣎
2.ੴऒᗑӤጱಅํԆളතکARPଠඎړᕟ
3.ԆBතکARPړᕟ҅ଚݻAᬬࢧᛔ૩ጱᏝկࣈ࣎IP҅ੴऒᗑጱٌ՜Ԇӧտ؉ݍڊଫ
4.ԆAතکᬬࢧᕮຎ҅ݸਖ਼BጱIPᏝկࣈ࣎ଫጱٟفṛ᭛ᖨਂ
RARPᭋ࣎ࣈݻᥴຉᦓܐ
ٍํࣈᏺፏጱᔮᕹ҅ ᛱฎᏺፏӤጱᯈᗝկӾ ݐIPࣈ̶࣎֕ฎ෫ፏ҅ ইXᕣᒒ ෫
ፏ֢ᒊ҅ڞᵱᥝአRARP឴ IPࣈ̶࣎
ٖ᮱ᗑᦓܐىIGP
ࣁӞӻᛔလᔮᕹٖ᮱ֵአጱ᪠ኧᭌೠ̶ᦓܐ
ԆᥝړԅRIPOSPF̶ᦓܐ
RIPᭇአԭੜࣳᘶᗑ
OSPFᭇአԭय़ࣳᘶᗑ
क़᮱ᗑᦓܐىBGP
IPv6
IPv6ඪ೮෫ᬳള҅IPv6ጱԆᥝᇙํғ
1.ๅय़ਂ࣎ᑮᳵ҅IPv6ጱࣈ࣎ԅ128֖
2.ಘጱࣈ࣎੶ེᕮ
3.ᅎၚጱḒ᮱໒ୗ
4.දᬰጱᭌᶱ
5.꧋ᦜᦓܐಘ꧌
6.ඪ೮ܨൊܨአ҅IPv6ӧඪ೮DHCP
7.ඪ೮ᩒრጱᶼړᯈ
8.IPv6Ḓ᮱ฎ8ਁᜓἶ
40ਁᜓጱIPv6चḒ᮱ইӥ
ӞӻIPv6හഝಸፓጱࣈ࣎ݢզฎํզӥӣᐿचᔄࣳ
ܔඎғփᕹጱᅩᅩ᭗מ
ग़ඎғӞग़ᅩጱ᭗מ
ձඎғᕣᅩฎӞᕟᦇᓒ҅Ԟݞ؉ᕟඎ̶
IPvֵአጱฎᵭܴᖽဩ҅Ԟ੪ฎӞԀᬳᖅጱᵭݢզԅӞٛݩդ๊
ᵱᥝဳጱฎ҅ࣁձӞࣈ࣎ӾݝᚆֵአӞེᵭܴᖽ̶
ᒫࢥᒍ ᬩᬌ੶
ᗑᕶ੶ԅԆԏᳵ׀᭦ᬋ᭗҅מᬩᬌ੶ԅଫአᬰᑕԏᳵ׀ᒒکᒒጱ᭦ᬋ᭗̶מ
ᬩᬌ੶ጱӷӻԆᥝᦓܐғ
አಁහഝಸᦓܐUDPғ
1.ӧୌᒈᬳള
2.ੱ๋य़ۘێփᬌ
3.ᶎݻಸጱ
4.UDPဌํलഴګ
5.Ḓ᮱ᲀ
6.ݢզӞӞ̵Ӟग̵़ग़ग़
փᬌഴᦓܐګTCPғ
1.׀ᶎݻᬳളጱ๐ۓ
2.ᶎᜓਁݻၞ
3.ݢ׀ᶌ๐ۓ
4.TCPݝᚆฎᅩᅩ
UDPTCPݱᦓܐᐿଫአ
TCPᒒݗ
TCPᬳള
TCPᬳളጱᒒݞݗ؉ॺളਁᘏൊݗ
ྯӞTCPᬳളࠔӞࣈᤩ᭗מӷᒒጱӷӻᒒᅩಅᏟਧғ
ࣁӞӻଫአᬰᑕݚӞӻଫአᬰᑕԏᳵୌᒈӞӻTCPᬳള̶
TCPᬳളጱᒒᅩฎӻುጱॺളਁ҅( ܨIPࣈ࣎:ᒒ)ݗ
ݶӞӻIPࣈ࣎ݢզํग़ӻӧݶጱTCPࣈ࣎҅ᘒݶӞӻᒒݩݗԞݢզࣁग़ӻӧݶጱTCPᬳള̶
ݢᶌփᬌጱૡ֢ܻቘ
؊ྊᒵஇᦓܐғ
؊ྊᒵஇ੪ฎྯݎᭆਠӞӻړᕟ੪؊ྊݎᭆ҅ᒵஇොጱᏟᦊ̶
෫૧Კఘ٭
ڊሿ૧Კ
Aݝᥝ᩻ᬦӞྦྷᳵՖᆐဌํکݑᏟᦊ҅੪ᦊԅڟݎᭆጱړᕟӶ०ԧ҅ࢩᘒ᯿փݎᭆᬦጱړᕟ҅ᬯ
ݞ؉᩻᯿փ̶
ᏟᦊӶ०Ꮯᦊ᬴ک
ᏟᦊӶ०አӷӻᤈۖғ
1.Ӷ०ᬯӻ᯿॔ړᕟM1
2.ݻAݎᭆᏟᦊ
Ꮯᦊ᬴کአጱᤈۖҔ
තݸکӶ
ᬳᖅARQᦓܐ
ݎᭆොතکӞӻᏟᦊ҅੪ਖ਼ݎᭆᑻڹݻݗჶ̶ۖ
TCPಸྦྷጱḒ᮱໒ୗ
TCPಸḒ᮱ڹ20ӻਁᜓฎࢴਧጱ҅TCPḒ᮱๋ੜᳩଶฎ20ਁᜓ̶
ݱӻਁྦྷԎғ
რᒒݗፓጱᒒݗғܛݱ2ӻਁᜓ
ଧݩғ4ਁᜓ҅ࢱฎ[0,2^32-1] ҅ݢզ፡๋ڊग़4GB
Ꮯᦊݩғ4ਁᜓ҅๗๕තکොӥӞӻಸྦྷጱᒫӞӻහഝਁᜓጱଧ̶ݩ
ᑻݗғ2ਁᜓ
໊ḵғ2ਁᜓ
ᔲᰒҔ2ਁᜓ
TCPलഴګ
लഴګᓒဩғౌত̵लഴ̵ګள᯿փ̵ள௩॔
ౌতलع
ݎᭆݎᖌಷӞӻलᑻݗcwnd҅তฎݎᭆොᦏᛔ૩ጱݎᭆᑻݗᒵԭलᑻ̶ݗ
ᬮᵱᥝᦡᗝӞӻౌতᳪᴴssthreshғ
ౌতֵአහीय़҅लعᓒဩฎֵአےဩीय़
তcwnd=1҅ssthresh=16ֵ҅አౌতᓒဩ
ࣁփᬌེԅ4ֵ҅አलعᓒဩ
ེԅ12҅ڊሿᗑᕶ᩻҅ssthresh=cwnd҈2=12҅cwnd=1 ԏֵݸአౌতᓒဩ
ࣁེԅ21҅ݎሿ᯿॔Ꮯᦊֵ҅አԧள᯿փ
ࣁ4ጱֵ҅ײአள௩॔҅ਖ਼cwnd=ssthresh=cwnd/2=8ᆐݸಗᤈलع
TCPᬳളᓕቘ
ӣེൎಋইӥғ
ᬦᑕൈᬿ:
ᒫӞེൎಋғਮಁᒒݎᭆsyn۱(syn=x)ک๐҅ۓଚᬰفSYN_SENDᇫா҅ᒵஇ๐ۓᏟᦊҔ
ᒫԫེൎಋғ๐ۓතکsyn۱҅ᶳᏟᦊਮಁጱSYNҁack=x+1҂҅ݶᛔ૩ԞݎᭆӞӻSYN۱
ҁsyn=y҂҅ܨSYN+ACK۱҅ྌ๐ۓᬰفSYN_RECVᇫாҔ
ᒫӣེൎಋғਮಁᒒතک๐ۓጱSYN҄ACK۱҅ݻ๐ݎۓᭆᏟᦊ۱ACK(ack=y+1)҅ྌ۱ݎᭆਠ
ླ҅ਮಁᒒ๐ۓᬰفESTABLISHEDᇫா҅ਠ౮ӣེൎಋ̶
ൎಋᬦᑕӾփᭆጱ۱᯾ӧ۱ތහഝ҅ӣེൎಋਠླ҅ݸਮಁᒒӨ๐ۓྋୗতփᭆහഝ̶ቘమᇫ
ாӥ҅TCPᬳളӞ෮ୌᒈ҅ࣁ᭗מොӾጱձ֜ӞොԆۖىᳮᬳളԏ҅ڹTCP ᬳള᮷ਖ਼ᤩӞፗכ೮ӥ
̶݄
ԅՋԍᵱᥝֵአ3ེൎಋޫҘ
ᴠྊ૪०පጱᬳള᧗ಸྦྷփᬌکB҅ࢩᘒԾኞᲙ̶
TCPᬳള᯽න
ࢥེഀಋ:
Өୌᒈᬳളጱ“ӣེൎಋ”ᔄ֒҅ෙӞӻTCPᬳളڞᵱᥝ“ࢥེൎಋ”̶
ᒫӞེഀಋғԆۖىᳮොݎᭆӞӻFIN҅አىᳮԆۖොىۖᤩکᳮොጱහഝփᭆ҅Ԟ੪ฎԆۖىᳮ
ොىۖᤩᦫޞᳮොғ౯૪ᕪӧտٚᕳ֦ݎහഝԧ(୮ᆐ҅ࣁfin۱ԏݎڹᭆ݄ڊጱහഝ҅ইຎဌํතک
ଫጱackᏟᦊಸ҅Ԇۖىᳮොׁᆐտ᯿ݎᬯԶහഝ)҅֕ฎ҅ྌԆۖىᳮොᬮ ݢզളݑහഝ̶
ᒫԫེഀಋғᤩۖىᳮොතکFIN۱ݎ҅ݸᭆӞӻACKᕳො҅Ꮯᦊଧݩԅතکଧݩ+1ҁӨSYNፘ҅ݶ
ӞӻFINܛአӞӻଧݩ҂̶ ᒫӣེഀಋғᤩۖىᳮොݎᭆӞӻFIN҅አىᳮᤩۖىᳮොکԆۖىᳮො
ጱහഝփᭆ҅Ԟ੪ฎᦫޞԆۖىᳮො҅౯ጱහഝԞݎᭆਠԧ҅ӧտٚᕳ֦ݎහഝԧ̶ ᒫࢥེഀಋғԆ
ۖىᳮොතکFINݎ҅ݸᭆӞӻACKᕳᤩۖىᳮො҅Ꮯᦊଧݩԅතکଧݩ+1҅ᛗྌ҅ਠ౮ࢥེഀಋ̶
ᒫԲᒍ HTTPಸ
ಸၞ
HTTPಸฎࣁHTTPଫአᑕଧԏᳵݎᭆጱහഝࣘ҅ᬯԶහഝࣘզӞԶ୵ୗጱزහഝ१̶
ಸၞفრᒒ๐ۓ
HTTPֵአၞفၞڊൈᬿԪ॒ۓቘ̶
ಸݻӥၞۖ
ಅํጱಸ᮷ݻӥၞۖ҅ಸጱݎᭆᘏ᮷ࣁളතᒒᘏጱӤ̶
ಸጱᕟ౮
ಸԆᥝኧӣӻ᮱ړᕟ౮ғ᩸তᤈ̵۱ંތጱḒ᮱̵ࣘզ݊ݢᭌጱ̵۱ތහഝጱԆ֛᮱̶ړ
᩸তᤈḒ᮱᮷ฎኧᤈړᵍጱASCII҅ྯᤈ᮷ฎኧӷӻਁᒧᕟ౮ጱᤈᕣྊଧ֢ڜԅᕮ҅Ӟӻฎ
ࢧᒧӞӻฎഘᤈᒧ̶
Ԇ֛ฎӞӻݢᭌጱහഝࣘ҅Ԇᥝጱฎᬯ᯾ጱහഝݢզฎԫᬰګහഝ҅ᘏฎᑮ̶
ಸྦྷጱဩ
ಅํጱಸ᮷ݢզړԅӷᔄғ᧗ಸߥଫಸ̶
᧗ಸݻWeb๐᧗ۓӞӻ֢ۖ҅ߥଫಸտਖ਼᧗ጱಸᬬࢧᕳਮಁᒒ̶
᧗ಸ໒ୗ
ߥଫಸ໒ୗ
ොဩғֺইGET̵HEAD
᧗URLғ᧗ᩒრ
ᇇғHTTPᇇ
ᇫாᎱғݎኞጱᇫா
ܻࢩᎨғහਁᇫாᎱጱݢᇇ
Ḓ᮱ғݢᭌਁྦྷ҅Ӟᛱฎಸᳩଶ҅ᔄࣳ
Ԇ֛ғձහഝᕟ੶ጱහഝࣘ
᩸তᤈ
1.᧗ᤈ
᧗ොဩURL̵ᇇݩᒵֵ҅አᑮ໒ړᵍ
2.ߥଫᤈ
HTTPᇇ̵හਁᇫாᎱ̵ܻࢩᎨ̵
3.ොဩ
᧗ጱ᩸তᤈզොဩ֢ԅত
ଉአጱොဩ
GET ๐ۓ឴ݐ
HEAD ๐ۓ឴ݐḒ᮱
POST ݻ๐ݎۓᭆᵱᥝ॒ቘጱහഝ
PUT ᧗ጱԆ֛ਂࣁؙ๐ۓӤ
TRACE ಸᬰᤈ᭄᪵
OPTIONS ٬ਧݢզࣁ๐ۓӤಗᤈߺԶොဩ
DELETE ๐ڢۓᴻ
4.ᇫாᎱ
5.Ꭸܻࢩ
ԅᇫாᎱ؉ᥴ᯽
6.ᇇݩ
᭽ਝጱᦓܐ
Ḓ᮱
᩸তᤈݸᶎฎ0ᘏग़ӻHTTPḒ᮱ਁྦྷ҅HTTPḒ᮱ਁྦྷ᧗ߥଫಸႲےԧӞԶᴫ̶௳מےᨶ
Ӥ᧔ฎӞԶݷ/꧊ጱڜᤒ̶
1.Ḓ᮱ړᔄ
᭗አḒ᮱ғݢզڊሿࣁ᧗ಸӾ҅ԞݢզڊሿࣁߥଫಸӾ
᧗Ḓ᮱ғ׀ᚆग़ፘ᧗ىጱ௳מ
ߥଫḒ᮱:ߥ׀ଫጱ௳מ
ਫ֛Ḓ᮱ғԆ֛ጱᳩଶٖ҅ᘏᩒრᛔ̶
ಘḒ᮱ғᥢӾဌํਧԎጱෛḒ᮱
Ḓ᮱ٖړᤈֵአCRLFԞ੪ฎ\n\t
2.Ḓ᮱ᖅᤈ
ਖ਼ᳩጱٖ᮱ᤈړԅग़ᤈṛݢ҅ग़ڊጱྯᤈڹᶎᛗᥝํӞӻᑮ໒ᘏګᤒᒧ̶
ਫ֛ጱԆ֛᮱ړ
Ԇ֛ԆᥝฎHTTPᥝփᬌጱٖ
ᇇ0.9ጱಸ
ኧ᧗ߥଫᕟ౮҅᧗Ӿݝ۱ތොဩ᧗URL҅ߥଫӾਫ֛҅ဌํᇇ҅௳מဌํᇫாᎱᘏᎨ
҅ဌํḒ᮱̶
ොဩ
ইຎӞݣ๐ۓᥝӨHTTP1.1ّ҅ݝᥝԅٌᩒრਫሿGETොဩHEADොဩ੪ݢզ̶
ਞقොဩ
GETHEADොဩᤩᦊԅਞ҅قᬯӷӻ᧗᮷ӧԾኞՋԍ̶֢ۖ
GET
አԭ᧗๐ݎۓᭆӻᩒრ̶
HEAD
๐ߥࣁۓଫӾݝᬬࢧḒ᮱̶꧋ᦜਮಁᒒࣁ๚឴ݐਫᴬᩒრጱఘ٭ӥ҅ᩒრጱḒ᮱ᬰᤈ༄ັ̶
PUT
ݻ๐ۓٟف̶ᦏ๐ۓአ᧗ጱԆ֛᮱ړଉᥠӞӻኧಅ᧗ጱURLݷጱ҅ইຎਂࣁ҅
አᬯӻԆ֛դ๊ਙ̶
POST
ݻ๐ۓᬌفහഝ҅ඪ೮HTMLᤒܔ
TRACE
᭄᪵ಸጱ᪠ஆ҅Ԇᥝአԭෙ̶
OPTIONS
᧗Web๐ޞۓᎣඪ೮ጱݱᐿۑᚆ̶ݢզᧃᳯ๐ۓඪ೮ጱᮎԶොဩ҅ᘏᮎԶᇙྛᩒრඪ೮ො
ဩ̶
DELETE
᧗๐ڢۓᴻᰭࣈ܄URLಅګਧጱᩒრ̶
ಘොဩ
COPY̵LOCK̵MOVEᒵ
ᇫாᎱ
ᇫாᎱړԅԲᔄ
100-199 ௳מᇫாᎱ
100ContinueᇫாᎱғ᧔ก᧗ጱڡত۸᮱᧗҅ړਮಁᒒᖀᖅ̶
101:໑ഝਮಁᒒਧ҅ਖ਼ᦓܐӬ ڔഘ౮UpdateḒ᮱
1.ਮಁᒒӨ100Continue
ਮಁᒒଫአᑕଧࣁํݝݻع๐ݎۓᭆӞӻ๐ۓ෫ဩ॒ቘᘏֵአጱय़ਫ֛҅ଫᧆֵአ
100Continue̶
2.๐ۓӨ100Continue
ӧԆۖݻਮಁᒒݎᭆᬯӻᇫாᎱ҅ᴻᶋڊᲙ
3.դቘӨ100Continue
ӧᎣ᭲ӥӞ᪡๐ۓฎވӨHTTP/1.1ّ҅ᤰExceptݻӥ҅ݎইຎᎣ᭲҅ᬬࢧ417
200-209 ౮ۑᇫாᎱ
200 ᧗౮ۑ
201 ڠୌ๐ۓ᧗
202 ᧗ᤩള҅ݑ๐ۓဌํಗᤈձ֢֜ۖ
203 ਫ֛Ḓ᮱۱ތጱ௳מӧฎᛔრᒒ๐҅ۓᘒฎᛔᩒრጱӞղۅ̶
204 ߥଫಸӾࢵଙ۱ތᝑଗḒ᮱ӞӻᇫாᎱ҅֕ฎဌํਫ֛ጱԆ֛᮱ړ
205 ݚӞӻԆᥝአԭၨᥦጱդᎱ҅ษᑮ୮ڹᶭᶎጱHTMLᤒزܔᔰ
206 ౮ۑಗᤈӞӻ᮱ړጱ᧗
300-399 ᯿ਧݻᇫாᎱ
ݢզ᭗ᬦԶ᯿ਧݻᇫாᎱᩒრጱଫአᑕଧࣈۅӨᬱᒒ๐ۓӤጱᩒრᬰᤈḵᦤ̶
300 ਮಁᒒ᧗Ӟӻਫᴬݻग़ӻᩒრጱURLտᬬࢧᬯӻᇫாᎱ
301 ᧗ጱURLզᤩᑏᴻֵአ҅ߥଫᬬࢧᩒრಅࣁጱURL
302 Ө301ᔄ֒҅֕ฎ᧗ՖᆐଫֵአᘌጱURL̶
303 ޞᎣਮಁᒒଫᧆአݚӞӻURL឴ݐᩒრ̶
304 ਮಁᒒݢզ᭗ᬦ۱ތጱ᧗Ḓ᮱ֵٌ҅᧗ݒ౮ํկጱ̶
305 ᧔กᶳ᭗ᬦӞӻդቘᦢᳯᩒრ̶
306 ୮ڹ๚ֵአ
307 Ө301ᔄ֒҅ਮಁᒒଫᧆֵአLocationḒ᮱ᕳڊጱURLԁਧ֖ᩒრ҅ਖ਼ጱ᧗ଫᧆֵአᘌ
ጱURL
HTTP/1.0ݎᭆPOST᧗҅තک302҅๗๕HTTPਮಁᒒֵአGET᧗ᬬࢧጱURL̶
HTTP/1.1ֵአ303҅ԭਮಁᒒֵአ307դ๊302ԁ᯿ਧݻ
400-499 ਮಁܔᲙᇫாᎱ
400 ਮಁᒒݎᭆᲙ᧗
401 ᧗ਮಁᒒᦊᦤ
402 ๚ֵአ
403 ๐ۓᕷ๐ۓ
404 ᩒრဌತک
405 ӧඪ೮᧗ොဩ
406 ๐ۓဌํӨਮಁᒒݢളݑጱURLፘ܃ᯈጱᩒრ
407 ᥝᩒრᬰᤈᦊᦤጱդቘ๐ۓ
408 ᧗᩻
409 ᧗ݢᚆᩒრӤဩӞԶ٫ᑱ
410 ๐ۓզڹํᬦᩒრ҅አԭWebᒊᅩᖌಷ
411 ๐ۓᥝࣁಸӾ۱ތContent-LengthḒ᮱
412 ਮಁᒒ᧗կ०ᨳԧ
413 ᧗ਫ֛ᬦय़
414 ᧗URLᬦᳩ
415 ๐ۓ෫ဩቘᥴ᧗ٖᔄࣳ
416 ᧗ࢱ෫ප
417 ᧗ጱExpect᧗Ḓ᮱۱ތӞӻ๗๕҅๐ۓ෫ဩჿ᪃ྌ๗๕̶
500-599 ๐ۓᲙդᎱ
500 ๐ٖۓ᮱Კ
501 ᧗᩻ڊ๐ۓᚆێࢱ
502 ࣕᗑى
503 ሿࣁ෫ဩ׀๐ۓ
504 ᗑى᩻
505 ᧗෫ဩඪ೮ྌᦓܐᇇ
Ḓ᮱
Ḓ᮱
᭗አḒ᮱
׀Өಸํىጱ๋च௳מ
᭗አᖨਂḒ᮱
᧗Ḓ᮱
አԭ᧗Ḓ᮱
AcceptḒ᮱
կ᧗Ḓ᮱
ਞ᧗قḒ᮱
դቘ᧗Ḓ᮱
ߥଫḒ᮱
አԭߥଫ
ࠟܐḒ᮱
ਞߥقଫḒ᮱
ਫ֛Ḓ᮱
۱ތਫ֛
ٖḒ᮱
ਫ֛ᖨਂḒ᮱
೮ԋᬳള
ڡত۸๐ۓHTTP᧗ጱଫአᑕଧஉݢᚆտࣁӧԋጱਖ਼ᮎݣ๐ݎۓ᩸ๅग़ጱ᧗҅ᬯᐿ
ᨶᤩᑍԅᒊᅩࣈ̶
ࣁԪ॒ۓቘᕮզݸՖᆐכ೮ࣁᇫாጱTCPᬳളᤩᑍԅ೮ԋᬳള̶HTTP/1.1ඪ೮೮ԋᬳള̶
೮ԋզ݊ଚᤈᬳള
೮ԋᬳളํӷᐿᔄࣳғྲᘌጱHTTP/1.0+ "keep-alive"ᬳളሿդHTTP/1.1 “persistent”ᬳള
keep-aliveᬳള
Keep-Alive֢
ਫሿkeep-alive᚜ጱਮಁᒒ᭗ᬦ۱ތConnectionғKeep-AliveḒ᮱᧗ਖ਼Ӟᬳളכ೮ᇫா̶
Keep-Aliveᭌᶱ
๐ۓਮಁᒒӧӞਧݶkeep-alive҅ᵱᥝᦡᗝ᭖݇ݩහᓕቘ
timeout ᬳളכ೮ᳵ
݇හᲫmax ᦇ๐ۓᬮํग़ӻԪכۓ೮ྌᬳളጱၚᇫா
ඪ೮๚ᕪڊጱં҅አԭෙ᧣ᦶ̶
Keep-Aliveᬳളጱᴴګᥢڞ
HTTP/1.0Ӿ҅keep-aliveଚӧฎἕᦊֵአጱ̶
Connection:keep-aliveḒ᮱ᶳᵋಅํ๕כ೮೮ԋᬳളጱಸӞ᩸ݎᭆ̶
ਮಁᒒറกํဌํ೮ԋᬳളḒ᮱҅ፗک๐ߥۓଫԏݸฎىވᳮᬳള
keep-aliveߩդቘ
1.ConnectionḒ᮱ፖӾᖀ
ӧቘᥴḒ᮱҅ፗള҅ݎဌํڢᴻConnectionḒ᮱҅ᬯ੪ฎፖӾᖀ̶
2.դቘ᭑᪡Ḓ᮱
ሿࣁጱդቘӧํތݎConnectionጱḒ᮱
ᓕ᭲۸ᬳള
HTTP/1.1꧋ᦜ೮ԋᬳളֵአ᧗ᓕ̶᭲
ᒫمᒍ ਮಁᒒᦩڦԭcookieګ
ӻ۸ള
ᒊᅩጱӻ۸
1.ӻ۸ጱᳯײ
2.ํጱනᎡጱവគ
3.ᓕቘ௳מጱਂ
4.ᦕ୯ਞᦾࢧق
HTTPḒ᮱
HTTP᧗Ḓ᮱
ਮಁᒒIPࣈ࣎
ਮಁᒒIPࣈ࣎ᦩڦአಁጱᗌᅩғ
1.ਮಁᒒIPࣈ࣎ൈᬿጱฎಅํጱ̶ӧฎአಁ҅ํݢᚆग़ӻአಁوՁӞᦇݣᓒ
2.உग़๐ۓࠟ׀᮷տࣁአಁጭ୯ۖாړᯈIPࣈ࣎
3̶ṛਞق҅᭗ᬦNATၨᥦᗑᶭ
አಁጭ୯
አಁጭ୯
HTTPӾ۱ތԧӞᐿٖୌݢ҅ګզአwww-AythenticateḒ᮱AuthorizationḒ᮱ݻWebᒊᅩփᬌአ
ಁጱፘ̶௳מى
ᙪURL
ํԶWebᒊᅩտԅྯӞӻአಁኞ౮ᇙਧᇇጱURL᭄᪵አಁጱղ҅᭗ଉฎ፥ྋጱURLᬰᤈಘ
҅۱ތӞԶᇫா҅௳מදۖݸጱURL౮ԅᙪURL̶
ದᳯ᷌ғ
1.ӪᴱጱURL
2.෫ဩوՁURL
3.Ꮘࣕᖨਂ
4.᷐क़ጱ๐ۓᨮ
5.ᭈ᭥ݗ
6.ࢧᦾᳵᶋ೮ԋ
cookie
cookie୮ڦᦩڹአಁ҅ਫሿ೮ԋտᦾጱ๋অොୗ̶
cookieጱᔄࣳ
cookieړԅӷᔄғտᦾcookie೮ԋcookie
տᦾcookieӞᐿԁcookie҅አಁ੪տڢᴻ
೮ԋcookiਂࣁؙ፡Ꮭፏ҅ᦇᓒ᯿ސՖᆐਂࣁ
ࠔӞڦ܄ฎᬦ๗ᳵ
cookieฎই֜ૡ֢ጱ
cookieӾ۱ތӞӻኧ=ਁݷ꧊ᬯጱ௳מ౮ጱձڜᤒ҅ଚ᭗ᬦSet-CookieᘏSet-Cookie2HTTP
ߥଫḒ᮱ਖ਼ٌᩂکአಁӤ̶݄
cookieᗐғਮಁᒒጱᇫா
cookieጱचమฎᦏၨᥦᑌᔴӞᕟ๐ۓᇙํጱᦢེྯ҅௳מᳯ๐ۓ᮷ਖ਼ᬯԶ௳מ׀ᕳਙ̶
1.ᗑวݪلጱcookie҅ਂࣁؙcookie.txtӾ
2.ieਂࣁؙṛ᭛ᖨਂፓ୯ӥᇿᒈկӾ
ӧݶጱᒊᅩֵአӧݶጱcookie
ၨᥦݻݝ๐ݎۓᭆ๐ۓԾኞጱᮎԶcookie̶
1.cookieጱऒં
᭗ᬦSet-CookieߥଫḒ᮱ႲےӞ᷐DomainંഴߺګԶᒊᅩݢզ፡ߺکӻcookie
2.cookie᪠ஆં
cookieᥢႮᎣ꧋ᦜአಁcookieӨ᮱ړWebᒊᅩىᘶ̶᩸ݢզ᭗ᬦPathંਫሿᬯӞۑᚆۑᚆ҅
ࣁᬯӻંڊڜጱURL᪠ஆڹᖗಅํጱcookie᮷ฎํපጱ̶
cookie౮ړ
cookieํӷӻᇇ҅ᒫӞӻฎcookiesᇇ0҅ᒫԫӻฎcookieᇇ1
cookieጱᥢғ
cookiesᇇ0
ਧԎԧSet-CookieߥଫḒ᮱̵cookie᧗Ḓ᮱զ݊አԭഴګcookieጱਁྦྷ̶
1.ᇇ0ጱSet-cookieḒ᮱
ํӞӻ୩ګጱcookieݷcookie꧊҅ݸᶎ᪙፳ݢᎨጱcookieં҅ኧݩړᵍ
2.ᇇ0ጱcookieḒ᮱
ਖ਼ಅํӨऒ̵᪠ஆਞقग़ᡤ๗ፘ܃ᯈጱࢵ෪cookie᮷ݎᭆᕳᬯӻᒊᅩ̶ಅํጱcookieਖ਼տᤩ ᕟکݳ
ӞӻcookieḒ᮱ғ
cookiesᇇ1
فset-Cookies2Ḓ᮱CookiesḒ᮱҅ᚆӨᇇ0ᔮᕹᬰᤈ̶֢
1.ᇇ1ጱSet-cookie2Ḓ᮱
2.ᇇ1ጱcookieḒ᮱
ଃࢧӨփᭆጱྯӻcookieፘىጱᴫ҅௳מےአൈᬿྯӻcookie᭔ஆጱᬦᄁ̶
3.ᇇ1ጱcookie2Ḓ᮱ᇇࠟܐ
Cookie2᧗Ḓ᮱ᨮᨱᚆड़ቘᥴӧݶcookieᥢᇇጱਮಁᒒ๐ۓԏᳵጱᬰᤈ֢ጱ̶ࠟܐ
cookieӨտᦾ᪙᪵
ݢզአcookieࣁአಁӨӻwebᒊᅩᬰᤈग़ᶱԪ॒ۓቘአಁᬰᤈ᪙̶᪵
cookieӨᖨਂ
1.ইຎᖨਂ҅ਖ਼ٌຽᐏڊ
2.ᖨਂSet-CookieḒ᮱ᥝੜஞ
3.ੜஞ॒ቘଃํcookieḒ᮱᧗
cookie̵ਞقᵌᐺ
ଉᘍ᷌
ࣁࣈ࣎ໄӤᬌفԧbaidu.comݎኞՋԍ?
1̵ਮಁᒒၨᥦ᭗ᬦDNSᥴຉکwww.baidu.comጱIPࣈ࣎220.181.27.48҅᭗ᬦᬯӻIPࣈ࣎ತکਮಁ
ᒒک๐ۓጱ᪠ஆ̶ਮಁᒒၨᥦݎ᩸ӞӻHTTPտᦾک220.161.27.48҅ᆐݸ᭗ᬦTCPᬰᤈᤰහഝ
۱҅ᬌکفᗑᕶ੶̶
2̵ࣁਮಁᒒጱփᬌ੶҅HTTPտᦾ᧗ړ౮ಸྦྷ҅Ⴒےრፓጱᒒ҅ݗই๐ֵۓአ80ᒒݗፊލ
ਮಁᒒጱ᧗҅ਮಁᒒኧᔮᕹᵋᭌೠӞӻᒒݗই5000҅Ө๐ۓᬰᤈԻഘ҅๐ۓፘଫጱ᧗ᬬ
ࢧᕳਮಁᒒጱ5000ᒒ̶ݗᆐֵݸአIP੶ጱIPࣈ࣎ັತፓጱᒒ̶
3̵ਮಁᒒጱᗑᕶ੶ӧአىஞଫአ੶ᘏփᬌ੶ጱӳᥜ҅Ԇᥝ؉ጱฎ᭗ᬦັತ᪠ኧᤒᏟਧই֜کᬡ๐
҅ۓ๗ᳵݢᚆᕪᬦग़ӻ᪠ኧ҅ᬯԶ᮷ฎኧ᪠ኧਠ౮ጱૡ֢҅౯ӧ֢ᬦग़ጱൈᬿ҅෫ᶋ੪ฎ᭗
ᬦັತ᪠ኧᤒ٬ਧ᭗ᬦᮎӻ᪠ஆکᬡ๐̶ۓ
4̵ਮಁᒒጱ᱾᪠੶҅۱᭗ᬦ᱾᪠੶ݎᭆک᪠ኧ҅᭗ᬦᮝັᦓܐತᕳਧIPࣈ࣎ጱMACࣈ࣎҅ᆐݸ
ݎᭆARP᧗ັತፓጱࣈ࣎҅ইຎࢧکଫݸ੪ݢզֵአARPጱ᧗ଫᒼԻഘጱIPහഝ۱ሿࣁ੪ݢզ
փᬌԧ҅ᆐݎݸᭆIPහഝ۱کᬡ๐ۓጱࣈ̶࣎
HTTP1.0HTTP1.1ጱڦ܄
1̵HTTP 1.1ඪ೮ᳩᬳളҁPersistentConnection҂᧗ጱၞᕚҁPipelining҂॒ቘ
ࣁ1.0ጱտᦾොୗғ
1. ୌᒈᬳള
2. ᧗ڊݎ௳מ
3. ࢧᭆߥଫ௳מ
4. ىധᬳള
HTTP 1.1ጱ೮ᖅᬳള҅Ԟᵱᥝीےෛጱ᧗१ଆۗਫሿֺ҅ই҅Connection᧗१ጱ꧊ԅKeep-
Alive҅ਮಁᒒ᭗Ꭳ๐ۓᬬࢧེ᧗ᕮຎכݸ೮ᬳളҔConnection᧗१ጱ꧊ԅclose҅ਮ
ಁᒒ᭗Ꭳ๐ۓᬬࢧེ᧗ᕮຎىݸᳮᬳള̶HTTP 1.1ᬮ׀ԧӨղᦊᦤ̵ᇫாᓕቘCacheᖨ
ਂᒵګፘىጱ᧗१ߥଫ१̶
2.HTTP 1.1ीےhostਁྦྷ
ࣁHTTP1.0Ӿᦊԅྯݣ๐ۓ᮷ᕬਧӞӻࠔӞጱIPࣈ࣎҅ࢩྌ҅᧗ၾ௳ӾጱURLଚဌํփ᭓Ԇݷ
ҁhostname҂̶֕ᵋ፳ᡦԆದጱࣁ҅ݎӞݣᇔቘ๐ۓӤݢզਂࣁग़ӻᡦԆҁMulti-
homed Web Servers҂҅ଚӬਙժوՁӞӻIPࣈ̶࣎
HTTP1.1ጱ᧗ၾ௳ߥଫၾ௳᮷ଫඪ೮Host१ऒ҅Ӭ᧗ၾ௳ӾইຎဌํHost१ऒտಸޞӞӻᲙ
ҁ400 Bad Request҂̶ྌक़҅๐ۓଫᧆളݑզᕷ᪠ஆຽᦕጱᩒრ᧗̶
3̵100(Continue) Status(ᜓᕅଃ਼)
SessionCookieጱڦ܄
ookie session ጱڦ܄ғ
1̵cookieහഝਂනࣁਮಁጱၨᥦӤ҅sessionහഝනࣁ๐ۓӤ̶
2̵cookieӧฎஉਞڦ҅قՈݢզړຉਂනࣁࣈጱCOOKIEଚᬰᤈCOOKIEྂḼ ᘍᡤکਞقଫ୮ֵአ
session̶
3̵sessionտࣁӞਧᳵٖࣁਂכ๐ۓӤ̶୮ᦢᳯीग़҅տྲܛአ֦๐ۓጱᚆ ᘍᡤٺک๐
ۓᚆොᶎ҅ଫ୮ֵአCOOKIE̶
4̵ܔӻcookieਂכጱහഝӧᚆ᩻ᬦ4K҅உग़ၨᥦ᮷ᴴګӞӻᒊᅩ๋ग़ਂכ20ӻcookie̶
5̵ಅզӻՈୌᦓғ ਖ਼ጭᴭ௳מᒵ᯿ᥝਂ௳מනԅSESSION ٌ՜௳מইຎᵱᥝכኸ҅ݢզනࣁ
COOKIEӾ
PostGetጱڦ܄
GETࣁၨᥦࢧᭅฎ෫ਸ਼ጱ҅ᘒPOSTտེٚԻ᧗̶
GETԾኞጱURLࣈ࣎ݢզᤩBookmark҅ᘒPOSTӧݢզ̶
GET᧗տᤩၨᥦԆۖcache҅ᘒPOSTӧտ҅ᴻᶋಋۖᦡᗝ̶
GET᧗ݝᚆᬰᤈurlᖫᎱ҅ᘒPOSTඪ೮ग़ᐿᖫᎱොୗ̶
GET᧗݇හտᤩਠෆכኸࣁၨᥦܲᦕݥ୯᯾҅ᘒPOSTӾጱ݇හӧտᤩכኸ̶
GET᧗ࣁURLӾփᭆጱ݇හฎํᳩଶᴴګጱ҅ᘒPOSTԍํ̶
݇හጱහഝᔄࣳ҅GETݝളݑASCIIਁᒧ҅ᘒPOSTဌํᴴ̶ګ
GETྲPOSTๅӧਞࢩ҅قԅ݇හፗളูᶂࣁURLӤ҅ಅզӧᚆአփ᭓භఽ̶௳מ
GET݇හ᭗ᬦURLփ᭓҅POSTනࣁRequest bodyӾ̶
HTTP2.0ෛᇙ
1.ֵአग़᪠॔አದ(Multiplexing),ग़᪠॔አ꧋ᦜݶ᭗ᬦܔӞጱ HTTP/2 ᬳളݎ᩸ग़᯿ጱ᧗-ߥଫ
ၾ௳̶
2.HTTP/2ෛीḒ᮱ܴᖽҁHeader Compression҂:አHPACKᓒဩ
3.HTTP/2ෛी๐ۓᒒവᭆҁHeader Compression҂
SYNධڋ
TCP SYNာၒݎኞࣁOSIᒫࢥ੶҅ᬯᐿොୗڥአTCPᦓܐጱᇙ҅੪ฎӣེൎಋ̶ධڋᘏݎᭆTCP
SYN҅SYNฎTCPӣེൎಋӾጱᒫӞӻහഝ۱҅ᘒ୮๐ۓᬬࢧACKᧆ҅ݸධڋᘏ੪ӧٌᬰᤈٚᏟ
ᦊ҅ᮎᬯӻTCPᬳള੪॒ԭ೯᩸ᇫா҅Ԟ੪ฎಅ᧲ጱᬳളᇫா҅๐ۓතӧکٚᏟᦊጱᦾ҅ᬮտ᯿
॔ݎᭆACKᕳධڋᘏ̶ᬯๅےտၵᩇ๐ۓጱᩒრ̶ධڋᘏ੪๐ݎۓᭆᶋଉय़ᰁጱᬯᐿTCPᬳ
ള҅ኧԭྯӞӻ᮷ဌဩਠ౮ӣེൎಋ҅ಅզࣁ๐ۓӤ҅ᬯԶTCPᬳളտࢩԅ೯᩸ᇫாᘒၾᘙCPU
ٖਂ๋҅ݸ๐ݢۓᚆྒ҅੪෫ဩԅྋଉአಁ׀๐ۓԧ̶
TCPጱၞᰁഴګलഴګ
TCPጱၞᰁഴګ
1. ڥአჶۖᑻݗਫሿၞᰁഴګ
ইຎݎᭆොහഝݎᭆᬦள҅ളතොݢᚆտӧ݊ളත҅ᬯ੪տ᭜౮හഝጱӶ०̶ಅ᧲ၞᰁഴګ੪
ฎᦏݎᭆොጱݎᭆ᭛ሲӧᥝॡள҅ᥝᦏളතො݊ളත̶
ڥአჶۖᑻݗݢګզஉොࣁࣈTCPᬳളӤਫሿݎᭆොጱၞᰁഴ̶ګ
TCPԅྯӞӻᬳളᦡํӞӻ೮ᖅᦇ(persistence timer)̶ݝᥝTCPᬳളጱӞොතکොጱᵭᑻݗ
᭗Ꭳ҅੪ۖސ೮ᖅᦇ̶ᝑ೮ᖅᦇᦡᗝጱᳵک๗҅੪ݎᭆӞӻᵭᑻݗഴၥಸྦྷҁ൭1ਁᜓ
ጱහഝ҂҅ᮎԍතکᬯӻಸྦྷጱӞො੪᯿ෛᦡᗝ೮ᖅᦇ̶
2. ᶳᘍᡤփᬌ᭛ሲ
Nagleᓒဩғᝑݎᭆଫአᬰᑕᥝݎᭆጱහഝ᭑ӻਁᜓࣈᭆکTCPጱݎᭆᖨਂ҅ݎڞᭆො੪ᒫӞӻ
හഝਁᜓݎضᭆ݄҅ڊݸᶎکᬡጱහഝਁᜓ᮷ᖨਂ̶᩸୮ݎᭆොളතᒫӞӻහഝਁᒧጱᏟᦊ
҅ݸٚݎᭆᖨਂӾጱಅํහഝᕟᤰ౮Ӟӻಸྦྷٚݎᭆݶ݄҅ڊᖀᖅᵋکݸᬡጱහഝᬰᤈᖨ
ਂ̶ࣁํݝතکڹӞӻಸྦྷጱᏟᦊݸᖀᖅݎᭆӥӞӻಸྦྷ̶୮හഝکᬡளᘒᗑᕶ᭛ሲౌ
҅አᬯጱොဩݢกดࣈٺಅአጱᗑᕶଃ̶਼Nagleᓒဩᬮᥢਧғ୮کᬡጱහഝ૪ᬡݎ کᭆᑻݗ
य़ੜጱӞ૪ᬡکಸྦྷጱ๋य़ᳩଶ҅੪ᒈݎܨᭆӞӻಸྦྷ̶
҅ݚჶۖᑻݗᖓᦤݳғTCPളතොጱᖨਂ૪ჿ҅ᘒԻୗጱଫአᬰᑕӞེݝളතᖨਂӾݐ1ਁᜓ
ҁᬯ੪ֵളතᖨਂᑮᳵՐᚸڊ1ਁᜓ҂҅ᆐݎݻݸᭆොݎᭆᏟᦊ҅ଚᑻᦡݗᗝԅ1ӻਁᜓҁ֕ݎᭆ
ጱහഝಸԅ40ਁᜓጱጱᦾ҂̶ളත҅ݎᭆො݈ݎ1ӻਁᜓጱහഝҁݎᭆොጱIPහഝಸฎ41ਁᜓ҂̶
ളතොࢧݎᏟᦊ҅Ֆᆐਖ਼ᑻᦡݗᗝԅ1ӻਁᜓ̶ᬯ҅ᗑᕶጱපሲஉ̶֗ᥝᥴ٬ᬯӻᳯ᷌҅ᦏݢളත
ොᒵஇӞྦྷᳵֵ҅ᘏളතᖨਂ૪ํ᪃ड़ᑮᳵᕑӞӻ๋ᳩጱಸྦྷ҅ᘏᒵکളතොᖨਂ૪ํ
Ӟᑮᳳጱᑮᳵ̶ݝᥝڊሿᬯӷᐿఘ҅٭ളතො੪ࢧݎᏟᦊಸ҅ଚݎݻᭆො᭗Ꭳ୮ڹጱᑻݗय़ੜ̶
ྌक़҅ݎᭆොԞӧᥝݎᭆॡੜጱಸྦྷ҅ᘒฎහഝಸᑌᔴ౮᪃ड़य़ጱಸྦྷ҅ᬡکളතොᖨਂጱ
ᑮᳵጱӞय़ੜ̶
4ེഀಋӾ҅ࣁՋԍఘ٭ӥտڊሿय़ᰁጱclose_waitᇫாޫҘ
๋ᬪၥᦶሾहserverኧԭᵱᥝӨय़ᰁጱݣݸserverԻ҅Քॠᑱᆐݎሿํय़ᰁጱclose_waitԾኞ҅ԭ
ฎ՚ᕡᎸᑪԧӞӥғ
ইຎ౯ժጱ๐ۓᑕଧ॒ԭCLOSE_WAITᇫாጱᦾ҅᧔กॺളਁฎᤩۖىᳮጱѺ
ࢩԅইຎฎCLIENTᒒԆۖෙധ୮ڹᬳളጱᦾ҅ᮎԍොىᳮᬯӻTCPᬳളوᵱᥝࢥӻpacketғ
ᬯײClientᒒ॒ԭFIN_WAIT_2ᇫாҔᘒServer ᑕଧ॒ԭCLOSE_WAITᇫா̶
Server ᑕଧ॒ԭCLOSE_WAITᇫா҅ᘒӧฎLAST_ACKᇫா҅᧔กᬮဌํݎFINᕳClient҅ᮎԍݢᚆฎ
ࣁىᳮᬳളԏڹᬮํᦜग़හഝᥝݎᭆᘏٌ՜Ԫᥝ؉҅ ᛘဌํݎᬯӻFIN packet̶
᭗ଉ᧔҅ӞӻCLOSE_WAITտᖌ೮ᛗ2ӻੜጱᳵҁᬯӻᳵक़ᗑ๐ۓ᭗ଉտ؉᧣ෆ҅ᥝӧᆐ
ॡܧᴾԧ҂̶ ইຎํӻၞ࿇ᇙࣈٟԧӻᑕଧ҅ᕳ֦᭜౮ӞञጱCLOSE_WAIT҅ၾᘙ֦ጱᩒრ҅ᮎԍ
᭗ଉฎᒵӧک᯽නᮎӞ҅ڰᔮᕹ੪૪ᕪᥴ٬ૄმԧ̶ ݝᚆ᭗ᬦץදӞӥTCP/IPጱ݇හ҅ᖽᎨᬯӻ
ᳵғץදtcp_keepalive_*ᔮ݇ڜහํۗԭᥴ٬ᬯӻᳯ̶᷌