window size ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์€, ์‚ฌ์‹ค์ƒ ์†๋„๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ๊ณผ ๋ฆฌ์‹œ๋ฒ„ ๋ฒ„ํผ์˜ ๊ฐ’์— ๋Œ€ํ•ด์„œ ์ด ๋‘๊ฐœ์˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด์„œ ์ตœ์†Œ๊ฐ’์„ window size ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.


์–ด๋–ป๊ฒŒ network condition ์— ๋”ฐ๋ผ์„œ ์–ด๋– ํ•œ ๋ฐฉ์‹์œผ๋กœ ์กฐ์ ˆํ•˜๋Š”๊ฐ€์— ๋”ฐ๋ฅธ Congestion control ์„ ์•Œ๊ธฐ.


  • Congestion control

    • ๋„คํŠธ์›Œํฌ์˜ ํ˜ผ์žก ์—ฌ๋ถ€๋ฅผ ์–ด๋–ป๊ฒŒ ์•Œ ๊ฒƒ์ธ๊ฐ€?

    • ๋ถˆํŠน์ • ๋‹ค์ˆ˜์ด๋ฉฐ ๊ตฐ์ง‘์˜ ํ˜•ํƒœ์ธ๋ฐ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋Š”๊ฐ€?

    • congestion control ์˜ ์›๋ฆฌ

      • ๋„คํŠธ์›Œํฌ ์ปจ์ œ์…˜์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด ๋‘ ๊ฐ€์ง€ ํ˜„์ƒ์ด ๋ฐœ์ƒ

      • 1) ํŒจํ‚ท ์œ ์‹ค

      • 2) ๋”œ๋ ˆ์ด๊ฐ€ ๋ฐœ์ƒ

    • ๋น„ํ˜„์‹ค์ ์ธ ์ƒํ™ฉ 1
      • ๋‘ ์„ผ๋”๊ฐ€ ์กด์žฌ, ๋‘ ๋ฆฌ์‹œ๋ฒ„๊ฐ€ ์กด์žฌ
      • ๋‘ ์„ผ๋”๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก
      • ํ•˜๋‚˜์˜ ๋ผ์šฐํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ๋ฌดํ•œ๋Œ€์˜ ๋ฒ„ํผ, ์ฆ‰ ํ๋ฅผ ์†Œ์œ 
      • ์žฌ ์ „์†ก์€ ์—†๋‹ค
      • ๋Œ€์—ญํญ์€ R ์ด๋‹ค.
      • throughput : ๋‹จ์œ„์‹œ๊ฐ„๋‹น ์–ผ๋งˆ๋งŒํผ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋‹ฌ๋˜๋Š”๊ฐ€, ์ฆ‰ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ํ™•์ธํ•˜์ž.
      • ์•„๋ฌด๋ฆฌ ๋น ๋ฅธ ์†๋„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ , ๋ฌดํ•œ๋Œ€์˜ ํ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ์ฒ˜๋ฆฌ๋Ÿ‰์˜ ๊ฐ’์— ์ˆ˜๋ ดํ•˜๊ฒŒ ๋˜๋ฉด ๋” ์ด์ƒ์˜ ๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ๋ณด๋‚ผ ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.


    • ๋น„ํ˜„์‹ค์ ์ธ ์ƒํ™ฉ 2
      • ํ•˜๋‚˜์˜ ๋ผ์šฐํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ๋ฌดํ•œ๋Œ€์˜ ํ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
      • ์„ผ๋”๋Š” ์œ ์‹ค๋œ ํŒจํ‚ท์„ ์žฌ์ „์†กํ•œ๋‹ค.
      • ํŠน์ • ๋Œ€์—ญํญ๊นŒ์ง€ ์˜ฌ๋ผ๊ฐ„๋‹ค๋ฉด ์ดํ›„์˜ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์€ ๋‚˜์•„์ง€์ง€ ์•Š๋Š”๋‹ค.

    • ์‹ค์ œ ํŠธ๋žœ์ŠคํฌํŠธ ๋ ˆ์ด์–ด์—์„œ๋Š” ํŒจํ‚ท ์œ ์‹ค์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์žฌ์ „์†ก์„ ์‹ค์‹œํ•œ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ณด๋‹ค ๋” ๋งŽ์€ ์–‘์„ ๋ณด๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋กœ ์ธํ•ด congestion ์ด ๋ฐœ์ƒํ•˜๊ณ  ์ด ๊ฒฐ๊ณผ ํŒจํ‚ท ์œ ์‹ค์ด ๋ฐœ์ƒํ•˜๊ณ  ์ฒ˜๋ฆฌ๋Ÿ‰(throughput)์€ ๋‚ฎ์•„์ง€๋Š” ๊ฒƒ์ด๋‹ค. ๊ฒฐ๊ตญ congestion ์œผ๋กœ ์ธํ•ด ์•…์ˆœํ™˜์ด ๋ฐ˜๋ณต๋˜๊ณ  ๋ณธ๋ž˜์˜ ๋ฐ์ดํ„ฐ๋Š” ์ œ๋Œ€๋กœ ๋ณด๋‚ด์ง€ ๋ชปํ•œ๋‹ค.

      ์—ฌ๊ธฐ์„œ network congestion ์—์„œ ํŒจํ‚ท์ด ์œ ์‹ค๋˜์ง€ ์•Š์•˜์Œ์—๋„ ํƒ€์ž„์•„์›ƒ์ด ๋˜๊ณ  ๋˜ ๋‹ค์‹œ ํŒจํ‚ท์„ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฏ€๋กœ congesion ์„ ๋”์šฑ ์•…ํ™”์‹œํ‚จ๋‹ค. 

  • Source ์—์„œ Destination ๊นŒ์ง€ ๋ฌผ์ด ํ๋ฅธ๋‹ค๊ณ  ํ•ด์„œ ์—… ์ŠคํŠธ๋ฆผ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. ๋ฐ˜๋Œ€๋Š” ๋‹ค์šด ์ŠคํŠธ๋ฆผ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. ์—… ์ŠคํŠธ๋ฆผ์—์„œ ์ž์›์ด ์†Œ๋ชจ๋˜๋ฉด ์ดํ›„์—๋Š” 
    • ์—ฌ๊ธฐ์„œ Congestion ๋•Œ๋ฌธ์— re-transmition ์ด ๋ฐœ์ƒ
    • re-transmition ์œผ๋กœ ์ธํ•ด ์˜๋ฏธ์žˆ๊ฒŒ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ ๋Ÿ‰ ๊ฐ์†Œ
    • ์—…์ŠคํŠธ๋ฆผ์—์„œ ์‚ฌ์šฉ๋œ ์ž์›์˜ ๋‚ญ๋น„, ๋‹ค์‹œ Congestion ๋ฐœ์ƒ
        • ์•…์ˆœํ™˜์˜ ๋ฐ˜๋ณต

  • TCP ์˜ ๋™์ž‘์œผ๋กœ ์ธํ•œ congestion
    • ๋ฆฌ์‹œ๋ฒ„ ์ธก์œผ๋กœ ACKs๊ฐ€ ์•ˆ ์˜จ ๊ฒฝ์šฐ, ๋˜ ๋‹ค์‹œ ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค. (์œ ์‹ค์œ ๋ฌด๋ฅผ ๋ชจ๋ฅด๋Š” ์ƒํƒœ) - reliable ์ด์ง€๋งŒ reliable ๋กœ ์ธํ•ด์„œ congestion ์ด ๋”์šฑ ๋” ํฌ๊ฒŒ ๋ฐœ์ƒ๋˜๋Š” ๊ฒฝ์šฐ
    • ์ง€์†์ ์ธ ์žฌ์ „์†ก์œผ๋กœ ์ธํ•ด์„œ reliable ์˜ ํŠน์„ฑ์€ ์ œ๊ณตํ•˜์ง€๋งŒ TCP์˜ ๋™์ž‘์€ congestion ์˜ ์ƒํ™ฉ์€ ์•Œ์ง€ ๋ชปํ•œ๋‹ค.
    • ์˜ˆ์‹œ) ์ฐจ๋„์˜ ๋„๋กœ๊ฐ€ ์ •์ฒด๋˜์–ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋„๋กœ์— ์ฐจ๋“ค์ด ๊ณ„์† ์œ ์ž…๋˜์„œ ์ฐจ๋Ÿ‰์ •์ฒด๋ฅผ ์ผ์œผํ‚ค๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
    • ๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์„ ํŒ๋‹จํ•ด์„œ ํŒจํ‚ท์„ ์ „์†กํ• ์ง€ ๋ง์ง€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.

  • ๋„คํŠธ์›Œํฌ์˜ ์ƒํ™ฉ์€ ์–ด๋–ป๊ฒŒ ํŒ๋‹จํ•  ๊ฒƒ์ธ๊ฐ€? (TCP congestion control)
    • ํ˜„์žฌ ์‹ค์งˆ์ ์œผ๋กœ ํŒ๋‹จ๋˜๋Š” ์ƒํ™ฉ 
    • 1) end 2 end : ์–‘์ชฝ์˜ TCP ์—ฐ๊ฒฐ์€ ๋งบ์€ ํฌ์ธํŠธ๋ผ๋ฆฌ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์„ ์ง€๋ ˆ์ง์ž‘ํ•˜๋Š” ํ˜•ํƒœ.

      ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ „์†กํ•˜๋ฉด, ACKs๊ฐ€ ์™”๋‹ค๋ฉด ์ค‘๊ฐ„์— ํŒจํ‚ท์ด ์œ ์‹ค๋˜์ง€ ์•Š๊ณ  ์ œ๋Œ€๋กœ ์ „๋‹ฌ๋˜์—ˆ์Œ์„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

      ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ „์†กํ•˜๊ณ , ACKs๊ฐ€ ์˜ค์ง€ ์•ˆ์™”๋‹ค๋ฉด, ํƒ€์ž„์•„์›ƒ์ด ๋˜์—ˆ๋‹ค๋ฉด ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์ด ์ข‹์ง€ ์•Š์•˜์Œ์„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • additive increase & multiple decrease
    • ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ๋งŒํผ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ „์†กํ•œ๋‹ค.
    • ํ•ด๋‹น ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ ACKs๊ฐ€ ์ •์ƒ์ •์œผ๋กœ ์™”๋‹ค๋ฉด, ์ดํ›„์— ๋ณด๋‚ด๋Š” ์„ธ๊ทธ๋จผํŠธ์˜ ์ „์†ก๋Ÿ‰์„ +1 ์”ฉ ๋Š˜๋ ค๊ฐ„๋‹ค. : additive increase, ์ดํ›„์— ๊ณ„์† ์ „์†ก๋Ÿ‰์„ ๋Š˜๋ ค๋‚˜๊ฐ€๋‹ค๊ฐ€ ACKs๊ฐ€ ์˜ค์ง€ ์•Š์™”๋‹ค๋ฉด ์„ธ๊ทธ๋จผํŠธ ์ „์†ก๋Ÿ‰์„ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ธ๋‹ค. : multiple decrease. ์™œ๋ƒํ•˜๋ฉด ๋‹ค๋ฅธ ์—”๋“œํฌ์ธํŠธ๋“ค ๋˜ํ•œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์ด ๋งค์šฐ ์•…ํ™”๋˜์—ˆ์Œ์„ ์•”์‹œํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์ด ๋‚˜์•„์ง€๋ฉด ๋‹ค์‹œ ๋Š˜๋ ค๋‚˜๊ฐ„๋‹ค. : additive increase ์ด ๊ณผ์ •์„ ๊ณ„์†ํ•ด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค.

      ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์–‘์„ ๋ณด๋‚ด์ฃผ๊ธฐ ์œ„ํ•จ. ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์ด ํ•ด๋‹น ์„ธ๊ทธ๋จผํŠธ ์ „์†ก๋Ÿ‰์„ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ ์ ˆํ•œ ์–‘์œผ๋กœ ๋ณด๋‚ด์ค€๋‹ค. ์ตœ์ ์˜ ์–‘์„ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •.

    • Bottle-Neck 
      • ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ง‰ํ˜€์žˆ๋‹ค๋ฉด ์ ์ ˆํ•œ ๋Œ€์—ญํญ (Bandwidth) ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
    • congestion window size (=window size)
      • ํ•ด๋‹น ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ๋Š” ๋„คํŠธ์›Œํฌ์˜ ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋‹ค์ด๋‚ด๋ฏนํ•˜๊ฒŒ ๋ณ€ํ•œ๋‹ค.
    • TCP์˜ sending rate ๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€?
      • TCP๋Š” ๊ฐ€์ง„ ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ ๋งŒํผ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.
      • rate = CongWin / RTT 

  • Slow-Start
    • ๊ฒธ์†ํ•˜๊ฒŒ ์‹œ์ž‘ํ•œ๋‹ค.
    • ํ•˜๋‚˜์˜ ์„ธ๊ทธ๋จผํŠธ๋งŒ ์ „์†กํ•œ๋‹ค.
    • ACKs๊ฐ€ ์ž˜ ๋„์ฐฉํ•˜๋ฉด ์ดํ›„์— ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ACKs์˜ ๋„์ฐฉ์œ ๋ฌด๋ฅผ ํ™•์ธํ•œ๋‹ค.
    • ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ๊ฒƒ์€ expotential ํ•˜๊ฒŒ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ๋ง.
    • ํ•˜์ง€๋งŒ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜๋ฆด ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž„๊ณ„์น˜(threshold)๋ฅผ ์„ค์ •ํ•ด๋†“๋Š”๋‹ค.
    • ์ž„๊ณ„์น˜๋งŒํผ ์ „์†ก ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋ฉด ์ดํ›„์—๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก๋Ÿ‰์„ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
    • X์ถ•์€ ์‹œ๊ฐ„์ด๊ณ , Y์ถ•์€ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
    • ์ œ์ผ ์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ์—๋Š” ๊ฒธ์†ํ•˜๊ฒŒ ํ•˜๋‚˜๋ฅผ ๋ณด๋‚ด๊ณ  ์ดํ›„์— ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž„๊ณ„์น˜๋ฅผ ๋งŒ๋‚˜๋ฉด ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
    • ์œ„์˜ ๊ทธ๋ฆผ์—์„œ ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ๊ฐ€ 12๊ฐ€ ๋˜๋Š” ์‹œ์ ์—์„œ ๋ฌธ์ œ๊ฐ€ ํ„ฐ์ง€๊ณ , ํŒจํ‚ท ์œ ์‹ค์ด๋ผ๊ณ  ํŒ๋‹จ๋œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ACKs๊ฐ€ ์˜ค์ง€ ์•Š์•„ ํƒ€์ž„์•„์›ƒ์ด ๋˜์—ˆ๋‹ค๊ฑฐ๋‚˜ 3-duplicate packet ์ด ๋ฐœ์ƒ๋œ ๊ฒฝ์šฐ
    • timeout ์œผ๋กœ ์ธํ•œ ํŒจํ‚ท ์œ ์‹ค
      ์ „์†กํ•œ ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์—์„œ ๋‹ค ์œ ์‹ค๋˜๊ณ  ์ œ๋Œ€๋กœ ์ „๋‹ฌ๋˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ
      ์˜ˆ์‹œ) ๊ตฐ๋ถ€๋Œ€๋กœ ๋”ฐ์ง€๋ฉด ์ง„๋„๊ฐœ ํ•˜๋‚˜ (๋งค์šฐ ์œ„ํ—˜ํ•œ ์ƒํƒœ)
    • 3-duplicate ์œผ๋กœ ์ธํ•œ ํŒจํ‚ท ์œ ์‹ค
      ๋„คํŠธ์›Œํฌ๋Š” ๋™์ž‘ํ•˜์ง€๋งŒ, ์ผ๋ถ€ ์„ธ๊ทธ๋จผํŠธ๋งŒ ์ „์†ก๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ
      ์˜ˆ์‹œ) ๊ตฐ๋ถ€๋Œ€๋กœ ๋”ฐ์ง€๋ฉด ์ง„๋„๊ฐœ ๋‘˜ (์กฐ๊ธˆ ์œ„ํ—˜ํ•œ ์ƒํƒœ)

  • 3-duplicate ACKs ์ธ ๊ฒฝ์šฐ
    • TCP์˜ ์ดˆ๊ธฐ๋ฒ„์ „์€ TCP Tahoe ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ผ์–ด๋‚ฌ๋‹ค.
    • TCP์˜ ์ดํ›„๋ฒ„์ „์€ TCP Reno ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Threshold ์„ ํ˜„์žฌ congestion window size์˜ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ด๊ณ  ํ•ด๋‹น ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ๋ถ€ํ„ฐ linear ํ•˜๊ฒŒ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
  • timeout ์œผ๋กœ ์ธํ•œ ํŒจํ‚ท ์œ ์‹ค์ธ ๊ฒฝ์šฐ
    • TCP์˜ ์ดˆ๊ธฐ๋ฒ„์ „ TCP Tahoe ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ผ์–ด๋‚œ๋‹ค.

