프록시가 충분할 때 왜 NAT가 필요한가요? [닫은]

내 컴퓨터가 로컬 LAN에 연결되어 있습니다. 인터넷에 연결하려면 트래픽이 프록시 서버를 통과합니다. 프록시 서버에 대한 이해 는 원래 요청 발신자 를 대신하여 요청을 보낸다는 것 입니다. 따라서 서버가 응답하면 클라이언트라고 생각하여 프록시에 응답을 보냅니다. 그런 다음 프록시가 회신을 내 컴퓨터로 전달합니다. 네트워크 주소 변환
의 경우를 고려하십시오 . 귀하의 요청은 nat 라우터를 통과합니다. 그러면 nat 라우터는 공용 IP 주소를 제공하고이 매핑을 테이블에 저장합니다. 서버로부터의 응답은 할당 된이 공개 주소로 전송됩니다. nat 라우터는 표에서 로컬 IP 주소로 확인하고 응답을 컴퓨터로 전달합니다.
프록시 자체가 트래픽을 중재하고 인터넷에 대한 액세스를 제공 할 수있는 경우 왜 내 질문이 필요한가요?



답변

MadHatter는 프록시와 NAT의 차이점에 대한 훌륭한 평신도의 설명을 작성했습니다.

더 자세한 기술 정보는 OSI 모델과 TCP / IP 모델을 참조하십시오. Nat는 OSI 모델의 후반 3 (이 경우 네트워크 계층, IP)에서 작동하며 프록시는 일반적으로 계층 7 (응용 프로그램 계층, HTTP 또는 프록시)입니다.

NAT와 프록시도 약간 다른 문제를 해결하려고합니다. NAT는 IP 주소 부족을 완화하기 위해 적은 수의 퍼블릭 IP 뒤에 수많은 프라이빗 IP를 숨기고 있으며 프록시는 보안, 감사 또는 성능상의 이유로 “초크 포인트”를 생성하고 있습니다.


답변

여기에서 기본 사항을 상당히 잘 파악한 것으로 보이며 짧은 대답은 공개 주소로 프록시를 사용하는 경우 프록시가 중재하는 프로토콜에 대해 NAT가 필요하지 않다는 것입니다. .

그러나 하늘과 땅에는 철학에서 꿈꾸는 것보다 더 많은 프로토콜이 있습니다 . 이들 모두가 프록시 가능하지는 않으며 프록시도 존재하지 않기 때문에 NAT는 이들에게 편리한 폴백입니다.

편집 : 프록시는 응용 프로그램 수준에서 작동하는 컴퓨팅 장치입니다. HTTP 프록시는 원격 사이트에 대한 HTTP 요청을 수신하고, 지적한대로 해당 사이트 자체로 이동하여 요청한 후 응답을 요청 클라이언트에게 다시 전달합니다. 그러나이를 위해서는 HTTP를 자세한 수준에서 이해해야합니다.

마찬가지로 FTP 프록시를 작성할 수도 있지만 클라이언트 요청을 올바르게 프록시하려면 MKD, DELE, LIST 및 ftp 프로토콜 명령과 같은 세부 사항을 이해해야합니다. 투명하게 작동하려는 모든 프록시는 일반적으로 해당 프로토콜을 프록시하기 위해 프로토콜의 내부를 친밀하게 이해해야합니다.

SOCKS는이 규칙에서 어느 정도 예외입니다. 그러나 SOCKS 프로토콜은보다 일반적인 프록시 인터페이스를 제공하여 각 클라이언트 를 SOCKSified 해야 하므로 설정하기 위해 SOCKS 프록시의 올바른 요청을 할 수 있기 때문입니다. 각 프록시가 필요로하는 프록시의 종류를 정확하게 설명하는 것은 아닙니다.


답변