- شرح درس
- آزمون
- تمرين
- کارگاه و دوره مرتبط
پروتکل DHCP چیست؟ بررسی پیام های DHCP با وایرشارک
معرفی پروتکل DHCP
پروتکل DHCP در لایه Application از مدل OSI کار می کند. وظیفه این پروتکل ارائه آدرس IP به کامپیوترهای شبکه است. با وجود سرور DHCP در شبکه نیازی به کانفیگ دستی کارت شبکه کامپیوترها نیست. کامپیوترها آدرس IP و Subnet Mask و Gateway و DNS Server را از DHCP Server دریافت می کنند. DHCP با پورت های UDP67 و UDP68 کار می کند. DHCP Server از پورت UDP67 و DHCP Client از پورت UDP68 برای ارتباط با یکدیگر استفاده می کنند. تصور کنید شما مدیر (Admin) یک شبکه LAN با بیش از ۵۰۰ کامپیوتر دسکتاپ هستید. تنظیم آدرس های آی پی در این همه دستگاه کار سخت و طولانی است. اینجاست که پروتکل DHCP نجاتتان می دهد. دوستت دارم DHCPجان.
بررسی انواع پیام در پروتکل DHCP
-
DHCP DORA
DHCP Client در یک گفتگوی 4 مرحله ای بنام DORA از DHCP Server سرویس می گیرد.
-
DHCP Server Discovery Message
شماره 1 در تصویر بالا به مرحله 1 از گفتگوی DORA بین DHCP Client و DHCP Server اشاره می کند. در این مرحله کلاینت پیامی به نام DHCP Discovery را بصورت Broadcast برای سرور ارسال می کند. در تنظیمات کارت شبکه، آدرس آی پی DHCP Server به Client معرفی نمی شود و کلاینت آدرس سرور را نمی داند؛ به همین دلیل سعی می کند با ارسال بسته به صورت Broadcast با سرور ارتباط بگیرد و درخواست دریافت کانفیگ کند.
-
DHCP Offer Message
شماره 2 در تصویر بالا اشاره به مرحله 2 از گفتگوی DORA یعنی ارسال پیام DHCP Offer می کند. سرور پس از دریافت پیام Discovery از کلاینت، کانفیگی که کلاینت درخواست کرده را به صورت Unicast در قالب پیامی بنام DHCP Offer برای کلاینت ارسال می کند.
-
DHCP Request Message
شماره 3 در تصویر بالا اشاره به پیام DHCP Request می کند. در مرحله سوم از گفتگوی DORA کلاینت تنظیماتی را که در مرحله قبل از سرور دریافت کرده است با ارسال پیام DHCP Request از آن درخواست می کند. کلاینت پیام DHCP Request را مثل پیام DHCP Discovery به صورت Broadcast برای سرور ارسال می کند.
-
DHCP Ack Message
شماره 4 در تصویر بالا به پیام DHCP ACK و مرحله چهارم از گفتگوی DORA اشاره می کند. پس از اینکه DHCP Server پیام DHCP Request را از کلاینت دریافت کرد، تنظیماتی را که به کلاینت از طریق ارسال پیام DHCP Offer پیشنهاد داده بود در دیتابیس خود ثبت می کند. پیام DHCP Ack به صورت Unicast از سرور به کلاینت ارسال می شود.
بررسی پیام DHCP Server Discovery
- شماره ۱ در تصویر بالا اشاره به MAC Address (آدرس کارت شبکه اترنت) کامپیوتر DHCP Client میکند.
- شماره ۲ در تصویر بالا اشاره به آدرس اترنت Broadcast یعنی ۱۲ تا F می کند. DHCP Client آدرس MAC در فیلد Destination Address از هدر اترنت را ۱۲ تا F قرار می دهد. وقتی سوییچ قاب اترنتی (Ethernet Frame) دریافت می کند که آدرس مقصدش FFFF.FFFF.FFFF است آن را به تمام پورت های دیگر در VLAN کلاینت ارسال می کند. بنابراین در صورتی که DHCP Server عضو همان VLAN باشد که DHCP Client است، پیام DHCP Discovery را دریافت می کند.
- شماره 3: آدرس IP فرستنده از هدر آی پی در پیام های DHCP Discover و DHCP Request برابر با 0.0.0.0 است. این آدرس نشان می دهد کلاینت آدرس IP ندارد که اگر داشت او را با DHCP Server چکار!؟
- شماره 4: چون DHCP Client آدرس IP و Subnet Mask ندارد، درکی هم از آدرس IP شبکه و آدرس Broadcast IP شبکه ای که در آن قرار دارد ندارد؛ بنابراین کلاینت آدرس Destination IP در IP Header را 255.255.255.255 تنظیم می کند که به این آدرس Global Broadcast IP گفته می شود.
- شماره 5: تمام بسته های DHCP Client و DHCP Server از طریق پروتکل UDP رد و بدل می شود؛ به این دلیل که سایز دیتاهای DHCP کمتر از 512 بایت است و ارتباط بین کلاینت ها با سرور در محدوده شبکه LAN است و پهنای باند در این شبکه زیاد است (مقدار پهنای باند در شبکه LAN امروزی حداقل یک گیگابیت بر ثانیه که معادل یک میلیارد بیت در ثانیه است).
- شماره 6: DHCP Client از طریق پورت UDP 68 با DHCP Server صحبت می کند. بنابراین آدرس پورت مبدا در UDP Header بسته های DHCP Discover و DHCP Request که توسط کلاینت ارسال می شود 68 است.
- شماره 7: DHCP Server از طریق پورت UDP 67 با DHCP Client صحبت می کند. بنابراین وقتی DHCP Client پیام های DHCP Discover و DHCP Request را برای DHCP Server ارسال می کند آدرس پورت مقصد در UDP Header را 67 قرار می دهد.
- شماره 8: اشاره به پیام DHCP Discovery می کند که توسط DHCP Client برای DHCP Server ارسال می شود.
- شماره 9: Boot Request Type 1 نشان می دهد پیام از سمت DHCP Client برای DHCP Server ارسال می شود.
- شماره 10: اشاره به نوع کارت شبکه کلاینت می کند. در اینجا سخت افزار کارت شبکه از نوع Ethernet است.
- شماره 11: اشاره به آدرس MAC کارت شبکه کلاینت می کند که ۶ بایت، معادل ۴۸ بیت است.
- شماره 12: DHCP Client برای گفتگوی خود با DHCP Server یک شناسه یکتا در نظر می گیرد که به آن Transaction ID گفته می شود. DHCP Client توسط Transaction ID می تواند پاسخ های دریافتی از DHCP Server را با درخواست های ارسالی خود مطابقت دهد.
- شماره 13: DHCP Client با قراردادن آدرس 0.0.0.0 در پیام DHCP Discover می خواهد به DHCP Server بگوید که IP ندارد تا DHCP Server به او یک آدرس IP اختصاص دهد.
- شماره 14: DHCP Server در جدول دیتابیس خود (DHCP IP Binding Table) آدرس IP را که به کلاینت ارائه می دهد ثبت می کند. این جدول دارای رکوردهایی است که آدرس آی پی کلاینت را به آدرس MAC آن نگاشت (MAP) می کند. بنابراین DHCP Clientها می دانند که باید برای دریافت آی پی، آدرس مک خود را به سرور اعلان کنند.
- شماره 15: DHCP Option شماره 53 به نوع پیام DHCP که در اینجا DHCP Server Discovery است اشاره می کند.
- شماره 16: با استفاده از DHCP Option 50 کلاینت آدرس IP قبلی که از DHCP Server گرفته را تقاضا می کند.
بررسی پیام DHCP Offer
- شماره ۱ در تصویر بالا اشاره به آدرس مک کارت شبکه سرور می کند که برای ارسال پیام DHCP Offer به سمت کلاینت، آدرس اترنت خود را در قسمت Source Address از هدر اترنت قرار می دهد.
- شماره 2: DHCP Server هنگام دریافت پیام DHCP Discovery آدرس اترنت DHCP Client را یاد می گیرد و آن را در فیلد Destination MAC از Ethernet Header قرار می دهد.
- شماره 3: به آدرس آی پی DHCP Server اشاره می کند که در فیلد Source Address از IP Header قرار می گیرد.
- شماره 4: سرور آدرس IP مقصد در IP Header پیام DHCP Offer را همان آی پی قرار می دهد که به کلاینت پیشنهاد داده است. بنابراین بسته DHCP Offer ارسالی توسط سرور بصورت Unicast برای کلاینت ارسال می شود. هر چند DHCP Client آی پی ندارد اما DHCP Server آدرس آی پی که به کلاینت Offer داده است را به عنوان آدرس گیرنده پیام DHCP Offer در فیلد Destination Address از هدر پروتکل آی پی تنظیم می کند.
- شماره 5: پروتکل UDP در ماشین DHCP Server پیام DHCP Offer را از پروتکل DHCP تحویل گرفته و در ماشین کلاینت به پروتکل DHCP تحویل می دهد.
- شماره 6: DHCP Server از طریق پورت UDP 67 با DHCP Client صحبت می کند. بنابراین وقتی DHCP Server پیام DHCP Offer برای DHCP Client ارسال می کند، آدرس پورت مبدا را شماره 67 قرار می دهد.
- شماره 7: DHCP Client از طریق پورت UDP 68 با DHCP Server صحبت می کند. بنابراین آدرس پورت مقصد در UDP Header مربوط یه پیام DHCP Offer را شماره 68 قرار می دهد.
- شماره 8: Boot Reply Type 2 یعنی پیام از سمت DHCP Server برای DHCP Client ارسال می شود.
- شماره 9: DHCP Client برای گفتگوی خود با DHCP Server یک شناسه یکتا در نظر می گیرد که به آن Transaction ID گفته می شود. DHCP Client توسط Transaction ID می تواند پاسخ های دریافتی از DHCP Server را با درخواست های ارسالی خود مطابقت دهد.
- شماره 10: DHCP Option 53 به نوع پیام DHCP که در اینجا DHCP Offer است اشاره می کند.
- شماره 11: از طریق این DHCP Option آدرس آی پی DHCP Server به DHCP Clientها معرفی می شود.
- شماره 12: هر IP Address اختصاص داده شده از سمت DHCP Server به DHCP Client یک تاریخ اعتبار و انقضای مشخص دارد که به آن Lease Time گفته می شود. سرور DHCP از طریق DHCP Option 51 این تایم را به DHCP Client اعلان می کند.
- شماره 13: DHCP Option شماره ۱ به IP Network یا همان IP Subnet اشاره دارد.
- شماره 14: DHCP Option شماره ۳ به روتر شبکه یا همان آدرس Gateway اشاره می کند.
- شماره 15: DHCP Option شماره ۶ به آدرس آی پی DNS Server در شبکه اشاره دارد.
بررسی پیام DHCP Request
- شماره ۱ در تصویر بالا اشاره به آدرس اترنت کلاینت می کند.
- شماره ۲ در تصویر بالا اشاره به آدرس اترنت Broadcast یعنی FFFFFFFFFFFF می کند. DHCP Client آدرس MAC در فیلد Destination Address از هدر اترنت را ۱۲ تا F قرار می دهد. وقتی سوییچ ترافیک اترنت با آدرس مقصد FFFF.FFFF.FFFF دریافت می کند آن را به تمام پورت های دیگری که عضو VLAN فرستنده هستند ارسال می کند. بنابراین در صورتی که DHCP Server در VLAN موردنظر وجود داشته باشد، پیام DHCP Discovery را دریافت می کند.
- شماره 3: DHCP Client آدرس IP فرستنده را در بسته های DHCP Discovery و DHCP Request بصورت 0.0.0.0 قرار می دهد؛ این یعنی کلاینت آدرس آی پی ندارد و توسط پروتکل DHCP می خواهد از DHCP Server آدرس IP بگیرد.
- شماره 4: چون DHCP Client آدرس IP و Subnet Mask ندارد بنابراین درکی هم از آدرس IP شبکه و آدرس Broadcast IP شبکه ای که در آن قرار دارد ندارد. بنابراین کلاینت آدرس IP مقصد در بسته DHCP Discovery را 255.255.255.255 قرار می دهد. به این آدرس Global Broadcast IP گفته می شود.
- شماره 5: تمام بسته های رد و بدل شده بین DHCP Client و DHCP Server از طریق پروتکل UDP مدیریت می شود.
- شماره 6: DHCP Client از طریق پورت UDP 68 با DHCP Server صحبت می کند. بنابراین آدرس پورت مبدا در UDP Header مربوط به پیام DHCP Discovery و DHCP request را 68 قرار می دهد.
- شماره 7: DHCP Server از طریق پورت UDP 67 با DHCP Client صحبت می کند. بنابراین وقتی DHCP Client پیام های DHCP Discovery و DHCP Request برای DHCP Server ارسال می کند، آدرس پورت مقصد را شماره 67 قرار می دهد.
- شماره 8: اشاره به پیام DHCP Request می کند که توسط DHCP Client برای DHCP Server ارسال می شود. وقتی Boot Request type برابر با یک باشد یعنی پیام از DHCP Client برای DHCP Server ارسال می شود.
- شماره 9: DHCP Client برای گفت و گوی خود با DHCP Server یک شناسه یکتا در نظر می گیرد که به آن Transaction ID گفته می شود. DHCP Client توسط Transaction ID می تواند پاسخهای دریافتی از DHCP Server را با درخواست های ارسالی خود مطابقت دهد.
- شماره 10: DHCP Option 53 به نوع پیام DHCP که در اینجا DHCP Request است اشاره میکند.
- شماره 11: DHCP Option 54 به آدرس آی پی DHCP Server اشاره می کند.
- شماره 12: در DHCP Option 50 کلاینت IP Address پیشنهاد داده شده از سمت DHCP Server را از DHCP Client درخواست می کند.
بررسی پیام DHCP Ack
- شماره ۱ در تصویر بالا اشاره به آدرس اترنت کارت شبکه DHCP Server می کند. DHCP Server برای ارسال پیام DHCP Ack به سمت DHCP Client در قسمت Source MAC از هدر اترنت، آدرس MAC خودش را قرار می دهد.
- شماره 2: DHCP Server هنگام دریافت پیام DHCP Discovery آدرس مک DHCP Client را یاد می گیرد و آدرس کلاینت را در فیلد Destination MAC در Ethernet Header قرار می دهد.
- شماره 3: به آدرس آی پی DHCP Server اشاره می کند که در فیلد Source IP Address از IP Header قرار دارد.
- شماره 4: DHCP Server آدرس آی پی گیرنده پیام DHCP Ack را آدرسی قرار می دهد که آن را به کلاینت در مرحله دوم از گفتگوی DORA (یعنی در بسته DHCP Offer) پیشنهاد داده است. بنابراین پیام DHCP Ack نیز مثل پیام DHCP Offer بصورت Unicast برای کلاینت ارسال می شود.
- شماره 5: مدیریت انتقال پیام های بین DHCP Server و DHCP Client از طریق پروتکل UDP انجام می شود.
- شماره 6: DHCP Server از طریق پورت UDP 67 با DHCP Client صحبت می کند. بنابراین وقتی DHCP Server بسته DHCP ACK را برای DHCP Client ارسال می کند آدرس پورت مبدا را شماره 67 قرار می دهد.
- شماره 7: DHCP Client از طریق پورت UDP 68 با DHCP Server صحبت می کند. بنابراین آدرس پورت مقصد را در UDP Header از پیام DHCP ACK شماره 68 قرار می دهد.
- شماره 8: اشاره به پیام DHCP Ack می کند که توسط DHCP Client برای DHCP Server ارسال می شود.
- شماره 9: Boot Reply Type 2 یعنی پیام از سمت DHCP Server برای DHCP Client ارسال می شود.
- شماره 10: DHCP Server پیام تایید اختصاص آدرس آی پی را که در پیام DHCP Offer به DHCP Client پیشنهاد داده بود در این فیلد قرار می دهد.
بررسی DHCP Options
اطلاعات و کانفیگی که از dhcp server برای dhcp client ارسال می شود یک شماره مخصوص و یکتا بنام DHCP Option دارد. dhcp client از روی همین شماره های Option می تواند تشخیص دهد که dhcp server چه کانفیگی برایش ارسال کرده است. برای مثال آدرس روتر شبکه با Option شماره 3 و Subnet Mask با Option شماره 1 و آدرس DNS Server با Option شماره 6 به dhcp client معرفی می شود.
لیست DHCP Optionهای رایج و کاربردی در شبکه های TCP/IP
- Option 001 (Subnet Mask Value)
- Option 003 (Router address)
- Option 006 (DNS Server address)
- Option 012 (Hostname string)
- Option 023 (Default IP Time to Live)
- Option 033 (Static Routing Table)
- Option 035 (ARP Cache Timeout)
- Option 042 (NTP Server Address)
- Option 050 (Requested IP Address)
- Option 051 (IP Address Lease Time)
- Option 053 (DHCP Message Type)
- Option 054 (DHCP Server Identification)
- Option 055 (Parameter Request List)
- Option 082 (Relay Agent Information)
- Option 120 (SIP Servers DHCP Option)
- Option 128 (Etherboot signature. 6 bytes)
- Option 138 (CAPWAP Access Controller address)
- Option 150 (TFTP server address)
هر پاسخ درست یک امتیاز مثبت
هر پاسخ اشتباه یک امتیاز منفی
برای دسترسی به تمرین، وارد حساب کاربری شوید.