विंडोज में I / O मॉडल घटकों के ढेर पर आधारित है। डेटा को उस स्टैक के विभिन्न घटकों के माध्यम से प्रवाह करना होगा जो भौतिक नेटवर्क कार्ड और डेटा का उपभोग करने वाले एप्लिकेशन के बीच मौजूद है। कभी-कभी वे विभिन्न घटक डेटा का निरीक्षण करते हैं (उदाहरण के लिए एक टीसीपी पैकेट), जैसा कि वे स्टैक के माध्यम से प्रवाह करते हैं, और उस पैकेट की सामग्री के आधार पर, डेटा को बदल दिया जा सकता है, या पैकेट को पूरी तरह से त्याग दिया जा सकता है।
यह "नेटवर्क स्टैक" का एक सरलीकृत मॉडल है जो पैकेट से होकर तार से प्रवाहित होता है और इसके विपरीत होता है।
ऊपर स्क्रीनशॉट में दिखाए गए सबसे दिलचस्प घटकों में से एक डब्ल्यूएफपी (विंडोज फ़िल्टरिंग प्लेटफॉर्म) कॉलआउट एपीआई है। यदि हम उस पर ज़ूम करते हैं, तो यह कुछ इस तरह दिख सकता है:
डेवलपर्स अपने स्वयं के मॉड्यूल को इस स्टैक में उपयुक्त स्थानों में प्लग करने के लिए स्वतंत्र हैं। उदाहरण के लिए, एंटीवायरस उत्पाद आमतौर पर एक "फ़िल्टर ड्राइवर" का उपयोग करते हैं जो इस मॉडल में प्लग करता है और नेटवर्क ट्रैफ़िक का निरीक्षण करता है या फ़ायरवॉल क्षमताओं को प्रदान करता है। विंडोज फ़ायरवॉल सेवा स्पष्ट रूप से इस मॉडल में भी फिट बैठती है।
यदि आप एक ऐसा एप्लिकेशन लिखना चाहते हैं जो नेटवर्क ट्रैफ़िक को रिकॉर्ड करता है, जैसे कि विंडसर्क, तो ऐसा करने का उपयुक्त तरीका यह होगा कि आप अपने खुद के ड्राइवर का उपयोग करें, और इसे यथासंभव कम स्टैक में डालें ताकि यह नेटवर्क पैकेट का पता लगा सके इससे पहले कि आपके फ़ायरवॉल मॉड्यूल को उन्हें गिराने का मौका मिले।
इसलिए इस प्रक्रिया में कई "ड्राइवर" शामिल हैं। कई अलग-अलग प्रकार के ड्राइवर भी। साथ ही, सिस्टम पर इनपुट / आउटपुट के अन्य रूप, जैसे कि हार्ड डिस्क ड्राइव पढ़ता है और लिखता है, बहुत समान मॉडल का पालन करता है।
एक अन्य नोट - डब्ल्यूएफपी कॉलआउट नेटवर्क स्टैक में खुद को घुसाने का एकमात्र तरीका नहीं है। एक उदाहरण के रूप में WinPCap, एक चालक के साथ सीधे एनडीआईएस के साथ इंटरफेस करता है, जिसका अर्थ है कि किसी भी फ़िल्टरिंग से पहले ट्रैफ़िक को बाधित करने का मौका है।
NDIS ड्राइवर्स
WinPcap
संदर्भ:
अगली पीढ़ी टीसीपी / आईपी स्टैक विस्टा + में
विंडोज फ़िल्टरिंग प्लेटफार्म आर्किटेक्चर