Gateway la nivel de aplicație
Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 16 aprilie 2018; verificarea necesită
1 editare .
Gateway la nivel de aplicație sau ALG (din engleză - „gateway la nivel de aplicație”) - o componentă a unui router NAT care înțelege orice protocol de aplicație și, atunci când pachetele acestui protocol trec prin el, le modifică astfel încât utilizatorii din spate NAT poate folosi protocolul.
Descriere
Un router NAT transmite pachetele care vin din interiorul rețelei locale și le trimite către rețeaua exterioară folosind adresa sa IP externă ca adresă sursă. Portul poate fi, de asemenea, schimbat . Dar unele protocoale de rețea din conținutul pachetelor lor transmit și încearcă să folosească adresa IP locală sau portul sursă. Desigur, după trecerea prin NAT și înlocuirea IP-ului local cu unul extern, acești parametri devin incorecți - ceea ce înseamnă că partea de la distanță nu poate stabili o conexiune.
ALG, după ce a identificat pachetul ca aparținând acestui protocol, își înlocuiește adresa și portul ca adresa IP și portul. Dacă, conform protocolului, un computer la distanță stabilește o conexiune pe acest port, retransmiterea este activată automat.
ALG este ca un proxy ; de obicei, termenul „proxy” se referă la un server care efectuează operațiuni suplimentare, cum ar fi stocarea în cache , în timp ce sarcina ALG este să se asigure că clienții pot utiliza protocolul.
Protocoale care necesită ALG -uri
- FTP fără mod pasiv ( PASV). Transmite adresa IP și numărul portului clientului în comanda PORT.
- PPTP . Protocolul se bazează pe GRE (în esență PPTP este PPP peste GRE cu o conexiune TCP de control suplimentară care nu este utilizată pentru date), ceea ce înseamnă IP brut. Deoarece IP brut nu are conceptul de număr de port, există probleme cu maparea NAT a acestui protocol către lumea exterioară. Fără un PPTP ALG în NAT (ca natd în versiunile mai vechi de FreeBSD ), este posibilă o singură conexiune PPTP la lumea exterioară din întreaga rețea internă, o încercare a oricui din rețeaua internă de a crea o altă conexiune PPTP de ieșire are ca rezultat o eroare (eroare 619 pe Windows).
- H.323
- Protocoale de transfer de fișiere în unele mesagerie (cum ar fi MSN Messenger )
- Crearea unui server în unele jocuri
- Unele rețele de partajare a fișierelor
Implementări OS
Windows
NAT încorporat în sistemul de operare Windows (ipnat.sys, numit Internet Connection Sharing în interfața cu utilizatorul) utilizează module ALG în modul utilizator care sunt încărcate în spațiul de adrese al procesului ALG.EXE (alias serviciu numit alg). Platforma SDK are fișiere antet pentru dezvoltarea modulelor ALG pentru protocoale neacceptate anterior. Cu toate acestea, documentația pentru aceste interfețe nu a fost publicată.
linux
Firewall-ul netfilter încorporat în nucleu acceptă protocoale precum
AMANDA ,
FTP ,
TFTP ,
IRC ,
PPTP ,
H.323 ,
SIP ,
SNMP ,
DCCP ,
GRE și altele, protocoale existente și viitoare. Datorită statutului de liber Linux în sine, toată documentația interfeței este disponibilă în mod liber și gratuit pentru toată lumea.
Implementare în routere
Aproape toate routerele cu NAT pot funcționa cu PPTP, IPsec, RTSP, SIP, H.323, SMTP, DNS, TFTP.
Link -uri