[널널한 개발자 TV] 네트워크 기초 이론: 20 - Proxy의 구조와 작동원리

securitykss·2023년 4월 3일
0

네트워크

목록 보기
18/19

이 글은 널널한 개발자 TV 님의 강의영상을 보고 작성한 글입니다.

Proxy 구조

일반적인 연결

일반적으로 우리가 어떤 서버(구글, 네이버 등)에 연결을 할 때,

TCP/IP 연결을 하고, 그리고, 이제 보통 웹 사이트에 접속을 하게 되니

HTTP 혹은 HTTPS 프로토콜로 연결이 되어, 접속을 하게 된다.

이렇게 연결이 되면, Socket 통신을 하게 된다.

Proxy

그런데 PC #1번이 PC #2번을 Proxy로 설정을 해버리면,

1번 -> 2번 -> 서버

이렇게 지나가면서 접속을 하게 된다.

이런 구조가 Proxy 구조이다.

자세히

위 그림은, PC #2번에서 Proxy역할을 하는 Process를 그림으로 나타낸것이다.

Proxy Process는 Socket이 두 개가 있다.

하나는 "Listen', 즉 들어오는 것만을 기다리는 역할의 Socket(S1)이 있고,

다른 하나는, 내보내는 역할의 Socket(S2)이 있다.

Proxy Process는 소켓 통신을 한다.

이 말은 무슨말이냐면, User Application 에서의 통신이다.

그렇다면, 데이터 단위는 "Stream"으로 데이터를 주고 받는다.

정리하면,

PC #1(1.1.1.1) -> PC #2(3.3.3.3) (Proxy 프로세스) -> 서버(8.8.8.8)

그리고 Proxy는 socket 통신을 하기에

데이터 단위는 "Stream"으로 주고 받음

또, Socket이 두 개가 있음

S1: Listen, 들어오는 것을 기다리는 소켓

S2: 들어온 데이터를 보내는 소켓

Proxy vs Inline+Out of path

Proxy는 소켓 통신이기에 "Stream"으로 데이터를 주고 받는다.

Inline과 Out of path는 TCP/IP 로 통신을 하기 때문에,

"Packet"으로 데이터를 주고 받는다.

Reference

https://www.youtube.com/@nullnull_not_eq_null (널널한 개발자님 URL)

https://www.youtube.com/watch?v=dThqHi8-MiQ&list=PLXvgR_grOs1BFH-TuqFsfHqbh-gpMbFoy&index=20 (강의 영상)

profile
보안 공부를 하는 학생입니다.

0개의 댓글

관련 채용 정보