앞의 글을 읽으시면 이해에 도움이 됩니다.
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 service
,reliable data transfer service
를 포함합니다. - Connections-oriented service는 다음과 같습니다.
- TCP는 client와 server가 통신하기 전에, 즉 application 단계에서 통신을 하기 전에 transport-layer에서
control information
을 주고 받습니다. - 이를
handshaking
이라 하며, 자세한 내용은 추후 설명합니다. - 아무튼 이런 handshaking이 성사되면,
TCP connection
이 두 프로세스 간에 체결됩니다. - 이로 인해 두 개의 프로세스는 서로 메시지를 송수신할 수 있게 됩니다.
- TCP는 client와 server가 통신하기 전에, 즉 application 단계에서 통신을 하기 전에 transport-layer에서
- Reliable Data Tranfer은 다음과 같습니다.
- 통신하는 프로세스는 TCP에 의존하여 전송하는 데이터를 에러 없이 전송할 수 있고, 올바른 순서로 전송할 수 있습니다.
- TCP는 손실하거나 중복되는 데이터가 없이 전송할 수 있습니다.
- 그 외에도 TCPsms
congestion-control mecahnism
,flow-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
감사합니다.
지적 환영합니다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] What is HTTP? (1) | 2023.04.09 |
---|---|
[네트워크] Application-Layer Protocols (0) | 2023.04.08 |
[네트워크] Transport-Layer Protocols for Application (0) | 2023.04.08 |
[네트워크] Application Layer (0) | 2023.04.07 |
[네트워크] Encapsulation (0) | 2023.04.07 |