TCP 3-Way Handshake (SYN, SYN-ACK,ACK)
โก ะ ะพะทัะผะฝะธะน ะฟัะดััะผะพะบ
ะขัะธััะพัะพะฝะฝั ััะบะพััะธัะบะฐะฝะฝั TCP โ ัะต ัะธััะฐะป ะฒััะฐะฝะพะฒะปะตะฝะฝั ะท'ัะดะฝะฐะฝะฝั, ะท ัะบะพะณะพ ะฟะพัะธะฝะฐััััั ะบะพะถะตะฝ TCP-ัะตะฐะฝั. ะะปััะฝั ั ัะตัะฒะตั ะพะฑะผัะฝัััััั ะฟะฐะบะตัะฐะผะธ SYN, SYN-ACK ัะฐ ACK ะดะปั ัะธะฝั ัะพะฝัะทะฐััั ะฟะพััะดะบะพะฒะธั ะฝะพะผะตััะฒ ัะฐ ะฟัะดัะฒะตัะดะถะตะฝะฝั ะณะพัะพะฒะฝะพััั ะพะฑะพั ััะพััะฝ, ะฟะตัั ะฝัะถ ะฑัะดะต ะฝะฐะดััะปะฐะฝะพ ะพะดะธะฝ ะฑะฐะนั ะดะฐะฝะธั ะฟัะพะณัะฐะผะธ.

