Tự Học CCNA Bài 9: Giao Thức DHCP cấp phát IP động

Giao thức DHCP (Dynamic Host Configuration Protocol)

Tiếp nối series “Tự Học CCNAx” như mọi người đã biết việc cấp phát và quản lý địa chỉ IP động rất cần thiết trong mạng doanh nghiệp, thể hiện tính ưu việc và độ chính xác cao, giúp người quản trị có thể quản lý tập chung việc cấp phát địa chỉ IP và các thông tin liên quan như subnet mask, DNS server,… Nên hôm nay mình xin chia sẻ về giao thức cấp phát địa chỉ IP động DHCP (Dynamic Host Configuration Protocol) và cách thức mà giao thức DHCP này hoạt động trong một hệ thống mạng. Mọi người cùng theo dõi với mình nhé!

1. Tổng quan về Dynamic Host Configuration Protocol

2. DHCP Messages và Address

3. Tiến trình hoạt động của một DHCP

4. DHCP Relay Agent

5. Cách thức DHCP Server xử lý đụng độ địa chỉ IP

1. Tổng quan về giao thức DHCP

  • Dynamic Host Configuration Protocol (DHCP – giao thức cấp phát IP động) là một giao thức cho phép cấp phát địa chỉ IP một cách tự động cùng với các cấu hình liên quan khác như Subnet mask, Gateway, DNS Server….. Client được cấu hình nhận địa chỉ IP một cách tự động. Vì thế sẽ giảm việc can thiệp vào hệ thống mạng. Giao thức DHCP Server cung cấp một database để theo dõi tất cả các máy tính Client trong hệ thống mạng. Mục đích quan trọng nhất là tránh trường hợp hai máy tính khác nhau lại có cùng địa chỉ IP.
  • Nếu không có giao thức DHCP. Các máy trạm có thể cấu hình IP thủ công (cấu hình IP tĩnh). Nhưng nếu một hệ thống lớn thì khi thay đổi ta phải tiến hành cấu hình thủ công trên từng Client sẻ rất mất thời gian và khó quản lý. Ngoài việc cung cấp địa chỉ IP. DHCP còn cung cấp các thông tin cấu hình khác. Cụ thể như DNS Server, Default Gateway, Thời gian cho thuê địa chỉ IP….. Hiện nay giao thức DHCP có 2 version cho IPv4 và IPv6.
  •  Sử dụng  giao thức DHCP có một vài lợi ích hơn cấu hình IP tĩnh. Cấu hình của địa chỉ IP sẻ được thiết lập trên DHCP server. Cấu hình IP lúc này được control bởi nhân viên quản trị. Hạn chế đáng kể can thiệp từ người dùng. Thông thường thì DHCP sẻ cấp phát một “lease” cho client. DHCP server sẻ lấy lại địa chỉ IP này khi thiết bị rời khỏi mạng để cấp phát cho một Client khác.

2. DHCP Messages và Address

  • Trao đổi giữa DHCP server và Client sẻ đi qua một vài tiến trình. Đầu tiên PC(Client) sẻ sử dụng giao thức ARP hoặc gói tin Broadcast(FFFF.FFFF.FFFF) để tìm ra DHCP server và yêu cầu cấp phát địa chỉ IP từ Server.Tiến trình cấp phát địa chỉ IP sẻ thông qua 4 loại gói tin trao đổi giữa client và server.

Các loại gói tin trao đổi:

  • Discover : được tạo ra bởi Client để tìm ra DHCP server.
  • Offer: được gửi bởi DHCP server để thiết lập “lease” với client. Và thông báo cho client biết địa chỉ IP cụ thể và xác nhận với Client những thông số khác ngoài địa chỉ IP.
  • Request: được gửi ra bởi Client, yêu cầu server cấp phát địa chỉ được chỉ ra trong gói tin Offer.
  • Acknowledgement: được gửi bởi DHCP server để cấp phát địa chỉ và một số thông số như subnet mask, default gateway, DNS server…..

