
OSI 7계층 중 가장 최하위 계층으로 비트 신호를 주고받는 계층
컴퓨터는 0과 1만을 이해할 수 있기 때문에 네트워크를 통해 주고받는 정보도 0과 1로 이루어진 신호로 구성된다.
물리 계층은 이런 신호를 유무선 통신 매체를 통해 운반한다.
같은 LAN에 속한 호스트끼리 올바르게 정보를 주고받기 위한 계층
같은 네트워크에 속한 호스트를 식별하는 MAC 주소 사용하고 물리 계층을 통해 주고받는 정보에 오류가 없는지 확인한다.
물리 계층과 데이터 링크 계층은 서로 밀접하게 연관되어 있으며 하드웨어와 밀접하게 맞닿아 있는 계층
이더넷(Ethernet) 은 LAN에서 데이터를 송수신하는 방법,
프레임 구조, 신호 전송 방식 등을 정의한 기술이다.
현재 대부분의 유선 LAN(Local Area Network) 은 이더넷 기반으로 동작한다.
이더넷은 IEEE 802.3 으로 국제 표준화되어 있다.
서로 다른 제조사의 장비도 같은 네트워크에서 호환되는 이유는
모두 이 표준을 따르기 때문이다.
| 표준명 | 알려진 이름 | 전송 속도 |
|---|---|---|
| IEEE 802.3 | 이더넷 (Ethernet) | 10 Mbps |
| IEEE 802.3u | 고속 이더넷 (Fast Ethernet) | 100 Mbps |
| IEEE 802.3z / 802.3ab | 기가비트 이더넷 (Gigabit Ethernet) | 1 Gbps |
| IEEE 802.3ae | 10기가비트 이더넷 | 10 Gbps |
| IEEE 802.3ba | 100기가비트 이더넷 | 100 Gbps |
| IEEE 802.3bz | 2.5기가비트 이더넷 | 2.5 Gbps |
표준이 달라지면 통신 매체, 신호 방식, 전송 속도 등이 달라질 수 있다.
이더넷 네트워크에서 실제로 주고받는 데이터를 이더넷 프레임(Ethernet Frame) 이라 한다.
(현재 대부분 Ethernet II 프레임 사용)
| 구분 | 설명 | 크기(Byte) |
|---|---|---|
| 프리앰블 (Preamble) | 송수신 동기화용 비트 패턴 | 8 |
| 수신지 MAC 주소 | 목적지 호스트의 물리 주소 | 6 |
| 송신지 MAC 주소 | 송신 호스트의 물리 주소 | 6 |
| 타입/길이 (Type/Length) | 상위 계층 프로토콜 식별 or 프레임 길이 | 2 |
| 데이터 (Payload) | 실제 전달할 데이터 | 46 ~ 1500 |
| FCS (Frame Check Sequence) | 오류 검출용 CRC 값 | 4 |
10101010, 마지막 1바이트: 10101011ab:cd:ef:12:34:560x08000x0806LAN에서 가장 많이 사용되는 유선 매체는 트위스티드 페어 케이블 (Twisted Pair Cable) 이다.
| 카테고리 | 표기 | 최대 속도 | 주요 표준 |
|---|---|---|---|
| Cat5 | 100 Mbps | 100BASE-T | |
| Cat5e | 1 Gbps | 1000BASE-T | |
| Cat6 | 1 Gbps | 1000BASE-TX | |
| Cat6a | 10 Gbps | 10GBASE-T | |
| Cat7 | 10 Gbps | 10GBASE-T | |
| Cat8 | 40 Gbps | 40GBASE-T |
차폐(Shielding)
트위스티드 페어 케이블은 전자기 간섭(Noise)을 줄이기 위해
실드(Shield) 로 감싸는 경우가 있다.
| 표기 | 의미 |
|---|---|
| UTP (Unshielded Twisted Pair) | 실드 없음 |
| STP (Shielded Twisted Pair) | 브레이드 실드로 외부 차폐 |
| FTP (Foiled Twisted Pair) | 포일 실드로 차폐 |
| S/FTP | 외부 브레이드 실드 + 내부 포일 실드 |
| SF/FTP | 이중 차폐(브레이드 + 포일) 구조 |
실드의 표기는 외부 실드 / 내부 실드 순으로 표현된다.
예:
S/FTP→ 외부 브레이드 + 내부 포일 실드
유선 LAN의 대표가 이더넷이라면,
무선 LAN의 대표는 바로 Wi-Fi 다.
| 세대 | 표준 규격 | 최대 속도 |
|---|---|---|
| Wi-Fi 4 | IEEE 802.11n | 600 Mbps |
| Wi-Fi 5 | IEEE 802.11ac | 3.5 Gbps |
| Wi-Fi 6 | IEEE 802.11ax | 9.6 Gbps |
| Wi-Fi 7 | IEEE 802.11be | 46 Gbps (예상) |
주파수 간섭을 줄이기 위해 채널(Channel) 을 분리해 사용
2.4GHz 대역에서는 1, 6, 11번 채널을 사용하는 것이 가장 안정적이다.
AP와 SSID
NIC = 네트워크 인터페이스 카드
네트워크 인터페이스의 하드웨어 구현체
- 송신 시: 호스트의 데이터를 프레임으로 변환해 전송
- 수신 시: 수신된 신호를 프레임으로 변환해 CPU로 전달
- 각 NIC에는 고유한 MAC 주소가 부여됨
- 대부분의 PC는 메인보드에 내장 NIC 를 포함
NIC 성능 확장: 티밍(Teaming) / 본딩(Bonding)
여러 NIC를 하나의 고속 NIC처럼 묶어 사용하는 방식
| 운영체제 | 용어 | 설명 |
|---|---|---|
| Windows | Teaming | NIC 다중 연결 구성 |
| Linux | Bonding | NIC 다중 연결 구성 |
마치 RAID 처럼 여러 물리 장치를 하나의 논리 장치로 묶어
속도와 안정성을 동시에 확보할 수 있다.
| 구분 | 허브 (Hub) | 스위치 (Switch) |
|---|---|---|
| 계층 | 물리 계층 (1계층) | 데이터 링크 계층 (2계층) |
| 동작 방식 | 받은 신호를 모든 포트로 송출 | 목적지 포트로만 송출 |
| 통신 방식 | 반이중 (Half Duplex) | 전이중 (Full Duplex) |
| 충돌 도메인 | 전체 호스트 공유 | 포트별로 분리 |
| 사용 여부 | 거의 사용 안 함 | 대부분의 LAN에서 사용 |
스위치의 주요 기능
① MAC 주소 학습 (MAC Address Learning)

