एप्लिकेशन-लेवल गेटवे

एक एप्लिकेशन-स्तरीय गेटवे (ALG, जिसे एप्लिकेशन लेयर गेटवे, एप्लिकेशन गेटवे, एप्लिकेशन प्रॉक्सी या एप्लिकेशन-स्तरीय प्रॉक्सी के रूप में भी जाना जाता है) एक सुरक्षा घटक है जो संगणक संजाल  में नियोजित फ़ायरवॉल (नेटवर्किंग) या नेटवर्क एड्रेस ट्रांसलेशन को बढ़ाता है।  यह अनुकूलित NAT ट्रैवर्सल फिल्टर को गेटवे (कंप्यूटर नेटवर्किंग) में प्लग करने की अनुमति देता है ताकि फाइल ट्रांसफर प्रोटोकॉल, बिटटोरेंट (प्रोटोकॉल),  सत्र प्रारंभ प्रोटोकॉल, रियल टाइम जैसे कुछ अनुप्रयोग परत कंट्रोल/डेटा प्रोटोकॉल के लिए नेटवर्क एड्रेस ट्रांसलेशन और  पोर्ट पता अनुवाद  का समर्थन किया रियल टाइम स्ट्रीमिंग प्रोटोकॉल, त्वरित संदेश अनुप्रयोगों में फ़ाइल स्थानांतरण। इन प्रोटोकॉल को NAT या फ़ायरवॉल के माध्यम से काम करने के लिए, या तो एप्लिकेशन को एक पते/पोर्ट नंबर संयोजन के बारे में जानना होगा जो आने वाले पैकेटों को अनुमति देता है, या NAT को नियंत्रण ट्रैफ़िक की निगरानी करनी होगी और पोर्ट मैपिंग (फ़ायरवॉल पिनहोल) को गतिशील रूप से खोलना होगा आवश्यकता अनुसार। इस प्रकार वैध एप्लिकेशन डेटा को फ़ायरवॉल या NAT की सुरक्षा जांच के माध्यम से पारित किया जा सकता है जो अन्यथा अपने सीमित फ़िल्टर मानदंडों को पूरा नहीं करने के कारण ट्रैफ़िक को प्रतिबंधित कर देता।

कार्य
एक ALG निम्नलिखित कार्य प्रदान कर सकता है:

किसी दिए गए नेटवर्क पर एएलजी द्वारा संभाले गए सभी पैकेटों का गहन पैकेट निरीक्षण इस कार्यक्षमता को संभव बनाता है। एक ALG उन विशिष्ट अनुप्रयोगों द्वारा उपयोग किए जाने वाले प्रोटोकॉल को समझता है जिनका वह समर्थन करता है।
 * क्लाइंट एप्लिकेशन को सर्वर एप्लिकेशन द्वारा उपयोग किए जाने वाले ज्ञात पोर्ट के साथ संचार करने के लिए डायनामिक क्षणिक बंदरगाह टीसीपी/यूडीपी पोर्ट का उपयोग करने की अनुमति देता है, भले ही फ़ायरवॉल कॉन्फ़िगरेशन केवल सीमित संख्या में ज्ञात पोर्ट की अनुमति दे सकता है। एएलजी की अनुपस्थिति में, या तो पोर्ट अवरुद्ध हो जाएंगे या नेटवर्क प्रशासक को फ़ायरवॉल में बड़ी संख्या में पोर्ट को स्पष्ट रूप से खोलने की आवश्यकता होगी - जिससे नेटवर्क उन पोर्ट पर हमलों के प्रति संवेदनशील हो जाएगा।
 * फ़ायरवॉल/NAT के दोनों ओर होस्ट द्वारा स्वीकार्य पतों के बीच एप्लिकेशन पेलोड के अंदर पाई गई नेटवर्क परत पता जानकारी को परिवर्तित करना। यह पहलू एएलजी के लिए गेटवे (कंप्यूटर नेटवर्किंग) | 'गेटवे' शब्द का परिचय देता है।
 * एप्लिकेशन-विशिष्ट आदेशों को पहचानना और उन पर विस्तृत सुरक्षा नियंत्रण प्रदान करना
 * डेटा का आदान-प्रदान करने वाले दो होस्टों के बीच डेटा की एकाधिक स्ट्रीम/सत्रों के बीच सिंक्रनाइज़ेशन। उदाहरण के लिए, एक फाइल ट्रांसफर प्रोटोकॉल एप्लिकेशन कंट्रोल कमांड पास करने और क्लाइंट और रिमोट सर्वर के बीच डेटा के आदान-प्रदान के लिए अलग-अलग कनेक्शन का उपयोग कर सकता है। बड़ी फ़ाइल स्थानांतरण के दौरान, नियंत्रण कनेक्शन निष्क्रिय रह सकता है। एक ALG लंबी फ़ाइल स्थानांतरण पूर्ण होने से पहले नेटवर्क उपकरणों द्वारा नियंत्रण कनेक्शन को टाइम आउट होने से रोक सकता है।

