báo cáo môn ltm

16
 Đây là tài liu giúp mi ngườ i hiu vgiao thc FTP, mô hình hot động ca FTP, ng dng ca FTP trong thc tế. Do thờ i gian có hn nên đồ án không thhoàn thành hết chc năng như d định ban đầu đặt ra. Nhưng chc năng hoàn thin nhóm ssớ m bsung và hoàn chnh trong thờ i gian sớ m nht. Trong thờ i gian làm thiết k ế và thc hin đồ án không tránh khi nhng sai xót, mong thy cô và các bn thông vm và có nhng đòng góp quý báu để nhóm hoàn thi n sn phm hơn. Xin chân thành cm ơn tớ i thy Lương Ánh Hoàng đã có nhng bài ging b ích và ý nghĩa để nhóm có ththc hin bài tp này. Xin Chân Thành Cm Ơn! Nhóm thc hin: 1 Hoàng Doãn Quân SHSV:20093579 2 Vũ Quang Sâm SHSV:20082199 3 Trnh Quang Vinh SHSV:200937 88

Upload: quan-bka

Post on 20-Jul-2015

47 views

Category:

Documents


0 download

TRANSCRIPT

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 1/15

1

Đây là tài liệu giúp mọi ngườ i hiểu về giao thức FTP, mô hình

hoạt động của FTP, ứng dụng của FTP trong thực tế. Do thờ i gian có

hạn nên đồ án không thể hoàn thành hết chức năng như dự định ban

đầu đặt ra. Nhưng chức năng hoàn thiện nhóm sẽ sớ m bổ sung và hoàn

chỉnh trong thờ i gian sớ m nhất.

Trong thờ i gian làm thiết k ế và thực hiện đồ án không tránh

khỏi những sai xót, mong thầy cô và các bạn thông vảm và có những

đòng góp quý báu để nhóm hoàn thiện sản phẩm hơn. 

Xin chân thành cảm ơn tớ i thầy Lương Ánh Hoàng đã cónhững bài giảng bổ ích và ý nghĩa để nhóm có thể thực hiện bài tập

này.

Xin Chân Thành Cảm Ơn! 

Nhóm thực hiện:

1 Hoàng Doãn Quân SHSV:20093579

2 Vũ Quang Sâm SHSV:20082199

3 Trịnh Quang Vinh SHSV:20093788

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 2/15

2

Phân công nhiệm vụ:

Hoàng Doãn Quân : Vẽ biểu đồ lớ p, viết các lớ p thực hiện công việc

thao tác vớ i dữ liệu

Trịnh Quang Vinh : Vẽ biểu đồ usercase và về phần chức năng của ftp

Vũ Quang Sâm : Giao diện

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 3/15

3

Mục lục

1 Tổng quang về FTP…………………………………………..1

1.1 Khái niệm giao thức FTP…………………………..2

1.2 Mô hình hoạt động FTP…………………………....31.2.1  Tn trn rvr-FTP v sr-FTP………4

1.2.2  n đều n v n ệu trongFTP…………………………………………..5 

1.2.3  c tn trn v tut ng trongFTP…………………………………………..6 

1.3 Tt p n đều n v cứng tc ng ngtrong

FTP……………………………………………………….71.4 uản n ệu FTP t n n ệu ạng

c động mc đn v động cng v vệc s ụngcổng……………………………………………………….8 

1.5 c png tức truền ệu trong FTP………….9 

1.6 Các lệnh trong FTP client……………………………………10 

2  Xây d ng FTP clnt…………………………………………….1

1.1 Các chức năng ca hệ thng……………………………21.2 Biu đồ usrcas…………………………………………3

1.3 Biu đồ l p……………………………………………….4 

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 4/15

4

Phần 1 : Tổng quan về giao thức FTP

1.1 Khái niệm giao thức FTP

FTP - File Transfer Protocol là định ướ c truyền tệp, giao thức truyền tệp Trong

truyền thông không đồng bộ, đây là một tiêu chuẩn nhằm bảo đảm truyền dẫn

không bị lỗi cho các tệp chương trình và dữ liệu thông qua hệ thống điện

thoại.

Chương trình FTP cũng được dùng để gọi tên cho định ướ c truyền tệp UNIX,

một định ước hướ ng dẫn việc truyền dữ liệu.

Nó còn là giao thức chuẩn để upload thông tin từ máy tính cá nhân lên trên

