• TCP/IP स्टैक इम्प्लीमेंटेशन

    • TCP/IP स्टैक को सीधे इम्प्लीमेंट करना एक जटिल काम लग सकता है.
    • TCP की मुख्य specification में TCP header parsing, state machine, congestion control और retransmission timeout calculation शामिल हैं.
    • इस ब्लॉग सीरीज़ में Linux पर एक न्यूनतम user-space TCP/IP स्टैक इम्प्लीमेंट किया जाएगा.
    • इस पोस्ट और software का उद्देश्य network और system programming को गहराई से सीखने के लिए शैक्षिक है.
  • TUN/TAP डिवाइस

    • Linux kernel में low-level network traffic को intercept करने के लिए TAP डिवाइस का उपयोग किया जाता है.
    • TUN/TAP डिवाइस user-space programs से configure करना आसान है और OpenVPN जैसे कई programs में उपयोग होते हैं.
    • TAP डिवाइस का उपयोग करके Ethernet buffers में data पढ़ा और लिखा जा सकता है.
  • Ethernet frame format

    • Ethernet, LAN में computers को जोड़ने वाली विभिन्न networking technologies की नींव है.
    • Ethernet standard, 1980 में पहली बार प्रकाशित होने के बाद से काफ़ी विकसित हुआ है.
    • Ethernet frame header को C struct के रूप में declare किया जा सकता है, और इसमें DMAC, SMAC, Ethertype और payload fields शामिल होते हैं.
  • Ethernet frame parsing

    • GNU C compiler struct memory layout को optimize न करे, इसके लिए packed attribute का उपयोग किया जाता है.
    • Ethernet frame को parse और process करने का पूरा scenario सरल है.
  • Address Resolution Protocol (ARP)

    • ARP का उपयोग 48-bit Ethernet addresses को protocol addresses से dynamic रूप से map करने के लिए किया जाता है.
    • ARP packet format अपेक्षाकृत सरल है, और इसमें hardware type, protocol type, hardware size, protocol size, opcode और data fields शामिल हैं.
  • Address resolution algorithm

    • ARP के परिणामों को store करने और duplicate ARP requests से बचने के लिए translation table का उपयोग किया जाता है.
    • ARP implementation की अंतिम test यह देखना है कि वह ARP requests का सही जवाब देता है या नहीं.
  • निष्कर्ष

    • Ethernet frame handling और ARP का न्यूनतम implementation अपेक्षाकृत आसान है, और इसे कुछ lines of code में किया जा सकता है.
    • प्रोजेक्ट का source code GitHub पर देखा जा सकता है.
    • अगली पोस्ट में ICMP echo और reply (ping), तथा IPv4 packet parsing का implementation जारी रखा जाएगा.

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.