1. 계층 구조
인터넷 프로토콜 스위트는 인터넷에서 정보를 주고 받는데 쓰이는 프로토콜의 집합이다. 보통 TCP/IP 4계층 혹은 OSI 7계층으로 설명한다. 각 계층들은 특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 설계되었다.
1) 애플리케이션 계층
애플리케이션 계층은 웹 서비스, 이메일 등과 같은 응용 프로그램 간의 통신 서비스를 사용자에게 제공하는 계층이다.
- FTP : 장치와 장치 간의 파일을 전송하는데 사용되는 표준 통신 프로토콜
- SSH : 보안되지 않는 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜
- HTTP : World Wide Web(WWW)를 위한 데이터 통신의 기초이자 웹 사이트 이용 프로토콜
- SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
- DNS : 도메인 이름을 IP 주소로 변환 시켜주는 서버
2) 전송 계층
전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하며, 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할을 한다. 프로세스 간 통신, 데이터 분할 및 재조립, 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공한다.
2.1. 핵심 프로토콜
- TCP : 패킷 사이의 순서를 보장하는 연결지향 프로토콜을 사용하여 연결한다. 신뢰성이 높고 수신 여부 확인이 가능하기 때문에 가상회선 패킷 교환 방식을 사용한다.
- UDP : 패킷 사이의 순서를 보장하지 않는 비연결지향 프로토콜을 사용하여 연결한다. 수신 여부를 확인하지 않기 때문에 단순히 데이터만 주는 데이터그램 패킷 교환 방식을 사용한다.
2.2 패킷 교환 방식
- 가상회선 패킷 교환 방식 : 각 패킷에 가상회선 식별자가 포함되며, 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착하는 방식이다.
- 데이터그램 패킷 교환 방식 : 패킷이 독립적으로 이동하며 최적의 경로를 선택하기 때문에 도착 순서가 다를 수 있다.
| 구분 | 가상회선 방식 | 데이터그램 방식 |
| 연결성 | 연결 지향형 (Connection-Oriented) | 비연결 지향형 (Connectionless) |
| 경로 설정 | 통신 시작 전 미리 설정 | 통신 전 설정 없음 |
| 패킷 순서 | 보장됨 | 보장 안 됨 (수신 측 재조립 필요) |
| 헤더 크기 | 작음 | 큼 |
| 네트워크 장애 | 경로상의 노드 장애 발생 시 모든 통신이 중단 | 장애 발생 노드를 피해 다른 경로로 우회 |
| 대표 프로토콜 | X.25, ATM, TCP | IP, UDP |
2.3 TCP 연결 성립/해제 과정
- 연결 성립 (3-Way handshake) : 클라이언트와 서버가 통신 하기 전에 서로의 Sequence Number(순서 번호)를 교환하고 통신 준비가 되었음을 확인하는 3단계의 절차
| 단계 | 발신자 → 수신자 | 전송 플래그 (FLAG) | 의미 |
| 1단계 | Client → Server | SYN | 클라이언트는 ISN을 담아 서버로 SYN을 보냄 |
| 2단계 | Server → Client | SYN + ACK | 서버는 클라이언트의 SYN을 수신하고, 서버 ISN을 클라이언트로 보냄 (이때, 승인번호는 클라이언트 ISN + 1) |
| 3단계 | Client → Server | ACK | 클라이언트는 서버로 ACK를 보냄 (이때, 승인번호는 서버 ISN + 1) |
- 연결 해제 (4-Way handshake) : 설정된 연결을 안전하게 종료하기 위한 4단계의 절차
| 단계 | 발신자 → 수신자 | 전송 플래그 (FLAG) | 의미 |
| 1단계 | Client → Server | FIN | 클라이언트가 서버로 FIN을 보내 응답을 기다림 (클라이언트는 FIN_WAIT_1 상태로 변경) |
| 2단계 | Server → Client | ACK | 서버는 클라이언트로 ACK를 보냄 (서버는 CLOSE_WAIT 상태로 변경, 클라이언트는 FIN_WAIT_2 상태로 변경) |
| 3단계 | Server → Client | FIN | 일정 시간 후, 서버는 클라이언트로 FIN을 보냄 |
| 4단계 | Client → Server | ACK | 클라이언트는 서버로 ACK를 보냄 (클라이언트는 TIME_WAIT 상태로 변경, 서버는 CLOSED 상태로 변경) |
* SYN : 연결 요청 플래그
* ACK : 응답 플래그
* ISN : 초기 네트워크 연결의 첫번째 패킷에 할당된 임의의 시퀀스 번호
3) 인터넷 계층
인터넷 계층은 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지까지 전송하기 위해 사용하는 계층이다. 패킷을 수신해야 할 상대의 주소를 지정하여 데이터를 전달한다. 상대방이 제대로 받았는지에 대해 보장하지 않는 비연결형 특징을 가지고 있다.
- IP : 패킷의 주소 지정과 라우팅 담당
- ARP : IP 주소를 물리적 주소(MAC 주소)로 변환하는데 사용
- ICMP : 네트워크 오류 메시지나 제어 정보를 전송
4) 링크 계층
링크 계층은 물리적으로 데이터를 전달하며 장치 간에 신호를 주고 받는 규칙을 정하는 계층이다.
4.1 유선 LAN
유선 LAN은 IEEE802.3이라는 프로토콜을 기반으로, 케이블을 사용하여 장치를 연결하는 근거리 통신망이다.
- 전이중화 통신 : 데이터의 송신로와 수신로가 분리되어 있어, 양쪽 장치가 동시에 송수신 할 수 있는 방식이다. 현대 고속 유선 LAN은 이 방식을 사용한다.
- CSMA/CD : 데이터의 송신로와 수신로가 분리되어 있지 않기 때문에 데이터를 보낸 후 충돌이 발생하면, 일정 시간 이후 재전송 하는 방식이다. 과거 반이중화 통신에서 사용하던 방식으로 현재는 거의 사용되지 않는다.
| 케이블 | 특징 | 용도 |
| 트위스트 페어 (TP 케이블) |
여덟 개의 구리선을 두개씩 꼬아서 만든 케이블 | 구리선을 실드 처리하지 않은 UTP 케이블 (LAN 케이블), 구리선을 실드 처리한 STP 케이블 |
| 광섬유 | 레이저를 이용하여 통신하는 광섬유로 만든 케이블 | 광섬유 내부와 외부가 다른 밀도인 유리나 플라스틱 섬유 (빛이 반사하며 전진하여 장거리 및 고속 통신 가능) |
4.2 무선 LAN
무선 LAN은 IEEE 802.11 프로토콜을 기반으로, 무선 주파수를 이용하여 장치를 연결한다.
- 반이중화 통신 : 송신로와 수신로가 분리되어 있지 않아 동시에 통신할 수 없으며, 한 번에 한 방향으로만 데이터를 통신할 수 있는 방식이다.
- CSMA/CA : 반이중화 통신 중 하나로, 데이터를 보내기 전에 충돌을 미리 방지하도록 설계된 방식이다.
| 주파수 | 특징 | 용도 |
| Wi-Fi | 전자기기들이 무선 LAN 신호에 연결할 수 있게 하는 기술 | 유선 LAN에 흐르는 신호를 무선 LAN 신호로 바꿈 |
| BSS | 하나의 AP와 연결된 모든 무선 장치들이 통신 가능한 구조 | 근거리 무선 통신 제공 |
| ESS | 여러 개의 BSS가 하나의 논리적인 네트워크로 연결된 구조 | 장거리 무선 통신 제공, 많은 가용성과 이동성 지원 |
4.3 이더넷 프레임
이더넷 프레임은 데이터를 전송할 때 사용하는 기본 단위이자 표준화된 데이터 구조이다. 이더넷 프레임을 통해 전달 받은 데이터의 에러를 검출하고 캡슐화한다.
- Preamsble : 이더넷 프레임의 시작을 알림
- SFD : 다음 바이트부터 MAC 주소 필드가 시작됨을 알림
- DMAC, SMAC : 수신, 송신 MAC 주소
- EtherType : 상위 계층의 IP 프로토콜 종류 정의
- Payload : 상위 계층으로부터 전달받은 데이터
- CRC : 에러 확인 비트
5) 계층 간 데이터 송수신 과정
네트워크에서 데이터가 송신 측에서 수신 측으로 전달될 때, 각 계층을 거치면서 정보가 추가되거나 제거되는 일련의 과정을 캡슐화와 비캡슐화라고 한다.
- 캡슐화 : 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고, 해당 계층의 헤더를 삽입하는 과정이다. 애플리케이션 계층부터 링크 계층까지 TCP(L4, 세그먼트 및 데이터그램화), IP(L3, 패킷화), 프레임 헤더와 프레임 트레일러(프레임화)가 순서대로 붙는다.
- 비캡슐화 : 하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정이다. 링크계층부터 애플리케이션 계층까지 순서대로 프레임화, 패킷화, 세그먼트 및 데이터그램화, 메시지화된다.
2. PDU
프로토콜 데이터 단위(Protocol Data Unit)의 약자로, 네트워크의 각 계층으로 데이터가 전달 될 때 처리하는 데이터의 기본 단위를 PDU라고 말한다.
1) PDU의 구성
- 헤더 : 해당 계층의 제어 관련 정보들(주소 정보, 오류 검출 번호, 순서 번호 등)이 포함
- 페이로드 : 실제 전송하는 데이터를 의미
2) TCP/IP 4계층별 PDU 명칭
- 애플리케이션 계층 : 데이터, 메시지
- 전송 계층 : 세그먼트(TCP), 데이터그램(UCP)
- 인터넷 계층 : 패킷
- 링크 계층 : 프레임(데이터링크), 비트(물리)
'CS 스터디' 카테고리의 다른 글
| 2-4. IP주소 - ARP, 홉바이홉 통신, IP 주소 체계 (0) | 2025.10.19 |
|---|---|
| 2-3. 네트워크 기기 - 애플리케이션, 인터넷, 데이터 링크, 물리 계층 처리 기기 (0) | 2025.10.13 |
| 2-1. 네트워크의 기초 [02]- 네트워크 분류, 네트워크 성능 분석 명령어, 네트워크 프로토콜 표준화 (0) | 2025.09.26 |
| 2-1. 네트워크의 기초 [01]- 처리량과 지연 시간, 네트워크 토폴로지와 병목 현상 (0) | 2025.09.26 |
| 1-2. 프로그래밍 패러다임 - 선언형과 함수형 프로그래밍, 객체지향 프로그래밍, 절차형 프로그래밍 (0) | 2025.09.19 |