máy chủ Internet.

Đây là hình thức upload file nhanh nhất và phổ dụng nhất trên Internet do chức

năng chủ đạo của nó là tập trung vào việc chuyển file từ nơi này tới nơi khácthông qua mạng Internet.

Thông thườ ng, các nhà cung cấp Web Hosting (phải trả tiền) đều có các máy

chủ FTP (FTP Server) cho phép bạn upload thông tin lên Web Hosting qua

giao thức này.

1.2  Mô hình hoạt động ca FTP

Giao thức FTP được mô tả một cách đơn giản thông qua mô hình hoạt độngcủa FTP. ô hình này chỉ ra các nguyên tc mà một thiết bị phải tuân theo khitham gia vào quá trình trao đổi file, cũng như về hai kênh thông tin cần phảithiết lập giữa các thiết bị đó. Nó cũng mô tả các thành phần của FTP đượcdùng để quản lý các kênh này cả hai phía – truyền và nhận. o đó, mô hìnhnày tạo cho ta một khi điểm lý tưng để xem xt hoạt động của FTP mứckhái quát. 

1.2.1  Tn trn rvr-FTP v sr-FTP

FTP là một giao thức dạng clientserver truyền thống, tuy nhiên thuật ngữ

client thông thường được thay thế bằng thuật ngữ user – người dùng – do thựctế là người s dụng mới là đối tượng trực tiếp thao tác các lệnh FTP trên máyclients. ộ phần mềm FTP được cài đặt trên một thiết bị được gọi là một tiếntrình. Phần mềm FTP được cài đặt trên máy Server được gọi là tiến trìnhServer -FTP, và phần trên máy client được gọi là tiến trình User-FTP.

1.2.2 n đều n v n ệu trong FTP 

ột khái niệm cốt yếu mà ta cần phải nm về FTP là: mặc dù giao thức này sdụng kết nối TCP, nhưng nó không chỉ dùng một kênh TCP như phần lớn các

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 5/15

5

giao thức truyền thông khác. ô hình FTP chia quá trình truyền thông giữa bộ phận Server với bộ phận client ra làm hai kênh logic: - ênh điều khiển: đây là kênh logic TCP được dùng để khi tạo một phiên kếtnối FTP. Nó được duy trì xuyên suốt phiên kết nối FTP và được s dụng chỉ

để truyền các thông tin điều khiển, như các lệnh và các hồi đáp trong FTP. Nókhông được dùng để truyền file 

- ênh dữ liệu: ỗi khi dữ liệu được truyền từ server tới client, một kênh kếtnối TCP nhất định lại được khi tạo giữa chng. ữ liệu được truyền đi quakênh kết nối này – do đó nó được gọi là kênh dữ liệu. hi file được truyềnxong, kênh này được ngt. Việc s dụng các kênh riêng l như vậy tạo ra sựlinh hoạt trong việc truyền truyền dữ liệu – mà ta sẽ thấy trong các phần tiếptheo. Tuy nhiên, nó cũng tạo cho FTP độ phức tạp nhất định.

1.2.3 c tn trn v tut ng trong FTP 

o các chức năng điều khiển và dữ liệu s dụng các kênh khác nhau, nên môhình hoạt động của FTP cũng chia phần mềm trên mỗi thiết bị ra làm hai thành phần logic tương ứng với mỗi kênh. Thành phần Protocol Interpreter PI) làthành phần quản lý kênh điều khiển, với chức năng phát và nhận lệnh. Thành phần ata Transfer Process TP) có chức năng gi và nhận dữ liệu giữa phíaclient với server. Ngoài ra, cung cấp cho tiến trình bên phía người dùng còn cóthêm thành phần thứ ba là giao diện người dùng FTP - thành phần này khôngcó phía server. 

o đó, có hai tiến trình xảy ra phía server, và ba tiến trình phía client. Cáctiến trình này được gn với mô hình FTP để mô tả chi tiết hoạt động của giaothức FTP.

Các tiến trình phía server: 

Các tiến trình phía server bao gồm hai giao thức: - Server Protocol Interpreter Server -PI): chịu trách nhiệm quản lý kênh điềukhiển trên server. Nó lng nghe yêu cầu kết nối hướng tới từ users trên cổngdành riêng. hi kết nối đã được thiết lập, nó sẽ nhận lệnh từ phía User -PI, trảlời lại, và quản lý tiến trình truyền dữ liệu trên server. - Server ataTransfer Process Server -TP): làm nhiệm vụ gi hoặc nhận filetừ bộ phận User -TP. Server -TP vừa làm nhiệm thiết lập kết nối kênh dữ

