모름지기 네트워크라고 하면, 연결된 상태에서 상호간의 의사전달이 되는 것을 의미한다고 할 수있다. 즉 서로가 연결되어 있고 전달하고자 하는 메시지가 왔다갔다 해야 한다는 것인데, 네트워크 연결을 위해서는 각각의 장비들에 설정해줘야 할 것들이 있고, 이 설정 값들이 잘못되면 서로 통신하지 못하는 문제가 생기게 된다.
실무에서 내 기기와 통신하고 싶은 목적지 장비가 통신이 안되면 생각해 봐야할 장애물(?) 들이 있는데, 어제 방화벽에 대해 알아봤으니, 이제는 내가 파악하고 있어야 할 네트워크 경로에 대해 한 번 더 정리해보려 한다. 즉 어떤 설정을 필수적으로 해 주어야 양 기기간 통신이 가능한지 되짚어 보도록 한다.
1. 네트워크 통신을 위해 필요한 기본 설정
내 장비 A가, 목적지 장비 B 와 통신하려면 기본적으로 네 가지 기본 정보가 하다.
- 내 IP 주소
- 예: 192.168.0.10/24
- 내가 누군지, 어떤 네트워크에 속했는지를 정의하는 것
- 서브넷 마스크
- 예: 255.255.255.0 (/24)
- 내 IP와 목적지 IP가 같은 네트워크인지, 다른 네트워크인지 판별할 수 있다.
- 게이트웨이(기본 경로)
- 예: 192.168.0.1
- 트래픽이 나가야 하는 최초의 관문이라고 할 수 있다. 예를들면 우리집 현관문 이라고 할 수 있다.
- 목적지가 내 네트워크가 아니면, 이 IP로 패킷을 보냄
- 목적지 IP
- 예: 10.10.10.20
- 내가 가야 할 최종 상대방의 주소
2. 트래픽의 전달 과정
위 네가지 요소들이 설정되어 있다면, 패킷이 실제로 어떤 경로를 통해 목적지까지 도달하는지 알아보자.
2-1. 내 네트워크 인터페이스 출발
- 애플리케이션이 목적지 IP(10.10.10.20)로 패킷 생성
- OS는 라우팅 테이블을 보고 판단:
- 내 IP(192.168.0.10)와 목적지(10.10.10.20)를 서브넷 마스크로 비교
- 결과: 서로 다른 네트워크 → 게이트웨이(192.168.0.1)로 보냄
2-2. 게이트웨이로 전달
- A 장비는 게이트웨이의 MAC 주소를 알아내야 함 (ARP 요청).
- 이더넷 프레임 생성:
- Source MAC = 내 NIC MAC
- Destination MAC = 게이트웨이 MAC
- 안에는 “목적지 IP = 10.10.10.20” 정보 포함
- 즉, 겉봉투는 게이트웨이 주소, 편지 안에는 진짜 목적지 주소가 적힌 셈.
2-3. 게이트웨이 → 라우터 경유
- 게이트웨이는 받은 패킷을 보고 “목적지가 10.10.10.20이구나” 확인
- 자신의 라우팅 테이블을 보고, 다음 홉(next hop)을 결정
- 필요하다면 또 다른 라우터로 전달
2-4. 여러 라우터를 거쳐 목적지 네트워크로 이동
- 중간 라우터들은 “목적지 IP”만 보고 다음 홉을 계속 결정
- 이 과정에서 NAT, 방화벽, ACL 등이 개입할 수 있음
(5) 목적지 네트워크 도착
- 마지막 라우터가 “10.10.10.0/24 네트워크는 내 인터페이스에 연결돼 있다” 판단
- 최종적으로 목적지(10.10.10.20)의 MAC 주소를 ARP로 알아낸 뒤 전달
(6) 목적지 장비 수신
- 장비 B(10.10.10.20)가 패킷을 받음
- 네트워크 스택에서 IP 확인 → TCP/UDP 계층 확인 → 애플리케이션에 전달
3. 요약 (트래픽 경로 공식화)
장비 A → 장비 B로 패킷이 가는 과정은 규칙처럼 이렇게 요약할 수 있다.
- 내 IP & 서브넷 마스크로 같은 네트워크인지 확인
- 같으면 바로 목적지로 전달 (ARP → MAC → 직접 전송)
- 다르면 게이트웨이로 전달
- 게이트웨이로 전달 후, 라우터들이 라우팅 테이블을 참조해 다음 홉 결정
- 목적지 네트워크에 도착하면, 최종 장비의 MAC 주소를 알아내서 패킷 전달
'CS 공부 > 기타' 카테고리의 다른 글
| [ETC] QoS(Quality of Service)란 무엇인가? (0) | 2025.09.16 |
|---|---|
| [ETC] 긴 프로세스 명령어, systemd 서비스로 정의하여 사용하기 (0) | 2025.09.08 |
| [ETC] 방화벽에 대해 자세히 알아보자 (0) | 2025.09.03 |
| [ETC] 다중 인터페이스 환경에서의 라우팅 테이블 설정 (0) | 2025.09.02 |
| [ETC] UDP 가 Session 을 유지하면 TCP 나 다름없을까? (0) | 2025.09.01 |