DHCP сервер гэж юу вэ?
DHCP нь хостууд IP хаяг, subnet mask, default gateway зэрэг т охиргооны мэдээллээ олж авахад ашиглагддаг. Учир нь хостуудад IP сүлжээнд холбогдоход нь IP хаяг хэрэг болдог. DHCP сервэр нь сүлжээний админы хийх тохиргоог амарчилжилж automat-р IP хаяг болон бусад мэдээллийг тараадаг.
DHCP сервэр хэрхэн ажилладаг вэ?
DHCP client-server горимоор ажилладаг ба 1 болон түүнээс дээш сервэрүүд IP хаяг болон бусад мэдээллүүдийг клиент тал bootup хийхэд тохируулахаар ажиллаж байдаг. Эдгээр тохиргооны
мэдээллүүд нь клиентэд тодорхой хугацаагаар түрээслэгдэхээр байдаг. Хост ачаалагдагдаж эхэлмэгц TCP/IP ашиглан broadcast-р IP хаяг болон бусад мэдээллийг авахаар (DHCPDISCOVER) message илгээдэг. Энэ алхмаар DHCP сервэр ажиллагаа эхэлдэг. Ажиллагааны туршид клиент нь хэд хэд төлөвийг дамждаг:
1. Initializing
2. Selecting
3. Requesting
4. Bound
5. Renewing
6. Rebinding
Эдгээр төлөвт шилжиж байхдаа клиент болон сервэр нь DHCP мессэжүүдийг солилцож байдаг.
DHCP server нь гурван янзаар IP хаягийг тараадаг:
· dynamic:
· automatic:
· static:
Reference | Мессэж | Хэрэглээ |
0x01 | DHCPDISCOVER | Клиент тал DHCP сервэрээ олох |
0x02 | DHCPOFFER | Сервэр нь DHCPDISCOVER.–д клиент талд хариу өгөх |
0x03 | DHCPREQUEST | Клиент broadcasts-р нэг серверлүү онцолж хаяг авах хүсэлтээ илгээнэ |
0x04 | DHCPDECLINE | Сүзжээнд хаяг аль хэдийн хэрэглэж байгаа тохиолдолд. |
0x05 | DHCPACK | Сүлжээний хаягийг зөвшөөрөн хаягийг өгнө. |
0x06 | DHCPNAK | DHCPREQUEST-д татгалзах |
0x07 | DHCPRELEASE | Сүлжээний хаягаас татгалзаж, хаяг түрээслэхээ болиулах |
0x08 | DHCPINFORM | Хостыг тохиргоо мэдээллээ авсан эсэхийг асууна |
DHCPDISCOVER
Клиент анх удаа ачаалагдаж эхэлмэгц Initializing төлөвт байх ба DHCPDISCOVER мессэжийг UDP-н 67-р портоор өөрийн физик дотоод дэд сүлжээндээ илгээнэ. Клиент өөрийн subnet-г мэдэхгүй тул бүх дэд сүлжээрүү 0.0.0.0 гэсэн source хаягтайгаар broadcast-р илгээнэ (destination IP address 255.255.255.255). Хэрэв DHCP тухайн дэд дотоод сүлжээнд байнаа бөгөөд зөв тохируулагдсан бол тухайн broadcast мессэжид DHCPOFFER message-р хариу өгнө.
Хэрэв тухайн дэд сүлжээнд байхгүй бол тухайн дэд сүлжээнд байгаа DHCP/BootP Relay Agent нь DHCPDISCOVER message-г DHCP server байгаа дэд сүлжээрүү forward хийж болно. Relay agent нь хост (Жишээ нь, Microsoft Windows Server) эсвэл router (жишээ нь: IP helper-н утгыг тохируулсан Cisco router).
DHCPOFFER
A DHCP server DHCPDISCOVER message-г хүлээж аваад UDP port 68-раа DHCPOFFER message илгээнэ. DHCPOFFER хүлээж авсан клиэнт нь Selecting горимд шилжинэ. DHCPOFFER message нь тохиргооны мэдээллүүдийг агуулсан байдаг. Жишээ нь: DHCP server DHCPOFFER message-дээ хүсэлт гаргагчийн IP address, subnet mask, default gateway зэргийг оруулдаг (хаягийг түрээслэх хугацаа, DNS зэрэг агуулагдаж болно). The DHCP server нь DHCPOFFER-оо broadcas-р илгээнэ, гэхдээ клиэнтийн мак хаягтай цуг байдаг болороор өөрт нь ирсэн гэдгийг кпиент танина.
Хэрэв тухайн дэд сүлжээнд байхгүй бол DHCP сервэр DHCPDISCOVER ирсэн DHCP/BootP Relay Agent-луу unicast-р (UDP 67 порт) DHCPOFFER илгээнэ. DHCP/BootP Relay Agent UDP port 68-р портоор broadcast болон unicast-р DHCPOFFER мэссэжийг дотоод дэд сүлжээнд илгээнэ.
DHCPREQUEST
Клиент DHCPOFFER хүлээж авсаны дараа DHCPREQUEST message илгээнэ., Клиент Requesting төлөвт шилжинэ. Клиент нэгээс олон DHCPOFFER message хүлээн авж болно. Энэ нь үед зөвхөн нэг л DHCPOFFER-г сонгоод тэр DHCP server-д л ганцхан хариу өгөөд бусад DHCPOFFER message-д татгалзана. Клиент нь серверээ серверийн IP хаягаар нь танина. DHCPREQUEST нь мөн broadcast цацагдах ба ингэснээр бүх DHCPOFFER илгээсэн сервер DHCPREQUEST-с DHCPOFFER нь зөвшөөрөгдсөн болон зөвшөөрөгдөөгүй эсэхээ мэдэх болно.
DHCPACK
DHCP server DHCPREQUEST хүлээж аваад DHCPACK message хариу болгон илгээсхээр процесс дуусна. DHCPACK message-н source IP хаяг нь DHCP server-нх харин destination хаяг нь broadcast байх ба клиентийн DHCPREQUEST-дэх бүх мэдээллийг агуулсан байдаг. Клиень DHCPACK хүлээж авснаар Bound төлөвт шилжинэ, Ингээд клиент тухайн IP хаягийг чөлөөтэй ашиглана. Энэ хооронд өөрийн өгөгдлийн сандаа тухайн клиентийг Мак хаяг болон IP хаягийн хамт түрээслэсэн гэдгээ нэмнэ.
Before the DHCP клиент шинэ хаягаа ашиглахасаа өмнө түрээслэж байгаа хаягийн цагийг тооцоолдог.Үүнд Lease Time (LT), Renewal Time (T1) болон Rebind Time (T2). Ерөнхийдөө дундаж LT 72 цаг байна.
Client-Server-н хаягууд
Packet Description | Source MAC Addr | Destination MAC Addr | Source IP Addr | Destination IP Addr |
DHCPDISCOVER | Client | Broadcast | 0.0.0.0 | 255.255.255.255 |
DHCPOFFER | DHCPServer | Broadcast | DHCPServer | 255.255.255.255 |
DHCPREQUEST | Client | Broadcast | 0.0.0.0 | 255.255.255.255 |
DHCPACK | DHCPServer | Broadcast | DHCPServer | 255.255.255.255 |
DHCPNAK
Хэрэв сонгогдсон DHCPREQUEST message-г зөвшөөрөхгүй бол DCPNAK message илгээнэ. Клиент хэрэв DHCPNAK message хүлээж авах эсвэл DHCPREQUEST –н оронд ямар ч хариу хүлээж авахгүй бол буцаад Requesting төлөвт шилжиж ахин эхэлнэ. Клиент хамгийн багадаа 60 сек дотор 4 удаа DHCPREQUEST илгээгээд, нэмэргүй байвал Initializing төлөвт шилжинэ.
DHCPDECLINE
Клиент DHCPACK хүлээж авсныхаа дараа эцсийн шалгах ажиллагаагаа хийнэ. DHCPACK-р олж авсан хаягаараа Address Resolution Protocol (ARP) хүсэлт илгээнэ: Хэрэв үүний хариуд энэ хаяг өөр хостод хэрэглэгдэж байгаа нь илэрвэл DHCPDECLINE мессэжийг серверлүү илгээн процессыг эхнээс эхлэн Requesting төлөвт шилжинэ.
DHCPINFORM
Хэрэв клиент гар аргаар IP хаяг тохируулсан бол клиент DHCPINFORM-н тусламжтайгаар бусад мэдээллийг олж авна. Жишээ нь: Domain name. DHCP server DHCPINFORM message хүлээж авсныхаа дараа DHCPACK message-г IP хаяггүй бусад мэдээллийн хамтаар unicast-р илгээнэ.
DHCPRELEASE
Клиент DHCPRELEASE-г DHCP server-лүү илгээснээр тухайн хаягийг түрээслэхээ больж байгааг илтгэдэг.
DHCP relay agent
· DHCP клиент нь эхлэхдээ IP хаяг тохируулаагүй байдаг, тиймээс DHCP server-с IP хаяг олж авахын тулд broadcast хүсэлт илгээнэ
· Default тохиргоогоороо рутер нь broadcast мессэжийг өөр дээгүүрээ дамжуулдаггүй. DHCP server нь өөр сүлжээнд (Layer 3 (L3) network) байгаа тохиолдолд DHCP broadcast хүсэлтийг өөрөөрөө дамжуулах шаардлага гарж ирдэг. Үүнийг DHCP Relay Agent гүйцэтгэнэ.