Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
1,32 MB
Nội dung
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải CHƯƠNG I GIỚI THIỆU ĐỀ TÀI Với sự phát triển không ngừng của hệ thống mạng máy tính rộng khắp toàn cầu, việc sử dụng FTP không còn mấy xa lạ đối với cư dân Web. Truyền file (FTPl) nói chung và Internet nói riêng là một trong những dòch vụ khá phổ biến. Thật vậy, đối với nhiều người thì FTP đồng nghóa với Internet. Hệ thống truyền file là một phương tiện trợ giúp hữu hiệu cho con người, nhất là trong thời đại bùng nổ thông tin như hiện nay. Hàng ngày vô số File được gửi trên mạng, nhờ dòch vụ này con người có thể trao đổi dữ liệu với nhau một cách nhanh chóng, tiện ích và có tính chất kinh tế. Với sự ra đời và phát triển mạnh mẽ các ứng dụng Multimedia đã làm cho các thông tin trên máy tính ngày càng phát triển càng thêm hấp dẫn, phong phú. Hiện nay, nhu cầu truyền dữ liệu ngày càng đa dạng hơn, không còn giới hạn ở dạng Text văn bản mà còn mở rộng cho phép ghép hình ảnh, âm thanh, video. . . . . giúp cho mọi người cảm thấy thoải mái, thuận tiện hơn trong việc truyền gởi dữ liệu mà không cần gặp mặt nhau. Với các công cụ lập trình ngày càng phát triển mạnh mẽ đã khai thác hầu như hoàn toàn những hỗ trợ của hệ điều hành thì việc viết một chương trình truyền file không còn nhiều vất vả nữa. SVTH : Nguyễn Thò Phương Liên Trang 1 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải CHƯƠNG II TÌM HIỂU CÁC HỆ THỐNG FTP CÓ SẴN Ngày nay FTP hay dòch vụ truyền file đã trở nên phổ biến và hầu như không thể thiếu. FTP cho phép truyền file từ nơi này đến nơi khác thông qua mạng. Hiện nay có rất nhiều dòch vụ FTP trên môi trường Internet cũng như trên môi trường ứng dụng. Qúa trình xây dựng ứng dụng FTP rất đa dạng, nhưng chủ yếu tập trung vào hai phần là FTP Client và FTP Server. I. FTP Client Là chương trình hoạt động phía máy khách cho phép người dùng thực hiện các thao tác trên các file . Ví dụ như : CuteFTP, AbsoluteFTP, 3D-FTP, . . . . . . . . Hầu hết các ứng dụng trên đều có các chức năng cơ bản là : upload, download, delete, rename, . . . .Các thao tác đều dựa trên việc tương tác lệnh giữa Client và Server. Nhận dữ liệu từ máy chủ và hiển thò cho người dùng Một số FTP Client còn cho phép lọc (filter file). Nhằm giảm mức độ công việc cho server, tăng tốc chương trình. Một số còn hỗ trợ chức năng resume, mà không phải bất kỳ FTP Client nào cũng có như CuteFTP. Khi việc upload/download bò ngắt giữa chừng do sự cố nào đó thì người dùng có thể thực hiện tiếp công việc đó ở lần sau khi bắt đầu mở máy. Bên cạnh đó các FTP Client còn cung cấp cho người dùng một hàng đợi (Queue) làm cho người dùng cảm thấy rất thuận tiện trong việc download/upload các files/folders ở những thư mục khác nhau trên hệ thống. II. FTP Server Là chương trình hoạt động phía máy chủ, tiếp nhận yêu cầu, phản hồi thông tin và gởi dữ liệu về cho Client. Như Server-U FTP, . . . . . . Hầu hết các FTP Server đều có các chức năng cơ bản sau : bên cạnh phu(c vụ các yêu cầu từ Client như yêu cầu thiết kênh truyền gởi dữ liệu, upload, download, delete, . . . . . còn có thiết lập tốc độ truyền, cấm đòa chỉ kết nối, quy đònh số kết nối sẽ được tiếp nhận . . . . . . Ngoài ra một số Server FTP còn quản trò các user của hệ thống như : tạo user, xoá user, cấm user, phân quyền cho user, tạo group, xóa group , thêm user vào group hay cấp quyền cho group. . . . . . .Các quyền sẽ được cấp ở đây sẽ SVTH : Nguyễn Thò Phương Liên Trang 2 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải là Read (được quyền download file), Write (được quyền upload file), Delete (được quyền xóa file), List (được quyền duyệt thư mục), Create (được quyền tạo thư mục), Remove (được quyền xóa thư mục) và Inherit (được quyền cho thừa kế các quyền đã có ). Mỗi user khi được tạo ra trên hệ thống sẽ được cấp cho một đặc quyền tương ứng để thao tác trên hệ thống như là No Privilege (không có đặc quyền nào cả chỉ là một user bình thường), Read- only Privilege (user có đặc quyền chỉ đọc chỉ được phép vào xem thông tin trên hệ thống), Group Administrator (user có đặc quyền này sẽ được quyền thực hiện các thao tác trên các group như thêm group, xóa group, . . .) và System Administrator (user có đặc quyền này sẽ có toàn quyền trên hệ thống) . . . III. Giao thức FTP Giao thức FTP được đònh nghóa bởi RFC 959. Nó cung cấp những phương tiện để chuyển tới/từ những hệ thống máy tính từ xa. Thông thường người dùng chuyển một file cần quyền để đăng nhập và truy nhập những file trên hệ thống từ xa. Một phiên làm việc FTP thông thường kéo theo sự tương tác của năm phần tử phần mềm : User Interface ( Giao diện người dùng ) : Cung cấp giao diện người dùng và điều khiển phần phiên dòch giao thức phía client. Client PI ( Protocol Interpreter ) : Đây là phần phiên dòch giao thức ( PI ) phía client. Nó phát đi những lệnh tới phần phiên dòch giao thức của server cũng như điều khiển quá trình chuyển dữ liệu phía client. Server PI : Đây là phần phiên dòch giao thức của server. Nó đáp ứng những lệnh được phát đi bởi phần phiên dòch giao thức phía client và điều khiển qúa trình chuyển dữ liệu phía server. SVTH : Nguyễn Thò Phương Liên Trang 3 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Client DTP ( Data Transfer Process ) : Đây là tiến trình chuyển dữ liệu ( DTP ) phía client, có trách nhiệm truyền thông số với tiến trình chuyển dữ liệu phía server và hệ thống file cục bộ. Server DTP : Đây là tiến trình chuyển dữ liệu phía server, có trách nhiệm truyền thông số với tiến trình chuyển dữ liệu phía client và hệ thống file từ xa. Trong thời gian một phiên làm việc FTP sẽ có hai kết nối mạng riêng biệt, một giữa các PI và một giữa các DTP. Kết nối giữa các PI được gọi là kết nối điều khiển ( control connection ) . Kết nối giữa các DTP được gọi là kết nối dữ liệu (data connection). Các kết nối điều khiển và dữ liệu sử dụng giao thức TCP. Thường thì FTP server lắng nghe trên port thông dụng là port thứ 21 cho những yêu cầu kết nối điều khiển. Việc lựa chọn port cho kết nối dữ liệu phụ thuộc vào những lệnh được phát đi trên kết nối điều khiển. Theo quy ước, phía client gởi một thông báo điều khiển chỉ cho biết số port tại đó phía client đã chuẩn bò sẵn để nhận một yêu cầu kết nối dữ liệu vào. Việc sử dụng những kết nối riêng biệt cho điều khiển và dữ liệu có lợi là hai kết nối có thể lựa chọn những chất lượng dòch vụ khác nhau như : khoảng trì hoãn tối thiểu cho kết nối điều khiển và cực đại cho kết nối dữ liệu, nó cũng tránh những vấn đề của việc cung cấp các mã thoát ( escape sequences ). 1. Khuôn dạng lệnh Danh sách chi tiết tất cả các lệnh Lệnh Ýù nghóa ABOR Hủy sự chuyển dữ liệu hoặc lệnh đang được thực hiện. ACCT Vài hệ thống liên kết cả những tài khoản lẫn những người dùng với những đối tượng hệ thống file. ALLO Cấp phát không gian cho file sắp được gửi đi. Tham số chỉ rõ số byte cần cấp phát. APPE Nối vào cuối file đang tồn tại. CDUP Chuyển lên thư mục cha của thư mục hiện tại trên server. CWD Thay đổi thư mục làm việc trên server. DELE Xóa file trên server. HELP Yêu cầu thông tin trợ giúp từ server. Thí dụ, danh sách những lệnh được server hỗ trợ. LIST Gửi một danh sách tên file ( bao gồm ngày tháng tạo, kích thước, và loại file hoặc thư mục ) trong thư mục hiện hành trên server trên kết nối dữ liệu. MKD Tạo thư mục. SVTH : Nguyễn Thò Phương Liên Trang 4 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải MODE Chỉ rõ chế độ truyền. Tham số là S (Stream), B (Block), hoặc C (Compression). NLST Gửi một danh sách các file thỏa mãn một điều kiện nào đó trên kết nối dữ liệu. NOOP Không làm gì cả. Lệnh thường dùng để kiểm tra trạng thái kết nối điều khiển. PASV Chỉ ra rằng phần DTP của server lắng nghe một yêu cầu kết nối từ phần DTP của client. PORT Chỉ ra số port mà phần DTP phía client đang lắng nghe một yêu cầu kết nối. PWD Cho biết tên thư mục hiện hành trên server. QUIT Logout hoặc cắt kết nối. REIN Xác lập lại các giá trò ban đầu. Logout mà không cắt kết nối. Sẽ theo sau bằng một lệnh USER mới cho một người dùng khác. REST Khởi động lại qúa trình truyền từ nơi đánh dấu ở phía server. RETR Download file từ server. RMD Xoá thư mục. RNFR Chỉ ra tên đường dẫn cũ của file hoặc thư mục sẽ được đổi tên. Được theo sau bởi lệnh RNTO. RNTO Chỉ ra tên đường dẫn mới của file hoặc thư mục sẽ được đổi tên. SITE Truy vấn thông tin về server. STAT Truy vấn trạng thái của lệnh trước đó hoặc của server. STOR Lưu trữ file trên server và ghi đè lên file cũ nếu nó đã tồn tại. STOU Chỉ ra rằng sẽ Upload file lên server với tên duy nhất ( Unique ). STRU Chỉ ra cấu trúc file. Tham số là F ( File ), R ( Record ), hoặc P ( Page ). SYST Báo cáo loại hệ điều hành trên hệ thống từ xa ( Remote System ). TYPE Chỉ ra sự thể hiện kiểu file. Tham số là một trong những ký tự A ( ASCII ), E ( EBCDIC ), I ( Image ), L ( Local ) cho kiểu file và được theo sau bởi N (No printing controls), T (Telnet printing controls ) hoặc C (Fortran printing controls) SVTH : Nguyễn Thò Phương Liên Trang 5 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải để điều khiển đònh dạng hoặc một số chỉ rõ kích thước byte cục bộ. Chỉ có kiểu A và kiểu I là thường dùng. USER Gửi tên đăng nhập lên server. PASS Gửi mật khẩu ( không mã hóa ) của tên đăng nhập lên server. 2. Các dạng trả lời lệnh ( command reply ) trên kết nối điều khiển Kiểu Mô tả 1yz Trả lời chấp nhận sơ bộ. Đợi một trả lời tiếp theo trứơc khi gửi lệnh khác. 2yz Trả lời chấp nhận hoàn tất. Lệnh cuối cùng được thực hiện thành công. 3yz Trả lời chấp nhận tạm thời. Một lệnh nữa phải được gửi. 4yz Trả lời hoàn tất phủ nhận nhất thời. Hoạt động yêu cầu không được thực hiện nhưng có thể thử lại. 5yz Trả lời hoàn tất phủ nhận lâu dài. Hoạt động yêu cầu không được thực hiện và không nên thử lại. Chữ số “y” mã hóa thông tin chi tiết hơn Chữ số y Ý nghóa 0 Lỗi cú pháp 1 Thông tin 2 Tình trạng kết nối 3 Quyền và tài khoản 4 Chưa chỉ ra 5 Tình trạng hệ thống SVTH : Nguyễn Thò Phương Liên Trang 6 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Diễn giải Begin Bắt đầu kết nối vào server Cmd Gửi đi một lệnh W Đợi hồi đáp từ phía server S Lệnh thành công F Lệnh không thành công Các số 1, 2, 3, 4, 5 cho biết ký số đầu tiên của chuỗi hồi đáp. 3. Ví dụ một số lệnh có tham số thường dùng HELP [SITE] Yêu cầu trợ giúp, ở đây tham số tùy chọn là SITE USER lien Đăng nhập với tên “lien” PASS lien Chỉ ra rằng mật khẩu đăng nhập là “lien” CWD /FtpUpload Chuyển sang thư mục /FtpUpload trên server MKD testDir Yêu cầu tạo thư mục tên testDir RMD testDir Yêu cầu xóa thư mục tên testDir MODE S Thiết lập chế độ truyền là Stream ( dòng dữ liệu ) TYPE I Cho biết là sẽ dùng kiểu dữ liệu nhò phân NLST –L *.exe /CSDL/*.* Tìm các file .exe trong thư mục hiện tại và tất cả các file trong thư mục /CSDL SVTH : Nguyễn Thò Phương Liên Trang 7 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải PORT 127,0,0,0,4,120 Client sẽ dùng port 1144 cho kết nối dữ liệu và đòa chỉ là trên máy cục bộ ( đòa chỉ khứ hồi) RETR testFile.txt Yêu cầu Download file tên testFile.txt trên thư mục hiện hành STOR testFile.txt Yêu cầu Upload file tên testFile.txt lên thư mục hiện hành RNFR testFile.txt Yêu cầu đổi tên file testFile.txt RNTO testFile.bak Đổi tên file từ lệnh RNFR thành testFile.bak DELE testFile.txt Xóa file tên testFile.txt trên server 4. Những hồi đáp cần chú ý 220 Dòch vụ sẵn sàng cho người dùng mới. 331 Người sử dụng được chấp nhận, yêu cầu mật khẩu. Thay vì báo là USER không tồn tại sau khi tìm kiếm, thường thì server luôn trả lời lệnh USER bằng giá trò này mà không xét đến user đó có thật sự tồn tại không. Đây là một cơ chế chống tấn công bằng cách dò mật khẩu của các user có trong hệ thống. 230 Người dùng đã đăng nhập. 200 Lệnh được đồng ý. 226 Đóng kết nối dữ liệu. 250 Hoạt động file yêu cầu được chấp nhận và hoàn tất. 350 Cần thêm thông tin cho hoạt động về file được yêu cầu. 150 Kết nối dữ liệu ( ASCII hoặc nhò phân ) được thiết lập từ server đến client. Nếu là qúa trình Download thì thường kèm theo thông tin về kích thước file. SVTH : Nguyễn Thò Phương Liên Trang 8 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải 226 Hoàn tất việc truyền. 221 Dòch vụ đang đóng kết nối điều khiển. 125 Kết nối dữ liệu đã mở, bắt đầu truyền. 425 Không mở được kết nối dữ liệu. 503 Trình tự lệnh không hợp lệ. 530 Chưa đăng nhập. SVTH : Nguyễn Thò Phương Liên Trang 9 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải CHƯƠNG III PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG I. Qúa trình hoạt động của FTP 1) Mô hình FTP 2) Các thuật ngữ trên mô hình User Interface ( Giao diện người dùng ) : Cung cấp giao diện người dùng và điều khiển phần phiên dòch giao thức phía client. Client PI ( Protocol Interpreter ) : Đây là phần phiên dòch giao thức ( PI ) phía client. Nó phát đi những lệnh tới phần phiên dòch giao thức của server cũng như điều khiển quá trình chuyển dữ liệu phía client. Server PI : Đây là phần phiên dòch giao thức của server. Nó đáp ứng những lệnh được phát đi bởi phần phiên dòch giao thức phía client và điều khiển qúa trình chuyển dữ liệu phía server. Client DTP ( Data Transfer Process ) : Đây là tiến trình chuyển dữ liệu ( DTP ) phía client, có trách nhiệm truyền thông số với tiến trình chuyển dữ liệu phía server và hệ thống file cục bộ. Server DTP : Đây là tiến trình chuyển dữ liệu phía server, có trách nhiệm truyền thông số với tiến trình chuyển dữ liệu phía client và hệ thống file từ xa. SVTH : Nguyễn Thò Phương Liên Trang 10 [...]... Client và Server SVTH : Nguyễn Thò Phương Liên Trang 11 Thiết kế hệ thống FTP II GVHD : Th.S Ninh Xuân Hải Sơ đồ biểu diễn qúa trình xử lý các chức năng 1) Sơ đồ tổng quát 2) Sơ đồ chức năng : ( hình sau ) SVTH : Nguyễn Thò Phương Liên Trang 12 Thiết kế hệ thống FTP SVTH : Nguyễn Thò Phương Liên GVHD : Th.S Ninh Xuân Hải Trang 13 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải 3) Sơ đồ biểu diễn qúa trình... Sơ đồ xử lý Disconnect SVTH : Nguyễn Thò Phương Liên Trang 24 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải c) Sơ đồ biểu diễn việc quản trò các user và các group trên hệ thống Mỗi user trên hệ thống sẽ được cấp cho một đặc quyền Khi user đăng nhập vào hệ thống, tùy theo đặc quyền của mình user có thể thực hiện một số thao tác trên hệ thống như : thêm user, xóa user, Phân rã process 9 : Sơ... Trang 25 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Process 9.1 thêm user : Sơ đồ xử lý việc thêm user mới SVTH : Nguyễn Thò Phương Liên Trang 26 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Process 9.2 : Sơ đồ xử lý việc xóa user Khi xóa một user thì ta phải xóa luôn các diraccess của user đó, đồng thời loại bỏ user đó ra khỏi các group mà user đó thuộc trước khi xóa user ra khỏi hệ thống. .. thêm group mới SVTH : Nguyễn Thò Phương Liên Trang 29 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Process 10.2 : Sơ đồ xử lý việc xóa group Khi xóa một user thì ta phải xóa luôn các diraccess của group đó, đồng thời loại bỏ các user thuộc group đó trước khi xóa group ra khỏi hệ thống SVTH : Nguyễn Thò Phương Liên Trang 30 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Process 10.3 : Sơ đồ xử... Nguyễn Thò Phương Liên Trang 22 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Sơ đồ xử lý và phân tích Response (hồi đáp) của các lệnh, để xác đònh công việc kế tiếp của Client Đối với các lệnh : ABOR, ALLO, DELE, CWD, CDUP, SMNT, HELP, MODE, PASV, QUIT SITE, PORT, SYST, STAT, RMD, MKD, PWD, STRU and TYPE SVTH : Nguyễn Thò Phương Liên Trang 23 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải.. .Thiết kế hệ thống FTP 3) GVHD : Th.S Ninh Xuân Hải Nguyên tắc hoạt động Trong thời gian một phiên làm việc FTP sẽ có hai kết nối mạng riêng biệt, một giữa các PI và một giữa các DTP Kết nối giữa các PI được gọi là kết nối điều khiển ( control connection ) Kết nối giữa các DTP được gọi là kết nối dữ liệu (data connection) User-PI sẽ khởi tạo Control... ngôi (số ngôi là số thực thể tham gia vào mối liên kết ) là n-n thì mối liên kết này được biến thành 1 quan hệ mới Khóa của quan hệ mới là khóa của 2 thực thể tham gia vào mối liên kết Bước 5 Đối với mối liên kết 3 ngôi thì mối liên kết này được biến thành 1 quan hệ mới Khóa của quan hệ mới là khóa của 3 thực thể tham gia vào mối liên kết Bước 6 Đối với hệ phân cấp kiểu cha (Supertype), kiểu con (Subtype)... nhận kết nối từ Server thông qua data connection này Sau khi tiếp nhận được kết nối từ Server thì sẽ thiết lập kênh truyền gởi dữ liệu nếu là upload và sẽ thiết lập kênh truyền nhận dữ liệu nếu là download Sau đó sẽ gởi dữ liệu lên kênh truyền hay đọc dữ liệu từ kênh truyền về cho đến khi kết thúc Process 5.5.4 : Sơ đồ xử lý việc upload SVTH : Nguyễn Thò Phương Liên Trang 21 Thiết kế hệ thống FTP. .. khỏi các group mà user đó thuộc trước khi xóa user ra khỏi hệ thống SVTH : Nguyễn Thò Phương Liên Trang 27 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Process 9.3 : Sơ đồ xử lý việc cập nhật lại các diraccess cho user khi có thay đổi SVTH : Nguyễn Thò Phương Liên Trang 28 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Phân rã process 10 : Sơ đồ xử lý việc quản trò group, như là thêm user, xóa... hệ thống SVTH : Nguyễn Thò Phương Liên Trang 17 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Proceess 5.2 : Sơ đồ xử lý sự kiện Delete các files/folders mà người dùng đã chọn Sau khi người dùng đã chọn các files/folders và Delete các files/folders đó thì các files/folders này sẽ được đưa vào hàng đợi ( Queue ) và sau đó được thực thi lần lượt SVTH : Nguyễn Thò Phương Liên Trang 18 Thiết kế hệ thống . Nguyễn Thò Phương Liên Trang 9 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải CHƯƠNG III PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG I. Qúa trình hoạt động của FTP 1) Mô hình FTP 2) Các thuật ngữ trên mô hình . sau ) SVTH : Nguyễn Thò Phương Liên Trang 12 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải SVTH : Nguyễn Thò Phương Liên Trang 13 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải 3) Sơ đồ biểu. trạng kết nối 3 Quyền và tài khoản 4 Chưa chỉ ra 5 Tình trạng hệ thống SVTH : Nguyễn Thò Phương Liên Trang 6 Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải Diễn giải Begin Bắt đầu kết nối