※ 이 글에서 다룬 기반기술, 프론트엔드, 백엔드, 데브옵스 등 풀스택 개발 지식은 모두 한화시스템 Beyond SW Camp 12기에서 배운 내용 을 복습한 것입니다.
사설 IP, 공인 IP
IP 주소는 32비트로 구성되어 있어 약 43억 개의 IP 주소 범위가 존재한다. 하지만 이 수는 전 세계에서 모든 장치에 할당하기엔 한정적이기 때문에 공인 IP와 사설 IP로 나누어 사용하여 자원을 효율적으로 관리한다.
● 공인 IP (Public IP) : 실제 네트워크 통신망이랑 통신할때 사용하는 IP 주소 (공유기 외부에 설정된 IP 주소)
● 사설 IP (Private IP) : 같은 네트워크 대역에서 사용하는 IP 주소 (공유기에 연결된 컴퓨터에 설정된 주소. 사설 IP로 바로 통신은 불가능)
위의 사진에서 2가지 상황으로 공인 IP와 사설 IP를 설명해보겠다.
1. 사설 IP를 이용해 같은 네트워크 대역에서의 통신
PC1과 PC2는 같은 공유기로 연결 즉, 같은 네트워크에 속해있는 것을 볼 수있다.
이런 경우 192.168.1.10, 192.168.1.20과 같은 사설 IP로 통신을 하는 것을 알 수 있다.
사설 IP는 같은 네트워크 대역에서만 알아볼 수 있는 주소이고, 다른 네트워크에 있는 장치와 통신하려면 공인 IP를 써야한다. 이정도만 알고 공인 IP 설명을 통해 이해해보도록 하자.
2. 공인 IP를 이용해 다른 네트워크 대역 장치와의 통신
1번 설명에서 사설 IP는 같은 네트워크 대역에서만 알아볼 수 있는 주소라고 설몀했다.
그럼 다른 네트워크 대역에 있는 장치와 통신하려면 어떤 IP주소를 사용해야할까?
바로 공인 IP이다.
PC1가 PC2와 통신을 하려면 192.168.3.10(PC2 사설IP)를 사용하면 될까?
아니다. 192.168.3.10(PC2 사설IP) 이건 사설 IP이므로 다른 네트워크 대역에선 쓸 수 없다.
통신을 하기 위해서는 182.222.222.1(공유기2 공인IP)를 써야한다.
통신을 하기 위해 182.222.222.1(공유기2 공인IP)를 쓰지만 182.222.222.1(공유기2 공인IP) 밑에는 PC가 2개 있는데 그 중에 어떻게 PC2를 정확히 찾아갈 수 있을까?
여기서 사용되는 기술이 NAT와 포트포워딩이다.
PC1이 PC와 통신하기
- PC1이 PC2와 통신하기 위해 실제 통신할 때 사용되는 공인 IP인 182.222.222.1:1234로 통신을 요청한다.
- PC1은 사설 IP인 192.168.2.10으로 출발하지만 공유기1에 도달하면 NAT 기술을 사용해 사설 IP를 공인 IP인 182.111.111.1로 변환
- 공유기1이 공유기2로 데이터 요청
- 공유기2는 182.222.222.1(공유기2 공인 IP)의 1234번 포트로 들어온 요청은 PC2 192.168.3.10로 보낸다 라는 설정이 되어 있어야 한다. 이것이 포트 포워딩이라는 것이다.
- PC2가 요청을 받고 응답을 보내기 위해선 다시 공유기2로 응답을 전달한다. (이때 192.168.3.10 사설 IP인 상태)
- 공유기2에서 공유기1로 응답을 전달하기 위해선 NAT 기술을 사용해 다시 공인 IP를 사용해야한다.
- 공인 IP를 사용해 공유기2에서 공유기1로 응답 전달한다.
- 최종적으로 공유기1에서 PC1로 응답을 전달한다.
8번 과정에서 공유기1로 들어온 응답이 어떻게 PC1으로 정확히 전달되는지 궁금할 수도 있는데
그 이유는 PC1에서 공유기1으로 요청이 전달되어 공유기2로 나가기 전에 공유기1의 NAT 테이블에 PC1의 사설 IP와 공유기1의 공인 IP, 그리고 사용된 포트 번호 정보가 기록되기 때문이다.
따라서 공유기2에서 공유기1으로 응답이 들어오면, 공유기1은 이 기록된 정보를 참조하여 응답을 정확히 PC1으로 전달할 수 있게 된다.
쉽게 말해 NAT는 사설 IP ↔ 공인 IP를 변환해주는 것이고, 포트포워딩은 해당 공유기의 특정 PC로 가기 위한 기술이다.
● NAT (Network Address Translation) : IP 주소를 변환하는 기술. 네트워크 내에서 여러 장치가 하나의 공인 IP를 공유할 수 있도록 한다.
● 포트 포워딩 (Port Forwarding) : 외부에서 특정 포트로 들어오는 요청을 내부 네트워크의 지정된 장치로 전달하는 기술
IP와 포트번호에 대한 이해가 되지 않는다면 이전 게시물을 보고 오는걸 추천한다.
리눅스_기초 : 네트워크 기초, IP주소 설정
※ 이 글에서 다룬 기반기술, 프론트엔드, 백엔드, 데브옵스 등 풀스택 개발 지식은 모두 한화시스템 Beyond SW Camp 12기에서 배운 내용을 복습한 것입니다. 네트워크 기초 네트워크 : 데이터를 주
taeh00n.tistory.com
'한화시스템 Beyond SW Camp > 기반기술' 카테고리의 다른 글
[Git] 사용 기초 (0) | 2024.11.25 |
---|---|
[리눅스] HAProxy (부하 분산) 설치 (1) | 2024.11.24 |
[리눅스] nginx 설치 (1) | 2024.11.24 |
[리눅스]기초 : 네트워크 기초, IP주소 설정 (1) | 2024.11.23 |
[리눅스]기초 : 가상 컴퓨터(VMware), 명령어, 권한, Vi 편집기 (2) | 2024.11.21 |