1. 인터넷 프로토콜 스위트란?
인터넷 프로토콜 스위트(IP Suite)는 인터넷에서 데이터를 주고받기 위한 프로토콜의 집합입니다. 일반적으로 TCP/IP 4계층 모델 또는 OSI 7계층 모델을 사용하여 설명됩니다.
이러한 계층 구조는 네트워크에서 서로 다른 역할을 하는 기능들을 분리하여, 특정 계층이 변경되더라도 다른 계층에 영향을 최소화하도록 설계되었습니다.
2. TCP/IP 4계층 모델 vs. OSI 7계층 모델
TCP/IP 4계층 | 모델OSI 7계층 | |
애플리케이션 계층 | 애플리케이션 계층 | 웹, 이메일, 파일 전송 등의 서비스 제공 |
프레젠테이션 계층 | 데이터 표현 형식 변환 (예: 암호화, 압축) | |
세션 계층 | 통신 세션 관리 (연결 설정, 유지, 종료) | |
전송 계층 | 전송 계층 | 데이터 흐름 제어 및 오류 복구 (TCP, UDP) |
인터넷 계층 | 네트워크 계층 | 데이터 패킷을 목적지까지 전달 (IP, ARP, ICMP) |
링크 계층 | 데이터 링크 계층 | 장치 간 데이터 전송 (MAC 주소 기반) |
물리 계층 | 전기 신호, 무선 신호 등 실제 물리적 전송 |
- TCP/IP 4계층 모델은 실제 인터넷에서 사용되는 구조로, OSI 7계층 모델보다 단순화되어 있습니다.
- OSI 모델의 프레젠테이션 계층과 세션 계층은 TCP/IP 모델에서 애플리케이션 계층에 포함됩니다.
- TCP/IP 모델의 인터넷 계층은 OSI 모델의 네트워크 계층과 동일합니다.
3. TCP/IP 4계층 상세 설명
(1) 애플리케이션 계층
사용자가 직접 접하는 서비스 계층으로, 다양한 네트워크 애플리케이션이 실행됩니다.
주요 프로토콜
- FTP (File Transfer Protocol): 파일 전송 프로토콜
- SSH (Secure Shell): 원격 접속을 위한 보안 프로토콜
- HTTP (Hypertext Transfer Protocol): 웹 서비스 제공 프로토콜
- SMTP (Simple Mail Transfer Protocol): 이메일 전송 프로토콜
- DNS (Domain Name System): 도메인 이름을 IP 주소로 변환
(2) 전송 계층
통신을 원하는 두 호스트 간 데이터 전송을 담당하며, 신뢰성 있는 데이터 전송을 위한 다양한 기능을 제공합니다.
주요 프로토콜
- TCP (Transmission Control Protocol)
- 신뢰성 있는 데이터 전송을 보장하는 연결 지향 프로토콜
- 패킷이 순서대로 전달되며, 데이터의 정확성을 보장
- 3-way Handshake로 연결을 설정, 4-way Handshake로 연결 해제
- UDP (User Datagram Protocol)
- 빠른 전송을 위해 신뢰성을 보장하지 않는 비연결형 프로토콜
- 패킷이 순서대로 도착하는지 확인하지 않으며, 손실될 수도 있음
- 실시간 스트리밍, VoIP, 게임 등에서 사용
(3) 인터넷 계층
데이터 패킷을 목적지까지 전달하는 역할을 수행합니다.
주요 프로토콜
- IP (Internet Protocol): 목적지 IP 주소를 기반으로 패킷을 라우팅
- ARP (Address Resolution Protocol): IP 주소를 MAC 주소로 변환
- ICMP (Internet Control Message Protocol): 네트워크 오류 및 진단 메시지 전달
IP 프로토콜은 데이터를 전달하지만, 패킷이 정상적으로 도착했는지는 확인하지 않습니다.
신뢰성을 보장하는 것은 전송 계층(TCP)의 역할입니다.
(4) 링크 계층
물리적인 네트워크 환경에서 데이터 전송을 담당합니다.
세부 계층 구분
- 물리 계층: 데이터를 전기 신호 또는 무선 신호로 변환하여 전송 (ex. LAN, Wi-Fi, 광케이블)
- 데이터 링크 계층: 이더넷 프레임을 통해 에러 감지, 흐름 제어, MAC 주소 기반 통신을 수행
4. TCP 연결 성립 및 종료 과정
(1) TCP 3-Way Handshake (연결 성립)
TCP는 신뢰성을 보장하기 위해 3-Way Handshake를 통해 연결을 설정합니다.
1️⃣ SYN (클라이언트 → 서버)
- 클라이언트가 서버에게 연결 요청을 보냄 (SYN 플래그 설정)
- 초기 시퀀스 번호 (ISN) 포함
2️⃣ SYN + ACK (서버 → 클라이언트)
- 서버가 클라이언트의 요청을 수락하고 응답 (SYN + ACK 플래그 설정)
- 서버의 ISN과 클라이언트의 ISN+1 값을 포함
3️⃣ ACK (클라이언트 → 서버)
- 클라이언트가 서버의 ISN+1을 확인하고 최종 승인 (ACK 플래그 설정)
- 연결이 성립되고 데이터 전송 시작
(2) TCP 4-Way Handshake (연결 해제)
연결을 해제할 때는 4-Way Handshake를 사용합니다.
1️⃣ FIN (클라이언트 → 서버)
- 클라이언트가 연결을 종료하기 위해 FIN 패킷 전송
2️⃣ ACK (서버 → 클라이언트)
- 서버가 FIN을 확인하고 ACK를 보냄
- 서버는 아직 데이터를 보낼 수 있는 상태 (CLOSE_WAIT)
3️⃣ FIN (서버 → 클라이언트)
- 서버가 데이터를 모두 전송한 후, 연결 종료 요청 (FIN 패킷 전송)
4️⃣ ACK (클라이언트 → 서버)
- 클라이언트가 FIN을 확인하고 ACK를 보냄
- TIME_WAIT 상태로 일정 시간 대기 후 연결 종료
🔹 TIME_WAIT(타임아웃) 대기 이유
- 지연된 패킷이 도착할 경우를 대비
- 새로운 연결이 이전 연결과 충돌하는 것을 방지
⏳ TIME_WAIT 기본값
- Ubuntu: 60초
- Windows: 4분
네트워크 개요 및 데이터 흐름
네트워크 통신은 여러 계층으로 나뉘며, 데이터를 송수신할 때 각 계층을 거쳐 처리됩니다. 이 과정에서 데이터를 감싸는 캡슐화(encapsulation)와 해제하는 비캡슐화(decapsulation)가 이루어집니다.
- 캡슐화: 상위 계층에서 하위 계층으로 데이터를 전달하면서 각 계층의 헤더가 추가됨
- 비캡슐화: 하위 계층에서 상위 계층으로 데이터를 전달하면서 각 계층의 헤더를 제거함
각 계층에서 사용되는 PDU(Protocol Data Unit)는 다음과 같이 정의됩니다.
- 애플리케이션 계층: 메시지
- 전송 계층: 세그먼트(TCP) 또는 데이터그램(UDP)
- 네트워크 계층: 패킷(IP)
- 데이터 링크 계층: 프레임
이제 네트워크의 물리적, 데이터 링크 계층에서 사용되는 LAN 기술에 대해 알아보겠습니다.
유선 LAN (IEEE 802.3)
유선 LAN(Local Area Network)은 물리적인 케이블을 사용하여 네트워크를 구축하는 방식입니다.
대표적인 유선 LAN 기술로 이더넷(Ethernet)이 있으며, IEEE 802.3 표준을 따릅니다.
1. 이더넷과 전이중화 통신
이더넷은 전이중화(Full-Duplex) 통신을 사용합니다.
- 전이중화는 송신과 수신을 동시에 할 수 있는 방식으로, 별도의 송신로와 수신로가 존재합니다.
- 충돌이 발생하지 않기 때문에 CSMA/CD 같은 충돌 감지 방식이 필요하지 않습니다.
과거에는 반이중화(Half-Duplex) 방식으로 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 기술을 사용했지만, 현재는 대부분 전이중화 방식으로 운영됩니다.
2. 이더넷 케이블
유선 LAN에서 사용하는 주요 케이블은 TP 케이블과 광섬유 케이블이 있습니다.
- TP(Twisted Pair) 케이블: 두 개의 구리선을 서로 꼬아서 만든 케이블
- UTP(Unshielded Twisted Pair): 차폐되지 않은 케이블로 일반적으로 사용됨
- STP(Shielded Twisted Pair): 차폐 처리가 되어 전자기 간섭(EMI)에 강함
- 광섬유(Fiber Optic) 케이블: 레이저를 이용해 데이터를 전송하는 케이블
- 장거리 및 고속 통신이 가능
- 내부와 외부의 굴절률이 다른 코어(Core)와 클래딩(Cladding)으로 구성되어 빛의 반사 원리를 이용
무선 LAN (IEEE 802.11)
무선 LAN은 IEEE 802.11 표준을 따르며, 물리적인 케이블 없이 주파수를 이용하여 데이터를 전송하는 방식입니다. 주로 Wi-Fi로 많이 사용됩니다.
1. 반이중화 통신과 CSMA/CA
무선 LAN은 반이중화(Half-Duplex) 통신을 사용합니다.
- 한 번에 한 방향으로만 데이터를 송수신할 수 있습니다.
- 두 장치가 동시에 전송하면 충돌이 발생할 수 있어 이를 방지하는 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) 기술을 사용합니다.
CSMA/CA 동작 방식
- 채널이 사용 중인지 확인하고 유휴 상태일 때까지 대기
- 프레임 간 공간 시간(IFS, Interframe Space) 동안 대기
- 랜덤 백오프 타이머(0 ~ 2^k-1) 동안 기다린 후 데이터 전송
- ACK(수신 확인) 응답을 받으면 성공적으로 전송 완료
- 응답이 없으면 k 값을 증가시키며 재전송 시도
2. 무선 LAN 주파수 대역
무선 LAN은 2.4GHz와 5GHz 대역을 사용합니다.
- 2.4GHz: 장애물에 강하지만, 전자레인지 등 다른 장비와 간섭 발생 가능
- 5GHz: 간섭이 적고, 더 많은 채널을 제공하여 안정적인 연결 가능
3. 무선 네트워크 구조
무선 LAN 환경에서는 **BSS(Basic Service Set)**와 ESS(Extended Service Set) 개념이 존재합니다.
- BSS (기본 서비스 집합): 하나의 AP(Access Point, 공유기)와 연결된 네트워크
- AP의 범위를 벗어나면 네트워크 연결이 끊김
- ESS (확장 서비스 집합): 여러 개의 AP가 연결된 네트워크
- 사용자가 이동하면서도 지속적으로 네트워크 연결 유지 가능
이더넷 프레임 구조
이더넷에서는 프레임(Frame) 단위로 데이터를 주고받습니다. 프레임은 다음과 같은 구조로 이루어져 있습니다.
Preamble (7B) | 프레임 시작을 알리는 신호 |
SFD (1B) | MAC 주소 필드의 시작을 알림 |
DMAC (6B) | 목적지 MAC 주소 |
SMAC (6B) | 출발지 MAC 주소 |
EtherType (2B) | IP 프로토콜 유형(IPv4 or IPv6) |
Payload (46~1500B) | 전달할 데이터 |
CRC (4B) | 오류 검사 |
네트워크 데이터 흐름 과정
- 애플리케이션 계층: 사용자가 요청한 데이터를 생성
- 전송 계층: TCP/UDP 헤더 추가하여 데이터그램 또는 세그먼트 생성
- 네트워크 계층: IP 주소를 붙여 패킷 생성
- 데이터 링크 계층: MAC 주소를 붙여 프레임 생성
- 물리 계층: 전기 신호 또는 무선 신호로 변환하여 전송
- 수신 측: 반대 과정(비캡슐화)을 통해 데이터를 사용자에게 전달
이처럼 네트워크 통신은 여러 계층을 거쳐 데이터를 주고받는 방식으로 이루어집니다. 유선 LAN과 무선 LAN의 차이점을 이해하면, 보다 효과적인 네트워크 환경을 설계하고 최적의 기술을 적용할 수 있습니다.
'CS_네트워크' 카테고리의 다른 글
[CS_네트워크] HTTP와 HTTPS (3) | 2025.02.06 |
---|---|
[CS_네트워크] IP와 인터넷 계층 프로토콜 (0) | 2025.02.05 |
[CS_네트워크] 네트워크 기기 (0) | 2025.02.03 |
[CS_네트워크] 네트워크 분류, 성능 분석, 프로토콜 표준화 (1) | 2025.01.24 |
[CS_네트워크] 처리량, 지연 시간, 네트워크 토폴로지, 병목 현상 (0) | 2025.01.23 |