Skip to content

Latest commit

Β 

History

History
47 lines (27 loc) Β· 2.41 KB

TCP handshake.md

File metadata and controls

47 lines (27 loc) Β· 2.41 KB

TCP handshake

  • TCP Handshake

    • TCP(μ „μ†‘μ œμ–΄ν”„λ‘œν† μ½œ) / IP(인터넷 ν”„λ‘œν† μ½œ)

    • ACK : acknowledgment

    • SYN : syschronize sequence number

    • 3-way Handshake

      연결을 μ‹œμž‘ν•˜λŠ” 경우 μ‚¬μš©ν•˜λŠ” 톡신 방법

      Untitled

      μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈκ°€ μƒν˜Έ μ—°κ²°λ˜μ–΄, 데이터 전솑할 μ€€λΉ„κ°€ λ˜μ—ˆλŠ”μ§€λ₯Ό 3번의 ν†΅μ‹ μœΌλ‘œ 확인 ν•˜λŠ” 것.

      1. ν΄λΌμ΄μ–ΈνŠΈ β†’ μ„œλ²„ ) 접속을 μš”μ²­ν•˜λŠ” μ˜λ―Έμ—μ„œ νŒ¨ν‚·μ— SYN(ISN)을 λ‹΄μ•„ 보낸닀.
      2. μ„œλ²„ β†’ ν΄λΌμ΄μ–ΈνŠΈ ) 방금 보낸 νŒ¨ν‚·μ΄ 잘 λ„μ°©ν–ˆκ³ (ACK), μš”μ²­μ„ μˆ˜λ½ν•œλ‹€λŠ” 의미(SYN)둜 νŒ¨ν‚·μ„ 보낸닀.
      3. ν΄λΌμ΄μ–ΈνŠΈ β†’ μ„œλ²„ ) μ„œλ²„κ°€ 톡신을 ν—ˆλ½ν–ˆμŒμ„ ν™•μΈν•˜κ³ , ν•΄λ‹Ή λ‚΄μš©μ„ ν™•μΈν–ˆλ‹€λŠ” 의미(ACK) 둜 νŒ¨ν‚·μ„ μ„œλ²„λ‘œ λ‹€μ‹œ 보낸닀.
    • 4-way Handshake

      μ—°κ²°, 접속을 μ’…λ£Œν•˜κ³  λŠμ„ λ•Œ μ‚¬μš©ν•˜λŠ” 톡신 방법

      Untitled

      1. ν΄λΌμ΄μ–ΈνŠΈ β†’ μ„œλ²„ ) 연결을 μ’…λ£Œν•˜κ³ μž ν•œλ‹€λŠ” 것을 μ•Œλ¦°λ‹€(FIN)
      2. μ„œλ²„ β†’ ν΄λΌμ΄μ–ΈνŠΈ ) μ•Œκ² λ‹€κ³  μ‘λ‹΅ν•œλ‹€(ACK)
        1. 이후 μ„œλ²„μ—μ„œλŠ” 일정 μ‹œκ°„ νƒ€μž„μ•„μ›ƒμ„ 두고 ν˜Ήμ—¬ μ „μ†‘λ˜μ§€ μ•Šμ€ 데이터λ₯Ό λ§ˆμ € 보낼 μ‹œκ°„μ„ λ‘”λ‹€.
      3. μ„œλ²„ β†’ ν΄λΌμ΄μ–ΈνŠΈ ) 더 이상 전달할 데이터가 μ—†μœΌλ‹ˆ, μ„œλ²„λ„ 톡신을 λŠκ² λ‹€κ³  ν•œλ‹€(FIN)
      4. ν΄λΌμ΄μ–ΈνŠΈ β†’ μ„œλ²„ ) μ•Œκ² λ‹€κ³  ν•œλ‹€(ACK)
        1. 이 이후에도 λ°”λ‘œ μ†ŒμΌ“μ„ μ§€μ›Œλ²„λ¦¬λŠ” 것이 μ•„λ‹ˆλΌ, 남은 데이터가 μžˆκ±°λ‚˜ λ°”λ‘œ μž¬μ—°κ²° 될 κ°€λŠ₯성이 μžˆκΈ°λ•Œλ¬Έμ— μ‚­μ œν•˜μ§€ μ•Šκ³  쑰금 μ‹œκ°„μ„ λ‘”λ‹€.
        2. 일정 μ‹œκ°„ 후에 νŒ¨ν‚·μ΄ 더 이상 올 κ°€λŠ₯성이 μ—†μœΌλ©΄ μ†ŒμΌ“μ„ μ œκ±°ν•œλ‹€.
    • λžœλ€ν•œ SYN값을 λ³΄λ‚΄λŠ” 이유?

      • ISN이 항상 같은 κ°’(0κ³Ό 같은) 으둜 μ‹œμž‘ν•œλ‹€λ©΄ μ•…μ˜μ μœΌλ‘œ νŒ¨ν‚·μ„ ν›”μΉ  수 있고, 그것이 μ—°κ²°μ˜ μ‹œμž‘μ΄λΌλŠ”κ±Έ μ•Œμˆ˜ μžˆμ–΄μ„œ μœ„ν—˜
      • 접속할 λ•Œ ν¬νŠΈλ²ˆν˜Έκ°€ μœ ν•œν•˜κ³ , μž¬μ‚¬μš© λœλ‹€. κ·Έλž˜μ„œ 이전에 μ‚¬μš©ν•œ 포트쌍이 μ‘΄μž¬ν•˜λŠ”λ°, λ‚œμˆ˜κ°€ μ•„λ‹Œ 순차적인 λ²ˆν˜Έκ°€ μ „μ†‘λœλ‹€λ©΄, 이전 μ—°κ²°μ—μ„œ μ˜€λŠ” νŒ¨ν‚·μœΌλ‘œ 인식할 수 μžˆλ‹€.

[ μ°Έκ³  사항 ]