[네트워크] NAT ( Network Address Translation)

2020. 10. 6. 18:44노트/Cloud : 인프라

 

NAT (Network Address Translation)  

: 사설 IP 인터넷 망을 사용하기 위해서 패킷의 Source Address를 공인 IP Address로 변환해서 인터넷망으로 내보내야 함.

 

사설IP - 사내 내부망에서 사용  

공인IP - 인터넷망에서 사용 

 

IP Address = Network Address(ID) + Host Address(ID) 으로 구성. 

Network address / Host address 식별자 : Subnet Mask  

 

  • Network Address : 우편번호 **시 **구 **동  

    ISP (Internet Service Provider ex) SKT KT LG) 에서 Network ID를 부여함 

    IANA : 인터넷 관리 국제 협회 에서 ISP들이 사용할 다량의 공인  IP대역을 부여 

  • Host Address      :  우편번호 **번지   

  • 회사의 네트워크는 라우터로 연결되어있다 

 

70.12.113.138 

__________  ___ 

Network   Host 

255.255.255.0 

 

○ Network Address 명령프롬프트로 확인

@실행 명령어 : ipconfig /all

 

  • Host : 네트워크의 장치 (라우터, 스위치, 프린터, 컴퓨터 … )

    - 라우터/ 스위치/ 프린터/ 컴퓨터 각각 고유한 명은 중복이 불가 

# 공인IP / 사설IP 구분법  (아래에 해당하면 사설IP) 

    10.x.x.x 

    172.16.x.x ~172.31.x.x 

    192.168.x.x 

A 

Client 

100.100.100.100   < 공인IP     

B  

Server 

200.200.200.2002  < 공인IP 

 

  • 패킷: 네트워크를 흘려보내는 경로 

 구성요소 :Source IP / Destination IP  

패킷의 소스주소를 외부망으로 내보낼 때, 공인IP로 변환해서 내보내야 다시받아올 수 있기 때문에 이를 변환시킬 수 있는 장치를 NAT라고함  

 

 

NAT 구성법

  • ICS ( Internet Connection Sharing ) : 인터넷 연결 공유 

@실행명령어 : ncpa.cpl 

 

  • 인터넷으로 나가는 Interface : Ethernet 2 

 

  • VEthernet > Properties > IPV4 더블클릭 > IP address 세번째 10으로 변경
    (
    VM에 연결한 주소들 모두 변경하지 않기 위해서임) 
     

  • Gooogle server에서 응답보내는지 확인 

@ 실행 명령어 : ping 8.8.8.8

 

 

IP Address 

  •  IP Address: 인터넷 상에서 목적지를 찾는 주소 체계, 32 Bit로 구성(약 43억개)

1bit = 2^1 = 2  IPv4: 32bit / IPv6: 128bit 

2bit = 2^2 = 4  

3bit = 2^3 = 8  

 

  • 사설 IP

10.x.x.x 

172.16.x.x ~172.31.x.x 

192.168.x.x 

 

사설 IP를 쓰는 이유: 공인 IP가있어야, 인터넷망으로 출력하게 됌  

ex)   [공인IP]  

   사설IP1  / 사설IP2  /  사설IP3  / 사설IP4       <==NAT 

 

 

0  536 사용하지않음 따라서 1~65, 535까지 사용됌 

Port : 데이터가 전송되는 통로 (0~65, 536) ,  

TCP or UDP (c:\windows\system32\drivers\etc\ 경로의 services 파일을 메모장에 Drag & Drop 하면 각 서비스에 대한 상세내용들이 나와있음 ) 

  1 ~ 1024 : 잘알려진 포트  

TCP 21 : FTP // 파일을 주고 받을  

TCP 22 : SSH // 암호화하여 원격관리 / SSH포트를 이용하여 원격 관리  

TCP 23 : Telnet // 암호화 하지 않음   /  사용안함.   

TCP 25 : SMTP 

TCP 53 : DNS Zone Transfer // 1 DB 복제  

UDP 53 : DNS Name Resolution // 이름 풀이 할때,   

UDP 67,68 : DHCP 

TCP 90 : http 

TCP 443 : https  

TCP 110 : POP3 

