Ứng dụng Máy chủ FTP – FTP Server

may-chu-ftp-ftp-server

may-chu-ftp-ftp-server

Nội dung

Máy chủ FTP (File Transfer Protocol) là gì?

Máy chủ FTP Server: FTP (viết tắt của File Transfer Protocol dịch ra là “Giao thức truyền tập tin”) thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet – mạng ngoại bộ – hoặc intranet – mạng nội bộ).

Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách). Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ.

Một dịch vụ FTP là một phần mềm ứng dụng chạy giao thức truyền dẫn file, giao thức này trao đổi các tập tin qua mạng internet. FTP làm việc tương tự như cách mà HTTP làm, truyền các trang web từ một máy chủ tới một người sử dụng trình duyệt, và SMTP dùng cho việc gửi các thư điện tử qua mạng internet. Cũng giống như các công nghệ này, FTP sửu dụng giao thức TCP/IP của internet để có thể truyền dữ liệu. FTP được sử dụng rộng rãi để tải về một tập tin từ một máy chủ sử dụng internet hoặc ngược lại (chẳng hạn tải một trang web lên máy chủ).

FTP (File Transfer Protocol)

FTP, giao thức truyền tệp tin, là cách thức để truyền dữ liệu từ nơi này đến nơi khác qua mạng Internet. Giao thức này thường được sử dụng để tải về hoặc đưa lên Internet các tệp tin có dung lượng lớn.

Không cần quan tâm cách thực hiện của FTP mà chỉ cần hiểu đơn giản là khi khách hàng của bạn nhấn chuột vào một liên kết cho phép tải về tệp tin trong trang web thì trình duyệt sẽ thực hiện các thao tác truyền FTP cho bạn. Điều bạn cần quan tâm là bạn sẽ lưu trữ tệp tin đó ở đâu để khách hàng có thể tải về bất cứ lúc nào họ muốn.

Một số tổ chức cung cấp dịch vụ FTP thông dụng (có thu phí) giúp bạn có thể nhập vào địa chỉ của máy chủ cần truy xuất tới, với tên và mật khẩu đăng nhập (nếu có) và các giao diện để bạn có thể dễ dàng tải về hoặc đưa lên các tệp tin của mình. Đó là các tổ chức như: Rapidshare, Megaupload, File Host, v.v… với chi phí đăng ký tài khoản khá cao tính bằng USD.

Khi bạn và doanh nghiệp của bạn sở hữu 1 máy chủ FTP, tức là bạn có khả năng chính bạn tự cho phép các đối tượng có thể cùng truy cập, sử dụng, và thao tác trên 1 vùng dữ liệu chung do chính bạn quyết định. Bên cạnh đó, bạn sẽ có khả năng phân quyền và cung cấp tài khoản truy cập cho nhiều đối tượng sử dụng dữ liệu với mức độ bảo mật cao và tốc độ truy cập nhanh bất chấp khoảng cách về địa lý.

Công ty bạn là A, và bạn có 2 chi nhánh công ty B và C (hoặc có thể nhiều hơn nữa…) nằm ở những vùng lãnh thổ cách xa nhau. Để 3 cơ sở này có thể sử dụng và liên kết dữ liệu như đang hoạt động trên cùng 1 công ty, giải pháp gửi mail sẽ không phải là một phương pháp tốt và hiệu quả đối với việc cập nhật dữ liệu thường xuyên và chưa kể dữ liệu gửi có dung lượng lớn sẽ khiến việc gửi mail trở nên chậm chạp. Lúc này, giải pháp về máy chủ FTP là tất cả những gì bạn cần.

FTP là gì?

Đọc thêm Ứng dụng Máy chủ FTP – FTP Server

FTP (viết tắt của tiếng Anh File Transfer Protocol, “Giao thức truyền tập tin”) thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet – mạng ngoại bộ – hoặc intranet – mạng nội bộ). Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách).

Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ. Một khi hai máy đã liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v. Vì giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP.

Hầu như bất cứ một nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP. Điều này cho phép tất cả các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tập tin trên một máy tính khác trên cùng một mạng lưới với mình, bất kể máy tính ấy dùng hệ điều hành nào (nếu các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP). Hiện nay trên thị trường có rất nhiều các trình khách và trình chủ FTP, và phần đông các trình ứng dụng này cho phép người dùng được lấy tự do, không mất tiền.

FTP thường chạy trên hai cổng, 20 và 21, và chỉ chạy riêng trên nền của TCP. Trình chủ FTP lắng nghe các yêu cầu dịch vụ từ những kết nối vào máy của các trình khách FTP, trên cổng 21. Đường kết nối trên cổng 21 này tạo nên một dòng truyền điều khiển, cho phép các dòng lệnh được chuyển qua trình chủ FTP. Để truyền tải tập tin qua lại giữa hai máy, chúng ta cần phải có một kết nối khác.

