4계층. 전송 계층
물리 계층, 데이터 링크 계층, 네트워크 계층으로만 구성되어도 최종 목적지까지 데이터 전송은 가능하다.
그런데 왜 전송 계층이 필요할까?
전송 계층은, 데이터의 전송 간 패킷의 손실이나 오류 없이 올바른 순서로 도착하게 해주고,
필요한 경우 데이터 패킷을 복구하는 역할을 수행한다.
쉽게 말해 전송계층은 흐름 제어와 오류 제어를 위한 계층이다!
전송계층하면 빠질 수 없는 내용이 있는데, 바로 전송계층의 프로토콜인 TCP 와 UDP 이다.
TCP (Transmission Control Protocol)
TCP는 데이터 전송 간 손실이 거의 발생하지 않는 프로토콜이다.
- TCP의 통신 과정
1. 데이터 스트림에서 받은 데이터를 일정 단위로 분할 .
2. 분할된 데이터 단위에 TCP 헤더를 붙여서 TCP 세그먼트를 생성.
3. TCP 세그먼트를 IP 데이터그램으로 변환.
4. IP 데이터그램을 수신 어플리케이션에 보내기.
TCP는 세그먼트 단위로 데이터가 전송된다. 사용자에게 데이터를 전송하기 전, 논리적 경로(가상회선)를 설정한다.
각 패킷에는 가상회선 식별자(VCI, Virtual Circuit Identifier)가 포함되며 모든 패킷을 전송하면 가상회선이 연결 해제되고 패킷들은 전송된 순서대로 도착한다.
- 세그먼트란?
TCP 가 데이터를 전송할때 사용하는 데이터의 크기.
- TCP 특징
- 연결 지향적 방식. (가상회선 패킷 교환 방식)
- 전송 순서를 보장한다.
- A/S 가 되기 때문에 데이터의 전송이 실패한 경우 재전송을 시도한다.
- 고객 맞춤형 서비스로 수신자의 용량에 따라 데이터 전송 속도를 최적화한다.
- 데이터를 전송할 때, 오류를 검사해 데이터가 목적지에 온전하게 도달하도록 보장한다.
- UDP에 비해서 느린 속도를 가진다.
UDP (User Datagram Protocol)
사용자 데이터 프로토콜의 약자로, 안전성보다는 빠른 속도를 추구한다.
UDP 특징에 비롯하여, UDP는 불특정 다수에게 데이터를 전송하는 데에 유리하다.
UDP는 데이터그램 단위로 데이터가 전송되며 비연결지향적이므로 연결 작업이 별도로 필요하지 않다.
핸드셰이킹으로 주고 받는 별도의 신뢰성 작업이 없기 때문에 속도는 빠르지만, 별도의 신뢰성 작업이 없기 때문에 TCP헤더에 비해 들어가는 정보량도 적어서 보내는 데이터의 크기가 작고, 전송 순서를 보장하지 않는다.
- UDP 특징
- 비연결 지향적 방식. (데이터그램 패킷 교환 방식)
- 데이터의 전송 순서를 보장하지 않기에, 도착하는 순서를 알 수 없다.
- 데이터 손실 발생 가능성 존재. A/S 불가.
- 브로드 캐스트 : LAN에 있는 네트워크 장비로 데이터를 일괄적이게 전송한다.
UDP의 장점이 가장 잘 살아나는 건 실시간 영상 전송으로, 데이터가 약간 손실된다 하더라도 크게 문제되지않고, 다수에게 빠르게 데이터를 전송할 수 있기 때문에 UDP 방식을 선호한다.
TCP / UDP
L4 스위치
L4스위치는 네트워크 트래픽에 대한 로드 밸런싱과 QoS를 담당한다.
- 로드 밸런싱
트래픽 부하 분산으로, 트래픽이 한 곳으로 과도하게 몰려서 서버가 뻗을 위험을 줄이기 위해 트래픽 부하를 분산하는 것을 말한다. - QoS - Quality of Service (서비스 품질)
네트워크 간에 전송되는 데이터의 중요도를 분류하여, 이를 기반으로 우선순위를 부여하고 우선순위가 높을수록 빠르고 안전하게 전송이 보장한다.
각 프로토콜(TCP, UDP, HTTP 등)이 전송되는 데이터의 헤더를 분석해 부하 분산을 실시하고 Source IP(출발지 IP), Destination IP(도착지 IP)를 네트워크 주소 변환(NAT, Network Address Translation)하여 서버에 보낸다.
'CS' 카테고리의 다른 글
3-way handshake에 대해 알아보자! (0) | 2024.09.26 |
---|---|
OSI - 응용 계층 (0) | 2024.09.26 |
OSI 7계층에 대하여 (0) | 2024.09.26 |
서버와 클라이언트 (0) | 2024.09.12 |
OSI 계층 - 네트워크 계층 (0) | 2024.09.12 |