자바를 주로 하고 db는 곁들이는 식으로 가지만 포트 포워딩이란 개념은 항상 등장한다

지금은 자세히 몰라도 된다지만 궁금하기에 찾아보았다

포트 포워딩(영어: port forwarding) 또는 
포트 매핑(영어: port mapping)은 컴퓨터 네트워크에서 패킷이
라우터나 방화벽과 같은 네트워크 게이트웨이를 가로지르는 동안 
하나의 IP 주소와 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 네트워크 주소 변환(NAT)의 응용이다
. 이 기법은 게이트웨이(외부망)의 반대쪽에 위치한 보호/내부망에 상주하는 호스트에 대한 서비스를 생성하기
위해 흔히 사용되며,
통신하는 목적지 IP 주소와 포트 번호를 내부 호스트에 다시 매핑함으로써 이루어진다

-출처 위키백과

 

무슨 뜻인지 모르겠다 일단 용어 풀이부터 해보자

 

규칙 : 어떤 포트에 어떤 대상을 연결할지 정하는 것
규칙 이름 : 여러 규칙을 식별하기 위함
프로토콜 : 네트워크 접속 방식
호스트IP : 라우터(여기서는 VirtualBox의 가상라우터) IP
호스트포트 : 라우터를 통해 접근하고자 하는 게스트IP와 매핑할 포트번호
게스트IP : 접근하고자 하는 대상 사설 IP
게스트포트 : 게스트 OS에서 접근하자고 하는 프로세스(프로그램, 서비스) 포트

네트워크에서 ~P로 끝나는건 대부분 프로토콜이다 여기서 계속 등장하는 ip에 대해 더 알아보자

 

 아이피

포트 포워딩을 이해하려면, 우선 필요한 개념이 여러가지가 있는데,
그 중 중요한 것이 공인, 사설, 외부, 내부 아이피다.

  • 아이피란?IP 주소를 줄여 IP라고 부르기도 하나, 이는 인터넷 규약을 가르키는 말이기 때문에 구분해야 한다.
    하지만, 쉬운 이해를 위해 이 글에서는 ‘아이피’로 줄여서 부르겠다.
  • IP 주소는 Internet Protocol Address 의 약자로 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신하기 위해 사용하는 특수한 번호이다.
  • 공인 아이피란?각 공인 아이피는 세상에서 유일한 주소를 가진다.
  • 공인 아이피는 유일한 값이기 때문에 중복되지 않는다.
    0~225까지의 숫자 4개로 구성되는 IPv4는 약 42억개의 주소만 할당할 수 있고,
    이를 전세계 모든 장비에 할당하기에는 현재 아이피 체계가 많이 부족하다.
    그래서 외부 네트워크가 필요하지 않은 장비에 대해서는 별도의 사설 네트워크를 구축하게 된다.
  • 인터넷 상에서 다른 PC와 통신하기 위해 필요한 아이피로 서버를 구축하거나, 각자의 PC에 인터넷을 연결하는 경우, 인터넷을 통한 통신을 하기 위한 아이피다.
  • 사설 아이피란?주변에서 흔하게 볼 수 있는 예로 공유기를 활용한 구성으로, 공유기를 활용해 망을 구성하면 보통 192.168.x.x 형태로 구성되는데, 이를 사설 아이피라고 한다.
  • 사설 아이피는 내부망에서만 사용되기 때문에, 서로 다른 내부망에서는 동일한 사설 아이피를 가져도 상관없다.
  • 내부 네트워크 상에서 각 컴퓨터 간 통신하기 위해 필요한 아이피로 내부망을 구축할 때 활용하는 아이피다.
  • 외부 아이피란?공인 아이피와 외부 아이피가 동일 시 되는 경우가 많은 것 같은데, 알아본 바에 따르면 엄연히 다른 개념인 것을 알 수 있다.
    대체로, 현재 포함된 네트워크가 인터넷 망과 공유기를 통해 연결된 경우가 대부분이지만,
    별도의 네트워크를 설정하지 않은 가상머신을 사용하는 경우, 가상머신의 외부 아이피는 가상 머신을 구동하는 PC의 내부 아이피를 가진다.
    (가상 머신의 외부 네트워크는 가상 머신을 구동하는 PC기 때문이다.)
  • 기기가 현재 포함된 네트워크를 외부의 네트워크를 외부 네트워크라 부르고,
    이 외부 네트워크와 통신할 때 사용하는 아이피다.
  • 내부 아이피란?
  • 기기가 현재 포함된 네트워크 내부에서 사용하는 아이피다.

그래서 포트 포워딩이 필요한 이유는?

 

포트 포워딩이 필요한 이유

  • 포트 포워딩이란?별도의 설정 없이 외부 아이피가 접속을 시도할 때, 내부에 어떤 프로세스(서비스) 또는 기기와 연결할 지 알 수 없기 때문에 접근이 불가능하다.
  • 그래서 특정 프로세스(서비스) 또는 기기에 접근하기 위해 포트 포워딩을 통해 외부 아이피 : 특정 포트로 접속하면 내부 아이피 : 특정 포트로 맵핑해준다.
  • 포트 포워딩은 외부 아이피 : 포트번호와 내부 아이피 : 포트번호를 연결해주는 기능이다.

 

포트 포워딩은 인터넷에서의 접속 가능성을 높이기 위해 사용된다 

포트 포워딩은 인터넷을 통해 연결된 라우터, 통칭 공유기를 사용할 때 일반적으로 사용된다 라우터는 인터넷에 연결된 모든 장치들의 데이터 통신을 관리하는데 각각의 장치는 라우터에게 IP 주소를 부여 받는다

하지만, 일부 장치들은 인터넷에 직접 연결되어 있지 않기 때문에 외부 인터넷에서 해당 장치로의 접속이 불가능. 이런 경우에 포트 포워딩을 사용하여 해당 장치로의 접속을 가능하게 할 수 있다.

집에서 내부 네트워크에 연결된 NAS(Network Attached Storage) 장치가 있다고 가정해보면, 이 장치에 대한 외부 인터넷에서의 접속은 불가능. 하지만, NAS 장치는 라우터에 연결되어 있기 때문에 라우터를 통해 외부 인터넷에서 NAS 장치로의 접속을 가능하게 할 수 있다 이때, 라우터의 설정에서 포트 포워딩을 통해 외부 인터넷에서 접속 가능한 포트 번호를 설정해주면, 해당 포트 번호로 접속하는 모든 데이터가 NAS 장치로 전달되도록 설정할 수 있습니다.

즉, 외부와 통신 연결하기 위한 안전한 연결과정이라고 보면 된다.

출처=https://velog.io/@dha/%ED%8F%AC%ED%8A%B8-%ED%8F%AC%EC%9B%8C%EB%94%A9-%EC%99%9C-%ED%95%98%EB%8A%94-%EA%B1%B8%EA%B9%8C

'DB > DB 필요한 지식' 카테고리의 다른 글

SQL 인젝션이란?  (0) 2023.04.09
클라이언트와 서버  (0) 2023.04.08
Primary key,foreign key 비교와 그 외의 key들  (0) 2023.03.17

+ Recent posts