네트워크

TCP & UDP

yu_gyeong 2023. 12. 17. 17:26

1. 전송 계층(Transport Layer)

  • End point간 신뢰성있는 데이터 전송을 담당하는 계층
    • 패킷(Segment or Datagram)이 전송 과정에서 문제 없이 수신자에게 도착할 수 있도록 제어
    • 패킷 : 네트워크를 통해 전송되는 형식화된 데이터 덩어리
  • 신뢰성 : 데이터를 순차적, 안정적으로 전달
  • 전송 : 포트 번호에 해당하는 프로세스에 데이터 전달

전송 계층이 없다면 (전송 계층의 중요성)

  1. 데이터의 순차 전송이 원활하지 않다.

순차 전송

  1. Flow(흐름 문제)
    • 원인 : 송수신자 간의 데이터 처리 속도 차이
    • 수신자가 처리할 수 있는 데이터양 초과 → 데이터 누락 발생 가능
  2. Congestion(혼잡 문제)
    • 원인 : 네트워크의 데이터 처리 속도

→ 결과 : 데이터 손실 발생

2. TCP(Transmission Control Protocol)

  • 연결형, 신뢰성 전송 프로토콜
  1. 연결형
    • 송수신자 간에 논리적인 연결이 설정되어 있다.
    • 3-way-handshake를 통해 연결을 설정하고, 4-way-handshake를 통해 연결을 해제한다.
  2. 신뢰성
    • 데이터의 순차 전송 보장
    • 흐름 제어 : 송신자가 수신자의 처리속도보다 더 빨리 데이터를 전송하지 못하도록 제어
    • 혼잡 제어 : 네트워크가 혼잡해지지 않게 조절
    • 오류 제어 : 데이터 전송 중 발생되는 에러 검출 및 보정
  3. 장점
    • 데이터 전송의 신뢰성 보장
  4. 단점
    • 데이터 전송 속도가 느리다.
      • 패킷을 조금만 손실해도 재전송
  5. 활용되는 곳
    • 데이터의 신뢰성이 중요할 때 (ex. 파일 전송)
  6. Segment 구조
    • TCP Header + Data
      세그먼트

3. UDP(User Datagram Protocol)

  • 비연결형, 비신뢰성 전송 프로토콜
  1. 비연결형
    • 송수신자간의 논리적인 연결 설정이 필요없다. (3-way-handshake X)
    • 단순히 송신자가 수신자를 향해 패킷(Datagram)을 전송한다.
  2. 비신뢰성
    • 흐름 제어 X
    • 혼잡 제어 X
    • 오류 제어 거의 없음 (오류 검출만 가능)
  3. 장점
    • 데이터 전송 속도가 빠르다.
      • TCP의 경우 손실된 패킷을 재전송하기 위해 시간이 더 오래 걸린다.
  4. 단점
    • 신뢰성이 보장되지 않으므로 데이터 전송 시 손실되는 데이터 발생 가능
  5. 활용되는 곳
    • 비교적 데이터의 신뢰성이 중요하지 않을 때, 연속성이 중요할 때 사용 (ex. 영상 스트리밍)
  6. Datagram 구조
    • UDP Header + Data
      데이터그램

면접 예상 질문

  1. TCP와 UDP를 비교해서 설명해주세요.
  2. TCP의 장점과 단점을 설명해주세요.
  3. UDP의 장점과 단점을 설명해주세요.

참고 URL

https://www.youtube.com/watch?v=ikDVGYp5dhg
https://developer.mozilla.org/ko/docs/Glossary/Packet
https://better-together.tistory.com/134
http://www.ktword.co.kr/test/view/view.php?m_temp1=476
http://www.ktword.co.kr/test/view/view.php?m_temp1=392&id=746
https://ko.wikipedia.org/wiki/%ED%98%BC%EC%9E%A1_%EC%A0%9C%EC%96%B4
http://www.ktword.co.kr/test/view/view.php?m_temp1=1299&id=772
http://www.ktword.co.kr/test/view/view.php?m_temp1=475&id=771
https://devmoony.tistory.com/128
https://www.javatpoint.com/udp-protocol
https://www.javatpoint.com/tcp
https://medium.com/pplink/%EC%9D%B8%ED%84%B0%EB%84%B7%EC%97%90%EC%84%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%EC%A0%84%EC%86%A1%ED%95%98%EB%8A%94-%EB%91%90-%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95-tcp%EC%99%80-udp-caaaa51783eb

'네트워크' 카테고리의 다른 글

HTTP와 HTTPS 차이  (0) 2024.01.07
TCP Handshake  (1) 2023.12.22
OSI 7계층 구조  (0) 2023.11.18