FTP – Mục đích Trao đổi dữ liệu giữa nhiều máy tính khác nhau theo cơ chế client – server Hỗ trợ độc lập nền tảng hệ điều hành bên dưới giúp các máy tính chạy trên các hệ điều hành kh
Trang 1Việt Hàn
Khoa Khoa Học Máy Tính
Bộ Môn Mạng Máy Tính Môn học: Internet và dịch vụ
Trang 21 FTP (File Transfer Protocol)
Khái niệm:
File Transfer Protocol (FTP) là giao thức mạng
được dùng để truyền dữ liệu từ một máy tính sang
một máy tính khác thông qua mạng như là Internet
FTP là giao thức truyền file được sử dụng để trao đổi
và xử lý file qua một mạng TCP Một FTP client có thể kết nối một FTP server để xử lý các file trên server
đó
Trang 31 FTP (File Transfer Protocol)
Độc lập nền tảng: Giao thức FTP có thể được sử dụng bởi nhiều hệ điều hành khác nhau để trao đổi file giữa các loại hệ điều hành này
FTP Server
Trang 41 FTP – Mục đích
Trao đổi dữ liệu giữa nhiều máy tính khác nhau theo
cơ chế client – server
Hỗ trợ độc lập nền tảng hệ điều hành bên dưới giúp các máy tính chạy trên các hệ điều hành khác nhau
có thể chia sẻ dữ liệu dễ dàng
Sử dụng trong việc phát triển web site, xuất bản web site
Truyền dữ liệu một cách hiệu quả và đáng tin cậy
Trang 52 Mô hình FTP
Server PI
File
System
User Interface
User PI
User
User DTP
Control
PI: Protocol Interpreter
DTP: Data Transfer Protocol
PI: Protocol Interpreter
DTP: Data Transfer Protocol
Trang 63 Các thành phần FTP
Là người hay tiến trình muốn trao đổi file qua FTP Người dùng có thể sử dụng các lệnh để thao tác trực tiếp với FTP server hay thông qua các ứng dụng
Mỗi người dùng được xác thực với FTP server
qua tài khoản và mật khẩu của người dùng đó
Sau khi được xác thực, FTP server xác định
người dùng đó sẽ có các quyền tương ứng với
các tài nguyên (file/ folder) trên FTP server.
Trang 73 Các thành phần FTP
Là chương trình có nhiệm vụ quản lý các kết nối
dữ liệu và điều khiển với người dùng
Quản lý hệ thống file trên server thông qua các thư mục ảo được thiết lập trên máy tính server.
Server xác thực người dùng truy cập trên các tài nguyên (file/ folder) và quyền của người dùng đó tương ứng trên các tài nguyên
Trang 83 Các thành phần FTP
Có nhiệm vụ phân tích và chuyển các câu lệnh FTP sang các hành động tương ứng Bao gồm hai loại:
user-PI
Khởi tạo kết nối điều khiển từ port U của nó với server, khởi tạo các lệnh FTP, và liên lạc với User DTP
server-PI
Lắng nghe kết nối trên Port L từ User-PI và thiết lập một kết nối điều khiển truyền Nó nhận các lệnh chuẩn từ User-PI, gửi phản hồi và liên lạc với Server – DTP
Trang 93 Các thành phần FTP
Tiến trình truyền dữ liệu thiết lập và quản lý kết nối dữ liệu DTP có thể là chủ động hoặc thụ động
server-DTP
Tiến trình truyền dữ liệu, thường là trạng thái chủ động, thiết lập kết nối dữ liệu với port dữ liệu đang lắng nghe Nó thiết lập các tham số cho việc
truyền, lưu trữ dữ liệu dựa trên các lệnh từ PI của
nó DTP có thể được sử dụng ở chế độ thụ động
để lắng nghe thay vì khởi tạo kết nối trên port dữ liệu đó
User – DTP
Tiến trình truyền dữ liệu lắng nghe trên port dữ liệu với một kết nối từ server FTP
Trang 104 Các phương thức kết nối
Cổng 21: sử dụng mặc định cổng 21 để truyền các lệnh điều khiển giữa FTP Server và client
FTP sử dụng điều khiển ngoài band, có nghĩa là nó
sử dụng một kết nối riêng cho việc điều khiển và dữ liệu Vì thế, khi việc truyền file thực sự xảy ra, một kết nối khác được yêu cầu gọi là luồng dữ liệu Tùy thuộc vào chế độ truyền, tiến trình thiết lập luồng dữ liệu là khác nhau
Trang 114 Các phương thức kết nối
Client khởi tạo kết nối điều khiển
Server khởi tạo kết nối dữ liệu
Client khởi tạo kết nối điều khiển
Server thông báo cho client port cần kết nối dữ liệu
Client kết nối dữ liệu với port đã được cho phép đó trên server
Trang 124 Các phương thức kết nối
Client (port N>1023) kết nối
đến server trên port 21 cho
kết nối điều khiển.
Server (port 20) kết nối
ngược lại client trên port N+1
cho kết nối dữ liệu
Yêu cầu:
Server lắng nghe trên
port điều khiển 21 và kết nối đến port cao >1023
Server truyền dữ liệu trên
Trang 134 Các phương thức kết nối
Để sử dụng chế độ active, client gửi một lệnh PORT, với IP và port
là đối số Định dạng cho IP và port là “h1,h2,h3,h4,p1,p2” Mỗi
trường là một số thập phân biểu diễn 8 bit của địa chỉ IP host, đơợc theo sau bởi port dữ liệu được chọn
Ví dụ, một client với một IP là 192.168.0.1 đang lắng nghe trên port
1538 với kết nối dữ liệu sẽ gửi từ câu lệnh PORT “192,168,0,1,6,2” Trường PORT nên được diễn dịch là p1X256+p2 = port, hay trong
ví dụ này, 6X256+2=1538.
đến server trên port 1538
Trang 144 Các phương thức kết nối
Client khởi tạo hai port cao
N>1023, để kết nối điều khiển
và N+1 để kết nối dữ liệu với
port cao >1023 trên Server.
Server mở một port cao >1023
để kết nối dữ liệu với client và
gửi port này cho client biết và
thực hiện kết nối với server
trên port dữ liệu này.
Yêu cầu:
Điều khiển: Server (21)
Client (>1023)
Dữ liệu: Server (>1023)
Trang 154 Các phương thức kết nối
FTP client địa chỉ IP của server để kết nối và port trên đó nó đang lắng nghe (một giá trị 16 bit được chia thành các byte thấp và cao, như giải thích trước đây) qua luông điều khiển và đợi một kết nối đến từ FTP Client Trong trường hợp này, FTP client gán port nguồn của kết nối đến port đích.
phản hổi với thông báo như là “227 Entering Passive Mode (127,0,0,1,192.52)” Cú pháp của các địa chỉ IP và port tương tự như đối số lệnh PORT PASV 127,0,0,1,192,52
Trang 164 Các phương thức kết nối
Trang 174 Các phương thức kết nối
Trang 185 Thực hành
Trang 196 Tổng kết
Các thành phần FTP
PI – Protocol
Intepreter
User PI
Server PI
DTP – Data
Transfer Process
User DTP
Server DTP
Các phương thức kết nối FTP:
Kết nối điều khiển:
Client Port >1023 kết nối Server port 21
Kết nối dữ liệu:
Active FTP: Server port 20 kết nối với client port cao
Passive FTP: Client port cao kết nối với server port cao
Trang 206 Ôn tập
Cài đặt và triển khai FTP server
Cài đặt và sử dụng phần mềm FTP Client