liệu và lng nghe một kết nối kênh dữ liệu từ user. Nó tương tác với server filetrên hệ thống cục bộ để đọc và chp file. 

Các tiến trình phía client: 

- User Protocol Interpreter User -PI): chịu trách nhiệm quản lý kênh điềukhiển phía client. Nó khi tạo phiên kết nối FTP bằng việc phát ra yêu cầu tới phía Server -PI. hi kết nối đã được thiết lập, nó x lý các lệnh nhận được trên

giao diện người dùng, gi chng tới Server -PI, và nhận phản hồi tr lại. Nócũng quản lý tiến trình User -DTP.

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 6/15

6

- User ata Transfer Process User -TP): là bộ phận TP nằm phía ngườidùng, làm nhiệm vụ gi hoặc nhận dữ liệu từ Server -TP. User -TP có thểthiết lập hoặc lng nghe yêu cầu kết nối kênh dữ liệu trên server. Nó tương tácvới thiết bị lưu trữ file phía client. 

- User Interface: cung cấp giao diện x lý cho người dùng. Nó cho php sdụng các lệnh đơn giản hướng người dùng, và cho php người điều khiển phiên FTP theo di được các thông tin và kết quả xảy ra trong tiến trình. 

1.3 Tt p n đều n v cứng tc ng ng trongFTP:

ô hình hoạt động của FTP mô tả r các kênh dữ liệu và điều khiển được thiết

lập giữa FTP client và FTP server. Trước khi kết nối được s dụng để thực sựtruyền file, kênh điều khiển cần phải được thiết lập. ột tiến trình chỉ định sauđó được dùng để tạo kết nối và tạo ra phiên FTP lâu bền giữa các thiết bị đểtruyền files. 

 Như trong các giao thức clientserver khác, FTP server tuân theo một luật passive trong kênh điều khiển. ộ phận Server Protocol Interpreter Server -PI)sẽ lng nghe cổng TCP dành riêng cho kết nối FTP là cổng 2. Phía User -PI sẽtạo kết nối bằng việc m một kết nối TCP từ thiết bị người dùng tới server trêncổng đó. Nó s dụng một cổng bất k làm cổng nguồn trong phiên kết nốiTCP.

hi TCP đã được cài đặt xong, kênh điều khiển giữa các thiết bị sẽ được thiếtlập, cho php các lệnh được truyền từ User -PI tới Server -PI, và Server -PI sẽđáp trả kết quả là các mã thông báo. ước đầu tiên sau khi kênh đã đi vào hoạtđộng là bước đăng nhập của người dùng login sequence). ước này có haimục đích: - ccess Control - Điều khiển truy cập: quá trình chứng thực cho php hạn chếtruy cập tới server với những người dùng nhất định. Nó cũng cho php server điều khiển loại truy cập như thế nào đối với từng người dùng.  - Resource Selection - Chọn nguồn cung cấp: ằng việc nhận dạng người dùngtạo kết nối, FTP server có thể đưa ra quyết định sẽ cung cấp những nguồn nàocho người dùng đã được nhận dạng đó. 

Trn t tru cp v cứng tc FTP 

Quy luật chứng thực trong FTP khá đơn giản, chỉ là cung cấpusername/password.

Trình tự của việc chứng thực như sau:  - người dùng gi một username từ User -PI tới Server -PI bằng lệnh USR.Sau đó password của người dùng được gi đi bằng lệnh PSS. 2 - Server kiểm tra tên người dùng và password trong database người dùng củanó. Nếu người dùng hợp lệ, server sẽ gi trả một thông báo tới người dùng

rằng phiên kết nối đã đ.c m. Nếu người dùng không hợp lệ, server yêu cầungười dùng thực hiện lại việc chứng thực. Sau một số lần chứng thực sai nhất

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 7/15

7

định, server sẽ ngt kết nối. 

Giả s quá trình chứng thực đã thành công, server sau đó sẽ thiết lập kết nối đểcho php từng loại truy cập đối với người dùng được cấp quyền. ột số người

