[CS] TCP/IP 4계층 모델

눈치없어·2025년 4월 30일

인터넷 프로토콜 스위트(internet protocol suite)
: 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합
이를 TCP/IP 4계층 모델로 설명하거나 OSI 7계층 모델로 설명하기도 함

TCP/IP 4계층 모델을 중심으로 설명



계층 구조

TCP/IP 4계층과 OSI 7계층 비교


애플리케이션 계층(응용 계층)

  • 응용 프로그램이 사용되는 프로토콜 계층
  • 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공
프로토콜설명
FTP장치 간 파일 전송용 표준 통신 프로토콜
SSH보안되지 않은 네트워크 환경에서 안전하게 운영하기 위한 암호화 네트워크 프로토콜
HTTP웹 페이지를 전송하는 기본 통신 프로토콜 (World Wide Web 기반)
SMTP이메일 전송을 위한 인터넷 표준 프로토콜
DNS도메인 이름과 IP 주소를 매핑하는 서버

전송 계층

송신자와 수신자를 연결하는 통신 서비스를 제공

  • 데이터 스트림 지원
  • 신뢰성 보장
  • 흐름 제어 지원
  • 애플리케이션 계층과 인터넷 계층 사이에서 중계 역할 수행
항목TCPUDP
연결 방식연결지향비연결지향
신뢰성보장 (수신 여부 확인)보장하지 않음
순서 보장OX
패킷 교환 방식가상회선 패킷 교환 방식데이터그램 패킷 교환 방식

 

📌 가상회선 패킷 교환 방식

  • 패킷에 가상회선 식별자 포함
  • 모든 패킷을 전송하면 가상회선이 해제
  • 패킷들은 전송된 순서대로 도착하는 방식


📌 데이터그램 패킷 교환 방식

  • 패킷이 독립적으로 이동
  • 최적 경로를 선택하여 전송
  • 도착한 순서가 다를 수 있는 방식


📌 TCP 연결 성립 과정

TCP는 신뢰성을 확보할 때 3-웨이 핸드셰이크 작업을 진행

1️⃣ SYN 단계
클라이언트 → 서버에 SYN + 클라이언트 ISN(초기 시퀀스 번호) 전송

2️⃣ SYN + ACK 단계
서버 → 클라이언트로 서버 ISN과 클라이언트 ISN+1을 담은 응답

3️⃣ ACK 단계
클라이언트 → 서버로 서버 ISN+1을 담아 응답

이렇게 3-웨이 핸드셰이크 과정 이후 신뢰성이 구축되고 데이터 전송을 시작

TCP는 이 과정이 있기 때문에 신뢰성이 있는 계층이라고 하고,
UDP는 이 과정이 없기 때문에 신뢰성이 없는 계층이라고 함

SYN
SYNchronization의 약자, 연결 요청 플래그
ACK
ACKnowledgement의 약자, 응답 플래그
ISN
Initial Sequence Numbers의 약어, 초기 네트워크 연결을 할 때 할당된 32비트 고유 시퀀스 번호


📌 TCP 연결 해제 과정

TCP가 연결을 해제할 때는 4-웨이 핸드셰이크 과정이 발생

1️⃣ 클라이언트 → 서버에 FIN 전송 (FIN_WAIT_1)
2️⃣ 서버 → 클라이언트에 ACK 응답 (CLOSE_WAIT)
3️⃣ 서버 → 클라이언트에 FIN 전송
4️⃣ 클라이언트 → 서버에 ACK 응답 후 TIME_WAIT 진입

TIME_WAIT의 이유
지연 패킷 처리를 위해: 늦게 도착한 패킷에 대비
완전한 연결 종료 확인: 오류 없이 새로운 연결 가능하게
TIME_WAIT: 소켓이 바로 소멸되지 않고 일정 시간 동안 유지되는 상태
(예: 리눅스 약 60초, 윈도우 약 4분)


 

인터넷 계층

장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층
데이터를 어디로 보내야 할지를 결정하는 "주소지정과 전송" 역할을 수행

프로토콜설명
IP (Internet Protocol)패킷의 전송과 라우팅을 담당
ARP (Address Resolution Protocol)IP 주소를 MAC 주소로 변환
ICMP (Internet Control Message Protocol)오류 보고, 네트워크 진단 (ex: ping 명령어 기반)

링크 계층

  • 전선, 광섬유, 무선 등을 통해 실질적으로 데이터를 전달
  • 장치 간 신호 주고받는 규칙을 정의
  • 네트워크 접근 계층 이라고도 부름

링크 계층은 다시 물리 계층과 데이터 링크 계층으로 나뉨


📌 유선 LAN(IEEE802.3)

전이중화 통신

  • 송신로와 수신로를 분리해 양방향 동시 통신 가능
  • 현대 고속 이더넷은 전이중화 기반

CSMA/CD

  • 과거 반이중화 통신 사용
  • 하나의 경로를 공유해 충돌 발생 시 일정 시간 대기 후 재전송

