일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 데베시 1주차
- 코딩테스트
- 파이썬 알고리즘 인터뷰
- #코린이 #코딩 #할 수 있다
- Git
- git 오류
- python기본
- 5장
- c언어
- 1주차(1)
- c언어 기본
- 최단거리
- 도커
- 4장
- 백준
- DP
- c언어 제어문
- 인스타
- 인텔리제이
- 운체 1주차
- 스택
- python자료형
- 자료구조
- git기초
- python기초
- Workbench
- 참고X
- git오류
- 코테
- 그리디
- Today
- Total
하루살이 개발자
[네트워크] NAT(Network Address Translation) 본문
NAT(Network Address Translation)
- 사설 IP를 공인 IP로 변경에 필요한 주소 변환 서비스이다.
- 라우터(router) 등의 장비를 사용하여 다수의 사설 IP(private IP)를 하나의 공인 IP(public IP) 주소로 변환하는 기술
- 주로 기업이나 기관에서 내부망을 사용하는 PC에 사설 IP를 제공하고 외부 인터넷에 연결 시엔 공인 IP 하나를 같이 사용하는 형태로 운영한다.
- NAT는 다수의 주소 변환 정보에 대해 IP 주소와 Port 번호로 구성된 NAT Forwarding Table을 보관하고 있고 이에 맞게 주소 변환 서비스를 제공한다.
NAT Table
- 내부 네트워크에 위치한 호스트들의 사설 IP와 포트 번호에 대한 정보를 가지고 있음.
- 외부로 나갈 때의 동일한 공인 IP와 각기 다른 포트 번호를 가지고 있음.
- 목적지 주소의 공인 IP와 서비스에 사용된 동일한 서비스 포트 번호를 가지고 있음.
- 공인 IP는 같으나. 포트 번호를 다르게 할당하여 각각의 호스트를 구분 짓는 구조
- 외부로 통신을 내보내고, 이에 대해 받은 네트워크 응답을 다시 해당 호스트에 보내주는 것
- 따라서 사설 IP를 사용하는 호스트들이 외부에서 봤을 때엔 (웹 서버가 봤을 때엔) 같은 클라이언트 같지만 각각의 웹 서핑이 가능한 구조가 된다.
ex)
첫 번째 호스트 - 192.168.1.1:8801 가 외부 호스트 - 68.1.31.1에 Telnet (port: 23)으로 접속하는 경우
1) 사설 IP - 192.168.1.1을 사용하는 호스트가 68.1.31.1에 접속을 원한다.
2) 라우터는 NAT 기술을 사용하여 이 요청에 공인 IP - 101.89.101.12와 포트 번호 8801을 할당한다.
3) 요청은 인터넷을 통해 텔넷 서버 - 68.1.31.1.1에 도달한다.
4) 텔넷 서버는 요청의 클라이언트 IP를 공인 IP - 101.89.101.12, 포트 8801로 인식하고 응답한다.
5) 텔넷 서버의 응답이 라우터에 도착한다. 라우터는 포트 번호 8801을 응답 패킷에서 인식한다.
6) 라우터는 사설 IP 192.68.1.1:9688 호스트에 할당된 포트임을 NAT 테이블에서 찾아 응답을 돌려준다.
NAT는 왜 필요한가?
1 .공인 IP 주소를 절약
- 인터넷상의 공인 IP 주소는 한정되어 있기 때문에 회사, 학교 등의 단체에 보급된 PC가 각각의 고유한 공인 IP를 모두 보유해야 한다면 IPv4 상에서의 인터넷 주소는 벌써 고갈이 되었을 것이다.
- IPv4 체계의 인터넷 주소는 32비트 길이를 사용하는데 이는 2의 32승 -> 4,294,967,296개의 IP 주소를 표현할 수 있습니다. IPv6가 보급이 되면 인터넷 주소 고갈 문제는 지금보다 나아질 것으로 예상
2. 보안
공개된 인터넷망은 외부에서 내부로의 해킹이나 침입의 위험이 있기 때문에 내부망과 공개망 사이에 방화벽(firewall)을 운영하여 외부 공격으로부터 내부 인터넷망을 지킨다.
'CS > 네트워크' 카테고리의 다른 글
[네트워크] 쿠키 vs 세션 vs 웹스토리지 (0) | 2023.08.17 |
---|---|
[네트워크] Rest API란? (0) | 2023.08.14 |
[네트워크] Access network: DSL, cable network (0) | 2022.03.07 |
[네트워크] 1. 네트워크 구성 (0) | 2022.03.07 |
[네트워크] LAN, ISP, WAN 용어 정리 (0) | 2022.03.07 |