dùng chỉ có thể truy cập vào một số file nhất định, hoặc vào một số loại filenhất định. ột số server có thể cấp quyền cho một số người dùng đọc và viếtlên server, trong khi chỉ cho php đọc đối với những người dùng khác. Ngườiquản trị mạng có thể nhờ đó mà đáp ứng đng các nhu cầu truy cập FTP. 

ột khi kết nối đã được thiết lập, server có thể thực hiện các lựa chọn tàinguyên dựa vào nhận diện người dùng. Ví dụ: trên một hệ thống nhiều người

dùng, người quản trị có thể thiết lập FTP để khi có bất cứ người dùng nào kếtnối tới, anh ta sẽ tự động được đưa tới home directory của chính anh ta.Lệnh tùy chọn CCT account) cũng cho php người dùng chọn một tài khoảncá nhân nào đó nếu như anh ta có nhiều hơn một tài khoản. 

rộng về bảo mật FTP 

Giống như phần lớn các giao thức cũ, phương pháp đăng nhập đơn giản của

FTP là một sự kế thừa từ những giao thức thời k đầu của Internet. Ngàynay, nó không còn bảo đảm tính an toàn cần thiết trên môi trường Internet toàncầu vì username và password được gi qua kênh kết nối điều khiển dưới dạngclear text. Điều này làm cho các thông tin đăng nhập có thể bị nghe ln. ChuẩnRFC 222 về các phần m rộng cho bảo mật FTP đã định ra thêm nhiều tùychọn chứng thực và mã hóa phức tạp cho những ai muốn tăng thêm mức độ antoàn vào trong phần mềm FTP của họ. 

1.4 uản n ệu FTP t n n ệu ạng c độngmc đn v động cng v vệc s ụng cổng 

ênh điều khiển được tạo ra giữa Server -PI và User -PI s dụng quá trình thiếtlập kết nối và chứng thực được duy trì trong suốt phiên kết nối FTP. Các lệnhvà các hồi đáp được trao đổi giữa bộ phận PI Protocol Interpreter) qua kênhđiều khiển, nhưng dữ liệu thì không. ỗi khi cần phải truyền dữ liệu giữa server và client, một kênh dữ liệu cần phải được tạo ra. ênh dữ liệu kết nối bộ phận User -TP với Server -TP. ết

nối này cần thiết cho cả hoạt động chuyển file trực tiếp gi hoặc nhận mộtfile) cũng như đối với việc truyền dữ liệu ngầm, như là yêu cầu một danh sáchfile trong thư mục nào đó trên server. Chuẩn FTP chỉ định hai phương thức khác nhau để tạo ra kênh dữ liệu. hác biệt chính của hai phương thức đó là mặt thiết bị: phía client hay phía server là phía đã đưa ra yêu cầu khi tạo kết nối. Điều này nghe qua có v khá đơngiản, nhưng k thực nó lại khá quan trọng. 

t n n ệu ạng c động 

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 8/15

8

Phương thức đầu tiên đôi khi còn được gọi là kết nối kênh dữ liệu dạng thôngthường vì nó là phương pháp mặc định) và đôi khi được gọi là kết nối dạngchủ động để đối chiếu với dạng kết nối bị động mà ta sẽ xt phần sau).Trong dạng kết nối này, phía Server -TP khi tạo kệnh dữ liệu bằng việc m 

một cổng TCP cho phía User -TP. Phía server s dụng cổng được dành riêng,là cổng 2 cho kênh dữ liệu. Trên máy client, một giá trị cổng được chọn theomặc định chính là cổng được s dụng đối với kênh điều khiển, tuy nhiên phíaclient sẽ luôn chọn hai cổng riêng biệt cho hai kênh này. 

Giả s phía User -PI thiết lập một kết nối điều khiển từ cổng bất k của nó là tới cổng điều khiển trên server là cổng 2. hi đó, để tạo một kênh dữ

liệu cho việc truyền dữ liệu, phía Server -PI sẽ báo cho phía Server -TP khitạo một kênh kết nối TCP từ cổng 2 tới cổng của phía client. Sau khi phía client chấp nhận kênh được khi tạo, dữ liệu sẽ được truyền đi. 