उदाहरण के लिए, सेशन इनिशिएशन प्रोटोकॉल (SIP) बैक-टू-बैक कनेक्शन|बैक-टू-बैक उपयोगकर्ता एजेंट  (B2BUA) के लिए, एक ALG SIP के साथ फ़ायरवॉल ट्रैवर्सल की अनुमति दे सकता है। यदि फ़ायरवॉल का SIP ट्रैफ़िक ALG पर समाप्त हो गया है तो SIP सत्र की अनुमति देने की ज़िम्मेदारी फ़ायरवॉल के बजाय ALG को दे दी जाती है। एक ALG एक और प्रमुख SIP सिरदर्द को हल कर सकता है: NAT ट्रैवर्सल। मूल रूप से एक अंतर्निहित ALG वाला NAT, SIP संदेशों के भीतर जानकारी को फिर से लिख सकता है और सत्र समाप्त होने तक एड्रेस बाइंडिंग को रोक सकता है। एक एसआईपी एएलजी एसआईपी संदेशों के मुख्य भाग में सत्र विवरण प्रोटोकॉल को भी संभालेगा (जिसका उपयोग मीडिया एंडपॉइंट सेट करने के लिए आईपी ​​पर आवाज में सर्वत्र किया जाता है), क्योंकि एसडीपी में शाब्दिक आईपी पते और पोर्ट भी होते हैं जिनका अनुवाद किया जाना चाहिए।

कुछ उपकरणों पर एसआईपी एएलजी के लिए अन्य प्रौद्योगिकियों में हस्तक्षेप करना आम बात है जो समान समस्या को हल करने का प्रयास करते हैं, और विभिन्न प्रदाता इसे बंद करने की सलाह देते हैं। एक एएलजी एक प्रॉक्सी सर्वर के समान है, क्योंकि यह क्लाइंट और वास्तविक सर्वर के बीच बैठता है, जिससे एक्सचेंज की सुविधा मिलती है। ऐसा प्रतीत होता है कि एक उद्योग सम्मेलन है कि एक एएलजी संदेशों को इंटरसेप्ट करके, इसका उपयोग करने के लिए एप्लिकेशन को कॉन्फ़िगर किए बिना अपना काम करता है। दूसरी ओर, प्रॉक्सी को आमतौर पर क्लाइंट एप्लिकेशन में कॉन्फ़िगर करने की आवश्यकता होती है। क्लाइंट को तब प्रॉक्सी के बारे में स्पष्ट रूप से पता चलता है और वह वास्तविक सर्वर के बजाय उससे जुड़ जाता है।

माइक्रोसॉफ़्ट विंडोज़ ़
माइक्रोसॉफ्ट विंडोज़ में एप्लिकेशन लेयर गेटवे विंडोज़ सेवा तृतीय-पक्ष प्लगइन्स के लिए समर्थन प्रदान करती है जो नेटवर्क प्रोटोकॉल को विंडोज फ़ायरवॉल से गुजरने और इसके पीछे काम करने और इंटरनेट कनेक्शन साझा करना करने की अनुमति देती है। ALG प्लगइन्स पोर्ट खोल सकते हैं और पैकेट में एम्बेडेड डेटा को बदल सकते हैं, जैसे पोर्ट और आईपी पते। विंडोज़ सर्वर 2003 में एक ALG FTP प्लगइन भी शामिल है। ALG FTP प्लगइन को विंडोज़ में नेटवर्क एड्रेस ट्रांसलेशन इंजन के माध्यम से सक्रिय FTP सत्रों का समर्थन करने के लिए डिज़ाइन किया गया है। ऐसा करने के लिए, ALG FTP प्लगइन NAT से गुजरने वाले सभी ट्रैफ़िक को रीडायरेक्ट करता है और जो पोर्ट 21 (FTP कंट्रोल पोर्ट) के लिए Microsoft लूपबैक एडाप्टर पर 3000-5000 रेंज में एक निजी श्रवण पोर्ट पर जाता है। एएलजी एफ़टीपी प्लगइन फिर एफ़टीपी नियंत्रण चैनल पर ट्रैफ़िक की निगरानी/अद्यतन करता है ताकि एफ़टीपी प्लगइन एफ़टीपी डेटा चैनलों के लिए एनएटी के माध्यम से पोर्ट मैपिंग को प्लंब कर सके।

लिनक्स
लिनक्स कर्नेल का नेटफ़िल्टर  फ्रेमवर्क, जो लिनक्स में NAT लागू करता है, में कई NAT ALG के लिए सुविधाएँ और मॉड्यूल हैं:
 * उन्नत मैरीलैंड स्वचालित नेटवर्क डिस्क आर्काइवर प्रोटोकॉल
 * फाइल ट्रांसफर प्रोटोकॉल
 * इंटरनेट रिले चैट
 * सत्र प्रारंभ प्रोटोकॉल
 * तुच्छ फ़ाइल स्थानांतरण प्रोटोकॉल
 * आईपीसेक
 * एच.323
 * पीपीटीपी
 * एल2टीपी

यह भी देखें

 * सत्र सीमा नियंत्रक

बाहरी संबंध

 * DNS Application Level Gateway (DNS_ALG)