Transport Layer
3줄 요약
데이터의 종단 간(end-to-end) 전송을 관리하며, 데이터의 흐름 제어와 오류 복구를 담당
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)와 같은 프로토콜을 사용하여 연결 지향성과 비연결 지향성의 두 가지 데이터 전송 방식을 제공
Transport Layer는 데이터의 세분화, 재조합 및 패킷 순서를 보장하는 기능을 통해 신뢰성을 높이고, 애플리케이션 간의 데이터 전송을 조정
긴 설명
종단 간 전송
Transport Layer는 송신자와 수신자 간의 데이터 전송을 관리하며, 이를 통해 애플리케이션 간의 데이터 통신을 조정
연결 지향성과 비연결 지향성
TCP (Transmission Control Protocol): 연결 지향적인 프로토콜로, 데이터 전송의 신뢰성 보장
TCP는 데이터가 전송될 때 연결을 설정하고, 오류 검출, 재전송, 흐름 제어 등의 기능을 통해 데이터의 정확성과 순서를 보장
이로 인해 대용량 데이터 전송이나 중요한 데이터 통신에 적합
UDP (User Datagram Protocol): 비연결 지향적인 프로토콜로, 빠른 데이터 전송 가능
UDP는 신뢰성을 보장하지 않지만, 오버헤드가 적어 실시간 애플리케이션(예: 비디오 스트리밍, 온라인 게임)에 적합
데이터가 패킷 단위로 전송되며, 수신 여부를 확인하지 않기 때문에 지연이 낮음
세분화 및 재조합
Transport Layer는 애플리케이션에서 보내는 데이터가 네트워크에서 전송될 수 있도록 작은 단위의 세그먼트로 나누어 전송
TCP는 각 세그먼트에 일련 번호를 부여하여 수신자가 올바른 순서로 재조합
이를 통해 데이터 손실이나 오류를 방지
흐름 제어
이 계층은 송신자와 수신자 간의 데이터 전송 속도를 조절하여, 수신자가 처리할 수 있는 데이터 양을 초과하지 않도록 보장
TCP의 슬라이딩 윈도우 방식은 이 기능을 구현하는 대표적인 방법으로, 송신자는 수신자가 처리할 수 있는 데이터의 양을 고려하여 전송 속도를 조정
오류 검출 및 복구
Transport Layer는 전송 중 발생할 수 있는 오류를 감지
필요에 따라 재전송을 요청
TCP는 체크섬을 사용하여 데이터의 무결성을 검증하고, 오류가 발생할 경우 해당 패킷을 재전송하여 문제를 해결
포트 번호
Transport Layer에서는 애플리케이션 프로세스를 구분하기 위해 포트 번호를 사용
포트 번호는 특정 애플리케이션과 연결된 세그먼트를 구별하는 데 사용
예를 들어 HTTP는 포트 80, HTTPS는 포트 443을 사용합니다.
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)의 차이점은 무엇인가요?
즉시성을 요구하는 애플리케이션은 UDP를 사용함
- UDP 헤더는 보통 8 Byte로 TCP 헤더보다 2배 이상 작다
- UDP 패킷을 받으면 데이터 손상이 있는지만 확인함
신뢰성을 요구하는 애플리케이션은 TCP를 사용함
- ACK 시그널을 항상 요구함
- TCP 헤더는 UDP 헤더보다 2배 이상 큼
- 확인 응답, 재전송 제어, 흐름 제어
TCP에서 연결을 설정하고 종료하는 과정은 어떻게 되나요?
3-way, 4-way
3 way
- SYN(Client)
- SYN/ACK(Server)
- ACK(Client)
4 way
- FIN/ACK(Client)
- ACK(Server)
- FIN/ACK(Server)
- ACK(Client)
포트 번호의 정의와 역할은 무엇인가요?
애플리케이션을 식별함
0
65535(16 bit)로 이루어짐
일반적으로 0
1023은 System Port로 사용하지 않음
- SSH
- telnetDNS
- HTTP/S
- FTP
1024 ~ 49151 User Port 내에서 사용
49153~65535 는 클라이언트 측에서 임의로 할당해서 사용함
네트워크에서 패킷 손실이 발생했을 때 Transport 계층에서 어떤 방식으로 처리하나요?
- TCP와 같이 재전송 제어를 통해 다시 전송함
방화벽이란 무엇인가?
Transport Layer - L4 에서 작동하는 주요한 컴포넌트 중 하나
커넥션의 무결성 체크
- SYN 없이 ACK만 날라올 수 없다. 이러한 패킷을 불허함
Stateful inspection 을 이용하여 방화벽은 통신 제어를함
- 커넥션 테이블
- 필터링 규칙(policy/rule/ACL)
- OUTPUT
- INPUT
- FORWARD
규칙
- ACCEPT
- DROP
- REJECT
- LOG
ACL은 무엇인가?
Access Control List로 필터링 규칙이라고 생각하면 됨
테이블 형태로 되어있음
Source IP | Destination IP | Protocol | Source Port | Destination Port | Action
이를 기반으로 패킷을 제어함
**방화벽에 의해 ICMP(PING) 패킷이 거부(드랍 X)가 되면 Destination Unreachable이 됨
방화벽 종류
- L4 전통적인 방화벽
- L7 WAF
VPN
- 인터넷에 암호화된 가상 전용선을 만들고 통신함
L4 스위치 작동 방식
- 패킷 헤더에서 TCP/UDP 포트 번호를 인식하고 이를 기반으로 트래픽을 분류
L7 스위치
- SSL 가속 기능
- request URI 를 이용한 부하 분산도 가능함 (path 기반)
이해하기 위해 필요한 지식
- TCP
- UDP
- 포트
- 연결성
- 비연결성
- 방화벽
'귀찮게하기 > Infra' 카테고리의 다른 글
인프라팀 귀찮게 안하기 - Network(4) (0) | 2024.11.06 |
---|---|
인프라팀 귀찮게 안하기 - LoadBalancer 및 세션 유지 (0) | 2024.11.06 |
인프라팀 귀찮게 안하기 - SSH (0) | 2024.11.05 |
인프라팀 귀찮게 안하기 - Network(2) (4) | 2024.11.04 |
인프라팀 귀찮게 안하기 - Network(1) (0) | 2024.11.04 |