② VLAN (Virtual LAN)

네트워크 간 통신을 가능하게 하는 계층
데이터 링크 계층이 기본적으로 같은 LAN에 속한 호스트끼리 올바르게 정보를 주고받기 위한 계층이면, 네트워크 계층은 LAN을 넘어 다른 네트워크와 통신을 주고받기 위한 계층이다.
네트워크간 통신 과정에서 호스트를 식별할 수 있는 주소(IP 주소) 필요
IP는 네트워크 계층의 핵심 프로토콜로, 네트워크 간 통신을 가능하게 하는 주소 체계
주소 지정(Addressing)

네트워크 간 통신에서 MAC 주소보다 IP 주소가 우선적으로 사용된다.
라우팅은 오직 IP 주소로 이루어진다.
단편화(Fragmentation)
MTU (Maximum Transmission Unit)
단편화와 관련된 IP 헤더 필드
| 필드 | 설명 |
|---|---|
| Identification | 같은 원본 데이터에서 쪼개진 패킷을 구별하는 번호 |
| Flags (DF, MF) | DF: 단편화 금지(Don’t Fragment) / MF: 뒤에 단편 더 있음 |
| Fragment Offset | 조립할 때 원래 데이터에서 몇 바이트 떨어져 있는지 |
단편화를 피하는 기술: Path MTU Discovery
단편화를 피하는 이유
잦은 IP 단편화는 네트워크에 여러 악영향을 미친다.
비신뢰성(Unreliable)
비연결형(Connectionless)
이러한 비연결형 + 비신뢰성 특성을 보완하려고 나온 것이
→ TCP (신뢰성 보장 계층)
→ ICMP (전송 상태 피드백)
중요한 필드만 추려서 정리:
| 필드 | 설명 |
|---|---|
| Version | IPv4 = 4 |
| Header Length | 헤더 길이 |
| Total Length | 패킷 전체 크기 |
| Identification | 단편화 시 패킷 구분 |
| Flags (DF/MF) | 단편화 옵션 |
| Fragment Offset | 조립 순서 |
| TTL | 라우터를 지날 때 1씩 감소 (0되면 폐기) |
| Protocol | 상위 계층 프로토콜 번호 (TCP=6, UDP=17) |
| Source IP | 출발지 |
| Destination IP | 목적지 |
| Checksum | 헤더 오류 검증 |
IPv4 주소는 32비트 = 4바이트 = 4개의 옥텟
예: 192.168.0.1
네트워크 주소는 네트워크를 구별,
호스트 주소는 그 네트워크 안의 호스트를 구별한다.
IP 주소를 A/B/C 클래스로 나누어 네트워크 크기를 정해 둔 전통적 방식.
| 클래스 | 첫 번째 옥텟 범위 | 네트워크/호스트 구조 |
|---|---|---|
| A | 0~127 | N . H . H . H |
| B | 128~191 | N . N . H . H |
| C | 192~223 | N . N . N . H |
→ 지금은 거의 사용되지 않지만 개념 이해용으로 중요.
지금의 인터넷에서 사용하는 방식.
서브넷 마스크를 이용해 네트워크/호스트 비율을 자유롭게 조절할 수 있다.
Subnet Mask
IP 주소상에서 네트워크 주소를 1로 표기하고 호스트 주소를 0으로 표기한 비트열
서브넷을 구분하는 비트열
Subnetwork
IP 주소에서 네트워크 주소로 구분할 수 있는 네트워크의 부분집합
서브넷 마스크 예시
192.168.200.102 / 24
서브넷 마스크: 255.255.255.0
비트 AND 연산
네트워크 주소: 192.168.200.0
공인 IP (Public IP)
사설 IP (Private IP)
사설 IP 대표 범위
정적 할당 (Static)
운영자가 직접:
를 설정한다.
Gateway
서로 다른 네트워크를 연결하는 하드웨어/소프트웨어적 수단
그 중 기본 게이트웨이는 호스트가 속한 네트워크의 외부로 나가기 위한 첫 기본 경로
따라서 기본 게이트웨이는 네트워크 외부와 연결된 라우터의 주소를 의미하는 경우가 많다.
DNS
호스트가 도메인 네임을 토대로 IP 주소를 알아내기 위해 질의하는 서버의 주소
기본적으로 호스트끼리 패킷을 주고받는 데에 IP 주소가 사용되지만
통신을 주고받는 모든 호스트의 IP 주소를 기억하기 어렵다.
따라서 IP 주소에 대응되는 기억할 수 있는 문자열로 호스트 식별 가능
도메인 네임
호스트가 도메인 네임을 토대로 이에 대응되는 IP 주소를 알아내려면
<도메인 네임, IP 주소> 쌍을 저장하는 DNS 서버에 질의해야 한다.
동적 할당 (DHCP, Dynamic Host Configuration Protocol)
자동으로 IP를 부여받음
ICMP는 IP 전송 과정에 대한 피드백 메시지 프로토콜.
대표 ICMP 메시지
IP 주소만으로는 LAN에서 통신할 수 없기 때문에
IP → MAC 주소를 알아내는 프로토콜이 필요하다. 그게 ARP.
ARP 동작 과정
“이 IP 가진 애 누구야? MAC 주소 알려줘!”
“내 MAC은 XX-XX-XX야”
네트워크를 통해 송수신되는 패킷은 전송 도중 유실의 가능성과 순서가 바뀌는 가능성이 있다.
전송 계층은 이런 상황에 대비해 신뢰성 있는 전송을 가능하게 하는 계층
또한 Port를 통해 특정 응용 프로그램과의 연결 다리를 수행하는 계층
네트워크 통신에서 패킷은 호스트(컴퓨터) 가 목적지가 아닌,
호스트 내부의 특정 프로세스(애플리케이션) 로 전달되어야 한다.
이를 위해 포트 번호(port number) 를 사용한다.
예) 192.168.0.10:8080
| 종류 | 범위 | 설명 |
|---|---|---|
| Well-known Port | 0 ~ 1023 | 가장 대중적인 서비스 (HTTP 80, HTTPS 443, DNS 53 등) |
| Registered Port | 1024 ~ 49151 | 자주 사용되는 서비스 (MySQL 3306, Redis 6379 등) |
| Dynamic Port | 49152 ~ 65535 | 클라이언트 프로그램이 임시로 사용하는 포트 |
NAT(Network Address Translation)은 사설 IP ↔ 공인 IP 변환 기술이다.
공유기 안의 여러 사설 IP를 하나의 공인 IP로 묶을 때 포트를 기준으로 구분하는데, 이 방식이 NAPT이다.
192.168.0.5:1030 → 1.2.3.4:6200
192.168.0.6:1040 → 1.2.3.4:6201
포트 번호 덕분에 여러 기기가 하나의 공인 IP를 공유할 수 있다.
TCP는 신뢰성 높은 전송을 위해 다양한 기능을 제공한다.
Sequence Number
TCP 패킷의 올바른 송수신 순서를 보장하기 위해 세그먼트 첫 바이트에 매겨진 번호
현재 주고받는 TCP 세그먼트가 송수신하고자 하는 데이터의 몇 번째 바이트에 해당하는지 확인 가능
ACK Number
상대 호스트가 보낸 세그먼트에 대한 응답, 다음으로 수신하길 기대하는 순서 번호
일반적으로 올바르게 수신한 순서 번호에 1이 더해진 값
Control Bits, flag bits
현재 세그먼트에 대한 부가 정보
UDP는 매우 단순한 프로토콜이다.
TCP는 데이터를 주고받기 전에 연결을 먼저 만든다.
A는 “연결을 먼저 요청” → Active Open
B는 “요청을 수락” → Passive Open
클라이언트 - 서버 관계에서 액티브 오픈은 주로 클라이언트, 패시브 오픈은 주로 서버에 의해 수행
이 과정이 끝나면 ESTABLISHED 상태로 전환된다.
재전송 발생 조건

