NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Ngày ____, tháng _____, năm 2003
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Ngày ____, tháng _____, năm 2003
Lời Cảm Ơn
Để hoàn thành đề tài tốt nghiệp này, ngoài nổ lực của bản thân, em
còn nhận được rất nhiều sự giúp đỡ và chỉ bảo của thầy cô, gia đình và bè
bạn.
Trước tiên, em xin bày tỏ lòng biết ơn sâu sắc đến thầy Ninh Xuân
Hải, thầy đã tận tình hướng dẫn, chỉ bảo hướng đi, giúp đỡ em tháo gỡ
những vấn đề khó khăn trong suốt qúa trình thực hiện luận văn.
Em xin chân thành cảm ơn tất cả qúy thầy cô trong Khoa Công Nghệ
Thông Tin của Trường Đại Học Dân Lập Kỹ Thuật Công Nghệ TP. Hồ Chí
Minh đã tận tình giảng dạy và trao cho em kiến thức trong những năm qua.
Dù đã nổ lực hết mình nhưng thời gian và khả năng của em còn
nhiều hạn chế nên không thể tránh khỏi thiếu sót, kính mong qúy thầy cô
thông cảm và hướng dẫn, chỉ bảo thêm.
Xin chân thành cảm ơn
TP. Hồ Chí Minh tháng 05 năm 2003.
Nguyễn Thò Phương Liên
MỤC LỤC
CHƯƠNG I : GIỚI THIỆU ĐỀ TÀI
CHƯƠNG II : TÌM HIỂU CÁC HỆ THỐNG FTP CÓ SẴN
I. FTP Client 2
II. FTP Server 2
III. Giao thức FTP 3
1. Khuôn dạng lệnh 4
2. Các dạng trả lời lệnh ( command reply ) trên kết nối điều khiển 6
3. Ví dụ một số lệnh có tham số thường dùng 7
4. Những hồi đáp cần chú ý 8
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 10
1. Mô hình FTP 10
2. Các thuật ngữ trên mô hình 10
3. Nguyên tắc hoạt động 11
II. Mối quan hệ giữa FTP Server và FTP Client 11
III. Sơ đồ biểu diễn qúa trình xử lý các chức năng 12
1. Sơ đồ tổng quát 12
2. Sơ đồ chức năng 13
3. Sơ đồ biểu diễn qúa trình xử lý chi tiết các chức năng 14
IV. Phân tích và thiết kế cơ sở dữ liệu 32
1. Mô hình thực thể kết hợp 32
2. Các ràng buộc toàn vẹn 36
3. Từ điển dữ liệu 41
CHƯƠNG IV : HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG CHƯƠNG
TRÌNH
I. Đặc tả các chức năng 43
1. Lưu đồ giải thụât cho qúa trình xử lý của FTP Server 43
2. Lưu đồ giải thụât cho qúa trình xử lý của FTP Client 45
3. Lưu đồ giải thụât cho việc quản trò user và group trên hệ thống 53
II. Hướng dẫn sử dụng 59
CHƯƠNG V : NHẬN XÉT VÀ KẾT LUẬN
I. Ưu điểm của đề tài 76
II. Hạn chế của đề tài 76
III. Hướng phát triển và mở rộng của đề tài 76
IV.
Kết luận 77
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 1
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.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 2
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ẽ
là Read (được quyền download file), Write (được quyền upload file), Delete
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 3
(đượ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.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 4
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.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 5
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)
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 6
để đ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
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 7
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
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 8
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.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 9
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.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 10
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.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 11
3) 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 connection. Control connection sẽ theo giao
thức Telnet. đây User-PI sẽ gửi các lệnh FTP cho server thông qua
Control connection và các response tương ứng với các lệnh sẽ được Server-
PI gởi trả về cho User-PI thông qua Control connection này.
Các lệnh FTP sẽ chỉ rõ các tham số sẽ được dùng để cung cấp cho việc thiết
lập kênh truyền dữ liệu Data connect, như là : data port, transfer mode,
representation type và structure. Ngoài ra nó còn cung cấp như là : store,
retrieve, append, delete. . .
User-DTP sẽ lắng nghe trên port đã được chỉ đònh và server sẽ khởi tạo
Data connection và gởi dữ liệu đã thỏa thuận trong các tham số. Port được
dùng để thiết lập Data connection không nhất thiết phải giống như cổng đã
thiết lập Control connection. Nhưng User-DTP phải lắng nghe trên port đã
được chỉ đònh, tiếp nhận kết nối của Server và cuối cùng gởi hay nhận dữ
liệu tùy vào các tham số trước đó.
Data connection này có thể được dùng cho việc gửi và nhận dữ liệu đồng
thời.
II. Mối quan hệ giữa FTP Server và FTP Client
Files chỉ được truyền trên Data connection. Còn Control connection dùng cho
việc gởi lệnh của Client và gởi trả hồi đáp (response) của Server.
Khi có nhu cầu gởi/nhận dữ liệu thì trước khi phát lệnh để gởi/nhận dữ liệu thì
Client phải gởi các lệnh để cung cấp các thông số cho việc thiết lập Data
connection như là : cổng, chế độ truyền, kiểu truyền . . . . .Sau khi đã được
server chấp nhận các yêu cầu thiết lập trước đó thì Client bắt đầu gởi lệnh yêu
cầu gởi/nhận dữ liệu.
Trong trường hợp có lỗi, hay bò sự cố thì Client sẽ căn cứ vào các mã hồi đáp
của Server để xác đònh công việc kế tiếp. Mã hồi đáp này còn có tác dụng
đồng nhất hoạt động giữa Client và Server.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 12
III. 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 )
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
SVTH : Nguyễn Thò Phương Liên Trang 14
3) Sơ đồ biểu diễn qúa trình xử lý chi tiết các chức năng
a) Sơ đồ biểu diễn qúa trình xử lý của Server
Phân rã process 3 : Trước khi tiếp nhận các lệnh do Client gởi lên, phục vụ
các yêu cầu từ Client thì Server sẽ kiểm tra Client đã qua qúa trình đăng
nhập vào hệ thống hay chưa nếu chưa thì yêu cầu Client phải qua quá trình
đăng nhập thì mới có hiệu lực. Nếu không thì Server sẽ không tiếp nhận
hay đáp ứng bất kỳ yêu cầu của Client.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 15
Process 3.2 : Nếu user chưa qua qúa trình đăng nhập thì yêu cầu user nên
đăng nhập vào hệ thống trước khi gởi các yêu cầu. Trong qúa trình này
Server sẽ giám sát chặt chẽ user qua từng lệnh. Trước hết user phải gởi
username thông qua lệnh USER username. Sau đó Server sẽ yêu cầu nhập
password, nếu ở đây user không nhập password mà nhập lệnh nào khác thì
sẽ không được Server chấp nhận. Ngoài lệnh QUIT kết thúc phiên làm
việc.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 16
Process 3.3 : Sau khi user đã đăng nhập thành công vào hệ thống thì có thể
gởi các yêu cầu lên Server thông qua các lệnh tương ứng. đây Server sau
khi tiếp nhận một yêu cầu của Client, thì Server sẽ đi xác đònh quyền hạn
của user đó. Nếu user đó không có quyền thì sẽ từ chối phục vụ yêu cầu
đó. Nếu user hoàn toàn hợp lệ, có đủ quyền hạn thì sẽ phân tích lệnh để
thực hiện các thao tác tiếp theo hay đáp ứng các yêu cầu cho đúng.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 17
b) Sơ đồ biểu diễn qúa trình xử lý của Client trên cơ sở các thành phần
giao diện đồ hoạ (GUI)
Phân rã process 5 : Tùy từng sự kiện mà Client sẽ gởi các lệnh tương ứng
lên Server để yêu cầu phục vụ.
Process 5.1 : Sơ đồ xử lý sự kiện Connect. Khi người dùng nhấn nút
Connect thì Client sẽ dùng username và password mà người dùng đã nhập
đăng nhập vào hệ thống.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 18
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.
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 19
Process 5.3 : Sơ đồ xử lý sự kiện upload sau khi người dùng đã chọn các
files/folders trên hệ thống và yêu cầu upload lên Server. Thì các
files/folders này sẽ được đưa vào hàng đợi ( Queue ) và được thực thi.
Process 5.4 : Sơ đồ xử lý sự kiện download sau khi người dùng đã chọn
các files/folders trên hệ thống và yêu cầu download xuống client. Thì các
files/folders này sẽ được đưa vào hàng đợi ( Queue ) và được thực thi.
Process 5.5 : Sơ đồ xử lý việc thực thi các dữ liệu đã được lưu trong hàng
đợi mà người dùng đã add vào đó. Khi người dùng muốn upload hay
download các files/folders không cùng trên một thư mục thì người dùng có
thể add “Add to queue” từng file/folder vào hàng đợi ( Queue ). Sau khi đã
hoàn tất việc chọn lựa các files/folders trên các thư mục khác nhau và add
chúng vào hàng đợi thì bắt đầu thực thi chúng (upload hay download).
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 20
Thiết kế hệ thống FTP GVHD : Th.S Ninh Xuân Hải
SVTH : Nguyễn Thò Phương Liên Trang 21
Process xử lý việc upload hay download : Trước khi upload hay download một
file thì Client phải gởi lệnh PORT thôngsốport để báo cho Server biết sẽ tạo
data connection trên port đó để truyền nhận dữ liệu. Sau khi gởi lệnh PORT và
nhận về hồi đáp (Response) từ Server thì Client bắt đầu phân tích. Nếu Server
đồng ý thì Client sẽ gởi lệnh yêu cầu upload hay download, sau khi gởi lệnh
cũng nhận về Response và phân tích nếu Server đồng ý thì tạo data connection
để tiếp 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