Giao thức TFTP là gì?
TFTP viết tắt của Trivial File Transfer Protocol. Đây là một công nghệ chuyển các file giữa các thiết bị mạng và là phiên bản đơn giản hóa của giao thức FTP. TFTP được phát triển vào những năm 1970, để cung cấp hỗ trợ FTP đầy đủ cho các máy tính thiếu bộ nhớ hoặc ổ đĩa không đủ dung lượng. Ngày nay, TFTP được tìm thấy trên các bộ định tuyến băng thông rộng (broadband routers) dành cho gia đình và bộ định tuyến mạng (network routers) dùng trong thương mại.
Các admin gia đình sử dụng TFTP để nâng cấp router firmware, trong khi các admin chuyên nghiệp sử dụng TFTP để phân phối phần mềm trên các mạng công ty.
Cách thức hoạt động của TFTP
Bây giờ, hãy để chúng tôi hiểu cách thức hoạt động của TFTP. Chúng ta hãy xem xét cơ chế giao tiếp diễn ra như thế nào giữa máy khách và máy chủ.
- Vì TFTP sử dụng UDP để giao tiếp tệp, do đó nó thiết lập kết nối nói chung bằng cách sử dụng port 69.
- Sau khi kết nối được thiết lập, khách hàng thường yêu cầu RRQ hoặc WRQ. Ở đây, RRQ có nghĩa là Yêu cầu Đọc (Read Request), và WRQ là viết tắt của Yêu cầu Viết (Write Request). Một máy khách thường yêu cầu đọc các yêu cầu nếu nó chỉ muốn đọc tệp và tạo ra một yêu cầu bằng văn bản nếu anh ta muốn ghi một tệp cụ thể tồn tại trên máy chủ.
- Khi điều này được thực hiện, các tệp được giao tiếp dưới dạng các gói nhỏ.
- Các packet này là 512 byte. Tệp được giao tiếp được chia thành các packet nhỏ, trong đó mỗi packet gồm 512 byte.
- Khi một packet được truyền từ máy chủ đến máy khách, máy chủ sẽ đợi nhận được thông báo từ máy khách rằng packet đó đã được nhận. Khi nhận được xác nhận, máy chủ sẽ gửi packet tiếp theo có dung lượng 512 byte.
- Điều này được thực hiện cho đến khi packet cuối cùng được giao tiếp từ phía máy chủ sang phía máy khách.
Điều gì sẽ xảy ra khi một Packet không được nhận ở phía máy khách?
Khi một packet được truyền từ máy chủ đến máy khách, máy chủ sẽ bắt đầu một bộ đếm thời gian. Nó đợi cho đến thời điểm nhận được xác nhận từ phía khách hàng. Nếu xác nhận không được nhận từ phía máy khách, thì máy chủ sẽ gửi lại cùng một packet cho đến khi nhận được thông báo của nó. Tuy nhiên, nếu xác nhận được nhận trước bộ đếm thời gian, thì nó sẽ gửi packet tiếp theo.
Làm cách nào để Client biết File Communicating đã hoàn tất?
Packet cuối cùng được tạo để chia sẻ một tệp cụ thể luôn nhỏ hơn 512 byte. Ngay cả khi các packet được tạo là bội số của 512 byte, thì nó sẽ gửi một packet bổ sung nhỏ hơn 512 byte để máy khách có thể hiểu rằng nó đã nhận được tệp.
TFTP được sử dụng để làm gì?
Các chuyên gia CNTT và Sysadmin thường sử dụng TFTP cho các mục đích và công việc sau:
- Truyền tệp.
- Khởi động từ xa mà không cần ổ cứng.
- Upgrade code.
- Sao lưu cấu hình mạng.
- Sao lưu các tệp cấu hình bộ định tuyến.
- Lưu hình ảnh IOS.
- Khởi động PC mà không cần đĩa.
Sau khi máy trạm đã được khởi động từ ROM của card mạng, cài đặt TFTP của bạn sẽ tải xuống một chương trình và sau đó chạy chương trình đó từ một máy chủ trung tâm.
Các loại TFTP
Nói chung, TFTP có bốn loại là-
- Read request.
- Write request.
- Data Packet.
- Acknowledgement request.
Ưu điểm của TFTP
- Sử dụng giao thức UDP.
- Dễ thực hiện hơn.
- Yêu cầu mã hóa ít hơn.
- Sử dụng ít bộ nhớ hơn.
Tại sao nên và cần sử dụng TFTP?
Nên sử dụng TFTP vì các lý do sau:
- Vì TFTP yêu cầu ít bộ nhớ hơn, do đó có thể được sử dụng.
- Vì TFTP đòi hỏi ít mã hóa hơn, do đó có thể được sử dụng dễ dàng.
- TFTP tuân theo khái niệm của UDP, do đó có thể dễ dàng thực hiện.
- Tập tin dễ giao tiếp.
Cần TFTP vì:
- Giao tiếp tệp giữa máy chủ và máy khách.
- Không có xác thực làm cho việc giao tiếp các tệp trở nên dễ dàng.
TFTP Client và Server Software
Các Command-line TFTP clients được bao gồm trong các phiên bản hiện tại của Microsoft Windows, Linux và macOS. TFTPD32 là một phần mềm miễn phí của TFTP clients với giao diện đồ họa có sẵn, bao gồm một TFTP server. Windows TFTP Utility là một ví dụ khác về GUI client và GUI server của TFTP, ngoài ra còn có các FTP clients miễn phí khác.
Microsoft Windows không đi kèm với một TFTP server, nhưng một số TFTP servers của Windows có thể tải xuống miễn phí. Hệ thống Linux và macOS sử dụng tftpd TFTP server, mặc dù nó có thể bị tắt theo mặc định.
Lưu ý: Các chuyên gia network khuyên bạn nên cấu hình TFTP servers cẩn thận để tránh các sự cố bảo mật tiềm ẩn.
Cách sử dụng TFTP Client trong Windows
TFTP client trong Windows không được bật theo mặc định. Bật nó lên thông qua ứng dụng Programs và Features Control Panel
1. Mở Control Panel. Tới Windows Search và tìm kiếm Control Panel.
2. Trong Control Panel, chọn Programs.
3.Chọn Turn Windows features on or off.
Lưu ý: Hoặc, thực hiện lệnh features tùy chọn trong Command Prompt hoặc hộp thoại Run.
4. Trong hộp thoại Windows Features, chọn TFTP Client.
Lưu ý: Bạn có thể cần phải khởi động lại để các thay đổi có kết quả.
5. Truy cập TFTP thông qua Command Prompt bằng lệnh tftp. Sử dụng lệnh trợ giúp hoặc xem tftp command-line reference page trên website của Microsoft.
Sự khác biệt giữa TFTP so với FTP
STT | TFTP | FTP |
1 | TFTP là viết tắt của Trivial File Transfer Protocol. | FTP là viết tắt của File Transfer Protocol. |
2 | Phần mềm của TFTP nhỏ hơn FTP. | Phần mềm của FTP lớn hơn TFTP. |
3 | TFTP hoạt động trên port 69. | FTP hoạt động trên hai cổng: 20 và 21. |
4 | Các dịch vụ TFTP được cung cấp bởi UDP. | Dịch vụ FTP được cung cấp bởi TCP. |
5 | độ phức tạp của TFTP ít hơn. | Độ phức tạp của FTP cao hơn. |
6 | Chỉ có 5 message trong TFTP. | Có nhiều lệnh hoặc message trong FTP. |
7 | TFTP không cần xác thực để giao tiếp. | FTP cần xác thực để liên lạc. |
8 | TFTP chủ yếu được sử dụng để truyền các cấu hình đến và đi từ các thiết bị mạng. | FTP thường thích hợp để tải lên và tải xuống tệp bởi người dùng từ xa. |
9 | TFTP là một giao thức truyền tải không đáng tin cậy. | FTP là một giao thức truyền đáng tin cậy. |
10 | TFTP dựa trên UDP. | FTP dựa trên TCP. |
11 | TFTP nhanh hơn so với FTP. | FTP chậm hơn. |
Sự khác biệt giữa TFTP và FTP nằm ở cơ chế. FTP dựa vào TCP (Transmission Control Protocol) trong quá trình vận chuyển. TFTP dựa trên UDP (User Datagram Protocol) vì nó là một giao thức không kết nối. Vì TFTP sử dụng UDP thay vì TCP nên nó là một giao thức truyền tải không đáng tin cậy.
TCP với UDP
Giao tiếp giữa các máy tính cần phải an toàn và đáng tin cậy. Bất cứ khi nào một tệp được chuyển đến máy tính của bạn từ một máy tính khác, dữ liệu của bạn cần được nhận một cách chính xác. Ví dụ: nếu bạn đang tải xuống một tệp, bạn muốn toàn bộ tệp chứ không chỉ các phần của tệp.
TCP đảm bảo rằng bạn nhận được tất cả dữ liệu của mình một cách chính xác. TCP xác minh kết nối giữa hai máy tính trước khi bất kỳ giao tiếp nào có thể diễn ra giữa các máy tính.
Mặt khác, UDP là không kết nối. Do đó, không giống như TCP, nó không xác minh kết nối giữa hai máy tính để đảm bảo rằng dữ liệu được phân phối chính xác. Vì vậy, nếu bạn gửi một tập tin bằng UDP, máy tính của bạn sẽ không quan tâm đến việc thông tin có được nhận hay không ở đầu bên kia.
TFTP port
FTP sử dụng port 21 và 20, trong khi TFTP sử dụng port 69.
Xác thực
FTP yêu cầu mật khẩu để xác thực người dùng. Do đó, nếu bạn muốn truy cập một máy chủ FTP, bạn nên xác minh chính mình bằng tên người dùng và mật khẩu.
TFTP không cần xác thực người dùng. Là người dùng, bạn chỉ cần biết tên tệp mà bạn đang cố tải xuống và bạn có thể gửi lệnh để yêu cầu tệp cụ thể đó.
Như vậy là bạn đã biết giao thức TFTP là gì và cách hoạt động của nó, hy vọng bài viết này cung cấp cho bạn nhiều thông tin hữu ích, chúc bạn thành công!
Rất hữu ích. Cám em rất nhiều vì đã chia sẽ và hướng dẫn chi tiết. Chúc em nhiều sức khỏe.
Nguyễn Văn Hùng