1. 트랜스포트층 (Transport Layer)
양 끝단의 프로세스 간 통신을 담당하며, 데이터를 어떻게 전달할지(신뢰성 vs 속도) 결정하는 계층입니다. 데이터 단위는 세그먼트(Segment)입니다.
TCP (Transmission Control Protocol): 신뢰성 중시
- 연결 방식: 3-Way Handshaking(연결 개설) 및 4-Way Handshaking(연결 종료)을 통해 안전한 통로를 확보합니다.
- 신뢰성: 데이터 순서 보장, 에러 검출, 그리고 미도착 데이터의 재전송을 통해 데이터 유실을 방지합니다.
- 흐름 제어: 수신자의 버퍼 여유 상황에 맞춰 데이터 전송량을 조절합니다(슬라이딩 윈도우).
- 혼잡 제어: 네트워크 대역폭의 상황을 파악하여 전송량을 조절합니다(슬로우 스타트 등).
UDP (User Datagram Protocol): 속도 중시
- 비연결형: 연결 설정 없이 즉시 데이터를 전송하며, 확인 응답이나 재전송 과정이 없습니다.
- 경량성: 헤더 크기가 TCP의 1/2 정도로 작아 오버헤드가 적습니다.
- 용도: 실시간 스트리밍, 온라인 게임 등 약간의 데이터 유실보다 '지연 없는 실시간성'이 중요한 서비스에 사용됩니다.
2. 애플리케이션층 (Application Layer)
사용자가 직접 서비스를 이용하는 최상위 계층입니다. 데이터 단위는 메시지(Message)입니다.
- 주요 프로토콜:
- 웹 서비스: HTTP (80), HTTPS (443 - 보안 강화)
- 원격 관리: SSH (22 - 보안), Telnet (23 - 취약)
- 메일/네트워크: SMTP (25), DNS (53), DHCP (67/68)
- 운영 및 보안 설정:
- 로컬 보안: 암호 복잡성 및 계정 잠금 정책을 통해 비인가 접근 차단.
- 서비스 제어:
services.msc등을 통해 불필요한 서비스 중지. - 웹 서버 바인딩: IIS 등에서 특정 포트와 도메인을 연결(Host Header 설정)하여 효율적인 서비스 운영.
3. 실무형 핵심 Q&A (왜?)
Q1. TCP는 왜 처음부터 최고 속도로 보내지 않고 '슬로우 스타트'를 할까요?
- 답변: 송수신 장비의 스펙은 좋아도, 그 사이를 연결하는 '인터넷 회선과 라우터'의 상태는 알 수 없기 때문입니다. 처음부터 최대치로 보냈다가 중간 경로의 라우터 큐가 넘치면 패킷이 대량 유실되어 네트워크 마비가 발생합니다. 이를 방지하기 위해 안전한 탐색 과정을 거치는 것입니다.
Q2. HTTPS(443)는 왜 TCP 연결만으로 충분하지 않을까요?
- 답변: TCP 연결은 단순히 '길'을 만드는 과정일 뿐입니다. HTTPS는 그 길 위에서 데이터를 안전하게 암호화하기 위해 'TLS 핸드셰이크'라는 추가적인 보안 통신 과정이 필요합니다. 그래서 TCP 연결 후 추가 지연 시간이 발생합니다.
Q3. 하나의 IP에서 여러 HTTPS 웹사이트를 띄우려면? (SNI)
- 답변: HTTPS는 통신 시작부터 암호화가 적용되므로 서버가 헤더를 읽을 수 없습니다. 이를 위해 SNI(Server Name Indication) 기술을 사용합니다. 통신 초기에 클라이언트가 접속할 도메인명을 먼저 알려주면, 서버는 올바른 인증서를 매칭하여 한 포트에서 여러 사이트를 서빙할 수 있습니다.
핵심 용어 요약
- 포트 바인딩: 특정 소프트웨어가 운영체제의 포트 번호를 독점하여 입구로 사용하는 것.
- 핸드셰이크: 송수신 장비 간 연결 상태를 맺거나 끊기 위해 약속된 신호를 주고받는 과정.
- 오버헤드: 실제 데이터 전송 외에, 통신을 유지/관리하기 위해 발생하는 추가적인 제어 비용(데이터).
'여러가지' 카테고리의 다른 글
| [네트워크] 3-5 데이터 수신, 전송 시 규칙 (0) | 2026.06.17 |
|---|---|
| [네트워크] 3-4 데이터 송수신 규칙 (0) | 2026.06.17 |
| [네트워크] 3-2 TCP/IP 네트워크 & 인터넷 계층 (0) | 2026.06.17 |
| [네트워크] 3-1 네트워크의 공통언어 (0) | 2026.06.17 |
| 테스트의 종류 (0) | 2021.12.16 |