기본적으로 동일 네트워크 내에 구성된 서버는 아무것도 하지 않더라도 서로 통신이 가능하다. 선으로 직접 연결되어 있기 때문이다. 동일 네트워크란 한 회사의 건물이라고 생각하면 된다.
그런데 네트워크 보안에서 우리가 사용하는 인터넷은 어떠한 자료가 오고갈지 모르는 위험한 공간으로 인식되기 때문에 동일 네트워크 내에 있는 서버라고 할지라도 일부 서버만 인터넷에 연결을 해 놓는다.
예를들어 건물에서 서버가 있는 층이 1~3층 이라고 한다면 3층에 있는 서버들만 인터넷에 연결을 해놓는 것을 말하며 이 경우 1, 2층은 내부망 3층은 외부망이라고 부르며 이러한 환경을 망분리 환경이라고 한다.
외부망에는 공인IP가 할당된 OpenApi 서버 혹은 프록시 서버들이 위치하게 될 것이고 내부망에는 사설IP가 할당된 비즈니스 로직이 포함된 서버들이 위치하게 될 것이다.
여기까지는 아주 일반적인 내용이다. 이러한 기반지식을 토대로 물리적으로 서로 다른 건물에 위치한 내부망 서버끼리는 어떻게 통신을 해야 하는지 생각해보자.
일단 가장 단순한 방법은 위에서 설명한 것 중 프록시 서버를 이용하면 된다. 프록시 서버는 공인IP를 통해 인터넷에 연결되어 있으니 서로 통신이 가능하니 각각의 건물에서 통신시 프록시 서버를 거치도록 하면 된다.
그런데 우리가 일반적으로 말하는 프록시 서버는 동일 네트워크 내에서 공용으로 사용된다. 예를 들어 내부망 서버가 30개라고 한다면 해당 서버에서 모두 프록시 서버를 자유롭게 사용할 수 있다는 말이다. 이렇게 되면 1번 서버의 트래픽이 높아지면 이로 인해 나머지 서버들도 영향을 받게 된다.
여기에서 전용선 통신이라는 개념이 등장한다. 전용선 통신은 하나의 특정 목적으로만 사용되는 회선을 통한 통신을 의미하는데 위의 상황에 대입해보면 하나의 특정 목적으로만 사용되는 프록시 서버를 구성하는 것을 의미한다. 대용량 트래픽이 발생하는 서비스에서 지속적으로 프록시 서버를 사용해야 한다면 전용선 통신을 고려해야 한다.
https://colinch4.github.io/2021-05-14/Rest_소켓_차이/
https://www.netinbag.com/ko/internet/what-is-a-dedicated-line.html
'Base > 개념정리' 카테고리의 다른 글
리액티브 프로그래밍 (1) | 2022.07.19 |
---|---|
C10K (0) | 2022.06.14 |
ResponseTimeout, ReadTimeout, WriteTimeout (0) | 2022.04.19 |
URI, URL (0) | 2021.12.16 |
DSL (0) | 2021.11.02 |