Tuy nhiên, có một vài trường hợp. Client không nhận được địa chỉ IP nhưng client cần gửi gói tin. Lúc đó DHCP server sẻ sử dụng 2 loại gói tin đặt biệt để cho phép host không có địa chỉ IP vẫn gửi và nhận được gói tin trong một local subnet.

  • 0.0.0.0: địa chỉ dành riêng sử dụng làm source cho host khi host chưa có địa chỉ IP.
  • 255.255.255.255 địa chỉ dành riêng làm local broadcast. Client dùng địa chỉ này trong gói tin DHCP Discover để tìm ra DHCP Server. Các Router không forward gói tin broadcast.

Các loại gói tin chính của DHCP Server:

  • Gói tin Discover: Một DHCP Client khi mới tham gia vào hệ thống mạng. Nó sẽ yêu cầu thông tin địa chỉ IP từ DHCP Server bằng cách gửi bản tin broadcast một gói DHCP Discover có địa chỉ nguồn là 0.0.0.0 để tìm kím DHCP Server vì client chưa có địa chỉ IP.
  • Bản tin Offer: Khi DHCP Server nhận được gói DHCP Discover từ client. Nó sẽ gửi lại một gói DHCP Offer chứa các thông số như địa chỉ IP, Subnet Mask, Gateway,…cho client . Có thể nhiều DHCP server sẻ gửi lại gói DHCP Offer nhưng Client chỉ chấp nhận gói DHCP Offer đầu tiên nó nhận được.
  • DHCP Request Packet: Khi DHCP Client nhận được một gói DHCP Offer. Nó đáp lại bằng việc gửi bản tin DHCP Request để xác nhận hoặc để kiểm tra lại các thông tin mà DHCP Server vừa gửi.
  • DHCP Acknowledge: Server kiểm tra và xác nhận lại sự chấp nhận thuê địa chỉ IP từ client.
 Các loại gói tin được trao đổi trong một phiên của giao thức DHCP
Figure 2 Các loại gói tin được trao đổi trong một phiên của giao thức DHCP

Các gói tin phụ của DHCP:

  1. Gói tin DHCP Nak: Nếu một địa chỉ IP đã hết hạn hoặc đã được cấp phát cho một Client khác. DHCP Server sẻ tiến hành gửi gói DHCP Nak cho Client. Như vậy nếu Client muốn sử dụng lại địa chỉ IP thì phải bắt đầu tiến trình thuê lại địa chỉ IP.
  2. DHCP Decline Packet: Nếu DHCP Client nhận được bản tin trả về không đủ thông tin hoặc hết hạn. Nó sẽ gửi gói DHCP Decline đến các Server để yêu cầu thiết lập lại tiến trình thuê địa chỉ IP.
  3. Các gói tin DHCP Release: Client gửi bản tin này đến Server để ngừng thuê IP. Khi nhận được bản tin này, server sẽ thu hồi lại IP đã cấp cho Client.

3. Tiến trình hoạt động của một DHCP

Hoạt động cấp phát địa chỉ IP của giao thức DHCP sẻ thông qua các bước sau:

– Bước 1: Máy trạm sẻ phát ra một bản tin broadcast để tìm kím DHCP Server để thuê địa chỉ. Client sẻ gửi bản tin broadcast( có chứa địa chỉ MAC của client) với gói tin DHCP Discover lên mạng.

– Bước 2: Nhiều DHCP Server có thể nhận thông điệp và chuẩn bị địa chỉ IP cho máy trạm. Nếu Server có cấu hình địa chỉ IP hợp lệ cho máy trạm. Server sẻ gửi thông điệp “DHCP Offer” chứa địa chỉ MAC của Client đã gửi lên. Địa chỉ IP “Offer”, subnet mask, địa chỉ IP của máy chủ (địa chỉ Gateway) và thời gian cho thuê đến Client, DNS Server…..

– Bước 3: Khi Client nhận được gói tin DHCP Offer và chấp nhận thuê địa chỉ IP trong gói tin Offer. Client sẽ gửi bản tin DHCP Request để yêu cầu DHCP Server cấp phát địa chỉ IP .

