1.6.2.1 ÁÖ¼Ò ÆÐ¹Ð¸® µî·Ï°ú ¿±â
ÄÝ ¸Å´ÏÀú´Â ¿¬°á ÁöÇâ Ŭ¶óÀÌ¾ðÆ®µé¿¡°Ô ÄÝ ¸Å´ÏÀú ¼ºñ½ºµéÀ» Á¦°øÇÏ´Â °Í¿¡ ´ëÇØ °¢ NICÀ» À§ÇØ
address family¸¦ µî·ÏÇØ¾ß ÇÑ´Ù. À¯»çÇϰÔ, MCM µå¶óÀ̹ö´Â °ü¸®ÇÏ´Â NICÀ» À§ÇØ address family¸¦
µî·ÏÇØ¾ß ÇÑ´Ù.
address family¸¦ µî·ÏÇÔÀ¸·Î½á, ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº NDIS¿¡°Ô ÄÝ ¸Å´ÏÀú ¿£Æ®¸® Æ÷ÀÎÆ®µéÀ»
µî·ÏÇØ¾ß Çϰí NDIS°¡ ¾î´ðÅÍ¿¡ ¹ÙÀεåµÈ ¸ðµç ¿¬°á ÁöÇâ Ŭ¶óÀÌ¾ðÆ®µé¿¡°Ô ÄÝ ¸Å´ÏÀúÀÇ È¤Àº MCMÀÇ ¼ºñ½ºµéÀ»
±¤°íÇϵµ·Ï ÇÑ´Ù.(advertise)
¸¸¾à ¿¬°á ÁöÇâ Ŭ¶óÀÌ¾ðÆ®´Â ÄÝ ¸Å´ÏÀú ȤÀº MCM¿¡ ÀÇÇØ ±¤°íµÇ¾îÁö´Â ¼ºñ½ºµéÀ» »ç¿ëÇÑ´Ù¸éÀº,
ÄÝ ¸Å´ÏÀú ȤÀº MCM¿¡ address family¸¦ ¿ ¼ö ÀÖ´Ù.
Registering an Address Family from a Call Manager
ProtocolBindAdapter ÇÔ¼ö°¡ NdisOpenAdapter ·Î ¾Æ·¡ ÀÖ´Â NIC ¹Ì´ÏÆ÷Æ®¿Í ¹ÙÀεåÇÑ ÈÄ, ÄÝ ¸Å´ÏÀú´Â
¹ÙÀεùÀ» À§ÇØ address family¸¦ µî·ÏÇϱâ À§ÇØ NdisCmRegisterAddressFamily¸¦ È£ÃâÇÑ´Ù. (Figure 1.3¸¦ ºÁ¶ó.)

±×¸² 1.3 ÄÝ ¸Å´ÏÀú¸¦ °¡Áö°í ÁÖ¼Ò ÆÐ¹Ð¸®¸¦ µî·ÏÇÏ°í ¿±â
NdisCmRegisterAddressFamily¿¡ ´ëÇÑ È£ÃâÀº ÄÝ ¸Å´ÏÀú¸¦ À§ÇØ ÄÝ ¸Å´ÏÀú ¿£Æ®¸® Æ÷ÀÎÆ®µéÀ» µî·ÏÇÏ°í ¶ÇÇÑ
ÄÝ ¸Å´ÏÀúÀÇ Æ¯Á¤ ½Ã±×³Î¸µ ¼ºñ½ºµéÀ» ±¤°íÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â ProtocolBindAdapter ÇÔ¼ö°¡ È£ÃâµÇ¾îÁö°í
¼º°øÀûÀ¸·Î NdisOpenAdapter·Î NICÀ» ¹ÙÀεåÇÒ ¶§¸¶´Ù address family¸¦ µî·ÏÇØ¾ß ÇÑ´Ù.
ÄÝ ¸Å´ÏÀú´Â ¹ÙÀεåµÈ ¸ðµç NIC µå¶óÀ̹öµé·Î Çϳª³ª ±× ÀÌ»óÀÇ address family¸¦ Áö¿øÇÒ ¼ö ÀÖ´Ù.
ÄÝ ¸Å´ÏÀú´Â ¶ÇÇÑ ¹ÙÀεåµÈ ÇϳªÀ¸ NIC¿¡ ´ëÇØ Çϳª³ª ±× ÀÌ»óÀÇ address family¸¦ Áö¿øÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ °æ¿ì¿¡, ±×·¯³ª, ÄÝ ¸Å´ÏÀú´Â ¹ÙÀεùµÈ °¢ address family¸¦ À§ÇØ °°Àº ¿£Æ®¸® Æ÷ÀÎÆ®µéÀ» µî·ÏÇØ¾ß
ÇÑ´Ù. ´ÜÁö ÇϳªÀÇ ÄÝ ¸Å´ÏÀú´Â ¾î¶² ƯÁ¤ NIC µå¶óÀ̹ö¿¡ ¹ÙÀεåµÈ Ŭ¶óÀÌ¾ðÆ®µéÀ» À§ÇØ Æ¯Á¤ ŸÀÔÀÇ
address family¸¦ Áö¿øÇÒ ¼ö ÀÖ´Ù.
Registering an Address Family from an MCM driver
MCM µå¶óÀ̹ö´Â NdisMRegisterMiniport·Î ¹Ì´ÏÆ÷Æ®ÀÇ ¿£Æ®¸® Æ÷ÀÎÆ®µéÀ» µî·ÏÇÑ ÈÄ MiniportInitialize ÇÔ¼ö·ÎºÎÅÍ
NdisMCmRegisterAddressFamily¸¦ È£ÃâÇÑ´Ù.
MCM µå¶óÀ̹ö´Â ¿¬°á ÁöÇâ Ŭ¶óÀÌ¾ðÆ®µé¿¡ ´ëÇÑ ¼ºñ½ºµéÀ» ±¤°íÇϱâ À§ÇØ NDIS·Î ÄÝ ¸Å´ÏÀú ¿£Æ®¸® Æ÷ÀÎÆ®µéÀ»
µî·ÏÇϱâ À§ÇØ ÇѹøÀº NdisMCmRegisterAddressFamily¸¦ È£ÃâÇÑ´Ù.

