Network_04 : 물리 계층

이준익·2026년 5월 9일

지난 글에서 네트워크를 계층으로 나누어 보고, 데이터가 아래 계층으로 내려가면서 헤더가 붙는 과정을 캡슐화라고 정리했다.

그런데 한 가지 의문이 남는다.

컴퓨터 안에서 데이터는 결국 0과 1이다.
그렇다면 이 0과 1은 실제 네트워크 선을 타고 어떻게 이동할까?

여기서 등장하는 계층이 물리 계층이다.

물리 계층은 무엇을 담당할까

물리 계층은 아주 단순하게 말하면,

0과 1로 된 데이터를 실제 신호로 바꾸어 전달하는 계층

이라고 볼 수 있다.

컴퓨터 내부에서는 데이터를 비트, 즉 0과 1로 다룬다.
하지만 0과 1이라는 숫자 자체가 케이블을 타고 이동하는 것은 아니다.

실제 네트워크에서는 이 비트들이 상황에 따라 다른 형태의 신호로 바뀐다.

유선 케이블에서는 전기 신호가 될 수 있고,
광케이블에서는 빛 신호가 될 수 있고,
무선 네트워크에서는 전파가 될 수 있다.

즉, 물리 계층의 관심사는 이런 것이다.

이 0과 1을 어떤 신호로 바꿔서 보낼 것인가?
그리고 받은 신호를 다시 어떻게 0과 1로 해석할 것인가?

여기서 중요한 건 물리 계층은 데이터의 의미를 해석하지 않는다는 점이다.
이 데이터가 HTTP 요청인지, IP 패킷인지, MAC 주소가 무엇인지는 물리 계층의 관심사가 아니다.

물리 계층은 그저 “신호가 잘 이동할 수 있게 하는 것”에 집중한다.

0과 1을 신호로 바꾼다는 것

0과 1을 신호로 바꾼다는 말을 처음 들으면 조금 추상적으로 느껴진다.

그래서 아주 단순하게 생각해보면 좋다.

예를 들어 전기 신호를 사용한다고 해보자.

전압이 높은 상태를 1로 보고,
전압이 낮은 상태를 0으로 볼 수 있다.

그러면 1011이라는 데이터는 실제 선 위에서 이런 식으로 표현될 수 있다.

높음 → 낮음 → 높음 → 높음

물론 실제 네트워크 장비는 이것보다 훨씬 복잡한 방식으로 신호를 처리한다.
하지만 큰 그림은 이 정도로 잡아도 된다.

컴퓨터는 숫자 0과 1을 그대로 던지는 것이 아니라,
그 0과 1을 물리적인 신호 패턴으로 바꾸어 보낸다.

받는 쪽 장비는 반대로 동작한다.

“지금 들어온 신호는 높은 상태네? 그럼 1로 해석하자.”
“이번 신호는 낮은 상태네? 그럼 0으로 해석하자.”

이런 식으로 신호를 다시 비트로 복원한다.

결국 네트워크 통신은 추상적으로 보면 데이터 이동이지만,
바닥까지 내려가면 신호의 이동이다.

유선 통신 매체

유선 통신은 말 그대로 선을 통해 신호를 전달하는 방식이다.

가장 흔하게 떠올릴 수 있는 것은 랜선이다.
보통 이더넷 케이블이라고 부르는 케이블을 사용해서 PC, 스위치, 라우터 같은 장비를 연결한다.

유선 통신에서는 주로 전기 신호가 케이블을 따라 이동한다.
그래서 케이블의 상태, 연결 여부, 케이블 종류, 포트 상태 같은 것들이 중요해진다.

개발자나 DevOps 관점에서도 이 부분은 완전히 남의 일이 아니다.

서버는 정상인데 접속이 안 된다.
서비스 프로세스도 살아 있고, 포트도 열려 있다.
그런데 알고 보니 랜선이 빠져 있거나, 스위치 포트가 죽어 있거나, 링크가 올라오지 않은 상태일 수도 있다.

이런 문제는 애플리케이션 로그를 아무리 봐도 나오지 않는다.
왜냐하면 애플리케이션까지 데이터가 도달하지 못했기 때문이다.

여기서 중요한 건 “네트워크 문제”가 항상 IP, DNS, 방화벽 같은 논리적인 문제만은 아니라는 점이다.
가끔은 정말 물리적으로 연결이 안 되어 있는 문제일 수 있다.

케이블 종류는 어느 정도만 알면 될까

케이블 종류를 깊게 파고들면 굉장히 많은 내용이 나온다.
UTP, STP, Cat5e, Cat6, Cat6A, 광케이블 같은 용어들이 있다.

하지만 지금 단계에서는 모든 케이블 스펙을 외울 필요는 없다고 생각한다.

일단은 이렇게만 구분해도 충분하다.

랜선처럼 전기 신호를 사용하는 케이블이 있고,
광케이블처럼 빛 신호를 사용하는 케이블이 있다.

