Jeśli chcę się połączyć, aby powiedzieć, IP 100.100.100.100, Port 80, mój komputer wyśle pakiet tcp z tym adresem do drutu.
Jeśli korzystam z serwera proxy, powiedzmy: 200.200.200.200 Port 8080 (taki serwer proxy, który można skonfigurować w programie Internet Explorer), jak ten proces się zmieni?
Jeśli nadal chcę połączyć się z tym samym adresem IP, czy nagłówek IP będzie zawierać docelowy adres IP lub adres IP serwera proxy, czy oba?
Już googlowałem, istnieją setki stron, które mówią, jak skonfigurować proxy, ale żadna nie wyjaśnia, jak to działa pod maską.
źródło
HTTP to protokół warstwy 7, więc nie myl się. gdy używasz proxy HTTP i piszesz powiedz google.com, nagłówek HTTP nadal jest taki sam google.com, ale docelowym adresem IP będzie adres IP serwera proxy, źródłem będzie adres IP hosta na niestandardowy numer portu 8080.
źródło
Aby użyć serwera proxy HTTP, żądanie jest wysyłane od klienta na adres IP serwera proxy, a nie do serwera docelowego. Serwer proxy musi następnie odczytać nagłówek HTTP, aby wyodrębnić identyfikator URI żądania . Identyfikator URI żądania zawiera nazwę lub adres IP serwera docelowego, a serwer proxy używa tych informacji do przekazania żądania.
Specyfikacja HTTP pozwala wierszowi żądania wykluczyć nazwę i port serwera, gdy serwer proxy nie jest używany (ponieważ byłyby one niepotrzebne, gdyby żądanie zostało wysłane bezpośrednio do tego serwera). Ale zgodnie ze specyfikacją ...
Kiedy nie używasz proxy, linia żądania może wyglądać następująco:
ale aby użyć proxy, wiersz musi zawierać nazwę serwera (i port, jeśli nie 80):
Strona odpowiedzi, jeśli operacja może być prostsza, ponieważ serwer proxy może po prostu przekazywać pełną odpowiedź przez wstępnie ustalone gniazdo żądania.
źródło
Host
nagłówka do uzupełnienia częściowego identyfikatora URI, jeśli bezwzględny identyfikator URI nie zostanie podany w wierszu żądania.Nie ma czegoś takiego jak „pakiet tcp”. TCP działa ze strumieniami danych. Istnieją pakiety IP.
Wygląda na to, że brakuje ci podstawowej wiedzy na temat sieci. Sugeruję, abyś otrzymał dobrą książkę o TCP / IP. Faworytem każdego wydaje się być „ilustrowany TCP / IP” W. Richarda Stevensa.
Wróć do twojego pytania.
Pełnomocnik jest pośrednikiem:
[ty] - [proxy] - [serwer, z którym chcesz się połączyć]
Teraz są dwa różne połączenia:
[ty] - (twoje połączenie z proxy) - [proxy] - (połączenie proxy z serwerem) - [serwer, z którym chcesz się połączyć]
Gdy myślisz, że łączysz się z serwerem za pośrednictwem serwera proxy, w rzeczywistości łączysz się z serwerem proxy i mówisz, że chcesz połączyć się z określonym serwerem. Następnie proxy otwiera drugie połączenie od siebie do tego serwera i działa jako pośrednik przekazujący dane w obu kierunkach.
źródło