- ์–ด๋Š ๊ฒฝ์šฐ๋‚˜ slow start threshold ๋Š” congestion ์ด ์ผ์–ด๋‚˜๋Š” ๊ทธ ์ƒํ™ฉ์—์„œ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ธ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— threshold ์ดํ›„ ๊ฐ’๋ถ€ํ„ฐ๋Š” ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ๋ ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋‹ˆ์–ดํ•˜๊ฒŒ ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.

  • TCP Tahoe & TCP Reno ์ฐจ์ด์•Œ๊ธฐ.

  • TCP throughput
    ๋ฆฌ์‹œ๋ฒ„๊ฐ€ ๋‹จ์ผ์‹œ๊ฐ„๋™์•ˆ ๋ฐ›๋Š” ์–‘ ํ˜น์€ ์„ผ๋”๊ฐ€ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ์˜ ์ „์†ก๋Ÿ‰

  • TCP Fairness
    A๋ผ๋Š” ์œ ์ €๊ฐ€ TCP ๋ฅผ ์‚ฌ์šฉ, ํŒŒ์ผ์„ ๋ณด๋‚ธ๋‹ค.
    B๋ผ๋Š” ์œ ์ €๊ฐ€ TCP ๋ฅผ ์‚ฌ์šฉ, ํŒŒ์ผ์„ ๋ณด๋‚ธ๋‹ค.

    TCP ์— ๋Œ€ํ•œ ๋™์ž‘์€ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ๊ฐ™์€ ๋ผ์šฐํ„ฐ๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด, ๊ฐ™์€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ•ด๋‹น bottle neck ์˜ capacity ๊ฐ€ R์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ๊ณตํ‰ํ•˜๊ฒŒ R/2์”ฉ ์ž์›์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

    capacity R์„ ๊ฐ๊ฐ ์–ผ๋งˆ๋งŒํผ ๊ณตํ‰ํ•˜๊ฒŒ ๋‚˜๋ˆ ๊ฐ€์งˆ ๊ฒƒ์ธ๊ฐ€.

    TCP ๋Š” ๊ฒฐ๊ณผ์ ์œผ๋กœ 2/R์”ฉ ์ˆ˜๋ ดํ•˜๋„๋ก ๋งŒ๋“ ๋‹ค. ์™œ ๋‚˜๋ˆ„์–ด ๊ฐ€์ง€๋Š”๊ฐ€ ?

    • X ์ถ•๊ณผ Y ์ถ•์€ ํ•ฉํ•ด์„œ ์ตœ๋Œ€ R์˜ capacity ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค.
    • ํŒจํ‚ท ์œ ์‹ค์ด ๋ฐœ์ƒ๋˜๋ฉด ์ด์ „ congestion ์— ๋”ฐ๋ผ์„œ ํŒจํ‚ท ์ „์†ก๋Ÿ‰์„ 1/2๋กœ ์ค„์ด๊ณ  ์ดํ›„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ๋‹ค์‹œ ํŒจํ‚ท ์œ ์‹ค์ด ๋ฐœ์ƒ๋˜๊ณ  1/2๋กœ ์ค„์—ฌ์ง€๋ฉฐ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ 2/R ๋กœ ๊ฐ๊ฐ์˜ capacity ๋ฅผ ๊ฐ–๋„๋ก ์ˆ˜๋ ดํ•˜๊ฒŒ ๋œ๋‹ค.

      TCP ๋Š” Connection Level ์—์„œ ๋งค์šฐ ๊ณตํ‰ํ•จ์„ ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค.

  • UDP ๋Š” ๋ณด์žฅ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.

