Một kết nối để sử dụng truyền dữ liệu, 1 kết nốicòn lại được sử dụng để điều khiển kết nối.. Data connection sử dụng port 20 – trên server: Kết nối này sửdụng các quy tắc rất phức tạp
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG TP.HCM
KHOA HỆ THỐNG THÔNG TIN VÀ VIẾN THÁM
BÁO CÁO KẾT THÚC HỌC PHẦN
QUẢN TRỊ MẠNG
ĐỀ TÀI: NGHIÊN CỨU VÀ TRIỂN KHAI HỆ THỐNG FTP TRUYỀN TẬP TIN, NỀN TẢNG WINDOWS SEVER 2003
TP Hồ Chí Minh, tháng 06 năm 2023
Giảng viên hướng dẫn: ThS Đặng Đức Trung
Sinh viên thực hiện: Lê Xuân Hiệp 0950080105
Ng Lê Thành Đạt 0950080092
Trang 2Nhận xét của giảng viên
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
……… , ngày….tháng… năm 2023 Giảng viên
Trang 3LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến Trường đại học Tài Nguyên &Môi Trường đã đưa môn học Quản trị mạng vào chương trình giảngdạy Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn -thầy Đặng Đức Trung đã dạy dỗ, truyền đạt những kiến thức quý báucho em trong suốt thời gian học tập vừa qua Trong thời gian học tậpdưới sự hướng dẫn của thầy, em đã có thêm cho mình nhiều kiếnthức bổ ích, tinh thần học tập hiệu quả và nghiêm túc Đây chắcchắn sẽ là những kiến thức quý báu, là hành trang để em có thểvững bước sau này
Quản trị mạng là một môn học thú vị, vô cùng bổ ích và có tính thực
tế cao Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thựctiễn của sinh viên Tuy nhiên, do vốn kiến thức còn nhiều hạn chế vàkhả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù nhóm em đã cốgắng hết sức nhưng chắc chắn báo cáo cuối kỳ khó có thể tránh khỏinhững thiếu sót và còn nhiều chỗ chưa chính xác, kính mong thầyxem xét và góp ý để bài báo cáo của em được hoàn thiện hơn
Thành Viên
nhóm 13
Trang 4
MỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG I CƠ SỞ LÝ THUYẾT 5
1.1 Tên đầu mục cấp 1 4
1.1.1 Tên đầu mục cấp 2 4
1.1.2 Tên đầu mục cấp 2 5
1.2 Tên đầu mục cấp 1 6
1.2.1 Tên đầu mục cấp 2 6
1.2.2 Tên đầu mục cấp 2 7
CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ 10
1.1 Tên đầu mục cấp 1 10
1.1.1 Tên đầu mục cấp 2 10
1.1.2 Tên đầu mục cấp 2 12
1.2 Tên đầu mục cấp 1 13
1.2.1 Tên đầu mục cấp 2 13
1.2.2 Tên đầu mục cấp 2 15
CHƯƠNG III CÀI ĐẶT THỰC NGHIỆM 16
3.1 Cài đặt cơ sở dữ liệu 16
3.2 Cài đặt phần mềm ứng dụng 18
3.3 Kiểm thử phần mềm 20
KẾT LUẬN 22
Kết quả đạt được 22
Hạn chế 22
Đề xuất 22
TÀI LIỆU THAM KHẢO 23
Trang 5MỞ ĐẦU
1 Lí do chọn đề tài
FTP là gì? Giao thức FTP là gì? Bạn nên biết gì về giao thức FTP Hiệnnay, việc chia sẻ dữ liệu ngày một trở nên phổ biến đối với các cánhân, một công ty, hay một trường học Nhất là các công ty hay tổchức có nhiều chi nhánh, thì việc tạo lập một máy chủ FTP để đồng bộhóa dữ liệu làm việc sẽ góp phần không nhỏ trong việc phát triển củacông ty
Mục đích nghiên cứu
Biết rõ hơn về Giao thức FTP cũng như những điều chưa từng biết vềgiao thức FTP và thực nghiệm cài đặt dùng thử
Trang 6CHƯƠNG I CƠ SỞ LÝ THUYẾT
1 Tìm hiểu về giao thức FTP (File Transfer Protocol) 1.1 Tổng quan về FTP:
Sử dụng để tải xuống máy tính các file từ máy chủ
Tại sao nên dùng FTP: Mặc dù việc truyền file từ hệ thống này sang
hệ thống khác rất đơn giản và dễ hiểu, nhưng đôi khi xảy ra nhữngvấn đề khác nhau Ví dụ, 2 hệ thống có thể có các quy ước tập tinkhác nhau, 2 hệ thống có các cách khác nhau để thể hiện văn bản
và dữ liệu hay 2 hệ thống có cấu trúc thư mục khác nhau, … Giaothức FTP khắc phục những vấn đề này bằng cách thiết lập 2 kết nốigiữa các máy chủ Một kết nối để sử dụng truyền dữ liệu, 1 kết nốicòn lại được sử dụng để điều khiển kết nối
2 Mô hình và nguyên lý hoạt động của FTP:
2.1Mô hình cơ bản FTP:
- Kết nối TCP trong FTP:
Trang 7Giống như hầu hết các giao thức TCP/IP, FTP dựa trên mô hình Client– Server Tuy nhiên, khác với các ứng dụng khác chạy trên nền TCP/IP,FTP cần tới 2 kết nối TCP:
Control connection (sử dụng port 21 – trên server): Đây là kết nốiTCP logic chính được tạo ra khi phiên làm việc được thiết lập Nóđược thực hiện giữa các quá trình điều khiển Nó được duy trì trongsuốt phiên làm việc và chỉ cho các thông tin điều khiển đi qua nhưlệnh hay response (phản hồi)
Data connection (sử dụng port 20 – trên server): Kết nối này sửdụng các quy tắc rất phức tạp vì các loại dữ liệu có thể khác nhau
Nó được thực hiện giữa các quá trình truyền dữ liệu Kết nối này mởkhi có lệnh chuyển tệp và đóng khi tệp truyền xong
- Mô hình FTP:
Sơ đồ minh họa:
Trang 8Do chức năng điều khiển và dữ liệu được truyền tải bằng cách sửdụng các kênh riêngbiệt nên mô hình FTP chia mỗi thiết bị thành 2phần giao thức logic chịu trách nhiệm cho mỗi kết nối ở trên:
Protocol interpreter (PI): Là thành phần quản lý kênh điều khiển,
phát và nhận lệnh và trả lời
Data transfer process (DTP): chịu trách nhiệm gửi và nhận dữ
liệu giữa client và server
- Chức năng từng phần trong mô hình FTP:
Phía Server:
Trang 9 Server Protocol Interpreter (Server-PI) : Chịu trách nhiệm
quản lí Control Connection trên Server Nó lắng nghe yêu cầu kếtnối hướng từ User trên cổng 21 Khi kết nối được thiế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ên Server
Server Data Transfer Process (Server-DTP) : chịu trách
nhiệm nhận và gửi file từ User-DTP Server-DTP vừa làm nhiệm vụthiết lập Data Connection và lắng nghe Data Connection của Userthô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ềukhiển các session FTP, từ đó có thể theo dõi được các thông tin vàkết quả xảy ra trong quá trình
User Protocol Interpreter (User-PI): Chịu trách nhiệm quản lí
Control Connection phía Client Nó khởi tạo phiên kết nối FTPbằng việc phát hiện ra Request tới Server-PI Sau khi kết nối đượcthiết lập, nó xử lí các lệnh nhận được trên User Interface, gửichúng tớ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ừ Server-DTP User-DTP có thể thiết lập hoặclắng nghe DataConnection từ Server thông qua cổng 20 Nótương tác với Client File System trên Client để lưu trữ file
2.2Nguyên lý hoạt động của FTP:
Cần có 2 kết nối TCP trong phiên làm việc của FTP: TCP Dataconnection trên cổng 20, 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 được gử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 port21) và chỉ định 1 cổng trên Client để Server gửi lại phản hồi.Đường kết nối này dùng để truyền lệnh và không phải là dữ
Trang 10liệ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ớiServer để thực hiện xác thực (authentication) Server sẽ trảlời bằng mã chấp nhận hay từ chối của các request
3 Client gửi thêm các lệnh với tên tệp, kiểu dữ liệu, … để vậnchuyển, thêm luồng dữ liệu(tức là chuyển tập tin từ máykhách đến máy chủ hoặc ngược lại) Server sẽ 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ổng20
5 Dữ liệu có thể được vận chuyển giữa Client và Server trêncổng 20 Dữ liệu vận chuyển được mã hóa theo 1 số địnhdạ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ênlàm việc của FTP Server sẽ đóng lại Data Connection trêncổng 20 Nhưng vẫn giữ Control Connection trê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 đóng liên kết
2.3Một số lệnh Command sử dụng trên FTP:
Trang 112.4FTP Reply:
Mỗi lần User-PI gửi lệnh đến Server-PI qua Control connection, server
sẽ gửi lại phản hồ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ạng truyền file, …
Cấu trúc của FTP reply code : Xyz
Ý nghĩa của x trong FTP reply code:
Trang 12Tham số y cung cấp thêm thông tin như bảng dưới z cũng cung cấp thêm thông tin nhưng ý nghĩa chính xác có thể khác nhau giữa các cài đặt.
Chú ý: Điều quan trọng cần lưu ý trong FTP, các Request không
nhất thiết phải được thực hiện theo cùng 1 trình tự khi đã gửi, cácgiao dịch (transactions) và trả lời (reply) có thể được xen kẽ
Trang 132.5Tính bảo mật của FTP:
Giống như phần lớn các giao thức cũ, phương pháp đăng nhập đơngiản của FTP là một sự kế thừa từ những giao thức ở thời kì đầu củaInternet Ngày nay, nó không còn đảm bảo tính an toàn cần thiết
trên môi trường Internet toàn cầu vì username và password đượcgửi qua kênh kết nối điều khiển dưới dạng clear text(không mãhóa)
Điều này làm cho bảo mật FTP đã định ra thêm nhiều tùy chọnchứng thực và mã hóa phức tạ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ọ
2.6Kênh dữ liệu trong FTP:
Kê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ập kết nối và chứng thực được duy trì trong suốt phiênkế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ệu thì không.Mỗi khi cần phải truyền dữ liệu giữa các 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à Server-DTP Kết nối này cần thiết cho cả hoạt động truyền filetrực tiếp (gửi hoặc nhận một file) 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ách file trong thư mục nào đótrên server
Để tạo ra kênh dữ liệu, FTP sử dụng 2 phương thức khác nhau:
Normal (Active) Data Connections (mặc định) và Passive Data Connections.
Khác biệt giữa 2 phương thức này là phía Client hay bên Server đưa
ra yêu cầu khởi tạo kết nối
2.7Normal (Active) Data Connections:
Phương thức tạo kết nối dữ liệu bình thường hay còn gọi là Kết nốikênh dữ liệu ở dạng chủ động
Phía Server-DTP tạo kênh dữ liệu bằng cách mở một cổng kết nối tớiUser-DTP Server sử dụng cổng đặc biệt được dành riêng cho kết nối
dữ liệu là cổng số 20 Trên máy Client, cổng mặc định được sử dụngchính là cổng được sử dụng để kết nối điều khiển, nhưng Server sẽthường chọn mỗi cổng khác nhau cho mỗi chuyển giao
Trang 142.7.1 Passive Data Connections:
Phương thức tạo kết nối bị động
Server sẽ chấp nhận 1 yêu cầu kết nối dữ liệu được khởi tạo từClient
Server sẽ trả lời lại phía Client với địa chỉ IP cũng như địa chỉcổng mà Server sẽ sử dụng
Sau đó phía Server-DTP lắng nghe trên cổng này một kết nối TCPđến từ User-DTP
Theo mặc định, phía Client sẽ sử dụng cùng cổng mà nó sử dụngcho Control Connection như trong trường hợp chủ động Tuynhiên, trong phương pháp này, Client cũng có thể chọn sử dụngmột cổng khác cho Data Connection nếu cần thiết
2.8Các phương thức truyền dữ liệu trong FTP:
Khi Client-DTP và Server-DTP thiết lập xong kênh dữ liệu, 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,tùy theo các lệnh được sử dụng Do thông tin điều khiển được gửi đitrê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
Được sử dụng nhiều nhất trong 3 phương thức trong triểnkhai FTP thực tế Do:
Là phương thức mặc định và đơn giản nhất
Là phương thức phổ biến nhất, vì nó xử lí các file chỉđơn thuần là xử lí dòng byte, mà không cần để ý tớinội dung
Không tốn 1 lượng byte “overload” nào để thôngbáo Header
2.8.2 Block Mode:
Trang 15 Phương thức truyền dữ liệu mang tính quy chuẩn hơn.
Dữ liệu được chia thành nhiều khối nhỏ và đóng gói thành cácFTP block
Mỗi block có 1 trường Header 3 byte: báo hiệu độ dài, và chứathông tin về các khối dữ liệu đang được gửi
Một thuật toán đặc biệt được sử dụng để kiểm tra các dữ liệu đãtruyền đi Và để phát hiện, khởi tạo lại đối với 1 phiên truyền dữliệu đã bị ngắt kết nối
2.8.3 Compressed Mode (Chế độ nén):
Phương thức truyền dữ liệu sử dụng 1 kỹ thuật nén đơn giản, là
“run-lenght encoding (mã hóa chiều dài)” – 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ềudài của toàn bộ thông điệp
Thông tin sau khi được nén, sẽ được xử lí như Block mode, vớitrường Header
Trong thực tế, việc nén dữ liệu thường được thực hiện ở chỗ khác,làm cho phương thức Compressed mode trở nên không cần thiết
2.9Dữ liệu trong FTP:
Các tập tin được coi như một tập hợp các byte FTP không quan tâmnội dung tập tin, sẽ chỉ đơn giản là di chuyển các tệp tin, các bytecùng 1 thời điểm, từ nơi này sang nơi khác
2.9.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ểu dữ liệu khác nhau được quy định trong chuẩn của FTP:
ASCII: file văn bản ASCII
EBCDIC: 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ệu trong byte logic Cách xác định loại này cùng vớicách dữ liệu có cấu trúc cho phé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 local của nó
Trang 16Trong 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ển giữa các hệ thống với dòng kếtthúc mã chuyển đổi tự động Loại Image được sử dụng cho các tậptin 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 đó
2.9.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à “format control” (điều khiển định dạng), nó cho phépngười dùng chỉ định một đại diện cụ thể cho cách sử dụng địnhdạng dọc để mô tả tệp
Các tùy chọn kiểm soát định dạng được tạo ra cho mục đích cụ thểđúng cách xử lý các tập tin chuyển giao từ các thiết bị máy chủ đếnmáy in Nó không được sử dụng ngày nay, hoặc nếu nó được sửdụng, nó chỉ là trong ứng dụng đặc biệt
3 tùy chọn trong FTP Format Control:
Non Print : Đây là tùy chọn mặc định, cho biết không có định
dạng dọc
Telnet 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 Telnet
Carriage Control/FORTRAN : Tệp sử dụng kí tự điều khiển
được định dạng đưa ra 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ình FORTRAN
2.9.3 FTP Data Structures:
Ngoài việc xác định một loại dữ liệu tệp tin, ta cũng có thể xác địnhcấu trúc tệp tin theo 3 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ácloạ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ảnghi có thể sử dụng cho các tệp vă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ày khô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