Thực tế, việc s dụng cùng một cổng cho cả kênh dữ liệu và kênh điều khiểnkhông phải là một ý hay, nó làm cho hoạt động của FTP tr nên phức tạp. ođó, phía client nên chỉ định s dụng một cổng khác bằng việc s dụng lệnhPRT trước khi truyền dữ liệu. Ví dụ: giả s phía client chỉ định cổng 2với lệnh PRT. Phía Server -TP sau đó sẽ tạo ra một kết nối từ cổng 2 củanó tới cổng 2 phía client thay vì cổng như mặc định. Quá trình nàyđược mô tả trong hình trên

Thông thường, đối với kênh dữ liệu FTP, phía server sẽ khi tạo việc truyềndữ liệu bằng cách m kết nối dữ liệu tới client. Trong trường hợp trên, phía client trước tiên sẽ đưa ra lệnh PRT để yêu cầuserver s dụng cổng 2. Sau đó, server sẽ m kết nối kênh dữ liệu từ cổng2 mặc định của nó tới cổng 2 phía client. ữ liệu sau đó sẽ được truyền

giữa các thiết bị qua các cổng này. 

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 9/15

9

Trong bài làm ftp client của nhóm em s dụng k ết nối dữ liệu dạng này.

t n n ệu ạng động 

Phương pháp kế tiếp được gọi là kết nối dữ liệu dạng bị động. Phía client sẽnhận server là phía bị động, làm nhiệm vụ chấp nhận một yêu cầu kết nối kênhdữ liệu được khi tạo từ phía client. Server trả lời lại phía client với địa chỉ IPcũng như địa chỉ cổng mà nó sẽ s dụng. Phía Server -DTP sau đó sẽ lng nghemột kết nối TCP từ phía User -TP trên cổng này. 

ặc định, phía client s dụng cùng một cổng đối với cả hai kênh điều khiển vàdữ liệu như trong trường hợp kết nối chủ động trên. Tuy nhiên, đây, một

lần nữa phía client có thể chọn s dụng một giá trị cổng khác cho kênh dữ liệu.Ta sẽ xt lại ví dụ trên một lần nữa, với cổng điều khiển phía client là tới cổng 2 phía server. Nhưng lần này truyền dữ liệu theo phương thức kếtnối bị động, như mô tả trong hình dưới đây: 

Phía client sẽ s dụng lệnh PSV để yêu cầu server rằng nó muốn dùng phương thức điều khiển dữ liệu bị động. Phía Server -PI sẽ trả lời lại phía client

với một giá trị cổng mà client sẽ s dụng, từ cổng 222 trên nó. Sau đó phíaServer PI sẽ hướng cho phía Server -TP lng nghe trên cổng 222. Phía User -PI cũng sẽ hướng cho phía User -TP tạo một phiên kết nối từ cổng 2 phíaclient tới cổng 222 phía server. Sau khi Server chấp nhận kết nối này, dữ liệu bt đầu được truyền đi.

c vn đề về tn ệu quả v tn ảo mt trong vệc cn mộtpng tức t n 

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 10/15

10

Vấn đề phía nào là phía khi tạo kết nối kênh dữ liệu đưa ra một câu hỏi: sựkhác nhau giữa hai phương thức là gì Điều này cũng giống như việc hỏi ai đãthực hiện một cuộc điện thoại nội bộ. Câu trả lời là sự bảo mật. Việc FTP sdụng nhiều hơn một kết nối TCP có thể giải quyết các vấn đề về phần mềm

cũng như về phần cứng mà người dùng cần phải có để đảm bảo sự an toàn chohệ thống của họ. hi xem xt việc gì sẽ xảy ra trong trường hợp kênh dữ liệu chủ động nhưtrong ví dụ phía trên: Đối với phía client, có một kênh kết nối điều khiển được thiết lập từ cổng client tới cổng 2 server. Nhưng kênh dữ liệu lại được khi tạo từ phía server.Do đó, client sẽ nhận được một yêu cầu kết nối tới cổng hoặc cổng nàokhác). ột số client sẽ nghi ngờ về việc nhận được những kết nối tới như vậy,

vì trong tình huống thông thường, client mới là phía khi tạo kết nối chứkhông phải đáp trả kết nối. o các kênh kết nối TCP hướng tới có thể mangtheo những mối đe dọa nhất định, một số client có thể sẽ ngăn chặn các luồngkết nối hướng tới bằng việc s dụng tường la. 

Tại sao người ta lại không làm cho phía client luôn chấp nhận kết nối từ mộtchỉ số port được dùng trong kênh điều khiển Vấn đề đây là vì client thường

