일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 자바스크립트 객체
- 자바스크립트 node
- 카카오프로젝트100
- 자바스크립트 jQuery
- 랜섬웨어
- 카카오프로젝트
- 자바스크립트 API
- php
- 파이썬
- oracle db
- 오라클
- ES6
- numpy
- python
- 자바스크립트 prototype
- 보안뉴스 한줄요약
- 카카오프로젝트 100
- 보안뉴스
- 깃허브
- GIT
- 자바스크립트 element api
- 보안뉴스한줄요약
- 보안뉴스요약
- javascript
- 자바스크립트 기본 문법
- 보안뉴스 요약
- 자바스크립트
- 다크웹
- Oracle SQL
- oracle
- Today
- Total
FU11M00N
[Network] NAT와 PAT 본문
- NAT(Network Address Translation)
네트워크 주소 변환
• 내부의 주소가 라우터를 통과할 때 출발지(목적지)의 주소를 변경하여 라우팅
• 외부의 주소가 라우터를 통과할 때 목적지의 주소를 변경하여 라우팅
• 사용자의 주소를 외부 네트워크에 공개하지 않음으로써 구현
• 내부 네트워크의 주소를 인터넷 망이나 공개된 네트워크로 광고하지 않음으로써
네트워크의 존재를 외부로부터 분리
- 기본 동작원리
• 내부 네트워크를 광고하지 않는 대신 라우터의 외부 IP는 공개(광고)됨
• 내부 호스트의 출발지 주소는 라우터에 의해서 라우터의 주소로 변경되어 외부로 전달
• 전달 받은 외부 사용자는 라우터의 IP를 출발지 사용자로 인식
• 외부 사용자는 출발지의 IP(200.1.2.100)를 목적지 IP로 응답을 보냄
• 내부 호스트나 외부 호스트가 NAT가 수행된다는 사실을 인지하지 못함
• 일반적으로 내부 호스트의 주소는 사설 IP를 사용하고, 라우터의 외부 인터페이스 주소로는 인터넷 공인 IP를 사용
- 라우터 IP 변환
NAT 테이블
• NAT를 수행하는 장비는 내부 호스트 또는 외부 호스트의 주소를 변경했다면, 그 정보를 기록해야 함
• 양방향 통신을 위해서는 돌아오는 패킷을 위해서 NAT 정보를 유지해야 함
ex) 내부 사용자가 인터넷에 위치하는 웹 서버와의 통신 예제
사용자 A(10.1.1.10) -> 웹서버 A(199.1.1.100)
사용자 B(10.1.1.20) -> 웹서버 B(199.2.2.200)
각 사용자의 IP는 라우터의 IP들로 변환 시 NAT테이블에 정보를 기록
• 내부의 사용자 IP는 각각 다른 라우터의 IP로 변환
사용자 A (10.1.1.10) -> 라우터 (200.1.1.10) 으로
사용자 B (10.1.1.20) --> 라우터 (200.1.1.20) 으로
• 웹서버 A, B는 목적지 IP에 응답을 하고, 라우터는 목적지 IP를 라우팅 테이블에서 확인하여 내부의 IP로 변환한 후 전달
• 각 사용자 호스트 별로 1개씩의 외부 라우터 IP 사용
- 내부 사용자 패킷에서 NAT를 위한 외부 라우팅 IP가 부족할 경우
사용 가능한 외부 IP보다 내부 사용자가 많은 경우
ex) 내부 호스트가 100명이고 NAT에서 사용할 수 있는 IP가 50개 하나의 외부 IP를 같이 사용하면 내부목적지를 정확하게 구분할 수 없기 때문에 통신할 수 없음, 50개의 사용자 PC만 외부로의 네트워크 사용 가능
- 그럼 항상 내부 사용자에 맞게 NAT IP가 필요할까?
내부주소를 숨기기 위해서 너무 많은 cost 가 소모되지 않을까?
그래서 PAT(Port Address Translation)를 사용.
- PAT (Port Address Translation)
단 하나의 NAT IP로 수백~수천명 사용자의 요구를 충족시킴
• 4계층 포트 주소를 이용해서 NAT를 수행
• IP뿐만 아니라 4계층의 포트 주소까지 변경함
• NAT의 경우 IP만 변경하고 동일한 포트 번호를 사용 ex) 실제 인터넷 통신은 IP만이 아닌 Port(서비스)와 연관되어 있음(세션)
실제 IP 통신은 IP를 가진 시스템의 특정 포트 간 통신
• 실제는 200.1.1.1 <- -> 199.1.1.100 보다는
• 200.1.1.1:10000 <- -> 199.1.1.100:80 로 정의하는 것이 더 정확함
• 출발지의 포트번호를 변경하고 출발지 IP는 동일하게 유지
• 10.1.1.10:10000 -> 200.1.1.10:11000
• 10.1.1.20:10000 -> 200.1.1.10:12000 로 변경 전송
웹서버는 같은 주소(라우터)의 출발지로 응답을 함
• 라우터는 라우팅 테이블의 포트 번호를 확인하여 내부 IP와 포트로 변환
• 내부 호스트로 수신 가능함
'Network' 카테고리의 다른 글
[network] 시스코 액세스 리스트 (0) | 2020.10.19 |
---|---|
[Network] 네트워크 보안의 종류 (0) | 2020.10.19 |
[NetWork]네트워크 공격 유형 (0) | 2020.10.19 |
[Network]네트워크 발전과정 (1) | 2020.04.19 |