Câu hỏi

17/06/2013 23:04
Ưu điểm của TFTP là gì so với FTP ?
+ Ưu điểm của TFTP là gì so với FTP mà người ta vẫn còn dùng và dạy TFTP ?
(Chú ý vụ này có nhiều tác giả nhầm lẫn đó nhe)
Ngoc
17/06/2013 23:04
thutrang
17/06/2013 23:04
(Chú ý vụ này có nhiều tác giả nhầm lẫn đó nhe)
Danh sách câu trả lời (2)

Sở dĩ mọi người khó nghĩ ra tại sao TFTP vẫn tồn tại là vì mọi người chỉ nghĩ đến những vấn đề xoay quanh tính năng của nó mà không tính đến khả năng phần cứng, chi phí viết phần mềm, khả năng tích hợp, ... Rõ ràng một thiết bị không bộ nhớ (hoặc rất nhỏ) có thể lập trình để truyền TFTP tuy nhiên nếu muốn truyền FTP thì bộ nhớ nó phải lớn hơn, mà chip nhớ cho device đâu phải rẻ như RAM máy tính.
FTP dùng 2 port là để 1 port truyền đi 1 port nhận về đúng hok nhỉ
Wooh, câu này thuộc hàng khó đấy, không đơn giản đâu !!!
Tại sao FTP lại dùng đến 2 port mà không dùng 1 ?
Tại sao HTTP lại dùng 1 port mà không dùng 2 ?
Ôi tại sao ... !
FTP dùng 2 port là để 1 port truyền đi 1 port nhận về đúng hok nhỉ
Wooh, câu này thuộc hàng khó đấy, không đơn giản đâu !!!
Tại sao FTP lại dùng đến 2 port mà không dùng 1 ?
Tại sao HTTP lại dùng 1 port mà không dùng 2 ?
Ôi tại sao ... !