dùng các cổng khác nhau cho mỗi phiên kết nối bằng việc s dụng câu lệnhPORT. Và tại sao điều này lại được thực hiện Vì theo luật TCP: sau khi mộtkết nối được đóng lại , có một khoảng thời gian trống trước khi cổng đó có thểđược s dụng lại – điều này để ngăn ngừa tình trạng các phiên kết nối liên tiếp bị lẫn với nhau. Điều này sẽ tạo ra độ tr khi gi nhiều file – do đó phía clientthường dùng các giá trị cổng khác nhau cho mỗi kết nối. Điều này rất hiệu quảnhưng cũng dẫn tới việc firewall của client sẽ hỏi có chấp nhận phiên kết nốitới với nhiều giá trị cổng không ổn định hay không. 

Việc dùng kết nối kiểu kênh gián tiếp sẽ giảm thiểu vấn đề này một cách hiệuquả. Phần lớn các tường la có nhiều vấn đề liên quan tới kết nối hướng về vớicác giá trị cổng bất k, hơn là gặp vấn đề với các kết nối hướng đi. Ta có thểxem chi tiết hơn về vấn đề này trong chuẩn RFC . Chuẩn này khuyếnnghị rằng phía client nên s dụng kết nối kiểu bị động làm dạng mặc định thayvì s dụng kiểu kết nối dạng chủ động cùng với lệnh PRT, để ngăn chặn tìnhtrạng block theo cổng. Tất nhiên, phương thức kết nối kiểu bị động không hoàn toàn giải quyết được

vấn đề, chng chỉ đẩy vấn đề về phía server mà thôi. Phía server, giờ đây phảiđối mặt với việc có nhiều kênh kết nối hướng về trên hàng loạt các cổng khácnhau. Tuy nhiên việc x lý các vấn đề bảo mật trên một nhóm nhỏ server vẫnd hơn nhiều so với việc phải đối mặt với một lượng lớn các vấn đề từ nhiềuclient. FTP server phải được cấu hình chấp nhận phương thức truyền bị độngtừ client, do đó cách thông thường để thiết lập trên server là thiết lập chấpnhận một số cổng kết nối hướng về trên server trong khi vẫn khóa các yêu cầukết nối hướng về trên các cổng khác. 

1.5 c png tức truền ệu trong FTP 

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 11/15

11

hi kênh dữ liệu đã được thiết lập xong giữa Server -DTP với User -TP, dữliệu sẽ được truyền trực tiếp từ phía client tới phía server, hoặc ngược lại, dựatheo các lệnh được s dụng. o thông tin điều khiển được gi đi trên kênhđiều khiển, nên toàn bộ kênh dữ liệu có thể được s dụng để truyền dữ liệu.

Tất nhiên, hai kênh logic này được kết hợp với nhau lớp dưới cùng với tấtcả các kết nối TCPUP khác giữa hai thiết bị, do đó điều này không hn đãcải thiện tốc độ truyền dữ liệu so với khi truyền trên chỉ một kênh – nó chỉ làmcho hai việc truyền dữ liệu và điều khiển tr nên độc lập với nhau mà thôi) 

FTP có ba phương thức truyền dữ liệu, nêu lên cách mà dữ liệu được truyền từmột thiết bị tới thiết bị khác trên một kênh dữ liệu đã được khi tạo, đó là:stream mode, block mode, và compressed mode 

Stream mode

Trong phương thức này, dữ liệu được truyền đi dưới dạng các byte không cấutrc liên tiếp. Thiết bị gi chỉ đơn thuần đầy luồng dữ liệu qua kết nối TCP tới phía nhận. hông có một trường tiêu đề nhất định được s dụng trong phươngthức này làm cho nó khá khác so với nhiều giao thức gi dữ liệu rời rạc khác.Phương thức này chủ yếu dựa vào tính tin cậy trong truyền dữ liệu của TCP.o nó không có cầu trc dạng header, nên việc báo hiệu kết thc file sẽ đơngiản được thực hiện việc phía thiết bị gi ngt kênh kết nối dữ liệu khi đã

truyền xong. Trong số ba phương thưc, stream mode là phương thức được s dụng nhiềunhất trong triển khai FTP thực tế. Có một số lý do giải thích điều đó. Trướchết, nó là phương thức mặc định và đơn giản nhất, do đó việc triển khai nó làd dàng nhất. Thứ hai, nó là phương pháp phổ biến nhất, vì nó x lý với cácfile đều đơn thuần như là x lý dòng byte, mà không để ý tới nội dung của cácfile. Thứ ba, nó là phương thức hiệu quả nhất vì nó không tốn một lượng byteoverload để thông báo header. 

