Que signifient le proxy nginx de couche 4 et le proxy de couche 7 ? (Apprentissage recommandé : Tutoriel Nginx)
Les couches ici sont le modèle de réseau OSI à 7 couches. Le modèle OSI est de haut en bas et les couches inférieures. sont plus proches du matériel. Plus vous montez, plus vous vous rapprochez du logiciel. Le modèle à sept couches comprend la couche physique, la couche liaison de données, la couche réseau, la couche transport, la couche session, la couche présentation et la couche application.
La couche nginx4 fait référence au tcp/udp de la couche de transport.
La couche nginx7 fait référence à la couche d'application, généralement http.
Principe du proxy :
La 4ème couche utilise la technologie NAT. Le nom complet de NAT en anglais est « Network Address Translation », ce qui signifie « Network Address Translation » en chinois. Lorsque la demande arrive, nginx modifie l'adresse IP cible et source et le port dans le paquet de données, puis envoie le paquet de données. au serveur cible. Une fois le traitement terminé, nginx effectue une autre modification et la renvoie au client demandeur.
Proxy de couche 7 : vous devez lire et analyser le contenu de la requête http, puis le transmettre au serveur correspondant en fonction du contenu spécifique (url, paramètres, cookies, en-têtes de requête). établir une connexion avec la machine cible Connect, puis transmettre la demande, recevoir les données de réponse et les transmettre au client demandeur.
Comparaison des avantages et des inconvénients :
Performance :
Théoriquement, la couche 4 est plus rapide que la couche 7, car la couche 7 proxy Le contenu spécifique du paquet de données doit être analysé, ce qui nécessite un processeur supplémentaire. Cependant, nginx dispose de fortes capacités de traitement de concurrence réseau. Pour certaines connexions lentes, nginx peut d'abord mettre en mémoire tampon les données de demande réseau et les transmettre immédiatement au serveur en amont, de sorte que pour les serveurs dotés de faibles capacités de traitement de concurrence réseau en amont (tels que Tomcat), cela n'affectera pas Tomcat.C'est-à-dire qu'une connexion lente devient une connexion rapide (nginx à Tomcat sont fondamentalement des intranets fiables), économisant ainsi le temps de mise en mémoire tampon des données réseau et offrant des performances de concurrence.
Flexibilité :
Étant donné que le proxy de couche 4 utilise NAT, nginx ne connaît pas le contenu spécifique de la requête, donc nginx ne peut rien faire. Avec un proxy à 7 couches, vous pouvez faire beaucoup de choses en fonction du contenu de la requête (url, paramètres, cookies, en-têtes de requête), telles que :
a : Proxy dynamique : différentes URL sont transmises à différents serveurs.
b. Contrôle des risques : empêchez les adresses IP externes de demander certaines URL sensibles, bloquez certains utilisateurs en fonction de paramètres.
c. Audit : enregistrer les journaux de requêtes au niveau de la couche nginx.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!