Network

TCP와 UDP

unkwn98 2021. 9. 3. 11:34

🌌 OSI 4계측

- 톡신해야할 λͺ©μ μ§€ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ •ν™•νžˆ μ°Ύμ•„κ°€κ³  νŒ¨ν‚· μˆœμ„œκ°€ λ°”λ€Œμ§€ μ•Šλ„λ‘ 잘 μ‘°ν•©ν•΄ μ›λž˜ 데이터λ₯Ό 잘 λ§Œλ“€μ–΄λ‚΄κΈ° μœ„ν•œ μ—­ν• 

- 4κ³„μΈ΅μ—μ„œ λ™μž‘ν•˜λŠ” ν”„λ‘œν† μ½œ => TCP / UDP

 

🌌 encapsulation, decapsulation

 - 데이터λ₯Ό 보내고 λ°›λŠ” 두 κ³Όμ •μ—μ„œ 각 κ³„μΈ΅μ—μ„œ μ •μ˜ν•˜λŠ” 헀더가 μΆ”κ°€λ˜κ³  μ—¬λŸ¬ κ°€μ§€ 정보가 λ“€μ–΄κ°„λ‹€. μ΄λ•Œ κ°€μž₯ μ€‘μš”ν•œ 두 κ°€μ§€ μ •λ³΄λŠ”

*각 κ³„μΈ΅μ—μ„œ μ •μ˜ν•˜λŠ” 정보

οΌŠμƒμœ„ ν”„λ‘œν† μ½œ μ§€μ‹œμž 정보 => 4κ³„μΈ΅μ˜ μƒμœ„ ν”„λ‘œν† μ½œ μ§€μ‹œμžλŠ” port number이닀

 

TCP와 UDP 헀더

🌌 [  TCP  ]

° μ‹ λ’°ν•  수 μ—†λŠ” κ³ μš©λ§μ—μ„œλ„ μ •λ³΄μœ μ‹€ μ—†λŠ” 톡신을 보μž₯ν•˜κΈ° μœ„ν•΄ session을 μ•ˆμ „ν•˜κ²Œ μ—°κ²°ν•˜κ³  데이터λ₯Ό λΆ„ν• ν•˜κ³  νŒ¨ν‚·μ΄ 잘 μ „μ†‘λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜λŠ” κΈ°λŠ₯이 있음

° packet에 μˆœμ„œλ₯Ό λΆ€μ—¬ν•˜λŠ” 것을 sequence number, 응닡 번호λ₯Ό λΆ€μ—¬ν•˜λŠ” 것을 ack 번호라고 뢀름

° 데이터λ₯Ό λ³΄λ‚Όλ•Œ νŒ¨ν‚·μ„ ν•˜λ‚˜λ§Œ λ³΄λ‚΄λŠ” 것이 μ•„λ‹ˆλΌ λ§Žμ€ νŒ¨ν‚·μ„ ν•œκΊΌλ²ˆμ— 보내고 응닡을 ν•˜λ‚˜λ§Œ λ°›μŒ

° 톡신 μ‹œμž‘μ „ 사전 μ—°κ²°μž‘μ—…μ„ μ§„ν–‰ν•˜λŠ”λ°, 3번의 νŒ¨ν‚·μ„ μ£Όκ³ λ°›μœΌλ©΄μ„œ 톡신을 μ„œλ‘œ μ€€λΉ„ν•˜λ―€λ‘œ "3λ°©ν–₯ ν•Έλ“œμ…°μ΄ν¬"라고 뢀름

 

🌌 [  UDP  ]

° 데이터 전솑을 보μž₯ν•˜μ§€ μ•ŠλŠ” ν”„λ‘œν† μ½œμ΄λ―€λ‘œ μ œν•œλœ μš©λ„λ‘œλ§Œ μ‚¬μš©λ¨

° 신뒰성보닀 일뢀 데이터가 μœ μ‹€λ˜λ”λΌλ„ μ‹œκ°„μ— λ§žμΆ”μ–΄ 계속 μ „μ†‘ν•˜λŠ”κ²ƒμ΄ μ€‘μš”ν•œ ν™”μƒνšŒμ˜, μŒμ„± 데이터, μ‹€μ‹œκ°„ streamingκ³Ό 같은 μ„œλΉ„μŠ€μ— 이용됨

° 첫 λ°μ΄ν„°λŠ” λ¦¬μ†ŒμŠ€ 확보λ₯Ό μœ„ν•΄ interruptλ₯Ό κ±°λŠ” μš©λ„λ‘œ μ‚¬μš©λ˜κ³  μœ μ‹€λ¨

 

TCP UDP
μ—°κ²°μ§€ν–₯(connection oriented) λΉ„μ—°κ²°ν˜•(connectionless)
였λ₯˜ μ œμ–΄ μˆ˜ν–‰ 였λ₯˜ μ œμ–΄ μˆ˜ν–‰ x
흐름 μ œμ–΄ μˆ˜ν–‰ 흐름 μ œμ–΄ μˆ˜ν–‰ x
μœ λ‹ˆμΊμŠ€νŠΈ μœ λ‹ˆμΊμŠ€νŠΈ, λ©€ν‹°μΊμŠ€νŠΈ, λΈŒλ‘œλ“œμΊμŠ€νŠΈ
전이쀑(full duplex) λ°˜μ΄μ€‘(half duplex)
데이터 전솑 μ‹€μ‹œκ°„ νŠΈλž˜ν”½ 전솑