±×¸² 1.4 MCMÀ» °¡Áö°í ÁÖ¼Ò ÆÐ¹Ð¸®¸¦ µî·ÏÇÏ°í ¿±â
on-board ¿¬°á ÁöÇ⠽ñ׳θµ Áö¿øÀ» °¡Áö´Â NICÀÇ ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö´Â ºñ·Ï ÄÝ ¸Å´ÏÀú°¡ ÀÌ¿ëÇÒ ¼ö ÀÖÁö¸¸Àº
±× ÀÚü¸¦ MCM µå¶óÀ̹ö·Î µî·ÏÇÒ ¼ö ÀÖ´Ù. ±×·¸°Ô ÇÔÀ¸·Î½á, ±×·¯ÇÑ MCM µå¶óÀ̹ö´Â ±×·¯ÇÑ NICÀ» À§ÇØ
ÄÝ ¸Å´ÏÀú·Î¼ ÄÝ ¸Å´ÏÀú¸¦ ¼±Á¡ÇÑ´Ù.(preempt)
Opening an Address Family
Ndis(M)CmRegisterAddressFamily¿¡ ´ëÇÑ ÄÝ ¸Å´ÏÀúÀÇ È¤Àº MCMÀÇ È£ÃâÀº NDIS¿¡°Ô ¹ÙÀεù¶§
°¢ ¿¬°á ÁöÇâ Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolCoAfRegisterNotify¸¦ È£ÃâÇϵµ·Ï ÇÑ´Ù.(Figure 1.3°ú 1.4¿¡ º¸¿©Áø °Íó·³)
ProtocolCoAfRegisterNotify´Â Ŭ¶óÀÌ¾ðÆ®°¡ ÀÌ·¯ÇÑ Æ¯Á¤ CM ȤÀº MCMÀÇ ¼ºñ½ºµéÀ» »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö¸¦
°áÁ¤Çϱâ À§ÇØ address-family µ¥ÀÌÅ͸¦ Á¶»çÇÑ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ (M)CM Áö¿ø address-family µ¥ÀÌÅÍ¿¡¼
¼öÁ¤ÇÒ ¼ö ÀÖ´ÂÁö´Â ÄÝ ¸Å´ÏÀú ȤÀº MCMÀÇ Æ¯Á¤ ½Ã±×³Î¸µ ÇÁ·ÎÅäÄÝ Áö¿ø¿¡ ÀÇÁ¸ÇÑ´Ù.
¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ ¼ö¶ôÇÒ ¼ö ÀÖ´Â Á¦°øµÈ ÄÝ °ü¸® ¼ºñ½ºµéÀ» ¹ß°ßÇÑ´Ù¸éÀº, ProtocolCoAfRegisterNotify´Â
Ŭ¶óÀÌ¾ðÆ®¸¦ À§ÇØ AF´ç ÄÁÅØ½ºÆ® ¿µ¿ªÀ» ÇÒ´çÇϰí NdisClOpenAddressFamily¸¦ È£ÃâÇÑ´Ù.
NdisClOpenAddressFamily´Â NDIS¿¡°Ô Ŭ¶óÀ̾ðÆ®ÀÇ ¿¬°á ÁöÇâ ¿£Æ®¸® Æ÷ÀÎÆ®µéÀ» µî·ÏÇÑ´Ù.
NdisClOpenAddressFamily¿¡ ´ëÇÑ È£ÃâÀº NDIS°¡ ÄÝ ¸Å´ÏÀúÀÇ È¤Àº MCMÀÇ ProtocolCmOpenAf ÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ÇÑ´Ù.
(ÀÌ¹Ì Figures 1.3 °ú 1.4¿¡ º¸¿©Áø °Íó·³) ProtocolCmOpenAf´Â À¯È¿ÇÑ address family¿¡ Àü´ÞµÈ Ŭ¶óÀÌ¾ðÆ®°¡
ÀÌ·¯ÇÑ address familyÀÇ ÀνºÅϽº¸¦ ¿©´Â Ŭ¶óÀÌ¾ðÆ®¸¦ À§ÇØ ¿¬»êµéÀ» ÇàÇϱâ À§ÇØ ÇÊ¿äÇÑ ÀÚ¿øµéÀ» ÇÒ´çÇϰí
ÃʱâÈÇÏ´Â °ÍÀ» È®½ÇÈ÷ ÇÑ´Ù.
ProtocolCmOpenAf´Â ¶ÇÇÑ ¿¸° address family¸¦ À§ÇØ ÄÝ ¸Å´ÏÀú¿Í Ŭ¶óÀÌ¾ðÆ® »çÀÌ¿¡ °ü°è¸¦ Ç¥½ÃÇϱâ À§ÇØ
NDIS Á¦°ø NdisAfHandle¸¦ ÀúÀåÇÑ´Ù.
ProtocolCmOpenAf´Â µ¿±âÀû ȤÀº ºñµ¿±âÀûÀ¸·Î ¿Ï¼ºÇÒ ¼ö ÀÖ´Ù. ºñµ¿±âÀûÀ¸·Î ¿Ï¼ºÇϱâ À§ÇØ,
ÄÝ ¸Å´ÏÀúÀÇ ProtocolCmOpenAf ÇÔ¼ö´Â NdisCmOpenAddressFamilyComplete¸¦ È£ÃâÇÑ´Ù. ; MCMÀÇ
ProtocolCmOpenAf ÇÔ¼ö´Â NdisMCmOpenAddressFamilyComplete¸¦ È£ÃâÇÑ´Ù. Ndis(M)CmOpenAddressFamilyComplete
¿¡ ´ëÇÑ È£ÃâÀº NDIS¿¡°Ô ¿ø·¡ NdisClOpenAddressFamily¸¦ È£ÃâÇϴ Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolOpenAfComplete¸¦
È£ÃâÇϵµ·Ï ÇÑ´Ù.
¸¸¾à NdisClOpenAddressFamily¿¡ ´ëÇÑ Å¬¶óÀ̾ðÆ®ÀÇ È£ÃâÀÌ ¼º°øÀûÀ̶ó¸éÀº, NDIS´Â
¿¸° address family¸¦ À§ÇØ ÄÝ ¸Å´ÏÀú¿Í Ŭ¶óÀÌ¾ðÆ® »çÀÌ¿¡ °ü°è¸¦ Ç¥½ÃÇÏ´Â NdisAfHandle¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô
¸®ÅÏÇÑ´Ù.
¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ µé¾î¿À´Â È£ÃâµéÀ» ¼ö¶ôÇÑ´Ù¸éÀº, Ç×»ó NdisClOpenAddressFamily¿¡ ´ëÇÑ
¼º°øÀûÀΠȣÃâ ´ÙÀ½¿¡ NdisClRegisterSap¸¦ È£ÃâÇÔÀ¸·Î½á ProtocolClOpenAfComplete·ÎºÎÅÍ Çϳª³ª ȤÀº
±× ÀÌ»óÀÇ SAPµéÀ» µî·ÏÇØ¾ß ÇÑ´Ù. (Section 1.6.6.2¸¦ ºÁ¶ó.)
¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ ³ª°¡´Â È£ÃâµéÀ» ÇÑ´Ù¸éÀº, ³ª°¡´Â È£ÃâÀ» ÇÏ´Â Çϳª³ª ±× ÀÌ»óÀÇ Å¬¶óÀÌ¾ðÆ®µé¿¡ ÀÇÇÑ
¿ä±¸ÀÇ ±â´ë·Î ProtocolClOpenAfComplete ÇÔ¼ö³»¿¡ Çϳª³ª ±× ÀÌ»óÀÇ VCµéÀ» ¸¸µé ¼ö ÀÖ´Ù.(Section 1.6.3.1À» ºÁ¶ó.)
|