TFTP là gì?
Là 1 giao thức rất đơn giản để truyền nhận files. Sự đơn giản thể hiện ở ngay cái tên của nó: Trivial File Transfer Protocol (TFTP). Đầu tiên được thiết kế bởi Noel Chiappa, sau đó được nhiều người chỉnh sửa, bổ sung. Nó dùng cơ chế ACK và truyền lại (resending) theo ý tưởng của TCP, cơ chế kiểm lỗi thì dựa trên cơ chế thông điệp trong EFTP của PARC. TFTP đã được hiện thực trên nền tảng của UPD vì vậy nó có thể dùng để di chuyển file trên các máy trên các mạng khác nhau có hiện thực UDP. Nhưng điều này không loại trừ khả năng hiện thực TFTP trên các protocol datagram khác. Nó được thiết kế để hiện thực nhỏ gọn và đơn giản, do đó FTP là giao thức bổ sung các thiếu sót của TFTP.
1 ví dụ về ứng dụng của TFTP: Boot từ xa các host diskless, TFTP dùng để download các file cấu hình cơ bản từ thư mục /boot (lúc này không cần cơ chế nhận dạng).
Nếu dùng không cẩn thận, TFTP sẽ cho phép bất cứ ai download bất cứ file gì trên hệ thống của bạn.
TFTP (chỉ) có thể:
- Đọc và ghi file (hoặc mail) đến/đi từ 1 server từ xa.
TFTP không thể:
- Liệt kê các thư mục
- Chưa có cơ chế nhận dạng user (nên không có bảo vệ bằng password như FTP)
Hiện tại có 3 kiểu transfer được hỗ trợ:
- Netascii: netascii là mã ASCII được chỉnh sửa theo đặc tả “Telnet Protocol Specification” - đây là ASCII 8 bit
- Octet: 8 bit thô
- Mail: là các kí tự netascii được gửi đến 1 user chứ không phải 1 file ( kiểu truyền mail này đã cổ xưa và không nên được hiện thực hay dùng)
Ngòai ra 2 host có thể thoả thuận với nhau để xác định các kiểu transfer khác
TFTP packet
TFTP được hiện thực với nền tảng là Datagram Protocol (UDP), mà Datagram Protocol lại được hiện thực trên Internet Protocol, nên các packet của TFTP sẽ có 1 Internt header, 1 Datagram header, và 1 TFTP header. Ngòai ra, các packet có thể có 1 header (LNI, ARPA header…) để cho phép chúng đi qua các phương tiện truyền dẫn trong cục bộ. Thứ tự các nội dung trong 1 packet TFTP:
———————————————— € ——————–
| Local Medium | Internet | Datagram | TFTP |
———————————————— € ——————–
Giao thức khởi tạo kết nối:
- Gửi request: WRQ với yêu cầu ghi lên file, và RRQ với yêu cầu đọc file
- Nhận trả lời: 1 ACK packet cho yêu cầu ghi, hay là 1 ACK packet kèm theo 1 packet dữ liệu đầu tiên cho yêu cầu đọc. Trong ACK packet sẽ chứa số block của paket dữ liệu được truyền đi để đọc (block được đánh số tuần tự, bắt đầu từ 1). ACK packet của yêu cầu ghi sẽ có số block = 0. Nếu trả lời là 1 error packet thì yêu cầu bị từ chối.
- Để thiết lập kết nối, mỗi terminal xác định 1 TID (Transfer Identifier) để dùng trong suốt quá trình giao tiếp. Đây là các số nguyên được chọn ngẫu nhiên trong khoảng 0 - 65,535. Mỗi packet sẽ quan tâm đến TID của 2 đầu.
VD: 1. host A gửi “WRQ” đến host B với source = TID của A, destination = 69 (TID của B)
2. host B gửi “ACK” (với block number = 0) đến A với source = TID của B, destination = TID của A
- Sau khi gửi request và nhận trả lời xong, kết nối có thể được thiết lập, host A có thể gửi packet data đầu tiên với block number = 1. Trong các bước tiếp theo, các host sẽ kiểm tra source TID có đúng với giá trị thiết lập ở 1 và 2 không. Nếu không phù hợp, packet sẽ bị từ chối và 1 error packet sẽ được gửi đến source của packet bị sai đó, mà không làm đứt nghẽn kết nối.
(Trích Thuật Ngữ Tin Học)
Là 1 giao thức rất đơn giản để truyền nhận files. Sự đơn giản thể hiện ở ngay cái tên của nó: Trivial File Transfer Protocol (TFTP). Đầu tiên được thiết kế bởi Noel Chiappa, sau đó được nhiều người chỉnh sửa, bổ sung. Nó dùng cơ chế ACK và truyền lại (resending) theo ý tưởng của TCP, cơ chế kiểm lỗi thì dựa trên cơ chế thông điệp trong EFTP của PARC. TFTP đã được hiện thực trên nền tảng của UPD vì vậy nó có thể dùng để di chuyển file trên các máy trên các mạng khác nhau có hiện thực UDP. Nhưng điều này không loại trừ khả năng hiện thực TFTP trên các protocol datagram khác. Nó được thiết kế để hiện thực nhỏ gọn và đơn giản, do đó FTP là giao thức bổ sung các thiếu sót của TFTP.
1 ví dụ về ứng dụng của TFTP: Boot từ xa các host diskless, TFTP dùng để download các file cấu hình cơ bản từ thư mục /boot (lúc này không cần cơ chế nhận dạng).
Nếu dùng không cẩn thận, TFTP sẽ cho phép bất cứ ai download bất cứ file gì trên hệ thống của bạn.
TFTP (chỉ) có thể:
- Đọc và ghi file (hoặc mail) đến/đi từ 1 server từ xa.
TFTP không thể:
- Liệt kê các thư mục
- Chưa có cơ chế nhận dạng user (nên không có bảo vệ bằng password như FTP)
Hiện tại có 3 kiểu transfer được hỗ trợ:
- Netascii: netascii là mã ASCII được chỉnh sửa theo đặc tả “Telnet Protocol Specification” - đây là ASCII 8 bit
- Octet: 8 bit thô
- Mail: là các kí tự netascii được gửi đến 1 user chứ không phải 1 file ( kiểu truyền mail này đã cổ xưa và không nên được hiện thực hay dùng)
Ngòai ra 2 host có thể thoả thuận với nhau để xác định các kiểu transfer khác
TFTP packet
TFTP được hiện thực với nền tảng là Datagram Protocol (UDP), mà Datagram Protocol lại được hiện thực trên Internet Protocol, nên các packet của TFTP sẽ có 1 Internt header, 1 Datagram header, và 1 TFTP header. Ngòai ra, các packet có thể có 1 header (LNI, ARPA header…) để cho phép chúng đi qua các phương tiện truyền dẫn trong cục bộ. Thứ tự các nội dung trong 1 packet TFTP:
———————————————— € ——————–
| Local Medium | Internet | Datagram | TFTP |
———————————————— € ——————–
Giao thức khởi tạo kết nối:
- Gửi request: WRQ với yêu cầu ghi lên file, và RRQ với yêu cầu đọc file
- Nhận trả lời: 1 ACK packet cho yêu cầu ghi, hay là 1 ACK packet kèm theo 1 packet dữ liệu đầu tiên cho yêu cầu đọc. Trong ACK packet sẽ chứa số block của paket dữ liệu được truyền đi để đọc (block được đánh số tuần tự, bắt đầu từ 1). ACK packet của yêu cầu ghi sẽ có số block = 0. Nếu trả lời là 1 error packet thì yêu cầu bị từ chối.
- Để thiết lập kết nối, mỗi terminal xác định 1 TID (Transfer Identifier) để dùng trong suốt quá trình giao tiếp. Đây là các số nguyên được chọn ngẫu nhiên trong khoảng 0 - 65,535. Mỗi packet sẽ quan tâm đến TID của 2 đầu.
VD: 1. host A gửi “WRQ” đến host B với source = TID của A, destination = 69 (TID của B)
2. host B gửi “ACK” (với block number = 0) đến A với source = TID của B, destination = TID của A
- Sau khi gửi request và nhận trả lời xong, kết nối có thể được thiết lập, host A có thể gửi packet data đầu tiên với block number = 1. Trong các bước tiếp theo, các host sẽ kiểm tra source TID có đúng với giá trị thiết lập ở 1 và 2 không. Nếu không phù hợp, packet sẽ bị từ chối và 1 error packet sẽ được gửi đến source của packet bị sai đó, mà không làm đứt nghẽn kết nối.
(Trích Thuật Ngữ Tin Học)
Trả lời câu hỏi
Câu hỏi lĩnh vực Máy vi tính
Rao vặt Siêu Vip