✨Giao thức Bootstrap

Giao thức Bootstrap

Giao thức Bootstrap hay giao thức BOOTP là một giao thức Internet protocol được sử dụng để gán một địa chỉ IP và một loạt các tham số bổ sung cho một máy tính trong mạng TCP/IP.

Ví dụ, BOOTP được sử dụng để thiết lập địa chỉ mạng của thiết bị đầu cuối và các máy trạm không đĩa cứng, mà hệ điều hành của chúng lấy từ một máy chủ khởi động (boot server thí dụ như DHCP server). Việc truyền tải chương trình hoạt động sau đó thường được thực hiện thông qua TFTP. Ngoài ra, một số thiết bị ngoại vi, chẳng hạn như máy in mạng, có thể sử dụng BOOTP để xác định địa chỉ IP và cấu hình mạng (subnet/gateway).

Trước đây, RARP được sử dụng để xác định địa chỉ IP cho các thiết bị không đĩa cứng. Trái ngược với RARP, chỉ chuyên cung cấp địa chỉ IP, BOOTP có nhiều tham số bổ sung, đặc biệt là mặt nạ mạng con, Gateway và máy chủ khởi động. Tuy nhiên, để cấu hình các máy trạm và máy tính cá nhân, nó vẫn chưa đủ, bởi vì các thiết đặt bổ sung như máy in, máy chủ thời gian và những thứ khác là cần thiết. Giao thức cấu hình động máy chủ (DHCP) là một mở rộng của BOOTP. DHCP cung cấp chức năng cơ bản của BOOTP, nó còn, ví dụ, cho phép giới hạn thời gian của việc gán địa chỉ IP ("lease"). Giao thức BOOTP được định nghĩa trong RFC 951.

Hoạt động một máy trạm không có đĩa cứng

BOOTP cho phép một máy trạm không có đĩa cứng thi hành các công việc sau:

1 - tìm kiếm địa chỉ IP cho chính nó

2 - tìm IP của BOOTP server

3 - nạp một file khởi động từ server vào bộ nhớ

4 - và khởi động

Theo cách này, BOOTP cho phép một workstation khởi động mà không cần đĩa cứng hay đĩa mềm.

Quá trình hỏi đáp BOOTP

Yêu cầu BOOTP (request) bao gồm yêu cầu của thiết bị và phản hồi của máy chủ.

Yêu cầu BOOTP

Khi thiết bị được cho chạy, nó không biết địa chỉ IP của nó hoặc máy chủ BOOTP. Yêu cầu khởi động (boot request) được gửi. Đây là một gói UDP bình thường. Địa chỉ 0.0.0.0 được sử dụng làm người gửi vì không có gì khác được biết. Địa chỉ của người nhận là 255.255.255.255, được hiểu là phát sóng (Broadcast) trong mạng riêng của nó, vì client BOOTP không biết địa chỉ cục bộ của chuỗi mạng.

Yêu cầu khởi động từ máy khách (client) luôn được gửi tới cổng đích 67 (máy chủ BOOTP). Sau đó, máy khách lắng nghe trên cổng 68 (BOOTP client), mà một đáp ứng (boot reply) được gửi đi.

Không phải mỗi kết nối IP đều có hai cổng dành riêng được sử dụng như trong trường hợp này. Hầu hết các giao thức sử dụng một số cổng ngẫu nhiên như là cổng ra (cổng của máy khách). Các phản hồi của máy chủ cũng dự kiến ​​xảy ra trên cổng này. Đối với BOOTP, điều này có thể sẽ không thực hiện được vì phản hồi của máy chủ BOOTP (Bootreply) không nhất thiết phải được gửi đến một địa chỉ đích cụ thể, mà được phát sóng tới tất cả các trạm trong mạng con riêng của nó. Nếu không có số cổng cố định được sử dụng, có thể máy khách khác đang lắng nghe trên cùng một cổng nhưng mong đợi điều gì đó khác.

Với yêu cầu khởi động (boot request), máy khách sẽ gửi một số thông tin về chính nó: Quan trọng nhất là địa chỉ phần cứng của card mạng (địa chỉ MAC). Đây là tính năng nhận dạng duy nhất của trạm. Máy khách cũng tạo ra một con số ngẫu nhiên 4 byte, mà phải xuất hiện lại trong boot reply. Hơn nữa, một bộ đếm thời gian được cung cấp để tính toán máy khách đã chờ đợi trong bao lâu boot reply của nó.

Phản hồi BOOTP

Nếu máy chủ BOOTP nhận được yêu cầu hợp lệ trên cổng tương ứng, trước tiên nó sẽ xem xét địa chỉ MAC. Địa chỉ MAC từ yêu cầu được so sánh với cơ sở dữ liệu trong đó các địa chỉ IP được gán với các địa chỉ MAC. Nếu một mục nhập được tìm thấy cho yêu cầu, máy chủ sẽ gửi phản hồi (boot reply). Thông thường, phản hồi chỉ đơn giản được gửi dưới dạng broadcast, nhưng cũng có thể hoạt động theo bảng ARP của máy chủ. Tuy nhiên, nhân hệ điều hành phải cung cấp khả năng này.

Nếu phản hồi được gửi dưới dạng broadcast, nó sẽ chứa các thông tin sau:

  • Địa chỉ phần cứng của máy khách. Máy khách mong đợi một phản hồi với địa chỉ phần cứng của nó để nhận ra rằng gói tin là dành cho nó.
  • Số ngẫu nhiên được tạo ra bởi máy khách trong yêu cầu.
  • Địa chỉ IP của máy khách.