Tùy thuộc vào chế độ truyền tải được sử dụng, trình khách (ở chế độ năng động – active mode) hoặc trình chủ (ở chế độ bị động – passive mode) đều có thể lắng nghe yêu cầu kết nối đến từ đầu kia của mình. Trong trường hợp kết nối ở chế độ năng động, (trình chủ kết nối với trình khách để truyền tải dữ liệu) , trình chủ phải trước tiên đóng kết vào cổng 20, trước khi liên lạc và kết nối với trình khách. Trong chế độ bị động, hạn chế này được giải tỏa, và việc đóng kết trước là một việc không cần phải làm.

Trong khi dữ liệu được truyền tải qua dòng dữ liệu, dòng điều khiển đứng im. Tình trạng này gây ra một số vấn đề, đặc biệt khi số lượng dữ liệu đòi hỏi được truyền tải là một số lượng lớn, và đường truyền tải chạy thông qua những bức tường lửa. Bức tường lửa là dụng cụ thường tự động ngắt các phiên giao dịch sau một thời gian dài im lặng. Tuy tập tin có thể được truyền tải qua hoàn thiện, song dòng điều khiển do bị bức tường lửa ngắt mạch truyền thông giữa quãng, gây ra báo lỗi.

FTP là một giao thức truyền tải tập tin từ một máy tính đến máy tính khác thông qua một mạng TCP hoặc qua mạng Internet. Thông qua giao thức FTP, người dùng có thể tải dữ liệu như hình ảnh, văn bản, các tập tin media (nhạc, video)… từ máy tính của mình lên máy chủ đang đặt ở một nơi khác hoặc tải các tập tin có trên máy chủ về máy tính cá nhân.

Giao thức FTP được sử dụng nhiều nhất vào mục đích truyền tải dữ liệu. Việc bộ phận IT của công ty tạo tài khoản FTP cho bạn là để có thể gửi những dữ liệu dung lượng lớn một cách nhanh chóng, vì không thể gửi qua email hay các phương thức sao chép vật lý khác như CD hay USB flash. Khi sử dụng FTP được cấp, bạn có thể gửi các tập tin có dung lượng vài trăm MB một cách dễ dàng, không cần phải lo lắng về việc người nhận không nhận được file.

Hơn nữa, bạn có thể cùng lúc tải (upload/ download) nhiều tập tin cùng một lúc để tiết kiệm thời gian. Tuy nhiên, yếu tố tốc độ đường truyền cũng đóng vai trò quan trọng trong việc truyền tải dữ liệu qua FTP.

Về phía người dùng khi tiếp cận FTP sẽ làm quen với các thông số sau:

may-chu-ftp-ftp-server

may-chu-ftp-ftp-server

Địa chỉ máy chủ FTP: có dạng tên miền hoặc địa chỉ IP. Ví dụ: ftp.maychuvietnam.com.vn  (dạng tên miền) hoặc 123.30.171.44 (dạng IP tương ứng với tên miền). Địa chỉ máy chủ FTP theo dạng tên miền được dùng phổ biến hơn vì dễ nhớ hơn so với những con số và dấu chấm của địa chỉ IP.

Tên tài khoản (username)/ mật khẩu (password) để đăng nhập vào máy chủ FTP. Tùy thuộc vào quản trị viên cấp quyền hạn trên máy chủ FTP mà tài khoản FTP của bạn sẽ có những quyền cơ bản như tải (upload/ download), tạo thư mục, sao chép hay xóa dữ liệu.

Lưu ý bảo mật thông tin tài khoản vì dữ liệu trên máy chủ có thể bị kẻ gian xâm nhập, đánh cắp và xóa đi.

Cách truyền tải dữ liệu qua giao thức FTP và sử dụng FTP client

Có thể tận dụng ngay trình duyệt web Internet Explorer hay Windows Explorer hoặc thông qua tập lệnh (FTP commands) để kết nối đến máy chủ FTP, nhưng sẽ rất khó khăn để thao tác cho những người dùng phổ thông không am hiểu nhiều về kỹ thuật. Do đó, các chương trình sử dụng FTP chuyên dụng hay còn gọi là FTP client sẽ là giải pháp tốt nhất để truyền tải dữ liệu.

Các chương trình FTP client sẽ thực hiện công việc kết nối đến máy chủ FTP sau khi bạn nhập đầy đủ thông tin (máy chủ FPT, tài khoản đăng nhập), hỗ trợ thao tác kéo/ thả, tạo thư mục (folder) tương tự như thao tác trên Windows Explorer.

