백엔드/네트워크

[네트워크기초이론]#20. Proxy의 구조와 작동원리

묘걍 2023. 10. 2. 20:18

Inline + Out of path

네트워크를 이루는 수많은 요소(장치, 라우터 ...)는 기본적으로 이 세가지(구조) 중 하나

  • Inline
  • Inline인데 Out of path구조로 전용(설치만)
  • application proxy

(Application) Proxy

- IP주소가 3.3.3.3인 PC와 5.5.5.5인 네이버

= 3.3.3.3 Host가 5.5.5.5 Host한테 TCP/IP연결을 한 것

= (네이버는 웹이니까) 웹으로 이야기하면 HTTP 혹은 HTTPS 통신

- Socket통신

- 이렇게 한 번에 가는 것이 일반적임

 

proxy의 사전적 의미 = 대리자

- IP 주소가 9.9.9.9인 PC

- 만약 PC1번이 PC2번을 Proxy로 설정해버리면

- 네이버 접속 시 바로 가는 것이 아니라 일단 proxy에 접근한 후 이 proxy가 네이버에 접근

- 3.3.3.3을 9.9.9.9가 받아서 5.5.5.5에게 연결

 

PC 2번에서 생각해보기

- PC 2번에서 Proxy 역할을 수행해주는 프로세스가 있다

- 해당 프로세스에 Socket 인터페이스가 있다 (S1과 S2)

- S1은 L (listen), 누군가 자신에게 소켓 연결을 하길 기다림

- PC 1번의 정보가 들어와 S1에 연결됨 (Inbound)

- S1은 자기가 무언가 하는 것이 아니라 S2에게 넘겨버림

- S2는 5.5.5.5에 접속

- 왜 돌아가는지는 나중에..!!

 

User mode application Proxy

- 이 프로그램은 user mode application proxy라고 부름

      - kernel mode라고도 할 때도 있지만,,

- Inline과 Out of path는 다루는 데이터가 Packet

- Socket에서 다루는 데이터가 Stream

  • user mode application proxy, Socket, Stream
  • Inline, Out of path, Packet

- 살고 있는계층이 다름

- 볼 수 있는 데이터가 다름

     - 만약 stream 형식의 데이터를 봐야해, 그걸 inline 장비로 볼 수 있냐? 볼 수는 있는데 적절하지 않음

     -  packet을 봐야해, Proxy로 개발하면 안돼

 

 

출처: https://youtu.be/dThqHi8-MiQ?si=5joCRQ0W3CjeyvNV