TCP 3389 : RDP  (Remote Desktop Protocol) : Window Server 원격 관리  

  1025 ~ 5000 : Application   

 

  • A class : 1~126 / B class 128~191 / C class 192~223 

  • A class의 특수한 Network - 0과 127을 제외하는 이유  

     

    0     : 네트워크 식별할 때 사용  

    127  : LookBack IP (모든 컴퓨터에 셋팅되어 있음), Local Host 

    -Test용으로 사용, 예) Web Server 

     IPv6 LookBack IP ( ::1)

    - D Class : 멀티 캐스트 데이터 전송시 사용            224.0.0.0 ~ 239.255.255.255
    - E Class : 예약 IP, 군사용  

 

  • IP = Network ID (ISP 부여) + Host ID (각 회사 네트워크 관리자가 부여)
         (우편번호, 회사)             (번지, 회사내의 각각 장치) 

Subnet Mask : Network ID를 식별  

ISP : Internet Service Provider 

  • 데이터 전송 방식  

-Unicast       1:1 통신         : D-IP에 A~C Class 사용          

S-IP     

패킷 

D-IP 

 

-Multicast     1:그룹 통신    : ex) 한세션으로 여러명의 사용자들에게 송출 

-Broadcast    1:모든 통신 (라우터 까지)  

라우터 내의 모든 컴퓨터에게 데이터를 보내는 방식. 

A ====> HUB : 플로딩  

             |     | 

             B   C :수신  

네트워크에서 브로드캐스트가 많이 발생하게 되면  

이유없이 CPU가 부하가 많이 걸리게 .   

 

 

CIDR 표기법  

Class를 사용하지않고, 2진법으로 IP주소낭비를 막을 수 잇는 서버  

 

: Class로 IP를 부여해 줄 경우 IP낭비가 굉장히 심하다. 

Class : 10진법으로 표시 

CIDR : 2진법으로 표기 759       

192.168.10.0/24               192.168.10.0/25 

/26    11111111.11111111.11111111.11000000 

  

  •  2000개의 Host가 필요할때 알맞은 subnet Mask를 CIDR표기법에 적용하시오. 

             11111111.11111111.11111000.00000000 

/21    255.255.248.0 

 

  • 192.168.10.50/24  <= CIDR표기법 

 

IP와 subnet mask를 and연산 하여 network IP를 식별함 

 

11000000.10101000.0000010.00110010 

11111111.11111111.1111111.00000000       AND연산 

=================================== 

11000000.10101000.0000010.00000000    <=Network IP 

11000000.10101000.0000010.11111111    <=Broadcast 

 

Cf) Programmer Calculus로 계산 

11000000 

 =192 

 10101000 

 =168 

 00001010 

 =10 

00110010 

=50 

 

  • 192.168.10.50/24 

    Network IP : 192.168.10.0 

    Broadcast IP : 192.168.10.255 

    Host IP 범위 : 192.168.10.1 ~ 192.168.10.254  

    Subnet Mask : 255.255.255.0 

     

  • 192.168.10.130/25 

    Network IP : 192.168.10.128 

    Broadcast IP : 192.168.10.255 

    Host IP 범위 : 192.168.10.129~192.168.10.254 

    Subnet Mask : 255.255.255.128 

    Host 수 : 2^7-2 = 126  

     

11000000.10101000.00001010.10000010 

11111111.11111111.11111111.10000000     AND연산 

=================================== 

11000000.10101000.00001010.10000000    <=Network IP  

11000000.10101000.00001010.11111111    <=Broadcast

 

 

  • 172.16.20.10/17 

    Network IP : 172.16.0.0  

    Broadcast IP : 172.16.127.255 

    Host IP 범위 : 128.16.0.1~128.16.127.254  

    Subnet Mask : 255.255.128.0 

    Host 수 : 2^15-2 = 32766 

     

10101100.00010000.00010100.00001010 

11111111.11111111.10000000.00000000   AND연산 

=================================== 

10101100.00010000.00000000.00000000 <=Network IP 

10101100.00010000.01111111.11111111 <=Broadcast 

 

 

Subnetting  

: ISP에서 부여받은 네트워크 ID로 더 작은 Sub Network로 분할하여 사용  

VLSM (Variable length subnet mask

: Host 수에 따라 Subnetting, Subnet Mask값이 각각 다르게 부여 . 

  • 반드시 많은 수를 먼저 Subnetting (주의)

  • 라우터 장비 포트에 gateway IP와 서브넷 마스크가 들어가고, 

 subnet mask 규모에 따라서 네트워크를 크게 가져갈 수도 있고, 작게 가져갈 수도잇음  

 

  • Subnet Mask 동일 = 한 네트워크 내에 Host가 동일