**Protokol Konfigurasi Hos Dinamik** (PKHD) (bahasa Inggris: ***Dynamic Host Configuration Protocol*** adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua komputer yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP, seperti *default gateway* dan DNS server.

DHCP didefinisikan dalam RFC 2131 dan RFC 2132 yang dipublikasikan oleh Internet Engineering Task Force. DHCP merupakan ekstensi dari protokol Bootstrap Protocol (BOOTP).

Cara Kerja
----------

Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client/server, maka dalam DHCP terdapat dua pihak yang terlibat, yakni **DHCP Server** dan **DHCP Client**.

* *DHCP server* merupakan sebuah mesin yang menjalankan layanan yang dapat "menyewakan" alamat IP dan informasi TCP/IP lainnya kepada semua klien yang memintanya. Beberapa sistem operasi jaringan seperti Windows NT Server, Windows 2000 Server, Windows Server 2003, atau GNU/Linux memiliki layanan seperti ini.
* *DHCP client* merupakan mesin klien yang menjalankan perangkat lunak klien DHCP yang memungkinkan mereka untuk dapat berkomunikasi dengan DHCP Server. Sebagian besar sistem operasi klien jaringan (Windows NT Workstation, Windows 2000 Professional, Windows XP, Windows Vista, Windows 7, Windows 8 atau GNU/Linux) memiliki perangkat lunak seperti ini.

DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada klien, yang disebut sebagai **DHCP Pool**. Setiap klien kemudian akan menyewa alamat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hingga beberapa hari. Manakala waktu penyewaan alamat IP tersebut habis masanya, klien akan meminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya.

*DHCP Client* akan mencoba untuk mendapatkan "penyewaan" alamat IP dari sebuah DHCP server dalam proses empat langkah berikut:

1. **DHCPDISCOVER**: DHCP client akan menyebarkan request secara broadcast untuk mencari DHCP Server yang aktif.
2. **DHCPOFFER**: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCP server kemudian menawarkan sebuah alamat kepada DHCP client.
3. **DHCPREQUEST**: Client meminta DCHP server untuk menyewakan alamat IP dari salah satu alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangkutan.
4. **DHCPACK**: DHCP server akan merespons permintaan dari klien dengan mengirimkan paket acknowledgment. Kemudian, DHCP Server akan menetapkan sebuah alamat (dan konfigurasi TCP/IP lainnya) kepada klien, dan memperbarui basis data database miliknya. Klien selanjutnya akan memulai proses *binding* dengan tumpukan protokol TCP/IP dan karena telah memiliki alamat IP, klien pun dapat memulai komunikasi jaringan.

Empat tahap di atas hanya berlaku bagi klien yang belum memiliki alamat. Untuk klien yang sebelumnya pernah meminta alamat kepada *DHCP server* yang sama, hanya tahap 3 dan tahap 4 yang dilakukan, yakni tahap pembaruan alamat (*address renewal*), yang jelas lebih cepat prosesnya.

Berbeda dengan sistem DNS yang terdistribusi, DHCP bersifat *stand-alone*, sehingga jika dalam sebuah jaringan terdapat beberapa DHCP server, basis data alamat IP dalam sebuah *DHCP Server* tidak akan direplikasi ke *DHCP server* lainnya. Hal ini dapat menjadi masalah jika konfigurasi antara dua *DHCP server* tersebut berbenturan, karena protokol IP tidak mengizinkan dua *host* memiliki alamat yang sama.

Selain dapat menyediakan alamat dinamis kepada klien, DHCP Server juga dapat menetapkan sebuah alamat statik kepada klien, sehingga alamat klien akan tetap dari waktu ke waktu.

**Catatan**: DHCP server harus memiliki alamat IP yang statis.

### DHCP Scope

*DHCP Scope* adalah alamat-alamat IP yang dapat disewakan kepada *DHCP client*. Ini juga dapat dikonfigurasikan oleh seorang administrator dengan menggunakan peralatan konfigurasi *DHCP server*. Biasanya, sebuah alamat IP disewakan dalam jangka waktu tertentu, yang disebut sebagai DHCP Lease, yang umumnya bernilai tiga hari. Informasi mengenai DHCP Scope dan alamat IP yang telah disewakan kemudian disimpan di dalam basis data DHCP dalam DHCP server. Nilai alamat-alamat IP yang dapat disewakan harus diambil dari DHCP Pool yang tersedia yang dialokasikan dalam jaringan. Kesalahan yang sering terjadi dalam konfigurasi DHCP Server adalah kesalahan dalam konfigurasi *DHCP Scope*.

### DHCP Lease

*DHCP Lease* adalah batas waktu penyewaan alamat IP yang diberikan kepada DHCP client oleh DHCP Server. Umumnya, hal ini dapat dikonfigurasikan sedemikian rupa oleh seorang administrator dengan menggunakan beberapa peralatan konfigurasi (dalam Windows NT Server dapat menggunakan *DHCP Manager* atau dalam Windows 2000 ke atas dapat menggunakan Microsoft Management Console [MMC]). *DHCP Lease* juga sering disebut sebagai *Reservation*.

### DHCP Options

*DHCP Options* adalah tambahan pengaturan alamat IP yang diberikan oleh DHCP ke DHCP client. Ketika sebuah klien meminta alamat IP kepada server, server akan memberikan paling tidak sebuah alamat IP dan alamat subnet jaringan. DHCP server juga dapat dikonfigurasikan sedemikian rupa agar memberikan tambahan informasi kepada klien, yang tentunya dapat dilakukan oleh seorang administrator. DHCP Options ini dapat diaplikasikan kepada semua klien, *DHCP Scope* tertentu, atau kepada sebuah host tertentu dalam jaringan.

Dalam jaringan berbasis Windows NT, terdapat beberapa DHCP Option yang sering digunakan, yang dapat disusun dalam tabel berikut.

| Nomor DHCP Option | Nama DHCP Option | Apa yang dikonfigurasikannya |
| --- | --- | --- |
| 003 | *Router* | Mengonfigurasikan *gateway* baku dalam konfigurasi alamat IP. *Default gateway* merujuk kepada alamat *router*. |
| 006 | DNS Servers | Mengonfigurasikan alamat IP untuk DNS server |
| 015 | DNS Domain Name | Mengonfigurasikan alamat IP untuk DNS server yang menjadi "induk" dari DNS Server yang bersangkutan. |
| 044 | NetBIOS over TCP/IP Name Server | Mengonfigurasikan alamat IP dari WINS Server |
| 046 | NetBIOS over TCP/IP Node Type | Mengonfigurasikan cara yang digunakan oleh klien untuk melakukan resolusi nama NetBIOS. |
| 047 | NetBIOS over TCP/IP Scope | Membatasi klien-klien NetBIOS agar hanya dapat berkomunikasi dengan klien lainnya yang memiliki alamat DHCP Scope yang sama. |
|

Lihat pula
----------

* DHCPv6, Dynamic Host Configuration Protocol untuk IPv6