- Source port và Des port lấy từ thông tin về session tương ứng: Code:
Bài 6: Các giao thức lớp ứng dụng Giao thức DHCP:
Giao thức DHCP:
- DHCP là một giao thức được sử dụng để phân phối động các tham số cấu hình TCP/IP cho các máy tính. Một DHCP server có thể cho client DHCP một số thiết lập TCP/IP, như là địa chỉ IP, subnet mask, và máy chủ DNS.
- Mỗi client sẽ nhận một hợp đồng thuê địa chỉ trong thời gian hạn định. Nếu client không còn sử dụng địa chỉ khi hợp đồng thuê hết hạn, địa chỉ đó có thể cấp phát cho các client khác.
Cơ chế làm việc của DHCP: gồm có 4 bản tin chính:
+ DHCPDISCOVER: DHCP client khởi tạo tiến trình bằng cách quảng bá một gói tới cổng UDP 68 (sử dụng cho máy chủ BOOTP và DHCP). Gói đầu tiên này được gọi là bản tin DHCP Discover, nó sẽ yêu cầu bất cứ DHCP server nào nhận được gói thực hiện việc cấu hình. Gói DHCP discover gồm rất nhiều trường, nhưng một vùng quan trọng nhất chứa địa chỉ vật lý của DHCP client.
+ DHCPOFFER: Một DHCP server được cấu hình cung cấp hợp đồng địa chỉ cho mạng mà client cư trú sẽ đáp ứng lại một gói tên là DHCP offer và gửi nó dưới dạng quảng bá tới máy đưa ra DHCP discover. Thông điệp quảng bá này được gửi tới cổng UDP 67 và bao gồm địa chỉ vật lý của client, địa chỉ vật lý và địa chỉ IP của DHCP server, cũng như giá trị địa chỉ IP và subnet mask cung cấp cho DHCP client.
+ DHCPREQUEST: Client chọn một DHCP offer, tạo một gói DHCP request và quảng bá gói nàỵ Gói DHCP request này bao gồm địa chỉ IP của server phát ra DHCP offer và địa chỉ vật lý của DHCP client. DHCP request này thực hiện hai việc:
. Báo cho DHCP server được chọn rằng nó yêu cầu một địa chỉ IP.
+ DHCPACK: Khi DHCP server được chọn nhận được DHCP request, nó sẽ trả lời bắng gói DHCP ack. DHCP ack bao gồm địa chỉ IP và subnetmask cho DHCP client. Ngoài các thông tin về địa chỉ IP, DHCP client có thể nhận thêm các thông tin cấu hình như địa chỉ IP của gateway, máy chủ DNS, ...
em cũng đang làm về pic18 +enc28j60
em biên dịch chương trình demo của microchip thì ok.
nhưng khi em tạo 1 project khác và copy toàn bộ code của microchip sang thì khi biên dịch nó lại mắc lỗi như này: Error [1027] unable to locate 'TCPIP Stack/TCPIP.h'
tại sao cái file "TCPIP Stack/TCPIP.h" ko có trong khi mọi file *.h trong Microchip stack đều include nó hết.
khi dịch bản demo thì lại được
mà khi tự tạo 1 project mới thì khi dịch lại báo lỗi : Error [1027] unable to locate 'TCPIP Stack/TCPIP.h' cám ơn thầy!
p/s:nếu có sai toppic thì mọi người thông cảm nhé vì nếu ai mà làm với pic + enc28j60 cũng sẽ mắc lỗi này
File "TCPIP.h" nằm trong thư mục "Include/TCPIP Stack/" cùng với các file header khác mà. Có thể là em chép thiếu thư mục Include hoặc không chỉ định thư mục chứa Header (Include Diectory) cho Project mới thôị