전기 신호 기반 케이블은 일반적인 사무실, 가정, 서버 장비 연결에서 많이 볼 수 있다.
광케이블은 더 먼 거리나 더 높은 대역폭이 필요한 환경에서 자주 사용된다.

DevOps나 백엔드 개발자 입장에서는 케이블의 세부 구조보다 이런 감각이 더 중요하다.

지금 장비와 장비 사이에 링크가 정상적으로 올라와 있는가?
물리 포트가 살아 있는가?
케이블이나 NIC 문제는 아닌가?

즉, 케이블을 전기공학적으로 이해하기보다는
네트워크 장애를 볼 때 물리 계층도 의심할 수 있어야 한다.

무선 통신 매체

유선이 케이블을 사용한다면, 무선은 공기를 매체로 사용한다.

와이파이를 생각하면 된다.
노트북이나 스마트폰은 랜선 없이도 공유기와 통신할 수 있다.
이때 데이터는 전파 형태로 이동한다.

여기서도 본질은 같다.

컴퓨터 내부의 0과 1이 무선 장비를 통해 전파 신호로 바뀌고,
상대 장비는 그 전파 신호를 다시 0과 1로 해석한다.

다만 무선은 유선보다 주변 환경의 영향을 많이 받는다.

거리가 멀어지거나, 벽이 있거나, 주변에 같은 주파수 대역을 쓰는 장비가 많으면 통신 품질이 나빠질 수 있다.

유선은 “선이 제대로 꽂혀 있는가?”가 중요하다면,
무선은 “신호가 충분히 잘 닿고 있는가?”가 중요하다.

그래서 무선 네트워크 문제를 볼 때는 단순히 인터넷이 되냐 안 되냐만 볼 것이 아니라,
신호 세기, 간섭, AP와의 거리 같은 요소도 함께 봐야 한다.

NIC는 컴퓨터와 네트워크 사이의 입구다

NIC는 Network Interface Card의 줄임말이다.
보통 네트워크 인터페이스 카드라고 부른다.

말이 조금 어렵지만, 역할은 단순하다.

컴퓨터가 네트워크에 연결되기 위한 출입구

라고 보면 된다.

우리가 랜선을 꽂는 포트, 와이파이에 연결되는 무선 어댑터도 넓게 보면 네트워크 인터페이스다.

컴퓨터 안의 데이터는 그냥 바로 네트워크로 나갈 수 없다.
네트워크로 나가려면 데이터를 신호로 바꿔줄 장치가 필요하다.

그 역할을 하는 것이 NIC다.

송신할 때 NIC는 컴퓨터가 만든 0과 1을 실제 통신 매체에 맞는 신호로 바꾼다.
수신할 때는 반대로 외부에서 들어온 신호를 다시 0과 1로 바꿔 컴퓨터가 이해할 수 있게 넘겨준다.

장비 입장에서 시뮬레이션하듯 보면 이런 느낌이다.

컴퓨터가 데이터를 보낸다.

“이 데이터를 네트워크로 내보내야 하네.”
“내가 연결된 매체는 유선이니까 전기 신호로 바꿔서 보내자.”
“상대 쪽에서 신호를 해석할 수 있도록 정해진 방식에 맞춰 내보내자.”

반대로 데이터를 받을 때는 이렇게 동작한다.

“포트로 신호가 들어왔다.”
“이 신호 패턴을 0과 1로 해석하자.”
“해석한 비트들을 위 계층으로 넘기자.”

이렇게 보면 NIC는 단순한 부품이 아니라,
컴퓨터와 네트워크 세계를 이어주는 번역기 같은 역할을 한다.

물리 계층을 왜 알아야 할까

처음 네트워크를 공부하면 IP 주소, 포트, DNS, HTTP 같은 개념이 더 눈에 들어온다.
실제로 개발할 때 자주 만나는 것도 이런 개념들이다.

하지만 그 모든 통신은 결국 물리 계층 위에서 동작한다.

아무리 IP 주소가 맞고, 포트가 열려 있고, 서버 프로세스가 정상이어도
물리적으로 신호가 이동할 수 없다면 통신은 실패한다.

그래서 장애를 볼 때는 이런 순서도 떠올릴 수 있어야 한다.

“애플리케이션 문제인가?”
“포트 문제인가?”
“IP 경로 문제인가?”
“그 전에 링크는 정상인가?”
“케이블, NIC, 스위치 포트는 살아 있는가?”

물리 계층은 평소에는 잘 보이지 않는다.
하지만 문제가 생기면 가장 먼저 확인해야 하는 영역이 되기도 한다.

네트워크를 공부한다는 건 단순히 위쪽의 HTTP 요청과 응답만 보는 것이 아니라,
그 요청과 응답이 실제로 어떤 신호가 되어 이동하는지까지 내려가 보는 일이다.

결국 물리 계층은 네트워크의 가장 아래에 있는 계층이지만,
모든 통신이 시작되는 출발점이기도 하다.

profile
밥 잘 먹고 잠 잘 잡니다

0개의 댓글