Các tham số sau là tùy chọn và chỉ được truyền nếu máy chủ BOOTP được cấu hình cho phù hợp:

  • Địa chỉ IP và tên máy chủ của máy chủ boot. Từ đó, một hệ điều hành có thể được nạp thông qua TFTP trong bước tiếp theo.
  • Tên và đường dẫn đến tệp khởi động. Tệp khởi động chứa nhân hệ điều hành, mà sau đó được truyền tải bằng TFTP.
  • Tên của thư mục sẽ được sử dụng như phần vùng gốc (/) của nhân hệ điều hành thông qua NFS.

Máy khách BOOTP lắng nghe trên cổng đã cho và chờ đợi phản hồi từ máy chủ. Nếu nó nhận được một gói tin, địa chỉ MAC được so sánh với địa chỉ MAC của nó, cũng như số ngẫu nhiên với con số được gởi đến. Nếu máy khách nhận ra phản hồi, địa chỉ IP được gán cho giao diện mạng.

👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Giao thức Bootstrap** hay **giao thức BOOTP** là một giao thức Internet protocol được sử dụng để gán một địa chỉ IP và một loạt các tham số bổ sung cho một máy tính trong
**Dynamic Host Configuration Protocol** (**DHCP** - giao thức cấu hình động máy chủ) 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
**Tầng ứng dụng** (tiếng Anh: Application layer) là tầng thứ bảy trong bảy tầng cấp của mô hình OSI. Tầng này giao tiếp trực tiếp với các tiến trình của ứng dụng và thi hành
- Giảng dạy được một trong các môn theo giáo trình CNTT như C, HTML/CSS, MS SQL, Framework Laravel, Java, Net.. - Soạn tài liệu giáo trình: Slide bài giảng, Labguide hướng dẫn thực hành,
**Apache Kafka** là một nền tảng theo kiến trúc phân tán cho phép lưu trữ sự kiện và xử lý dữ liệu luồng (streaming) mã nguồn mở được phát triển bởi Apache Software Foundation được
**Hệ điều hành** (tiếng Anh: Operating system, viết tắt: OS) là phần mềm hệ thống quản lý tài nguyên phần cứng máy tính, phần mềm và cung cấp các dịch vụ chung cho các chương
**Aptech** là một công ty giáo dục và đào tạo công nghệ thông tin với hơn 3500 trung tâm đào tạo tại 53 quốc gia (Theo nguồn thông tin của Aptech World Wide). Công ty
**William Turner Jr.** là một nhân vật giả tưởng và là nhân vật chính của dòng phim _Cướp biển vùng Ca-ri-bê_. Anh ấy xuất hiện trong các phần phim _The Curse of the Black Pearl_
**_Cướp biển vùng Caribbean: Nơi tận cùng thế giới_** (tựa gốc: **Pirates of the Caribbean: At World's End**) là một bộ phim hành động phiêu lưu hài hước của Mỹ năm 2007 và là phần
Thuyền trưởng **Hector Barbossa** là một nhân vật hư cấu trong loạt phim _Cướp biển vùng Caribbean_, được thể hiện bởi diễn viên người Úc Geoffrey Rush. Barbossa xuất hiện trong tất cả các bộ
**Vue.js**, gọi tắt là **Vue** (phát âm là /vjuː/, giống như view trong tiếng Anh), là một framework linh động dùng để xây dựng giao diện người dùng (user interfaces - UI). Khác với các
**Vốn tư nhân** ( **PE** ) là cổ phần trong một công ty tư nhân không chào bán cổ phiếu cho công chúng. Trong lĩnh vực tài chính, vốn cổ phần tư nhân được cung
**Mua lại thừa hưởng** (LBO) hay **mua lại đòn bẩy** là khi một công ty hoặc tài sản đơn lẻ (ví dụ, một bất động sản) được mua với một sự kết hợp vốn cổ
thumb|upright=2|Hình chụp màn hình [[FreeDOS cho thấy giao diện dòng lệnh với màn hình, cấu trúc thư mục và thông tin phiên bản.]] **DOS** (, ) là từ viết tắt độc lập với nền tảng
nhỏ|chip BIOS AMD27C256 **BIOS,** viết tắt của cụm từ "**Basic Input/Output System**" (tạm dịch: **Hệ thống nhập xuất cơ bản)** là chương trình được chạy đầu tiên khi máy tính cá nhân khởi động để
**Douglas "Doug" Carl Engelbart** (30 tháng 1 năm 1925 – 2 tháng 7 năm 2013) là một nhà phát minh Hoa Kỳ, một người tiên phong về Internet. Ông được biết đến nhiều nhất với
Khi cạnh tranh trong nước và quốc tế ngày càng gia tăng, các công ty đang dựa vào công nghệ để tăng trưởng và phát triển hoạt động kinh doanh của mình. Tại Việt Nam,
**Intel 4004** là bộ xử lý trung tâm (CPU) 4 bit do Intel phát hành vào năm 1971. Với giá 60 USD, nó là vi xử lý được sản xuất thương mại đầu tiên trên
Khi cạnh tranh trong nước và quốc tế ngày càng gia tăng, các công ty đang dựa vào công nghệ để tăng trưởng và phát triển hoạt động kinh doanh của mình. Tại Việt Nam,
Trong khoa học máy tính, **thiết bị khởi động** đôi khi còn có tên gọi không đầy đủ là **ổ khởi động** là một thiết bị có thể nhận lệnh (thông thường là từ hệ