Nếu giả sử client không nghe cổng 68, khi máy chủ DHCP nhận yêu cầu, nó có thể gửi nó đến địa chỉ từ nơi nó nhận được yêu cầu (với cổng tạm thời do khách hàng chọn tại thời điểm gửi), thì tại sao giao thức chỉ định máy khách được lắng nghe trên cổng 68?Tại sao DHCP client lắng nghe trên cổng 68?
Trả lời
Lý do chính là máy chủ DHCP có thể phát "phiếu mua hàng DHCP" trên cấp độ mac, thay vì gửi nó unicast đến địa chỉ mac mà nó đã nhận được yêu cầu. Nếu cổng không đổi, một số máy chủ đang lắng nghe cơ hội đến cùng một cổng ngẫu nhiên này, sẽ chấp nhận gói tin đến lớp 5 - lớp ứng dụng. Nói cách khác, một ứng dụng sẽ nhận được tin nhắn từ ứng dụng hoàn toàn khác, chứ không phải là một tình huống lành mạnh.
Câu trả lời này có vẻ không khác với câu trả lời từ 3 năm trước. Nếu bạn muốn thêm nội dung nào đó, hãy cân nhắc đề xuất chỉnh sửa cho câu trả lời hiện có, được chấp nhận :) –
Cảm ơn, đây thực sự là câu trả lời đúng. – Parzifal
Câu hỏi liên quan: Tôi có thể tắt tường lửa một cách an toàn khỏi cổng này trong một thiết lập bình thường trong đó máy khách DHCP được sử dụng để lấy địa chỉ IP không? I E. là * có thể * có liên quan trong thế giới thực? – Zero3
Tôi chỉ phải đối mặt với cùng một câu hỏi bản thân mình, và sau khi một số nghiên cứu, tôi thấy sau trên RFC 2131, trong đó mô tả các giao thức DHCP, dưới phần 1.6 Thiết kế Mục tiêu:
- DHCP phải cung cấp dịch vụ cho khách hàng BOOTP hiện
Cũng trên RFC 951, trong đó mô tả các giao thức BOOTP, chúng ta có thể tìm thấy những điều sau đây:
Phần header UDP chứa số cổng nguồn và đích. Giao thức BOOTP sử dụng hai số cổng được đặt trước, 'BOOTP client' (68) và 'BOOTP server' (67). Máy khách gửi các yêu cầu bằng cách sử dụng 'BOOTP máy chủ' làm cổng đích; đây thường là một chương trình phát sóng. Máy chủ gửi thư trả lời bằng cách sử dụng 'BOOTP client' làm cổng đích; tùy thuộc vào nhân hoặc trình điều khiển trong máy chủ, điều này có thể hoặc có thể không phát sóng (điều này được giải thích thêm trong phần có tiêu đề 'Gà/trứng vấn đề' bên dưới). Lý do HAI cổng dành riêng được sử dụng, là để tránh 'thức dậy' và lên lịch cho máy chủ BOOTP các trình tiện ích, khi một bản khởi động phải được phát tới một máy khách. Vì máy chủ và các máy chủ khác sẽ không nghe trên cổng 'BOOTP client', mọi chương trình phát sóng đến như vậy sẽ được lọc ra ở cấp hạt nhân . Chúng tôi không thể đơn giản cho phép khách hàng chọn một cổng 'ngẫu nhiên' số cho trường cổng nguồn UDP; vì trả lời của máy chủ có thể là phát sóng , một số cổng được chọn ngẫu nhiên có thể gây nhầm lẫn cho các máy chủ khác xảy ra khi nghe trên cổng đó.
Vì vậy, câu trả lời cho câu hỏi đến từ trên. Các máy khách DHCP cần sử dụng cổng UDP 68, để DHCP tương thích với giao thức BOOTP và giao thức BOOTP yêu cầu một cổng cụ thể cho máy khách, vì BOOTPREPLIES có thể được phát và nếu một cổng ngẫu nhiên được chọn cho máy khách , nó có thể dẫn đến sự nhầm lẫn của các máy chủ khác lắng nghe trên cùng một cổng.
- 1. Tại sao đang lắng nghe trên cổng với Netcat không làm việc
- 2. PID nào lắng nghe trên cổng máy đã cho
- 3. Python: Nghe trên hai cổng
- 4. Trình lắng nghe chrome.webRequest.onAuthRequired
- 5. Làm thế nào để thay đổi HTTP cổng mà Play2 đang lắng nghe trên
- 6. Node.js + Express: Ứng dụng sẽ không bắt đầu lắng nghe trên cổng 80
- 7. Lắng nghe ACTION_SCREEN_OFF
- 8. Hai quy trình lắng nghe cùng một cổng trong Windows 7 như thế nào?
- 9. TcpListener: Làm thế nào để lắng nghe trên cổng cụ thể trên tất cả các giao diện?
- 10. Dịch vụ WCF có thể lắng nghe cùng một cổng như IIS như thế nào?
- 11. Lắng nghe sự kiện nhấp chuột trên ListView
- 12. Tại sao trình lắng nghe phím tắt không hoạt động trong IE
- 13. Nghe trên TCP và UDP trên cùng một cổng
- 14. Lắng nghe cử chỉ trên tiện ích Ứng dụng
- 15. Tại sao phương pháp onNothingSelected cần thiết trong trình lắng nghe spinner?
- 16. Làm thế nào để có được cổng mà một quá trình lắng nghe?
- 17. Tại sao Ưu đãi DHCP và Ack được phát?
- 18. ExtJS Lưới - Click lắng nghe sự kiện
- 19. Nhiều quy trình nghe trên cùng một cổng?
- 20. nginx không nghe cổng 80
- 21. Phát triển cho hành động "Lắng nghe" mới trong Android
- 22. Không thể lắng nghe sự kiện toàn cầu trong jQuery
- 23. Lắng nghe các sự kiện trong UIWebView (iOS)
- 24. Lắng nghe tất cả các sự kiện trong Symfony 2
- 25. Đường dẫn ứng dụng và cổng nghe
- 26. Lắng nghe phát sóng udp với thư viện tăng cường
- 27. Làm thế nào để làm cho Fiddler lắng nghe tất cả các IP
- 28. Trình lắng nghe đăng xuất SDK Android của Android
- 29. Lắng nghe một chức năng được gọi là JavaScript
- 30. Nhấp vào trình lắng nghe jQuery không hoạt động
Câu hỏi đọc "tại sao giao thức chỉ định ứng dụng khách đang nghe trên cổng 68?", Vì vậy những gì họ đang yêu cầu có vẻ nhiều hơn "tại sao RFC lại nói như vậy?" –
DHCP dựa trên giao thức BOOTP trước đó sử dụng cổng 67 (máy chủ) và 68 (máy khách).Tại sao BOOTP sử dụng các cổng đó có lẽ là do chúng không được sử dụng bởi bất kỳ giao thức nào khác vào lúc đó (SMTP sử dụng 25, FTP sử dụng 21, v.v.). Trong khi một máy chủ thường có một địa chỉ IP duy nhất, nó có thể có hàng ngàn cổng. Bằng cách gán các số cổng cụ thể cho các giao thức cụ thể, nhiều bên có thể phát triển các dịch vụ và khách hàng tiêu chuẩn. Miễn là bạn nghe trên cổng bên phải, bạn có thể viết máy khách hoặc máy chủ DHCP của riêng bạn. – TLiebe
Ok nghĩa là không có lý do kỹ thuật? – avd