📌 유선 LAN을 이루는 케이블

종류설명
트위스트 페어 케이블 (TP 케이블)8가닥 구리선을 두 개씩 꼬아 만든 케이블. UTP(비차폐), STP(차폐) 종류 존재
광섬유 케이블레이저로 신호를 주고받아 장거리, 고속 통신 가능 (100Gbps)

광섬유 내부 구조:
코어(Core): 빛이 통과하는 중심
클래딩(Cladding): 빛을 반사시키는 외부 층


📌 무선 LAN(IEEE802.11)

반이중화 통신

  • 한 번에 한 방향으로만 통신 가능
  • 수신 중에는 송신 불가, 충돌 방지 메커니즘 필요

CSMA/CA

  • 충돌 방지 기반 통신 방식
  • 송신 전에 채널 감지 → 대기 → 프레임 전송
  • 송신 성공 시 ACK 받음, 실패 시 재전송 시도

📌 무선 LAN을 이루는 주파수

주파수특징
2.4GHz장애물에 강하지만 전파 간섭 많음
5GHz깨끗한 통신 환경, 빠른 속도 제공

와이파이

  • 전자기기들이 무선 LAN 신호에 연결할 수 있게 하는 기술
  • AP (Access Point): 유선 LAN 신호를 무선 신호로 변환하는 장치 (공유기)
  • 무선 LAN 기술에는 Wi-Fi, ZigBee, Bluetooth 등이 있음

BSS

  • 기본 서비스 집합을 의미
  • 단순 공유기를 통해 네트워크에 접속하는 것이 아닌 동일 BSS 내에 있는 AP들과 장치들이 서로 통신이 가능한 구조
  • 근거리 무선 통신을 제공
  • 하나의 AP만으로 구축이 되어 있어 사용자가 한 곳에서 다른 곳으로 자유롭게 이동하며 네트워크에 접속 불가능

ESS

  • 하나 이상의 연결된 BSS 그룹
  • 장거리 무선 통신을 제공하며 BSS보다 더 많은 가용성과 이동성을 지원
  • 즉, 사용자는 한 장소에서 다른 장소로 이동하며 중단 없이 네트워크에 계속 연결 가능

📌 이더넷 프레임

  • Preamble: 이더넷 프레임이 시작임을 알림
  • SFD: 다음 바이트부터 MAC 주소 필드가 시작됨을 알림
  • DMAC, SMAC: 수신, 송신 MAC 주소
  • EtherType: 데이터 계층 위의 계층인 IP 프로토콜을 정의(IPv4, IPv6 등)
  • Payload: 전달받은 데이터
  • CRC: 에러 확인 비트

MAC 주소
네트워트 장치를 구별하는 48비트 식별 번호


계층 간 데이터 송수신 과정

사용자가 컴퓨터에서 HTTP 요청을 통해
다른 컴퓨터의 웹 서버로 데이터를 요청할 경우

보내는 쪽:
애플리케이션 계층 → 전송 계층 → 인터넷 계층 → 링크 계층
(캡슐화 과정)

받는 쪽:
링크 계층 → 인터넷 계층 → 전송 계층 → 애플리케이션 계층
(비캡슐화 과정)


📌 캡슐화 과정

상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고
해당 계층의 헤더를 삽입하는 과정

계층동작생성 데이터 (PDU)
애플리케이션 계층요청 메시지 생성메시지
전송 계층TCP 헤더 추가세그먼트 (또는 UDP는 데이터그램)
인터넷 계층IP 헤더 추가패킷
링크 계층프레임 헤더/트레일러 추가프레임

프레임화된 데이터가 물리 매체(유선/무선)를 통해 상대 서버로 전송


📌 비캡슐화 과정

하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정

링크 계층: 프레임 → 헤더 제거 → 패킷 전달
인터넷 계층: 패킷 → 헤더 제거 → 세그먼트 전달
전송 계층: 세그먼트 → 헤더 제거 → 메시지 전달
애플리케이션 계층: 사용자 요청에 대한 응답 처리



PDU

네트워크에서 계층 간 데이터를 주고받을 때의 기본 단위
각 계층에서 데이터를 전송하기 위해 구성한 헤더 + 페이로드로 구성됨

📌 구성 요소

구성 요소설명
헤더 (Header)제어 정보 (주소, 오류 검출 등)
페이로드 (Payload)실제 데이터 내용

📌 계층별 PDU 명칭

계층PDU 명칭
애플리케이션 계층메시지
전송 계층세그먼트 (TCP) / 데이터그램 (UDP)
인터넷 계층패킷
링크 계층프레임 (데이터링크 계층) / 비트 (물리 계층)

애플리케이션 계층은 '메시지'를 기반으로 데이터를 전달하는데,
HTTP 요청 시 GET /index.html HTTP/1.1처럼 문자열 기반 헤더로 구성




참고: 북스터디 - 면접을 위한 CS 전공지식 노트 (Chapter 2-2)

profile
dock 사이즈 다르잖아

0개의 댓글