Có khá nhiều chương trình FTP Client từ miễn phí đến thương mại, một số chương trình phổ biến như WinSCP và FileZilla cho máy tính dùng hệ điều hành Windows hay CyberDuck cho máy Mac. CuteFTP Pro của hãng GlobalSCAPE là một chương trình FTP Client rất chuyên nghiệp nhưng là phiên bản thương mại có phí. Tùy theo nhu cầu sử dụng mà bạn chọn lựa một chương trình thích hợp.

Trong phần hướng dẫn này, bạn có thể làm quen với WinSCP phiên bản portable (không cần cài đặt để sử dụng). Tải WinSCP portable. Giải nén và chạy tập tin WinSCP.exe.

may-chu-ftp-ftp-server

may-chu-ftp-ftp-server

Sau khi đăng nhập thành công vào máy chủ FTP, bạn sẽ thấy giao diện WinSCP được chia làm 2 phần: bên trái hiển thị dữ liệu có trên ổ cứng của bạn, có thể chuyển đổi qua lại giữa các ổ đĩa để tìm đúng file cần sử dụng; bên phải là dữ liệu trên máy chủ FTP.

may-chu-ftp-ftp-server

may-chu-ftp-ftp-server

Để truyền tải file (download hay upload) từ máy tính lên máy chủ FTP hoặc ngược lại, bạn chỉ cần click chọn tập tin (file) hay thư mục (folder) rồi kéo thả sang khung bên cạnh, chờ cho việc truyền tải hoàn tất, bạn sẽ thấy ở khung bên cạnh xuất hiện tập tin vừa tải.

Các chương trình FTP Client còn lại như FileZilla, CuteFTP Pro hay SmartFTP cũng đều có giao diện tương đối giống nhau. Tuy nhiên, mỗi chương trình sẽ có mức độ hỗ trợ tùy chỉnh tính năng khác nhau, ví dụ như cùng lúc tải nhiều tập tin, cùng lúc kết nối đến nhiều máy chủ FTP hay chọn lựa chế độ kết nối bảo mật (SSH, SFTP…), mã hóa. Bạn chỉ cần nắm rõ những thao tác cơ bản trên là có thể truyền tải dữ liệu qua giao thức FTP bằng FTP Client.

may-chu-ftp-ftp-server

may-chu-ftp-ftp-server

Active FTP

Ở chế độ chủ động (active), máy khách FTP (FTP client) dùng 1 cổng ngẫu nhiên không dành riêng (cổng N > 1024) kết nối vào cổng 21 của FTP Server. Sau đó, máy khách lắng nghe trên cổng N+1 và gửi lệnh PORT N+1 đến FTP Server.

Tiếp theo, từ cổng dữ liệu của mình, FTP Server sẽ kết nối ngược lại vào cổng dữ liệu của Client đã khai báo trước đó (tức là N+1)

Ở khía cạnh firewall, để FTP Server hỗ trợ chế độ Active các kênh truyền sau phải mở:

– Cổng 21 phải được mở cho bất cứ nguồn gửi nào (để Client khởi tạo kết nối)

– FTP Server’s port 21 to ports > 1024 (Server trả lời về cổng điều khiển của Client)

– Cho kết nối từ cổng 20 của FTP Server đến các cổng > 1024 (Server khởi tạo kết nối vào cổng dữ liệu của Client)

– Nhận kết nối hướng đến cổng 20 của FTP Server từ các cổng > 1024 (Client gửi xác nhận ACKs đến cổng data của Server)

Các bước kết nối

– Bước 1: Client khởi tạo kết nối vào cổng 21 của Server và gửi lệnh PORT 1027.

– Bước 2: Server gửi xác nhận ACK về cổng lệnh của Client.

– Bước 3: Server khởi tạo kết nối từ cổng 20 của mình đến cổng dữ liệu mà Client đã khai báo trước đó.

– Bước 4: Client gửi ACK phản hồi cho Server.

Khi FTP Server hoạt động ở chế độ chủ động, Client không tạo kết nối thật sự vào cổng dữ liệu của FTP server, mà chỉ đơn giản là thông báo cho Server biết rằng nó đang lắng nghe trên cổng nào và Server phải kết nối ngược về Client vào cổng đó. Trên quan điểm firewall đối với máy Client điều này giống như 1 hệ thống bên ngoài khởi tạo kết nối vào hệ thống bên trong và điều này thường bị ngăn chặn trên hầu hết các hệ thống Firewall.

Ví dụ: phiên làm việc active FTP

