TÌM HIỂU VỀ GIAO THỨC TRUYỀN NHẬN FILE (FTP) - Tài Liệu Text
Có thể bạn quan tâm
- Trang chủ >>
- Kỹ thuật >>
- Điện - Điện tử - Viễn thông
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 32 trang )
BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcMỤC LỤCCHƯƠNG I. GIỚI THIỆU FTP SERVER ..................................................................... 2CHƯƠNG II. MƠ HÌNH CƠ BẢN FTP VÀ NGUYÊN LÝ HOẠT ĐỘNG................ 3CHƯƠNG III. TÍNH BẢO MẬT CỦA FTP .................................................................. 7CHƯƠNG IV. THIẾT LẬP KÊNH ĐIỀU KHIỂN VÀ CHỨNG THỰC NGƯỜIDÙNG ................................................................................................................................. 7CHƯƠNG V. DỮ LIỆU VÀ QUẢN LÝ DỮ LIỆU FTP .............................................. 9CHƯƠNG VI. CÁC PHƯƠNG THỨC TRUYỀN DỮ LIÊU TRONG FTP ............. 14CHƯƠNG VII. COMMAND VÀ REPLY CODES CỦA FTP ................................... 16CHƯƠNG VIII. THỰC HIỆN MÔ PHỎNG................................................................ 16PHỤ LỤC: MỘT SỐ LỆNH COMMAND PHỔ BIẾN ............................................... 20TÀI LIỆU THAM KHẢO .............................................................................................. 321 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcCHƯƠNG 1: GIỚI THIỆU FTP SERVERFTP (File Transfer Protocol) nghĩa là "Giao thức truyền tập tin" là một trong những giaothức Internet trên tầng ứng dụng, thường được dùng để sử dụng để lưu trữ, trao đổi filequa mạng lưới truyền thông dùng giao thức TCP/IP. Nhờ vào giao thức này nên người sửdụng có thể tải dữ liệu như hình ảnh, văn bản, các tập tin nhạc, video... từ máy tính củamì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áytính cá nhân của mình một cách dễ dàng. FTP cũng là giao thức dùng để truyền tải dữliệu web lên máy chủ web cho dù máy chủ đặt rất xa. Giao thức FTP được sử dụng nhiềunhất vào mục đích truyền tải dữ liệu, rút gọn thời gian cũng như đáp ứng nhu cầu củaviệc tải và truyền đi của các dữ liệu dung lượng lớn một cách nhanh chóng.Hình 1: Giới thiệu về FTP.Giống như hầu hết các giao thức TCP/IP, nó dựa trên mơ hình client-server, với một FTPclient trên máy tính người dùng tạo ra một kết nối đến một FTP server để gửi và lấy cáctập tin đến và đi từ các máy chủ. Những mục tiêu chính của FTP là để làm cho chuyểntập tin đơn giản, và che chắn người dùng từ việc thực hiện chi tiết về làm thế nào các tậptin đang thực sự di chuyển từ một nơi khác. Để kết thúc, FTP được thiết kế để tự độngđối phó với nhiều vấn đề có khả năng phát sinh do có sự khác biệt về định dạng tập tinđược lưu trữ trên hệ thống khác nhau.Để đảm bảo rằng các tập tin được gửi và nhận được mà không làm mất dữ liệu có thểhỏng chúng, FTP sử dụng giao thức điều khiển truyền dẫn tin cậy tại tầng giao vận. Mộthệ thống xác thực được sử dụng để đảm bảo rằng máy khách ủy quyền chỉ được cho phépđể truy cập vào một máy chủ. Cùng lúc đó, một tính năng đơi khi được gọi là ẩn danh2 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcFTP cho phép một tổ chức mong muốn nó để thiết lập một máy chủ tổng hợp thông tinđể cung cấp các tập tin cho bất cứ ai có thể lấy chúng.Sau khi một kết nối TCP được thiết lập, một điều khiển kết nối FTP được tạo ra. Nội bộlệnh FTP được truyền qua kết nối logic này dựa trên định dạng quy tắc được thiết lập bởicác giao thức Telnet. Mỗi lệnh được gửi bởi các khách hàng sẽ nhận được một trả lời từmáy chủ để thơng báo nó đã thành công hay thất bại. Kết nối dữ liệu được thiết lập chomỗi dữ liệu cá nhân được chuyển. FTP hỗ trợ cả kết nối dữ liệu bình thường hoặc thụđộng, cho phép các máy chủ hoặc khách hàng đều có thể bắt đầu kết nối dữ liệu. Nhiềuloại dữ liệu và các loại tệp được hỗ trợ để cho phép sự linh hoạt với nhiều loại hình dịchvụ đưa đón.Giao diện giữa một người sử dụng FTP và các giao thức được cung cấp dưới dạng mộttập các lệnh tương tác người dùng. Sau khi thiết lập kết nối, và hồn tất xác thực hai lệnhcơ bản có thể được sử dụng để gửi hoặc nhận tệp.Ngoài ra những lệnh bổ sung được cungcấp để quản lý kết nối FTP, cũng như để thực hiện hỗ trợ chức năng chẳng hạn như danhsách nội dung của một thư mục hoặc xóa hoặc đổi tên tập tin. Những năm gần đây, đồhọa thực của FTP đã được tạo ra để cho phép người sử dụng để chuyển các tập tin bằngcách sử dụng chuột thay vì ghi nhớ lệnh. FTP có thể cũng được sử dụng trực tiếp các ứngdụng khác để di chuyển các tập tin từ một nơi khác.CHƯƠNG 2: MƠ HÌNH CƠ BẢN FTP VÀ NGUN LÝ HOẠT ĐỘNG2.1. Mơ hình kết nốiGiao thức FTP sử dụng kết nối TCP, nhưng nó khơng chỉ dùng một kênh TCP như phầnlớn các giao thức truyền thông khác. Quá trình truyền nhận dữ liệu giữa Client và Serverđược tạo nên từ 2 tiến trình TCP logic là Control Connection và Data Connection:• Control Connection (kênh điều khiển) : đây là kênh logic TCP được dùng để khởi tạomột kết nối FTP. Nó được duy trì xun suốt kết nối FTP và được sử dụng chỉ để truyềncá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.• Data Connection (Kênh dữ liệu): Mỗi khi dữ liệu được truyền từ server tới client, mộtkênh kết nối TCP nhất định lại được khởi tạo giữa chúng. Dữ 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. Khi file được truyền xong, kênhnày được ngắt. Việc sử dụng các kênh riêng lẻ như vậy tạo ra sự linh hoạt trong việctruyền truyền dữ. Tuy nhiên, nó cũng tạo cho FTP độ phức tạp nhất định.3 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcHình 2: Mơ hình kết nối TCP trong FTP.Quá trình trao đổi dữ liệu giữa client - server bao gồm:• Truyền một yêu cầu từ chương trình client tới chương trình server.• u cầu được server xử lý.• Truyền đáp ứng cho client.FTP hoạt động trên nền TCP nên cũng phải tuân theo bắt tay 3 hướng (three wayhandshake) và quá trình thiết lập connection giữa client và server như sau:• Client gửi một gói tin SYN đến Server.• Server nhận gói SYN, rồi gửi lại gói SYS-ACK cho Client.• Client nhận SYN-ACK, rồi gửi lại gói ACK thơng báo đồng ý tạo kết nối.2.2. Mơ hình hoạt độngDo 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ìnhhoạ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 logictương ứng với mỗi kênh.4 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcHình 3: Mơ hình hoạt động của FTP.Phía Server:• Server Protocol Interpreter (Server-PI): Chịu trách nhiệm quản lí Control Connectiontrên Server. Nó lắng nghe yêu cầu kết nối hướng từ User trên cổng 21. Khi kết nối đượcthiết lập, nó nhận lệnh từ User-PI, gửi phản hồi và quản lí tiến trình truyền dữ liệu trênServer.• Server Data Transfer Process (Server-DTP): chịu trách nhiệm nhận và gửi file từ UserDTP. Server - DTP vừa làm nhiệm vụ thiết lập Data Connection và lắng nghe Data5 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcConnection của User thơng qua cổng 20. Nó tương tác với Server File System trên hệthống cục bộ để đọc và chép file.Phía Client:• User Interface: Đây là chương trình được chạy trên máy tính, nó cung cấp giao diện xửlí cho người dùng, chỉ có trên phía Client. Nó cho phép người dùng sử dụng những lệnhđơn giản để điều khiển các session FTP, từ đó có thể theo dõi được các thơng tin và kếtquả xảy ra trong q trình.• User Protocol Interpreter (User - PI): Chịu trách nhiệm quản lí Control Connectionphía Client. Nó khởi tạo phiên kết nối FTP bằng việc phát hiện ra Request tới Server-PI.Sau khi kết nối được thiết lập, nó xử lí các lệnh nhận được trên User Interface, gửi chúngtới Server-PI rồi đợi nhận Response trở lại. Nó cũng quản lí các tiến trình trên Client.• User Data Transfer Process (User-DTP): Có nhiệm vụ gửi hoặc nhận dữ liệu từ ServerDTP. User-DTP có thể thiết lập hoặc lắng nghe DataConnection từ Server thông quacổng 20. Nó tương tác với Client File System trên Client để lưu trữ file.2.2. Nguyên lý hoạt độngCần có 2 kết nối TCP trong phiên làm việc của FTP: TCP Data connection trên cổng20, TCP Control connection trên cổng 21.Control connection : luôn được mở ở mọi thời điểm khi dữ liệu hoặc lệnh đượcgửi.Data connection : chỉ được mở khi có trao đổi dữ liệu thực.Trình tự chung của FTP hoạt động như sau:1. FTP Client mở Control connection đến FTP server (trên port 21) và chỉ định 1cổng trên Client để Server gửi lại phản hồi. Đường kết nối này dùng để truyềnlệnh và không phải là dữ liệu. Control connection sẽ mở trong suốt thời gian củaphiên làm việc (telnet giữa 2 hệ thống).2. Client chuyển tiếp thông tin như username, password tới Server để thực hiện xácthực (authentication). Server sẽ trả lời bằng mã chấp nhận hay từ chối của cácrequest.6 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí Ngọc3. Client gửi thêm các lệnh với tên tệp, kiểu dữ liệu, … để vận chuyển, thêm luồngdữ liệu(tức là chuyển tập tin từ máy khách đến máy chủ hoặc ngược lại). Serversẽ phản hồi với mã (reply code) chấp nhận hoặc từ chối.4. Khi dữ liệu đã sẵn sàng, 2 bên sẽ mở kết nối TCP trên cổng 20.5. Dữ liệu có thể được vận chuyển giữa Client và Server trên cổng 20. Dữ liệu vậnchuyển được mã hóa theo 1 số định dạng bao gồm NVT-ASCII hoặc nhịphân(binary).6. Khi quá trình vận chuyển dữ liệu được hoàn thành, phiên làm việc của FTP Serversẽ đóng lại Data Connection trên cổng 20. Nhưng vẫn giữ Control Connectiontrên cơng 21.7. Control connection có thể được sử dụng để thiết lập truyền dữ liệu khác hoặc đóngliên kết.CHƯƠNG 3: TÍNH BẢO MẬT CỦA FTPGiố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ày nay, nó khơngcịn bảo đảm tính an tồn cần thiết trên mơi trường Internet tồn cầu vì username vàpassword được gửi qua kênh kết nối điều khiển dưới dạng clear text. Điều này làmcho các thơng tin đăng nhập có thể bị nghe lén. Chuẩn RFC 2228 về các phần mởrộng cho bảo mật FTP đã định ra thêm nhiều tùy chọn chứng thực và mã hóa phứctạp cho những ai muốn tăng thêm mức độ an toàn vào trong phần mềm FTP của họ.Một phương pháp hữu hiệu hơn đó là sử dụng giao thức FTPS (FTP trên SSL) cungcấp khả năng mã hóa giao thức cho các dữ liệu được truyền. Việc cấu hình ISA Serverđể tạo FTP khá phức tạp vì chúng ta sẽ phải tạo thủ công một định nghĩa giao thứccho FTPS và vùng cổng mà kết nối FTPS sử dụng.CHƯƠNG 4: THIẾT LẬP KÊNH ĐIỀU KHIỂN VÀ CHỨNG THỰC NGƯỜIDÙNGTrướ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 đượcthiết lập. Như trong các giao thức client/server khác, FTP server tuân theo một luậtpassive trong kênh điều khiển. Bộ phận Server Protocol Interpreter (Server-PI) sẽlắng nghe cổng TCP dành riêng cho kết nối FTP là cổng 21. Phía User-PI sẽ tạo kếtnố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ên cổng đó. Nósử dụng một cổng bất kỳ làm cổng nguồn trong phiên kết nối TCP. Khi TCP đã đượccài đặt xong, kênh điều khiển giữa các thiết bị sẽ được thiết lập, cho phép 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ôngbáo.7 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcBướ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). Bước này có hai mục đích: Access Control (Điều khiển truy cập): q trình chứng thực cho phép hạn chế truycập tới server với những người dùng nhất định. Nó cũng cho phép server điều khiểnloạ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): Bằng việc nhận dạng người dùng tạokết nối, FTP server có thể đưa ra quyết định sẽ cung cấp những nguồn nào chongười dùng đã được nhận dạng đó.Trình tự truy cập và chứng thực FTP: Quy luật chứng thực trong FTP khá đơngiản, chỉ là cung cấp username/password. Trình tự của việc chứng thực như sau:Hình 4: Trình tự chứng thực người dùng của FTP.1. Người dùng gửi một username từ User-PI tới Server-PI bằng lệnh USER. Sauđó password của người dùng được gửi đi bằng lệnh PASS.2. Server kiểm tra tên người dùng và password trong database người dùng của nó.Nếu người dùng hợp lệ, server sẽ gửi trả một thông báo tới người dùng rằng phiên kếtnối đã được mở. Nếu người dùng không hợp lệ, server yêu cầu người dùng thực hiệnlại việc chứng thực. Sau một số lần chứng thực sai nhất định, server sẽ ngắt kết nối.8 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcGiả sử quá trình chứng thực đã thành cơng, server sau đó sẽ thiết lập kết nối để chophép từng loại truy cập đối với người dùng được cấp quyền. Mộ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 file nhất định. Một sốserver có thể cấp quyền cho một số người dùng đọc và viết lên server, trong khi chỉcho phép đọc đối với những người dùng khác. Người quản trị mạng có thể nhờ đó màđáp ứng đúng các nhu cầu truy cập FTP.Mộ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ài nguyên dựavà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ảntrị có thể thiết lập FTP để khi có bất cứ người dùng nào kết nố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 ACCT (account) cũngcho phép người dùng chọn một tài khoản cá nhân nào đó nếu như có nhiều hơn mộttài khoản.CHƯƠNG 5: DỮ LIỆU VÀ QUẢN LÝ KÊNH DỮ LIỆU FTP5.1 Dữ liệu trong FTPCác tập tin được coi như một tập hợp các byte. FTP không quan tâm nội dung tập tin, sẽchỉ đơn giản là di chuyển các tệp tin, các byte cùng 1 thời điểm, từ nơi này sang nơi khác.5.1.1. FTP Data Types:Phần đầu tiên của thông tin có thể được đưa ra về tập tin là kiểu dữ liệu của nó. Có 4 kiểudữ liệu khác nhau được quy định trong chuẩn của FTP.ASCII: file văn bản ASCIIEBCDIC: tương tự ASCII, nhưng sử dụng kiểu kí tự EBCDIC do IBM đặt.Image: Các tập tin khơng có cấu trúc nội bộ chính thức.Local: Kiểu dữ liệu này được sử dụng để xử lí các tập tin có thể lưu trữ dữ liệutrong byte logic. Cách xác định loại này cùng với cách dữ liệu có cấu trúc chophép dữ liệu được lưu trữ trên hệ thống đích một cách phù hợp với đại diện localcủa nó.Trong thực tế, hai loại kiểu dữ liệu thường xuyên nhất được sử dụng là ASCII và Image.Kiểu ASCII được sử dụng cho các tập tin văn bản, và cho phép chúng được di chuyểngiữa các hệ thống với dòng kết thúc mã chuyển đổi tự động. Loại Image được sử dụngcho các tập tin nhị phân, chẳng hạn như đồ họa hình ảnh, tập tin ZIP và các dữ liệu khác.Nó cũng thường được gọi là kiểu nhị phân vì lý do đó.9 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí Ngọc5.1.2. FTP Format ControlĐối với các loại ASCII và EBCDIC, FTP xác định 1 tham số tùy chọn được gọi là “formatcontrol” (điều khiển định dạng), nó cho phép người dùng chỉ định một đại diện cụ thểcho cách sử dụng định dạng dọc để mơ tả tệp.Các tùy chọn kiểm sốt định dạng được tạo ra cho mục đích cụ thể đúng cách xử lý cáctập tin chuyển giao từ các thiết bị máy chủ đến máy in. Nó khơng được sử dụng ngàynay, hoặc nếu nó được sử dụng, nó chỉ là trong ứng dụng đặc biệt. Ba tùy chọn trong FTPFormat Control:Non Print : Đây là tùy chọn mặc định, cho biết khơng có định dạng dọcTelnet Format : Tệp sử dụng các kí tự điều khiển định dạng dọc, như được chỉđịnh trong giao thức TelnetCarriage Control/FORTRAN : Tệp sử dụng kí tự điều khiển được định dạng đưara làm kí tự đầu tiên của mỗi dịng, như được xác định cho ngơn ngữ lập trìnhFORTRAN.5.1.3. FTP Data StructuresNgồi việc xác định một loại dữ liệu tệp tin, ta cũng có thể xác định cấu trúc tệp tin theo3 cách:File Structure: Tệp là 1 luồng byte liền kề không có cấu trúc bên trong. Đây làcách mặc định và được sử dụng cho hầu hết các loại tệp.Record Structure: Tệp bao gồm một tập hợp các bản ghi, mỗi bản ghi được phânđịnh bằng đánh dấu end-of-record. Cấu trúc bản ghi có thể sử dụng cho các tệpvăn bản ASCII, nhưng chúng thường được gửi với cấu trúc tệp thông thường sửdụng kiểu dữ liệu ASCII.Page Structure: Tệp chứa 1 trang dữ liệu được lập chỉ mục đặc biệt. Cấu trúc nàykhơng được sử dụng phổ biến. Nó được tạo ra cho 1 máy tính cổ xưa được sửdụng trong ARPAnet đời đầu.5.2 Quản lý kênh dữ liệuKênh điều khiển được tạo ra giữa Server-PI và User-PI sử dụng quá trình thiết lậpkết nối và chứng thực được duy trì trong suốt phiên kết nối FTP. Các lệnh và 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ệuthì khơng.10 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcMỗ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. Kênh dữ liệu kết nối bộ phận User-DTP với Server-DTP. Kết nối này cầnthiết cho cả hoạt động chuyển file trực tiếp (gửi hoặc nhận một file) cũng như đối vớiviệc truyền dữ liệu ngầm, như là yêu cầu một danh sách file trong thư mục nào đó trênserver.Hình 5: Hai dạng kết nối kênh dữ liệu trong FTP.5.2.1. Kết nối kênh dữ liệu dạng chủ động - Active FTP.Trong dạng kết nối này, phía Server-DTP khởi tạo kệnh dữ liệu bằng việc mở một cổngTCP cho phía User-DTP. Phía server sử dụng cổng được dành riêng, là cổng 20 cho kênhdữ liệu. Trên máy client, một giá trị cổng được chọn theo mặc định chính là cổng đượcsử dụng đối với kênh điều khiển, tuy nhiên phía client sẽ ln chọn hai cổng riêng biệtcho hai kênh này.11 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcHình 6: Kết nối kênh dữ liệu chủ động trong FTP.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à 39162 tớicổng điều khiển trên server là cổng 21. Khi đó, để tạo một kênh dữ liệu cho việc truyềndữ liệu, phía Server-PI sẽ báo cho phía Server-DTP khởi tạo một kênh kết nối TCP từcổng 20 tới cổng 38893 của phía client. Sau khi phía client chấp nhận kênh được khởitạ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. Do đó, phíaclient nên chỉ định sử dụng một cổng khác bằng việc sử dụng lệnh PORT trước khi truyềndữ liệu.VD:- FTP Client: Mở một port cao bất kỳ gửi gói tin SYN, ví dụ từ Port 39126 đến Port 21trên FTP Server với mục đích thơng báo.- FTP Server: Đồng ý và gửi lại gói tin SYN/ACK từ Port 21 đến Port 39162 trên FTPClient.- FTP Client: Sẽ gửi lại gói tín ACK từ Port 39162 đến Port 21 trên FTP Server đồng ýtạo kết nối. Tại thời điểm này Connection Control đã được khởi tạo xong.12 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí Ngọc- FTP Client: Sử dụng Connection Control được tạo trước đó để gửi command PORTyêu cầu FTP Server dùng Active Mode để truyền file,từ Port 39162đến Port 21 trên FTP Server. Đồng thời thơng báo cho FTP Server biết nó sẽ mở Port38893 mới để chờ tạo Connection Data.- FTP Server: Nhận được yêu cầu và tiến hành đàm phán bắt tay 3 bước với FTP Client.Nó sẽ gửi gói SYN từ Port 20 đến Port 38893, rồi nhận lại SYN/ACK rồi tiếp tục gửiACK đến khi quá trình bắt tay 3 bước hoàn tất.5.2.2. Kết nối kênh dữ liệu dạng bị động - Passive FTP.Trong kết nối bị động, client sẽ nhận server là bên bị động, làm nhiệm vụ chấpnhận một yêu cầu kết nối kênh dữ liệu được khởi tạo từ phía client. Server trả lời lại phíaclient với địa chỉ IP cũng như địa chỉ cổng mà nó sẽ sử dụng. Phía Server-DTP sau đó sẽlắng nghe một kết nối TCP từ phía User-DTP trên cổng này. Mặ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ếtnố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ộtgiá trị cổng khác cho kênh dữ liệu. Ta sẽ xét lại ví dụ ở trên một lần nữa, với cổng điềukhiển phía client là 1026 tới cổng 21 phía server. Nhưng lần này truyền dữ liệu theophương thức kết nối bị động, như mơ tả trong hình dưới đây:Hình 7: Kết nối kênh dữ liệu bị động trong FTP.13 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí Ngọc- FTP Client: Gửi gói tin SYN từ Port 47962 đến Port 21 trên FTP Server với mục đíchthơng báo.- FTP Server: Đồng ý và gửi lại gói tin SYN/ACK từ Port 21 đến Port 47962 trên FTPClient.- FTP Client: Sẽ gửi lại gói tín ACK từ Port 47962 đến Port 21 trên FTP Server đồng ýtạo kết nối. Tại thời điểm này Connection Control đã được khởi tạo xong.- FTP Client: Để truyền dữ liệu theo Passive Mode, FTP Client chủ động gửicommand PASV trên Connection Control.- FTP Server: Nhận được yêu cầu phải dùng Passive Mode để truyền dữ liệu, nó mở Port54157 và response lại cho FTP Client biết sẽ dùng Port 54157 để tạo Connection Data.-FTP Client: Nhận được phản hồi, nó sẽ mở Port 52771 để tiến hành đàm phán 3 bướcvới FTP Server. Các bước diễn ra tuần tự như hình bên dưới.Sau bước này ConnectionData đã khởi tạo xong giữa FTP Client Port 52771 và FTP Server Port 54157.CHƯƠNG 6: CÁC PHƯƠNG THỨC TRUYỀN DỮ LIÊU TRONG FTPKhi kênh dữ liệu đã được thiết lập xong giữa Server-DTP với User-DTP, dữ liệusẽ được truyền trực tiếp từ phía client tới phía server, hoặc ngược lại, dựa theo các lệnhđược sử dụng. Do thông tin điều khiển được gửi đ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. FTP có ba phương thức truyền dữliệu, đó 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ấu trúcliên tiếp. Thiết bị gửi chỉ đơn thuần đầy luồng dữ liệu qua kết nối TCP tới phía nhận.Khơng có một trường tiêu đề nhất định được sử dụng trong phương thức này làm cho nókhá khác so với nhiều giao thức gửi dữ liệu rời rạc khác. Phương thức này chủ yếu dựavào tính tin cậy trong truyền dữ liệu của TCP. Do nó khơng có cầu trúc dạng header, nênviệc báo hiệu kết thúc file sẽ đơn giản được thực hiện bằng việc phía thiết bị gửi ngắtkê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ều nhấttrong triển khai FTP thực tế. Có một số lý do giải thích điều đó. Trước hết, nó là phươngthứ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ác file đều đơn thuần như là xử lý dịng byte,mà khơng để ý tới nội dung của các file. Thứ ba, nó là phương thức hiệu quả nhất vì nókhơng tốn một lượng byte “overload” để thơng báo header.Block mode:14 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcĐâ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. Mỗi block nàycó một trường header 3 byte báo hiệu độ dài, và chứa thơng tin về các khối dữ liệu đangđược gửi.Hình 8: FTP block header.Descriptor: 128: kết thúc của data block là EOR. 64: kết thúc của data block là EOF. 32: có lỗi trong data block. 16: block là một Restart Marker Byte count:số bytes trong data blockCompressed mode:Đây là một phương thức truyền sử dụng một kỹ thuật né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àicủa tồn bộ thơng điệp. Thơng tin khi đã được nén, sẽ được xử lý như trong block mode,với trường header. Trong thực tế, 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.Trong đó hai bit đầu 10 để biểu thị Replicate byte,n là số lần byte d được lập lại.Hình 9: Replicated byte.15 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcCHƯƠNG 7: COMMAND VÀ REPLY CODES CỦA FTP7.1 Các lệnh commandCác commands và reply codes được dùng để trao đổi giữa User-PI và ServerPI.Trong đóUser-PI sẽ gửi command tới Server-PI để thực hiện một hành động nào đóvà Server-PI sẽ gửi lại reply codes cho User-PI để báo kết quả và một số thông tin quantrọng khác.Các command thường được chia làm 3 nhóm: Access Control Command: là các command tham gia quá trình đăng nhậpvà chứng thực người dùng như USER, PASS. Transfer Parameter Commands:là cáccommand quyết định quá trình truyền tải file như TYPE, PASV, EPSV. FTP Service Command: là các command thực hiện các thao tác với file nhưnhận,gửi,xóa file (DELE, STOR, RETR).7.2 Các reply codeMỗi lần User-PI gửi lệnh đến Server-PI qua Control connection, server sẽ gửi lại phảnhồi dưới dạng các code. Code reply nhằm các mục đích sau: Xác nhận máy chủ đã nhận được lệnh. Cho biết lệnh từ phía người dùng có được chấp nhận hay khơng, nếu xảy ra lỗi thì đólà lỗi gì. Cho biết nhiều thông tin khác nhau cho người dùng về phiên, ví dụ như là: tình trạngtruyền file, …CHƯƠNG 8: THỰC HIỆN MÔ PHỎNGDùng phần mềm VMWare để tạo máy ảo đóng vai trị CLIENT và SERVER cho việc môphỏng truyền nhận dữ liệu.16 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcHình 10: Các phần mềm sử dụngDùng Filezilla Server để tạo Server bên phía máy ảo Server, Filezilla Client để tạo giaodiện cho client bên phía máy ảo client, đồng thời dùng WireShark để bắt gói.Cài đạt kết nối mạng LAN cho máy ảo Server và máy ảo Client, đặt IP của máy ảo Serverlà 10.0.0.1 và Client là 10.0.0.2.Tạo User và Folder chứa file share trên FilerZilla server.Hình 11: Tạo User và Shared FileĐăng nhập vào Filezilla Client để tiến hành Upload và Download file.17 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcHình 12: Đăng nhập vào UserHình 13: Tiến hành Upload và Download FileDùng WireShark để phân tích q trình truyền nhận dữ liệu.18 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcHình 14: Q trình kết nối User với ServerHình 15: Quá trình truyền dữ liệu chế độ Passive19 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcPHỤ LỤC: MỘT SỐ LỆNH COMMANDPHỔ BIẾNMột số lệnh command phổ biến:CommandDescriptionABORAbort an active file transfer.ACCTAccount information.ADATAuthentication/Security DataALLOAllocate sufficient disk space to receive afile.APPEAppend (with create)AUTHAuthentication/Security MechanismAVBLGet the available spaceCCCClear Command ChannelCDUPChange to Parent Directory.20 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcCONFConfidentiality Protection CommandCSIDClient / Server IdentificationCWDChange working directory.DELEDelete file.DSIZGet the directory sizeENCPrivacy Protected ChannelEPRTSpecifies an extended address and port towhich the server should connect.EPSVEnter extended passive mode.FEATGet the feature list implemented by theserver.HELPReturns usage documentation on acommand if specified, else a general helpdocument is returned.HOSTIdentify desired virtual host on server, byname.LANGLanguage Negotiation21 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcLISTReturns information of a file or directoryif specified, else information of the currentworking directory is returned.LPRTSpecifies a long address and port to whichthe server should connect.LPSVEnter long passive mode.MDTMReturn the last-modified time of aspecified file.MFCTModify the creation time of a file.MFFModify fact (the last modification time,creation time, UNIX group/owner/modeof a file).MFMTModify the last modification time of a file.MICIntegrity Protected CommandMKDMake directory.MLSDLists the contents of a directory if adirectory is named.MLSTProvides data about exactly the objectnamed on its command line, and no others.MODESets the transfer mode (Stream, Block, orCompressed).NLSTReturns a list of file names in a specifieddirectory.NOOPNo operation (dummy packet; usedmostly on keepalives).22 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcOPTSSelect options for a featureexample OPTS UTF8 ON).PASSAuthentication password.PASVEnter passive mode.PBSZProtection Buffer SizePORTSpecifies an address and port to which theserver should connect.PROTData Channel Protection Level.PWDPrint working directory. Returns thecurrentdirectory of the host.QUITDisconnect.REINRe initializes the connection.RESTRestart transfer from the specified point.RETRRetrieve a copy of the fileRMDRemove a directory.RMDARemove a directory treeRNFRRename from.RNTORename to.SITESends site specific commands to remoteserver (like SITE IDLE 60 or SITEUMASK 002). Inspect SITE HELP outputfor complete list of supported commands.SIZEReturn the size of a file.23(for BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcSMNTMount file structure.SPSVUse single port passive mode (only oneTCP port number for both controlconnections and passive mode dataconnections)STATReturns information on the server status,including the status of the currentconnectionSTORAccept the data and to store the data as afile at the server siteSTOUStore file uniquely.STRUSet file transfer structure.SYSTReturn system type.THMBGet a thumbnail of a remote image fileTYPESets the transfer mode (ASCII/Binary).USERAuthentication username.24 BÀI TẬP LỚN MẠNG IPTS. Nguyễn Chí NgọcXCUPChange to the parent of the currentworking directoryXMKDMake a directoryXPWDPrint the current working directoryXRCPXRMDRemove the directoryXRSQXSEMSend, mail if cannotXSENSend to terminalBảng các commands giữa client và server của FTP100 SeriesThe requested action is being initiated, expectanother reply before proceeding with a newcommand.110Restart marker replay . In this case, the text isexact and not left to the particularimplementation; it must read: MARK yyyy =mmmm where yyyy is User process data stream25
Tài liệu liên quan
- Tìm hiểu về giao thức định tuyến EIGRP trong Router của CISCO
- 70
- 4
- 58
- Tìm hiểu về tri thức vector
- 25
- 941
- 1
- tìm hiểu về hình thức của di chúc
- 21
- 913
- 8
- Tìm hiểu về giao thức định tuyến BGP
- 52
- 2
- 17
- Tìm hiểu về giao thức định tuyến RIP và cấu hình trên Router
- 64
- 3
- 41
- tim hieu ve giao thuc SMTP docx
- 39
- 592
- 10
- Tìm hiểu về giao thức định tuyến border gateway protocol
- 88
- 755
- 0
- Tiểu luận về công nghiệp hoá , hiện đại hoá nông nghiệp và nông thôn là một trong những nhiệm vụ quan trọng của đất nước pps
- 22
- 511
- 0
- Đồ án môn học TÌM HIỂU VỀ GIAO THỨC PPTP
- 55
- 676
- 6
- tìm hiểu về giao diện, giao thức các hệ thống mạng trong công nghiệp
- 112
- 449
- 0
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(1.08 MB - 32 trang) - TÌM HIỂU VỀ GIAO THỨC TRUYỀN NHẬN FILE (FTP) Tải bản đầy đủ ngay ×Từ khóa » Trình Truyền File Ftp
-
FTP – Wikipedia Tiếng Việt
-
Giao Thức Truyền File FTP - Viblo
-
FTP Là Gì? Những điều Bạn Chưa Biết Về FTP
-
FTP Là Gì? Những điều Bạn Chưa Biết Về Giao Thức FTP
-
FTP Là Gì? Cách Thức Hoạt động Của File Transfer Protocol - Vietnix
-
Tải Phần Mềm Truyền File Ftp, Huong Dan Truyen File Ftp Full
-
[FTP][Phần 1]Tìm Hiểu Về Giao Thức FTP(File Transfer Protocol)
-
Hướng Dẫn Gửi File Thiết Kế Qua Ftp
-
Nguyên Lý Hoạt động Của Giao Thức FTP Như Thế Nào? - Semtek
-
FTP Là Gì? (File Transfer Protocol) FTP Server & FTP Client
-
FTP Là Gì? Những Thông Tin Chi Tiết Cần Biết Về Giao Thức FTP
-
FTP Là Gì? Cách Sử Dụng, ưu điểm Và Nhược điểm Của FTP.
-
Tìm Hiểu Và Lập Trình Socket Ftp Truyền File đơn Giản - Tài Liệu Text
-
Tìm Hiểu Về Giao Thức FTP: Khái Niệm, Nguyên Lý Hoạt động, Phân Loại