– Bước 4: Cuối cùng, DHCP Server sẻ khẳng định lại với Client bằng bản tin DHCP Acknowledge. Sau đó DHCP Server tiến hành cấp phát địa chỉ IP, subnet mask, địa chỉ Gateway  và các thông tin khác cho Client. Và Client có thể sử dụng trong thời hạn “lease” đã được thiết lập trên DHCP Server. Khi hết hạn “hợp đồng” để tiếp tục sử dụng địa chỉ IP thì Client sẻ gửi một bản tin DHCPRequest trực tiếp (unicast) đến DHCP server mà nó đã xin địa chỉ  ban đầu. Nếu DHCP server còn hoạt động, nó sẻ reply bằng một gói tin DHCP-ACK để renew địa chỉ cho DHCP client. Gói tin này bao gồm thông các thông số cấu hình mới cập nhật nhất trên DHCP server.

*** Các lý do nên sử dụng DHCP Relay Agent

  • Nếu mỗi mạng chúng ta dựng một DHCP Server thì tốn kém và không cần thiết. Việc bảo trì cũng như quản lý cũng rất khó khăn. Mặc dù có thể cấu hình Router cho phép các gói tin Broadcast “bypass” qua nhưng việc này sẽ gây những rắc rối khi hệ thống mạng gặp sự cố. Và lý do nữa là nếu lưu lượng các gói tin Broadcasd quá nhiều sẽ làm tắt nghẽn hệ thống mạng.

 

4. DHCP Relay Agent

Figure 4.1 DHCP Relay Agent
  • DHCP Relay Agent là một tính năng được cấu hình cho các Router trung gian để tiếp nhận các bản tin yêu cầu cấp phát IP của các Clients. Và chuyển các thông tin này đến DHCP server. Mặc định trên các Router sẻ drop tất cả các gói tin broadcast. Mà Client khi yêu cầu cấp phát địa chỉ IP sẻ gửi một bản tin broadcast để thuê địa chỉ IP.
  • Trong mô hình trên thì gói tin broadcast này sẻ bị drop tại Relay Agent. Và kết quả là client sẻ không xin được địa chỉ IP từ  DHCP Server. Vì vậy nên Clients cần thiết để thiết lập cấu hình DHCP Relay Agent. Khi đó Router đóng vai trò là DHCP Relay Agent  sẻ chuyển đổi bản tin Broadcast từ Client thành một bản tin Unicast để gửi đến DHCP Server. Ở đây DHCP Agent đóng vai trò như người phiên dịch giữa Clients và Server.

Tiến trình sẻ thực hiện thông qua các bước sau:

Bước 1.Client sẻ gửi bản tin Broadcasts và gói tin DHCP Discover trong nội bộ mạng.

Bước 2. Tính năng DHCP Relay Agent cùng mạng với Client sẽ nhận gói tin đó và chuyển đến DHCP server bằng bản tin Unicast.

Bước 3. Thiết bị DHCP server dùng bản tin Unicast gởi trả DHCP Relay Agent một gói DHCP Offer.

Bước 4. DHCP Relay Agent sẻ Broadcasts gói tin DHCP Offer đó đến các Client.

Bước 5. Sau khi nhận được gói tin DHCP Offer. Client gửi Broadcasts tiếp gói tin DHCP Request cho Relay Agent.

Bước 6. Sau khi DHCP Relay Agent nhận gói tin DHCP Request đó từ Client và chuyển đến DHCP server cũng bằng bản tin Unicast.

Bước 7. DHCP server dùng tín hiệu Unicast gởi trả lời cho DHCP Relay Agent một gói tin DHCP ACK.

Bước 8. Và DHCP Relay Agent sẻ Broadcasts gói tin DHCP ACK đến Client để Client nhận được IP.

Figure 4.2 DHCP Relay Agent Transit
Figure 4.2 DHCP Relay Agent Transit

 