Trong ví dụ này phiên làm việc FTP khởi tạo từ máy testbox1.slacksite.com (192.168.150.80), dùng chương trình FTP Client dạng dòng lệnh, đến máy chủ FTP testbox2.slacksite.com (192.168.150.90). Các dòng có dấu –> chỉ ra các lệnh FTP gửi đến Server và thông tin phản hồi từ các lệnh này. Các thông tin người dùng nhập vào dưới dạng chữ đậm.

Lưu ý là khi lệnh PORT được phát ra trên Client được thể hiện ở 6 byte. 4 byte đầu là địa chỉ IP của máy Client còn 2 byte sau là số cổng. Giá trị cổng đuợc tính bằng (byte_5*256) + byte_6, ví dụ ((14*256) + 178) là 3762.

Passive FTP

Để giải quyết vấn đề là Server phải tạo kết nối đến Client, một phương thức kết nối FTP khác đã được phát triển. Phương thức này gọi là FTP thụ động (passive) hoặc PASV (là lệnh mà Client gửi cho Server để báo cho biết là nó đang ở chế độ passive).

Lưu ý khi thuê máy chủ FTP ở chế độ thụ động, FTP Client tạo kết nối đến Server, tránh vấn đề Firewall lọc kết nối đến cổng của máy bên trong từ Server. Khi kết nối FTP được mở, client sẽ mở 2 cổng không dành riêng N, N+1 (N > 1024). Cổng thứ nhất dùng để liên lạc với cổng 21 của Server, nhưng thay vì gửi lệnh PORT và sau đó là server kết nối ngược về Client, thì lệnh PASV được phát ra.

Kết quả là Server sẽ mở 1 cổng không dành riêng bất kỳ P (P > 1024) và gửi lệnh PORT P ngược về cho Client.. Sau đó client sẽ khởi tạo kết nối từ cổng N+1 vào cổng P trên Server để truyền dữ liệu.

Từ quan điểm Firewall trên Server FTP, để hỗ trợ FTP chế độ passive, các kênh truyền sau phải được mở:

– Cổng FTP 21 của Server nhận kết nối từ bất nguồn nào (cho Client khởi tạo kết nối)

– Cho phép trả lời từ cổng 21 FTP Server đến cổng bất kỳ trên 1024 (Server trả lời cho cổng control của Client)

– Nhận kết nối trên cổng FTP server > 1024 từ bất cứ nguồn nào (Client tạo kết nối để truyền dữ liệu)

– Cho phép trả lời từ cổng FTP Server > 1024 đến các cổng > 1024 (Server gửi xác nhận ACKs đến cổng dữ liệu của Client)

Các bước kết nối

– Bước 1: Client kết nối vào cổng lệnh của Server và phát lệnh PASV.

– Bước 2: Server trả lời bằng lệnh PORT 2024, cho Client biết cổng 2024 đang mở để nhận kết nối dữ liệu.

– Buớc 3: Client tạo kết nối truyền dữ liệu từ cổng dữ liệu của nó đến cổng dữ liệu 2024 của Server.

– Bước 4: Server trả lời bằng xác nhận ACK về cho cổng dữ liệu của Client.

Trong khi FTP ở chế độ thụ động giải quyết được vấn đề phía Client thì nó lại gây ra nhiều vấn đề khác ở phía Server. Thứ nhất là cho phép máy ở xa kết nối vào cổng bất kỳ > 1024 của Server. Điều này khá nguy hiểm trừ khi FTP cho phép mô tả dãy các cổng >= 1024 mà FTP Server sẽ dùng (ví dụ WU-FTP Daemon).

Vấn đề thứ hai là một số FTP Client lại không hổ trợ chế độ thụ động. Ví dụ tiện ích FTP Client mà Solaris cung cấp không hổ trợ FTP thụ động. Khi đó cần phải có thêm trình FTP Client. Một lưu ý là hầu hết các trình duyệt Web chỉ hổ trợ FTP thụ động khi truy cập FTP Server theo đường dẫn URL.

Ví dụ: phiên làm việc passive FTP

Trong ví dụ này phiên làm việc FTP khởi tạo từ máy testbox1.slacksite.com (192.168.150.80), dùng chương trình FTP Client dạng dòng lệnh, đến máy chủ FTP testbox2.slacksite.com (192.168.150.90), máy chủ Linux chạy ProFTPd 1.2.2RC2. Các dòng có dấu –> chỉ ra các lệnh FTP gửi đến Server và thông tin phản hồi từ các lệnh này. Các thông tin người nhập vào dưới dạng chữ đậm.

Lưu ý: đối với FTP thụ động, cổng mà lệnh PORT mô tả chính là cổng sẽ được mở trên Server. Còn đối với FTP chủ động cổng này sẽ được mở ở Client.

Tổng hợp

2/5 - (1 bình chọn)
0/5 (0 Reviews)

Leave a Reply