- 특정 세그먼트가 유실되었을 때

- TCP 세그먼트를 송신하는 호스트는 모두 재전송 타이머라는 값을 유지
- 호스트는 세그먼트를 전송할 때마다 이 재전송 타이머 시작
- 이 타이머의 카운트 다운이 끝난 상황을 Timeout
- ACK가 Timeout 발생까지 오지 않으면 재전송
Pipelining
기본적인 TCP 송수신 방법은 한 번에 여러 세그먼트를 보낼 수 있는 상황에서도 확인 응답을 받기 전까지는 보낼 수 없다.
한번에 하나의 세그먼트만 주고받아야 하는 비효율

오늘날의 TCP는 확인 응답을 받기 전이라도 여러 메시지를 보내는 파이프라이닝 사용
수신자가 처리 가능한 만큼만 데이터를 보내도록 제어
송신 호스트가 수신 호스트의 처리 속도를 고려하여 송수신 속도를 균일하게 맞추는 기능
네트워크가 혼잡할 때 전송량을 조절한다.
네트워크의 혼잡 가능성을 검출한 송신 호스트는 전송할 수 있는 최대 전송량을 송신하지 않고
혼잡 없이 전송할 수 있을 정도의 양인 Congestion Window(혼잡 윈도우)만큼만 송신
AIMD 알고리즘 (혼잡 제어 알고리즘)
패킷을 보내고 그에 대한 응답이 수신되기까지의 시간을 RTT라 한다.
RTT(Round Trip Time)를 기준으로 동작하며, 톱니 형태의 혼잡 윈도우 변화를 보인다.
TCP 종료는 4단계를 거친다.

그리고 A는 TIME_WAIT 상태로 잠시 대기한다.
(마지막 ACK가 유실되었을 경우 대비)
TCP는 여러 상태를 가지며 통신 과정에 따라 전이된다.