ะฉะพ ัะฐะบะต ััะธััะพัะพะฝะฝั ััะบะพััะธัะบะฐะฝะฝั TCP?
ะะพะผะฐะฝะดะฐ ะขัะธััะพัะพะฝะฝั ััะบะพััะธัะบะฐะฝะฝั TCP ัะต ะฟัะพัะตะดััะฐ, ัะบั ะฒะธะบะพัะธััะพะฒัััั ะบะปััะฝั ั ัะตัะฒะตั ะฝะฐ ะะตัะตะถะฐ TCP/IP ะฒััะฐะฝะพะฒะธัะธ ะฝะฐะดัะนะฝะต ะทโัะดะฝะฐะฝะฝั ะฟะตัะตะด ะพะฑะผัะฝะพะผ ะฑัะดั-ัะบะธะผะธ ะดะฐะฝะธะผะธ ะฟัะพะณัะฐะผะธ. ะฏะบ ะฒะธะฟะปะธะฒะฐั ะท ะฝะฐะทะฒะธ, ัะต ัะบะปะฐะดะฐััััั ะท ัััะพั ะบัะพะบัะฒ, ะฝะฐ ัะบะธั ะพะฑะธะดะฒั ััะพัะพะฝะธ ะพะฑะผัะฝัััััั ะฟะฐะบะตัะฐะผะธ ัะธะฝั ัะพะฝัะทะฐััั (SYN) ัะฐ ะฟัะดัะฒะตัะดะถะตะฝะฝั (ACK) ั ัะทะณะพะดะถัััั ะฟะพัะฐัะบะพะฒั ะฟะพััะดะบะพะฒั ะฝะพะผะตัะธ, ัะบั ะฒะพะฝะธ ะฒะธะบะพัะธััะพะฒัะฒะฐัะธะผััั.
ะ ัะบะพััะธัะบะฐะฝะฝั ัะพะทัะพะฑะปะตะฝะพ ัะฐะบะธะผ ัะธะฝะพะผ, ัะพะฑ ะพะฑะธะดะฒั ะบัะฝัะตะฒั ัะพัะบะธ ะผะพะณะปะธ ัะธะผะตััะธัะฝะพ ัะฝััััะฒะฐัะธ, ัะทะณะพะดะถัะฒะฐัะธ ัะฐ ัะพะทัะธะฒะฐัะธ TCP-ัะพะบะตัะธ. ะััะปั ะทะฐะฒะตััะตะฝะฝั ััะบะพััะธัะบะฐะฝะฝั ะท'ัะดะฝะฐะฝะฝั ััะฐั ะฟะพะฒะฝะพะดัะฟะปะตะบัะฝะธะผ โ ะพะฑะธะดะฒั ััะพัะพะฝะธ ะผะพะถััั ะฝะฐะดัะธะปะฐัะธ ัะฐ ะพััะธะผัะฒะฐัะธ ะดะฐะฝั ะฟะฐัะฐะปะตะปัะฝะพ, ะดะพะบะธ ะพะดะฝะฐ ะท ะฝะธั ะฝะต ะฒะธะดะฐััั ะบะพะผะฐะฝะดั FIN ะดะปั ะทะฐะบัะธััั ัะตะฐะฝัั.
ะขะธะฟะธ TCP-ะฟะพะฒัะดะพะผะปะตะฝั
ะงะพัะธัะธ ะบะพะฝััะพะปัะฝั ะฟัะฐะฟะพััั ะท'ัะฒะปัััััั ะฝะตะพะดะฝะพัะฐะทะพะฒะพ ะฟัะด ัะฐั ััะบะพััะธัะบะฐะฝะฝั ัะฐ ัะพะทัะธะฒั.
| ะะพะฒัะดะพะผะปะตะฝะฝั | ะะฟะธั |
|---|---|
| SYN | ะะฝััััั ะท'ัะดะฝะฐะฝะฝั ัะฐ ัะธะฝั ัะพะฝัะทัั ะฟะพััะดะบะพะฒั ะฝะพะผะตัะธ ะผัะถ ะฟัะธัััะพัะผะธ. |
| ACK | ะัะดัะฒะตัะดะถัั ัะฝััะน ััะพัะพะฝั ะพััะธะผะฐะฝะฝั ะฟะพะฟะตัะตะดะฝัะพะณะพ ัะตะณะผะตะฝัะฐ. |
| SYN-ACK | ะะพะผะฑัะฝะพะฒะฐะฝะต ะฟะพะฒัะดะพะผะปะตะฝะฝั โ SYN ะฒัะด ะปะพะบะฐะปัะฝะพะณะพ ะฟัะธัััะพั ะฟะปัั ACK ะฟะพะฟะตัะตะดะฝัะพะณะพ SYN ะฒัะทะปะฐ. |
| FIN | ะะธะบะพัะธััะพะฒัััััั ะดะปั ะบะพัะตะบัะฝะพะณะพ ะทะฐะฒะตััะตะฝะฝั ะท'ัะดะฝะฐะฝะฝั. |
ะัะพัะตั ััะธััะพัะพะฝะฝัะพะณะพ ััะบะพััะธัะบะฐะฝะฝั TCP
TCP-ััะฐััะบ ะทะฐะฒะถะดะธ ะฟะพัะธะฝะฐััััั ะท ััะธััะพัะพะฝะฝัะพะณะพ ััะบะพััะธัะบะฐะฝะฝั. ะะปััะฝั ัะฝััััั ัะพะทะผะพะฒั, ะทะฐะฟะธััััะธ ัะตะฐะฝั ัะท ัะตัะฒะตัะพะผ.
ะัะฐะณัะฐะผะฐ ััะธััะพัะพะฝะฝัะพะณะพ ััะบะพััะธัะบะฐะฝะฝั.
- ะัะพะบ 1 โ SYN: ะะปััะฝั ะฝะฐะดัะธะปะฐั ัะตะณะผะตะฝั ัะท ะฒััะฐะฝะพะฒะปะตะฝะธะผ ะฟัะฐะฟะพััะตะผ SYN. โโะัะฝ ะฟะพะฒัะดะพะผะปัั ัะตัะฒะตัั: ยซะฏ ั ะพัั ัะพะทะฟะพัะฐัะธ ะทะฒ'ัะทะพะบยป ัะฐ ะฟัะพะฟะพะฝัั ะฟะพัะฐัะบะพะฒะธะน ะฟะพััะดะบะพะฒะธะน ะฝะพะผะตั.
- ะัะพะบ 2 โ SYN-ACK: ะกะตัะฒะตั ะฒัะดะฟะพะฒัะดะฐั ัะตะณะผะตะฝัะพะผ, ั ัะบะพะผั ะฒััะฐะฝะพะฒะปะตะฝะพ ะฟัะฐะฟะพััั SYN ัะฐ ACK. ACK ะฟัะดัะฒะตัะดะถัั SYN ะบะปััะฝัะฐ, ะฐ SYN ะฟัะพะฟะพะฝัั ะฒะปะฐัะฝะธะน ะฟะพัะฐัะบะพะฒะธะน ะฟะพััะดะบะพะฒะธะน ะฝะพะผะตั ัะตัะฒะตัะฐ.
- ะัะพะบ 3 โ ะะะะขะะะ ะะะะะะฏ: ะะปััะฝั ะฟัะดัะฒะตัะดะถัั SYN-ACK ัะตัะฒะตัะฐ ะพััะฐัะพัะฝะธะผ ะฟัะดัะฒะตัะดะถะตะฝะฝัะผ. ะ'ัะดะฝะฐะฝะฝั ัะตะฟะตั ะฒััะฐะฝะพะฒะปะตะฝะพ, ั ะพะฑะธะดะฒั ััะพัะพะฝะธ ะผะพะถััั ัะพะทะฟะพัะฐัะธ transmitะดะฐะฝั ะฟัะพะณัะฐะผะธ.
ะ ะตะฐะปัะฝะธะน ะฟัะธะบะปะฐะด
ะัั ัะพะทะฒ'ัะทะฐะฝะธะน ะฟัะธะบะปะฐะด ะท ะบะพะฝะบัะตัะฝะธะผะธ ะฟะพััะดะบะพะฒะธะผะธ ะฝะพะผะตัะฐะผะธ.
- ะฅะพัั X ัะพะทะฟะพัะธะฝะฐั ะท'ัะดะฝะฐะฝะฝั, ะฝะฐะดัะธะปะฐััะธ TCP SYN-ะฟะฐะบะตั ะฝะฐ ัะตัะฒะตั. ะะฐะบะตั ะผัััะธัั ะฒะธะฟะฐะดะบะพะฒะธะน ะฟะพัะฐัะบะพะฒะธะน ะฟะพััะดะบะพะฒะธะน ะฝะพะผะตั, ะฝะฐะฟัะธะบะปะฐะด,
4321โ ัะพ ะฟะพะทะฝะฐัะฐั ะฟะพัะฐัะพะบ ะฟะพัะพะบั ะฑะฐะนััะฒ, ัะบะธะน ะฝะฐะดัะธะปะฐัะธะผะต ั ะพัั X. - ะกะตัะฒะตั ะพััะธะผัั SYN ัะฐ ะฒัะดะฟะพะฒัะดะฐั SYN-ACK. ะะพะผะตั ACK โ ัะต ะฟะพััะดะบะพะฒะธะน ะฝะพะผะตั ั
ะพััะฐ X, ะทะฑัะปััะตะฝะธะน ะฝะฐ 1 (
4322), ะฐ SYN ะฟัะพะฟะพะฝัั ะฒะปะฐัะฝะธะน ะฟะพัะฐัะบะพะฒะธะน ะฟะพััะดะบะพะฒะธะน ะฝะพะผะตั ัะตัะฒะตัะฐ. - ะฅะพัั X ะฒัะดะฟะพะฒัะดะฐั ะพััะฐัะพัะฝะธะผ ะฟัะดัะฒะตัะดะถะตะฝะฝัะผ (ACK), ะฝะพะผะตั ะฟัะดัะฒะตัะดะถะตะฝะฝั ัะบะพะณะพ ะดะพััะฒะฝัั ะฟะพััะดะบะพะฒะพะผั ะฝะพะผะตัั ัะตัะฒะตัะฐ, ะทะฑัะปััะตะฝะพะผั ะฝะฐ 1.
ะััะปั ะทะฐะฒะตััะตะฝะฝั ะพะฑะผัะฝั ะดะฐะฝะธะผะธ TCP ัะพะทัะธะฒะฐั ะท'ัะดะฝะฐะฝะฝั ะทะฐ ะดะพะฟะพะผะพะณะพั ัะพัะธัะธััะพัะพะฝะฝัะพั ะฟะพัะปัะดะพะฒะฝะพััั FIN/ACK, ัะพะฑ ะพะฑะธะดะฒั ะบัะฝัะตะฒั ัะพัะบะธ ะผะพะณะปะธ ะบะพัะตะบัะฝะพ ะทะฒัะปัะฝะธัะธ ัะพะบะตั.
ะงะพะผั TCP ะฟะพัััะฑะฝะต ััะธััะพัะพะฝะฝั ััะบะพััะธัะบะฐะฝะฝั
ะ ัะบะพััะธัะบะฐะฝะฝั โ ัะต ะฝะต ะฟัะพััะพ ัะพัะผะฐะปัะฝัััั, ะฒะพะฝะพ ะฒะธััััั ััะธ ะบะพะฝะบัะตัะฝั ะฟัะพะฑะปะตะผะธ, ะฟะพะฒ'ัะทะฐะฝั ะท ะฝะฐะดัะนะฝะธะผ ััะฐะฝัะฟะพัััะฒะฐะฝะฝัะผ ะฑะฐะนัะพะฒะพะณะพ ะฟะพัะพะบั:
- ะกะธะฝั ัะพะฝัะทะฐััั ะฟะพััะดะบะพะฒะธั ะฝะพะผะตััะฒ: ะพะฑะธะดะฒะฐ ะฒัะทะปะธ ะดัะทะฝะฐััััั ะฟะพัะฐัะบะพะฒะธะน ะฟะพััะดะบะพะฒะธะน ะฝะพะผะตั ัะฝัะพั ััะพัะพะฝะธ, ัะบะธะน TCP ะฒะธะบะพัะธััะพะฒัั ะดะปั ะฒะธัะฒะปะตะฝะฝั ะฒััะฐัะตะฝะธั ะฐะฑะพ ะฝะตะฒะฟะพััะดะบะพะฒะฐะฝะธั ัะตะณะผะตะฝััะฒ.
- ะฃะณะพะดะฐ ะฟัะพ ััะฐะฝ ะฟัะดะบะปััะตะฝะฝั: ะขัะตัั ะฟัะดัะฒะตัะดะถะตะฝะฝั (ACK) ะฟัะดัะฒะตัะดะถัั ะพััะธะผะฐะฝะฝั SYN-ACK ัะตัะฒะตัะฐ, ัะพะผั ะถะพะดะฝะฐ ะทั ััะพััะฝ ะฝะต ะฟะพัะธะฝะฐั ะฝะฐะดัะธะปะฐัะธ ะดะฐะฝั, ะดะพะบะธ ะพะฑะธะดะฒั ะฝะต ะพััะธะผะฐััั ะะกะขะะะะะะะะ ััะฐะฝ.
- ะะฐั ะธัั ะฒัะด ะดัะฑะปัะบะฐััะฒ ะฟะฐะบะตััะฒ: ะะธะฟะฐะดะบะพะฒั ะฟะพัะฐัะบะพะฒั ะฟะพััะดะบะพะฒั ะฝะพะผะตัะธ ัะฐ ัะฐัะพะฒั ััะฐะฝะธ ััะบะพััะธัะบะฐะฝะฝั ะทะฐะฟะพะฑัะณะฐััั ะฟะพะผะธะปะบะพะฒะพะผั ะฟัะธะนะฝัััั ะทะฐััะฐััะปะธั ัะตะณะผะตะฝััะฒ ะท ะฟะพะฟะตัะตะดะฝัะพะณะพ ัะตะฐะฝัั.
ะะพัะธัะตะฝั ะฟัะพะฑะปะตะผะธ ะท TCP-ะฟัะดัะฒะตัะดะถะตะฝะฝัะผ
ะ ัะบะพััะธัะบะฐะฝะฝั ั ะฝะฐะดัะนะฝะธะผ, ะฐะปะต ะฒะพะฝะพ ะผะพะถะต ะฟะพััััะฒะฐัะธัั ััะทะฝะธะผะธ ัะฟะพัะพะฑะฐะผะธ. ะะตัะตะถะตะฒั ัะฝะถะตะฝะตัะธ ะทะฐะทะฒะธัะฐะน ะฑะฐัะฐัั ะพะดะฝะต ะท ะฝะฐัััะฟะฝะพะณะพ:
- SYN-ะฐัะฐะบะธ ะท ะฟะตัะตะฒะฐะฝัะฐะถะตะฝะฝัะผ: ะะปะพะฒะผะธัะฝะธะน ะบะปััะฝั ะฝะฐะดัะธะปะฐั ัะธัััั SYN-ะฟะพะฒัะดะพะผะปะตะฝั, ะฝะต ะฒัะดะฟะพะฒัะดะฐััะธ ะฝะฐ SYN-ACK-ะฟะพะฒัะดะพะผะปะตะฝะฝั, ะฒะธัะตัะฟัััะธ ัะฐะฑะปะธัั ะฟัะดะบะปััะตะฝั ัะตัะฒะตัะฐ. SYN-ัะฐะนะปะธ cookie ั ััะฐะฝะดะฐััะฝะธะผ ะทะฐั ะธััะพะผ.
- ะะฐะฟัะฒะฒัะดะบัะธัั ะท'ัะดะฝะฐะฝะฝั: ะะพะปะธ ััะตัั ะฟัะดัะฒะตัะดะถะตะฝะฝั (ACK) ะฒััะฐัะฐััััั, ะท'ัะดะฝะฐะฝะฝั ะทะฐะปะธัะฐััััั ะฝะฐะฟัะฒะฒัะดะบัะธัะธะผ ั ะทัะตััะพั ะพัะธััััััั ัะตัะตะท ัะฐะนะผ-ะฐัั.
- ะะฝะธะถะตะฝะฝั ะฑัะฐะฝะดะผะฐัะตัะฐ ะฐะฑะพ NAT ะฟัะด ัะฐั ัะพะฑะพัะธ: ะัะพะผัะถะฝั ะฑะปะพะบะธ ะท ััะฝะบัััั ะทะฑะตัะตะถะตะฝะฝั ััะฐะฝั, ัะบั ะฒััะฐัะฐััั ััะฐะฝ, ะผะพะถััั ัะบะธะดะฐัะธ ะฟะฐะบะตัะธ SYN-ACK ั ะทะผัััะฒะฐัะธ ะบะปััะฝัะฐ ะฟะพะฒัะพััะฒะฐัะธ ัะฟัะพะฑั.
- ะกะบะธะดะฐะฝะฝั RST: ะฏะบัะพ ัะตัะฒะตั ะฝะต ะฟัะพัะปัั ะพะฒัั ะทะฐะฟะธััะฒะฐะฝะธะน ะฟะพัั, ะฒัะฝ ะฒัะดะฟะพะฒัะดะฐั SYN ะทะฐะฟะธัะพะผ RST, ัะพ ะฝะตะณะฐะนะฝะพ ะทะฐะฒะตัััั ัะฟัะพะฑั.


