m1ndy5's coding blog

ABOUT ROUTING, NAT 본문

클라우드 with AWS/Network

ABOUT ROUTING, NAT

정민됴 2023. 3. 5. 23:21

이전에 ip에 대해 포스팅을 보면 사설 ip는 외부로는 통신을 할 수 없고 특정 네트워크 내에서만 통신을 하게 해준다는 것을 알 수 있다.
그렇다면 it기기들은 어떻게 외부와 통신할 수 있게되는 것일까!?!?
바로바로 라우터 라우팅을 해줌으로써 통신을 할 수 있게된다. (게이트 웨이를 통해)

게이트웨이란?

  • 같은 네트워크, 즉 내부에서는 통신을 할 수 있지만 다른 네트워크의 ip와는 통신이 되지 않는다.
  • 이 때 라우터가 다른 네트워크로 보낼 수 있게 라우팅을 해주게 된다.
  • 그럼 각 디바이스들을 어떻게 라우터로 데이터를 보내느냐?
  • 바로 게이트웨이 ip에다가 데이터를 보낸다.
  • 즉 외부와 통신해야한다? -> 게이트웨이에 데이터를 보낸다! -> 그러면 라우터가 보내준다 라고 보면된다.

    라우팅이란?

  • 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송하는 기법
  • 이런 경로 정보들은 라우팅 테이블에 저장이 되어있다.

    라우팅 테이블이란?

  • 패킷을 목적지로 전달하기 위해 참조하는 테이블
  • 각 라우터의 라우팅 테이블은 목적지에 도달하기 위해서 거쳐야 할 다음 라우터의 정보를 가지고 있음
  • 따라서 데이터가 어떤 목적지를 찾아갈 때 라우터는 이 라우팅 테이블을 보고 찾아가게 됨

    라우팅 테이블에 경로 등록 방법

    Static Route(정적 경로)

  • 관리자가 수동으로 라우터가 모르는 경로정보를 라우팅 테이블에 등록하는 방식
  • 보안상 안전하지만, 실질적으로 모든 경로를 입력한다는 건 불가능함, 또한 자동으로 경로 우회불가
  • 모든 경로를 입력하는 것은 불가능하기 때문에 Default-Route(0.0.0.0/0)을 등록하는데 모든 IP주소가 포함되어있다고 보면 된다.

    Dynamic Routing Protocol

  • 각 라우터가 자신과 연결된 네트워크 정보를 붙어있는 상대방 라우터에게 알려주는 방식
  • 데이터를 수신한 라우터는 해당 정보를 자신의 라우터에게 등록
  • 확장성이 좋고 최적 경로를 알아서 찾아주지만 static route보다 보안상으로는 덜 안전하고 CPU와 Memory를 더 사용한다는 단점이 있다.
  • 여기서 중요한점!!*
    각 기기에는 사설 ip가 할당되어 있다.
    사설 ip는 외부에서 접근이 되지 않기 때문에 외부에서 날라온 응답을 받을 때 문제가 생긴다.
    이럴 때 사설 ip를 공인 ip로 변환시켜주는 NAT를 해주어야한다.

    Dynamic NAT(N:N)

  • 다이나믹 나트는 공인 ip그룹과 사설 ip그룹을 생성하여 동적으로 매핑해주는 방식이다.
  • NAT를 해주는 기기에는 NAT table이 있는데 어떤 사설 ip가 어떤 공인 ip로 변환되었는지에 관핸 매핑정보를 가지고 있다.
  • 따라서 외부에서 응답이 왔을 때 NAT table 정보를 확인하여 출발지 기기에 전달할 수 있게된다.
  • 하지만 NAT table은 통신이 할 때만 임시적으로 생성되는 정보이고 통신을 할 때마다 계속해서 바뀐다.

    Static NAT(1:1)

  • 특정 사설 ip와 특정 공인 ip를 1:1로 매핑하여 NAT table에 지속적으로 해당 정보를 유지시킨다.
  • ip주소를 계속 해서 유지해야하는 서버같은 경우 Static NAT으로 해줘야 서버에 접근하는데 문제가 생기지 않는다.

    PAT-Port Address Translation(1:N)

  • 하지만 각 기기마다 Static nat처리 해주는 것은 그만큼 공인 ip를 사용해야하기 때문에 비효율적일 수 있다.
  • PAT-port 주소 변환을 해주면 소수의 공인 ip를 사용하여 다수의 사설 ip장비와 외부 통신이 가능하게 할 수 있다.
  • 바로 포트로 각 기기를 구분짓는 방법이다.
  • 위 사진처럼 같은 공인 ip를 사용하지만 포트번호를 다르게 하여 각 기기들에게 온 응답을 알맞게 보낼 수 있다.

    이 외 궁금했던 점

  • ec2 인스턴스 ip가 계속 바뀌는 데 그럼 다이나믹 나트인가?
    • 아니다. 다이나믹 나트는 켜져있는 상태에도 계속 바껴야되는데 ec2 인스턴스의 같은 경우는 켜져있는 동안은 static nat유지하다가 껏다 켜면 또 다른 static nat가 되는 것! 다이나믹 나트는 아니다!!

'클라우드 with AWS > Network' 카테고리의 다른 글

URL vs URI vs URN  (0) 2023.06.23
네트워크 진단 도구  (0) 2023.03.12
TCP VS UDP, 그 외의 다양한 네트워크 프로토콜  (1) 2023.03.12
ABOUT IP, SUBNET  (0) 2023.03.05
네트워크 기초(정의 & OSI 7 계층)  (0) 2023.03.03