Block mode

Đây là phương thức truyền dữ liệu mang tính quy chuẩn hơn, với việc dữ liệuđược chia thành nhiều khối nhỏ và được đóng gói thành các FTP blocks. ỗi block này có một trường header byte báo hiệu độ dài, và chứa thông tin vềcác khối dữ liệu đang được gi. ột thuật toán đặc biệt được s dụng để kiểmtra các dữ liệu đã được truyền đi và để phát hiện, khi tạo lại đối với một

phiên truyền dữ liệu đã bị ngt.

Compressed mode

Đây là một phương thức truyền s dụng một k thuật nn khá đơn giản, làrun-length encoding – có tác dụng phát hiện và x lý các đoạn lặp trong dữliệu được truyền đi để giảm chiều dài của toàn bộ thông điệp. Thông tin khi đãđược nn, sẽ được x lý như trong block mode, với trường header. Trong thựctế, việc nến dữ liệu thường được s dụng những chỗ khác, làm cho phương

thức truyền kiểu compressed mode tr nên không cần thiết nữa. Ví dụ: nếu bạn

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 12/15

12

đang truyền đi một file qua internet với modem tương tự, modem của bạnthông thường sẽ thực hiện việc nn lớp các file lớn trên FTP server cũngthường được nn sn với một số định dạng như IP, làm cho việc nn tiếp tụckhi truyền dữ liệu tr nên không cần thiết. 

Trong bài làm của nhóm em s dụng phương pháp Stream mode. 

1.6 Các lệnh trong FTP client

ascii chuyển sang chế độ truyền file theo dạng văn bản

binary chuyển sang chế độ truyền file theo dạng nhị phân

cd [directory] chuyển vào thư mục directory

cdup chuyển lên thư mục cấp trên một cấp

close ngt k ết nối vớ i máy chủ 

del [remote-file] xóa 1 file trên máy chủ 

dir [remote-directory|file] liệt kê nội dung của thư mục hoặc danh sách các file

trên máy chủ 

help [command] cho biết hướ ng dẫn về lệnh command

lcd [local-directory] đặt lại thư mục làm việc trên client là local-directory

ls [remote-directory|file] [-la] liệt kê nội dung của thư mục hoặc danh sách các

file trên máy chủ; tham số -la sẽ liệt kê tất cả có kèm theo mô tả về quyền

mdelete [remote-files] xóa nhiều file trên máy chủ 

mget [remote-files] download các files trên máy chủ về 

mkdir tạo thư mục có tên directory-name

mput [local-files] upload các files lên máy chủ 

open host [port] k ết nối đến máy chủ FTP có hostname là host và đang chạy

dịch vụ FTP  cổng port

put [remote-file] upload local-file lên máy chủ vớ i tên mớ i là remote-file nếu

đượ c

pwd cho biết thư mục đang làm việc hiện thờ iquit thoát

recv [local-file] nhận remote-file trên máy chủ và lưu trên máy tính vớ i tên

local-file nếu đượ crename [from] [to] đổi tên file hoặc thư mục from thành to

rmdir directory-name xóa thư mục có tên directory-name

send local-file [remote-file] g i local-file từ máy tính lên máy chủ vớ i tên mớ ilà remote-file nếu đượ c

status cho biết trạng thái của phiên làm việc hiện tạisyst cho biết hệ điều hành của máy chủ 

user user-name [password] [account] login vào vớ i tên là user-name, mật khẩu

là password, tài khoản là account

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 13/15

13

Phần 2 : Xây dựng FTP client

1.1 

Các chức năng của hệ thống

- Đăng nhập vào một máy chủ FTP.

- Hiện danh sách các tệp tin trên máy chủ.

- Tải một tệp tin đượ c chọn có thể tải bằng nhiều k ết nối song song.

- Upload được lên thư mục đượ c chọn.

- Đổi tên xóa một tệp tin thư mục đượ c chọn.

-Tạo một thư mục mớ i.

1.2 Biểu đồ usercase

1.3 Biểu đồ lớ p

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 14/15

14

5/17/2018 B o c o m n LTM - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-mon-ltm 15/15

15