5. DHCP Server xử lý đụng độ địa chỉ

  • Với Cisco IOS, DHCP server luôn kiểm tra các khả năng đụng độ địa chỉ nếu máy client được cấu hình thiết lập IP tĩnh và địa chỉ này nằm trong dãy địa chỉ cấp phát của DHCP Server.
  • DHCP Server phát hiện ra việc trùng lập địa chỉ bằng cách ping các địa chỉ trong Pool sắp cấp xuống cho client.  Trước khi offering một địa chỉ cho Client. DHCP server sẻ tiến hành “ping” các địa chỉ sẻ cấp xuống cho Client. Nếu Server nhận được “response” của gói ping ( tức là có một host nào đó đang đặt ip tĩnh trùng với IP trong dãy sắp cấp phát) thì Server sẻ move địa chỉ IP này ra khỏi Pool. Đến khi nào người quản trị gở cấu hình IP tĩnh đã đặt trên Client.
  • DHCP client cũng có thể bị đụng độ địa chỉ. Nó sử dụng ARP để phát hiện ra conflict. Khi DHCP Client nhận được từ DHCP server một offer để sử dụng một địa chỉ IP cụ thể. Client sẻ gửi một bản tin ARP cho địa chỉ này. Nếu có host nào replies. Khi đó DHCP Client sẻ có đụng độ.

Lời kết bài 9: Giao thức DHCP

Bài chia sẻ về “Giao thức DHCP cấp phát địa chỉ IP động và cách thức hoạt động trong một hệ thống”của mình xin tạm dừng tại đây. Bài chia sẻ tiếp theo mình xin chia sẻ về “Etherchannel và cách thức hoạt động của phương thức thức này trong một hệ thống mạng“.Hãy theo dõi bài viết tiếp theo trong Series Tự học CCNA tại website và blog itforvn.vcode.ovh nhé. Nếu có thắc mắc hay đóng góp các Anh em hãy comment bên dưới nhé. Hẹn Gặp Lại!

Tác giả:  Quân LêITFORVN.COM

Bạn có thể tương tác và cập nhật thông tin mới nhất của Nhóm Facebook ITFORVN, Các khóa học mới do group tổ chức tại «Portal»

Tất cả bài viết về ccna tại đây

PHẦN I: SWITCHING

Tự Học CCNA Bài 1-Mạng máy tính là gì ?

Tự Học CCNA Bài 2-Mô hình OSI và TCP/IP

Tự Học CCNA Bài 3: Lớp Transport TCP/IP Topology

Tự Học CCNA Bài 4: Lớp Internet TCP/IP

Tự Học CCNA Bài 5: Ethernet LAN và hoạt động chuyển mạch

Tự Học CCNA Bài 6: VLAN, Trunking, VTP

Tự Học CCNA Bài 7: Giao thức Spanning Tree (STP)

Tự Học CCNA Bài 8: Giao Thức RSTP, pVST+

Tự Học CCNA Bài 9: Giao Thức DHCP cấp phát IP động

Tự Học CCNA Bài 10: Etherchannel

PHẦN II: ROUTING

Tự Học CCNA Bài 11: Các Kĩ Thuật Định Tuyến

Tự Học CCNA Bài 12: Giao thức định tuyến RIP

Tự Học CCNA Bài 13: Giao thức EIGRP (phần 1)

Tự Học CCNA Bài 14: Giao thức EIGRP (phần 2)

Tự Học CCNA Bài 15: Giao thức EIGRP (phần 3)

Phần Thực Hành demo lab

Tự Học CCNA Lab 1: Cấu hình Router Cisco cơ bản

Tự Học CCNA Lab 2 Cấu hình CDP, Telnet

Tự Học CCNA Lab 3: Cấu hình VLAN, Trunking VTP

Tự Học CCNA Lab 4: VLAN Routing

Tự Học CCNA Lab 5: Cấu hình STP

Tự Học CCNA Lab 6: Cấu hình DHCP

Tự Học CCNA Lab 7: Cấu hình Etherchannel

Tự Học CCNA Lab 8: Cấu hình Static Route

 

Đánh giá post

Leave a Reply

Your email address will not be published. Required fields are marked *