TFTP gì? Port 161 Là giao thức đơn giản để truyền nhận files Sự đơn giản thể tên nó: Trivial File Transfer Protocol (TFTP) Đầu tiên thiết kế Noel Chiappa, sau nhiều người chỉnh sửa, bổ sung Nó dùng chế ACK truyền lại (resending) theo ý tưởng TCP, chế kiểm lỗi dựa chế thông điệp EFTP PARC TFTP thực tảng UPD dùng để di chuyển file máy mạng khác có thực UDP Nhưng điều không loại trừ khả thực TFTP protocol datagram khác Nó thiết kế để thực nhỏ gọn đơn giản, FTP giao thức bổ sung thiếu sót TFTP ví dụ ứng dụng TFTP: Boot từ xa host diskless, TFTP dùng để download file cấu hình từ thư mục /boot (lúc không cần chế nhận dạng) Nếu dùng không cẩn thận, TFTP cho phép download file hệ thống bạn TFTP (chỉ) có thể: - Đọc ghi file (hoặc mail) đến/đi từ server từ xa TFTP không thể: - Liệt kê thư mục - Chưa có chế nhận dạng user (nên bảo vệ password FTP) Hiện có kiểu transfer hỗ trợ: - Netascii: netascii mã ASCII chỉnh sửa theo đặc tả “Telnet Protocol Specification” - ASCII bit - Octet: bit thô - Mail: kí tự netascii gửi đến user file ( kiểu truyền mail cổ xưa không nên thực hay dùng) Ngòai host thoả thuận với để xác định kiểu transfer khác TFTP packet TFTP thực với tảng Datagram Protocol (UDP), mà Datagram Protocol lại thực Internet Protocol, nên packet TFTP có Internt header, Datagram header, TFTP header Ngòai ra, packet có header (LNI, ARPA header…) phép chúng qua phương tiện truyền dẫn cục Thứ tự nội dung 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, RRQ với yêu cầu đọc file - Nhận trả lời: ACK packet cho yêu cầu ghi, ACK packet kèm theo packet liệu cho yêu cầu đọc Trong ACK packet chứa số block paket liệu truyền để đọc (block đánh số tuần tự, 1) ACK packet yêu cầu ghi có số block = Nếu trả lời error packet yêu cầu bị từ chối - Để thiết lập kết nối, terminal xác định TID (Transfer Identifier) để dùng suốt trình giao tiếp Đây số nguyên chọn ngẫu nhiên khoảng - 65,535 Mỗi packet quan tâm đến TID đầu VD: host A gửi “WRQ” đến host B với source = TID A, destination = 69 (TID B) host B gửi “ACK” (với block number = 0) đến A với source = TID B, destination = TID A - Sau gửi request nhận trả lời xong, kết nối thiết lập, host A gửi packet data với block number = Trong bước tiếp theo, host kiểm tra source TID có với giá trị thiết lập không Nếu không phù hợp, packet bị từ chối error packet gửi đến source packet bị sai đó, mà không làm đứt nghẽn kết nối (Trích Thuật Ngữ Tin Học) TFTP: - Không hỗ trợ user login - Sử dụng UDP - Chỉ dùng connection (FTP dùng connection) - Chỉ có lệnh Như TFTP sức thô sơ đơn giản Nó đọ với FTP dùng môi trường công cộng đa dụng Nhưng chẳng dùng búa tạ để đập ruồi Nếu để load cấu hình, image cho thiết bị, TFTP đủ Thường người ta bảo mật cho TFTP mức vật lý thiết bị switch, router cần phải truyền file cấu hình cho nó, nhiên lại ko có OS PC mà chạy IOS, trình bootstrap lại lưu ROM => người ta ko build giao thức FTP đó, làm chậm trình khởi động, truyền file lại cần thêm bước thiết lập TCP (TFTP phù hợp cho file có kích thước ko lớn ko cần độ tin cậy) FTP phù hợp vời truyền file có độ tin cậy lớn, dùng cho trình truyền file từ FTP client đến FTP server (layer đến layer 7), PC server đểu hoạt động từ layer đến layer 7, FTP giao thức layer hợp lý dùng cho thiết bị lớp ROM thiết bị switch router (dùng giao thức TFTP) .. .TFTP: - Không hỗ trợ user login - Sử dụng UDP - Chỉ dùng connection (FTP dùng connection) - Chỉ có lệnh Như TFTP sức thô sơ đơn giản Nó đọ với FTP dùng... Nhưng chẳng dùng búa tạ để đập ruồi Nếu để load cấu hình, image cho thiết bị, TFTP đủ Thường người ta bảo mật cho TFTP mức vật lý thiết bị switch, router cần phải truyền file cấu hình cho nó,... build giao thức FTP đó, làm chậm trình khởi động, truyền file lại cần thêm bước thiết lập TCP (TFTP phù hợp cho file có kích thước ko lớn ko cần độ tin cậy) FTP phù hợp vời truyền file có độ