문제
네트워크 전송 계층(Transport Layer)의 역할에 대해 설명하시오.
답변
1. 전송 계층(Transport Layer)이란?
- 전송 계층은 OSI 7계층 모델과 TCP/IP 모델에서 4계층에 해당하며, 애플리케이션 계층과 네트워크 계층 사이에서 동작합니다.
- 데이터의 종단 간(End-to-End) 전송을 관리하며, 신뢰성 있는 통신을 보장하는 역할을 수행합니다.
2. 전송 계층의 주요 역할
2.1 종단 간 통신 관리 (End-to-End Communication Management)
- 전송 계층은 송신자와 수신자 간의 데이터를 종단 간으로 전달하며, 데이터 흐름을 관리합니다.
- 송신 측에서 데이터를 전송하기 적합한 단위(Segment)로 나누고, 수신 측에서 이를 재조립합니다.
2.2 데이터 전송 신뢰성 보장 (Reliable Data Transfer)
- 데이터가 손실되거나 손상되지 않도록 재전송 메커니즘과 오류 검출 기능을 제공합니다.
- TCP(Transmission Control Protocol) 사용 시 아래와 같은 기능을 통해 신뢰성을 확보합니다:
- 데이터 확인 응답 (Acknowledgment)
- 재전송 (Retransmission)
- 순서 제어 (Sequence Control)
2.3 흐름 제어 (Flow Control)
- 송신자와 수신자 간의 데이터 처리 속도 차이를 조정하여, 수신자가 처리할 수 있는 만큼만 데이터를 전송하도록 합니다.
- 수신자의 버퍼 오버플로우를 방지합니다.
2.4 혼잡 제어 (Congestion Control)
- 네트워크 트래픽이 과도하게 증가하여 발생하는 혼잡을 방지하고, 네트워크 자원의 효율적 사용을 보장합니다.
- TCP에서는 혼잡 윈도우(Congestion Window)와 같은 메커니즘으로 네트워크 상태를 모니터링하고 전송 속도를 조절합니다.
2.5 멀티플렉싱 및 디멀티플렉싱 (Multiplexing and Demultiplexing)
- 여러 애플리케이션이 동시에 네트워크를 사용할 수 있도록 포트 번호(Port Number)를 기반으로 데이터를 구분합니다.
- 멀티플렉싱: 송신 측에서 여러 애플리케이션의 데이터를 하나의 연결로 묶음.
- 디멀티플렉싱: 수신 측에서 수신된 데이터를 포트 번호를 통해 올바른 애플리케이션으로 전달.
2.6 프로토콜 제공 (Protocol Support)
- 전송 계층은 다양한 통신 요구에 따라 프로토콜을 제공합니다:
- TCP(Transmission Control Protocol): 신뢰성이 높은 연결형(Connected) 프로토콜.
- UDP(User Datagram Protocol): 속도가 빠른 비연결형(Connectionless) 프로토콜.
3. 전송 계층의 동작 과정
- 데이터 분할:
- 송신 측에서 애플리케이션 계층의 데이터를 적절한 크기의 세그먼트로 나눕니다.
- 주소 지정 및 포트 번호 설정:
- 수신 측 프로세스를 구분하기 위해 IP 주소와 포트 번호를 추가합니다.
- 데이터 전송:
- 네트워크 계층(IP)을 통해 데이터를 전달하며, 손실이나 오류 발생 시 재전송을 수행합니다.
- 데이터 조립:
- 수신 측에서 전송된 데이터를 원래의 데이터 형태로 재조립합니다.
4. 전송 계층의 프로토콜 비교
특징 | TCP | UDP |
---|
연결 방식 | 연결형 (Connection-Oriented) | 비연결형 (Connectionless) |
신뢰성 | 데이터 재전송, 오류 검출 등으로 신뢰성 보장 | 신뢰성 없음 |
속도 | 느림 (오버헤드가 크기 때문) | 빠름 (오버헤드가 적음) |
용도 | 파일 전송, 이메일, HTTP, HTTPS | 스트리밍, VoIP, 온라인 게임 |
5. 결론
전송 계층은 신뢰성, 속도, 효율성을 동시에 고려하며 데이터 전송을 관리하는 중요한 계층입니다.
- TCP와 UDP는 전송 계층의 대표적인 프로토콜로, 각각의 장단점에 따라 다양한 네트워크 서비스에서 활용됩니다.
- 향후 QUIC과 같은 차세대 프로토콜은 전송 계층의 역할을 더욱 확장하고, 네트워크 성능을 혁신적으로 개선할 것으로 기대됩니다.