Computer Science/네트워크

[네트워크] Transport Protocol(TCP, UDP) Services

바보1 2023. 4. 8. 18:29

앞의 글을 읽으시면 이해에 도움이 됩니다.

 

2023.04.08 - [Computer Science/네트워크] - [네트워크] Transport-Layer Protocols for Application

 

[네트워크] Transport-Layer Protocols for Application

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.07 - [Computer Science/네트워크] - [네트워크] Application Layer [네트워크] Application Layer 앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.07 - [Computer Scie

hi-guten-tag.tistory.com


1. Transport Protocol Services

 

 

  • 인터넷에 의해 제공되는 transport service들에 대해 알아봅시다.
  • 대표적으로 Transport Protocol로는 User Datagram Protocol(UDP)Transmission Control Protocol(TCP)가 있습니다.
  • 두 개의 다른 프로토콜은 어플리케이션에 속해져서 서비스를 제공합니다.
  • 이번 글에서는 TCP, UDP의 구조가 아닌, 제공하는 서비스 측면에서 살펴봅니다.
  • 자세한 구조는 다음 챕터인 Transport Layer에서 소개합니다.

2. TCP services

 

 

  • TCP 서비스 모델은 connection-oriented servicereliable data transfer service를 포함합니다.
  • Connections-oriented service는 다음과 같습니다.
    • TCP는 client와 server가 통신하기 전에, 즉 application 단계에서 통신을 하기 전에 transport-layer에서 control information을 주고 받습니다.
    • 이를 handshaking이라 하며, 자세한 내용은 추후 설명합니다.
    • 아무튼 이런 handshaking이 성사되면, TCP connection이 두 프로세스 간에 체결됩니다.
    • 이로 인해 두 개의 프로세스는 서로 메시지를 송수신할 수 있게 됩니다.
  • Reliable Data Tranfer은 다음과 같습니다.
    • 통신하는 프로세스는 TCP에 의존하여 전송하는 데이터를 에러 없이 전송할 수 있고, 올바른 순서로 전송할 수 있습니다.
    • TCP는 손실하거나 중복되는 데이터가 없이 전송할 수 있습니다.
  • 그 외에도 TCPsms congestion-control mecahnismflow-control 서비스를 제공합니다.

3. UDP services

 

 

  • UDP는 TCP에 비해 적은 서비스를 제공합니다.
  • UDP는 connectionless입니다. 따라서 handshaking도 없습니다.
  • 또한 UDP는 unreliable data tranfer service를 제공합니다. 즉 UDP는 프로세스 간 데이터 통신에 어떠한 보장도 하지 않습니다.
  • 따라서 UDP를 이용한다면 프로세스에 도착하는 메시지는 순서에 맞지 않을 수도 있습니다.
  • UDP는 심지어 congestion-control mechanism도 포함하지 않습니다.

 

  • 그럼 UDP는 왜 필요하죠?
  • 만약 송신 측에서 메시지를 1, 2, 3, 4, 5로 쪼개서 보냈다고 가정해봅시다.
  • 그러다가 중간에 순서가 바뀌어서 1, 3, 4, 5, 2로 수신되었습니다.
  • TCP의 경우 이를 다시 1, 2, 3, 4, 5로 재조립하여 Application으로 올립니다.
  • 근데 만약 2가 오지 않는 경우라면 어떻게 될까요?
  • 2가 수신될 때까지 TCP는 기다립니다. 하지만 UDP는 수신측이 요구하면 바로 Application으로 올립니다.
  • 이것이 왜 UDP가 필요한지 보여주는 예시입니다.

4. Securing TCP, TLS

 

 

  • Transport Layer Security(TSL)는 TCP의 업그레이드 버전입니다.
  • TLS는 application layer에서 구현됩니다.
  • 해당 서비스는 TCP의 모든 것을 포함할 뿐만 아니라, encryption, data integrity, end-point authenticatioin인 프로세스 간 보안 서비스도 제공합니다.
  • data integrity는 데이터 무결성을 의미하며, 중간에 데이터가 바뀌지 않았는지 검사합니다.
  • end-point authentication은 이 메시지를 보낸 이가 진짜 메시지를 보냈는지 검사합니다.

참고

 

 

경북대학교 컴퓨터학부 COMP0414-001 컴퓨터 망 수업

Computer Networking: A Top Down Approach / James F. Kurose, Keith W. Ross 저 / PEARSON / 2021년

Chat GPT, Bing AI


다음 글에서는 Application-Layer Protocol에 대해 알아보겠습니다.

 

2023.04.08 - [Computer Science/네트워크] - [네트워크] Application-Layer Protocols

 

[네트워크] Application-Layer Protocols

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.04.08 - [Computer Science/네트워크] - [네트워크] Transport Protocol(TCP, UDP) Services [네트워크] Transport Protocol(TCP, UDP) Services 앞의 글을 읽으시면 이해에 도움

hi-guten-tag.tistory.com

감사합니다.

지적 환영합니다.