[ ์ฐธ๊ณ ๋™์˜์ƒ ]


[ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ]


์ •๋ฆฌ )

  • window size ์˜ ์—ญํ• 
  • Congestion Control ์ด๋ž€
  • Congestion Control ๋กœ ์ธํ•ด ๋ฐœ์ƒ๋˜๋Š” ํ˜„์ƒ ๋‘ ๊ฐ€์ง€
    • ํŒจํ‚ท ์œ ์‹ค
    • ํŒจํ‚ท ๋”œ๋ ˆ์ด
  • Congestion Control ์€ ์„ ์ˆœํ™˜์ธ๊ฐ€ ์•…์ˆœํ™˜์ด๊ฐ€
  • ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์„ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•
    • end-to-end ๋ฐฉ์‹
      ์–‘์ชฝ์˜ TCP ์—ฐ๊ฒฐ์„ ๋งบ์€ ์—”๋“œํฌ์ธํŠธ๋ผ๋ฆฌ ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์„ ์ง€๋ ˆ์ง์ž‘ํ•˜๋Š” ํ˜•ํƒœ์ด๋‹ค. ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ „์†กํ•˜๊ณ  ์ดํ›„์— ACKs๊ฐ€ ์™”๋‹ค๋ฉด ์ค‘๊ฐ„์— ํŒจํ‚ท์ด ์œ ์‹ค๋˜์ง€ ์•Š๊ณ  ์ œ๋Œ€๋กœ ์ „๋‹ฌ๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ „์†กํ•˜๊ณ  ACKs ๊ฐ€ ์˜ค์ง€ ์•Š์œผ๋ฉด ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ๋™๋˜๊ณ  ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์ด ์ข‹์ง€์•Š์Œ์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค. 

    • additive increae & multiple decrease ๋ž€ ๋ฌด์—‡์ธ๊ฐ€
    • congestion window size (= window size) : ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋‹ค์ด๋‚ด๋ฏนํ•˜๊ฒŒ ๋ณ€ํ™”
    • TCP sending rate ๋ž€
  • Slow-Start ๋ž€ ๋ฌด์—‡์ธ๊ฐ€
  • TCP Tahoe & TCP Reno ์˜ ๊ฐœ๋… ๋ฐ ์ฐจ์ด์ 
  • 3-Duplicate ACKs ๋ž€ ๋ฌด์—‡์ธ๊ฐ€
  • TCP Fairness ๋ž€ ๋ฌด์—‡์ธ๊ฐ€


Posted by doubler
,