Tải bản đầy đủ (.pdf) (31 trang)

(TIỂU LUẬN) dự án hệ điều HÀNH MẠNG máy TÍNH tìm HIỂU hệ điều HÀNH LINUX và xây DỰNG hệ THỐNG TRUYỀNTẢI tập TIN FTP, TFTP

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.68 MB, 31 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THƠNG TIN

PBL4: DỰ ÁN HỆ ĐIỀU HÀNH &
MẠNG MÁY TÍNH
Đề tài 506:
TÌM HIỂU HỆ ĐIỀU HÀNH LINUX VÀ XÂY DỰNG
HỆ THỐNG TRUYỀN/TẢI TẬP TIN FTP, TFTP

SINH VIÊN THỰC HIỆN:
Nguyễn Huy Hịa

LỚP: 19TCLC_DT1

NHĨM: 19N15B

Võ Tuấn Mạnh Hùng

LỚP: 19TCLC_DT1

NHĨM: 19N15B

Trần Ngun Nam

LỚP: 19TCLC_DT1

NHÓM: 19N15B

GIẢNG VIÊN HƯỚNG DẪN: Nguyễn Thế Xuân Ly
DOANH NGHIỆP HƯỚNG DẪN:


Trung tâm Công nghệ Thông tin, VNPT Quảng Nam
KS. Nguyễn Đình Châu

Đà Nẵng, 12/2021

Tieu luan


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

MỤC LỤC
................................................................................................................................. 1
MỤC LỤC .............................................................................................................. 2
DANH SÁCH HÌNH VẼ ........................................................................................ 3
DANH SÁCH BẢNG BIỂU................................................................................... 4
DANH SÁCH CÁC TỪ VIẾT TẮT ...................................................................... 5
MỞ ĐẦU (GIỚI THIỆU ĐỀ TÀI) ......................................................................... 6
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT ....................................................................... 7
1.1.

Hệ điều hành Linux.................................................................................. 7

1.2.

Giao thức TCP và UDP ........................................................................... 8

1.3.

Giao thức FTP ........................................................................................ 11


1.4.

Giao thức TFTP ..................................................................................... 15

CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG........................................... 18
2.1.

Phân tích u cầu và tìm kiếm giải pháp ............................................... 18

2.2.

Giải pháp cho đề tài ............................................................................... 20

2.3.

Thiết kế hệ thống ................................................................................... 21

CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ ................................... 23
3.1.

Triển khai ............................................................................................... 23

3.2.

Đánh giá kết quả .................................................................................... 29

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................ 29
TÀI LIỆU THAM KHẢO .................................................................................... 31

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam


Tieu luan

Trang 2


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

DANH SÁCH HÌNH VẼ
Hình 1. Giao diện hệ điều hành Lubuntu ........................................................................7
Hình 2. Cấu trúc gói tin TCP ...........................................................................................8
Hình 3. Mơ tả thiết lập phiên FTP ...................................................................................9
Hình 4. Cấu trúc gói tin UDP ........................................................................................10
Hình 5. Minh họa tổng quát UDP ..................................................................................11
Hình 6. Minh họa tổng quát FTP ...................................................................................12
Hình 7. Minh họa hoạt động Active FTP ......................................................................13
Hình 8. Minh họa hoạt động Passive FTP .....................................................................14
Hình 9. Minh họa "Đọc" và "Ghi" của TFTP ................................................................17
Hình 10. Minh họa "Đọc" và "Ghi" khi có tùy chọn blocksize .....................................17
Hình 11. Mơ hình ứng dụng cho đề tài ..........................................................................20
Hình 12. Sơ đồ Use Case theo tác nhân User (FTP Client) ..........................................21
Hình 13. Sơ đồ Use Case theo tác nhân Admin (FTP Server) ......................................21
Hình 14. Sơ đồ Use Case theo tác nhân User (TFTP Client) ........................................22
Hình 15. Sơ đồ Use Case theo tác nhân Admin (TFTP Server) ....................................22
Hình 16. Giao diện đăng nhập dịch vụ FTP ..................................................................23
Hình 17. Giao diện chính dịch vụ TFTP .......................................................................23
Hình 18. Lựa chọn hướng truyền file cho TFTP ...........................................................24
Hình 19. Lựa chọn chế độ truyền file cho TFTP ...........................................................24
Hình 20. Lựa chọn tùy chọn blocksize cho TFTP .........................................................25
Hình 21. Giao diện người dùng kết nối thành công đến FTP Server (Active mode) ....25

Hình 22. Giao diện người dùng kết nối thành cơng đến FTP Client (Passive mode) ...26
Hình 23. Giao diện khi chọn chức năng tạo thư mục mới .............................................26
Hình 24. Giao diện khi chọn chức năng tạo tệp tin .......................................................26
Hình 25. Giao diện khi chọn chức năng Upload ...........................................................27
Hình 26. Giao diện khi chọn chức năng xóa .................................................................27
Hình 27. Giao diện khi chọn chức năng đổi tên ............................................................27
Hình 28. Giao diện khi chọn chức năng Download ......................................................28
Hình 29. Giao diện chính của TFTP Server ..................................................................28
Hình 30. Giao diện chính của FTP Server .....................................................................29
Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 3


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

DANH SÁCH BẢNG BIỂU
Bảng 1. Chi tiết thành phần cấu trúc gói tin TCP ..................................................9
Bảng 2. Chi tiết thành phần cấu trúc gói tin UDP ...............................................10
Bảng 3. So sánh TCP và UDP ..............................................................................11
Bảng 4. So sánh Active FTP và Passive FTP .......................................................15
Bảng 5. Các loại gói tin TFTP ..............................................................................16
Bảng 6. Ràng buộc về thiết kế và thực thi ............................................................19
Bảng 7. Yêu cầu phi chức năng ............................................................................19

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan


Trang 4


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

DANH SÁCH CÁC TỪ VIẾT TẮT
STT

Ký hiệu chữ viết tắt

Chữ viết đầy đủ

1

TCP

Transmission Control Protocol

2

UDP

User Datagram Protocol

3

FTP

File Transfer Protocol


4

TFTP

Trivial File Transfer Protocol

5

IP

Internet Protocol

6

OSI

Open Systems Interconnection

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 5


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

MỞ ĐẦU (GIỚI THIỆU ĐỀ TÀI)
Ngày nay, tin học nói chung và ngành Cơng nghệ thơng tin nói riêng đã có những

bước tiến nhanh chóng về ứng dụng của nó trong mọi lĩnh của cuộc sống trên phạm vi
toàn thế giới nói chung và Việt Nam nói riêng. Cơng nghệ thơng tin được người ta quan
tâm và nhắc đến nhiều hơn bao giờ hết vì nó đã và sẽ là một phần không thể thiếu trong
cuộc sống hiện đại, là một xu hướng phát triển tất yếu của xã hội, góp phần đẩy mạnh
cơng nghiệp hóa hiện đại hóa đất nước, tiến đến nền kinh tế tri thức. Máy vi tính cùng
với những phần mềm là công cụ đắc lực giúp ta quản lý, tổ chức, sắp xếp và xử lý cơng
việc một cách dễ dàng, nhanh chóng và chính xác.
Hiện nay, 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ủa cơng ty. Giao thức File Transfer Protocol (FTP) được sử dụng
nhiều nhấ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ủa việ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. Ta có
thể gửi đi và nhận những tệp tin có dung lượng lên đến vài trăm MB mà khơng phải lo
lắng nó khơng được chuyển đi. Ngồi ra, ta có Trivial File Transfer Protocol (TFTP), là
1 giao thức truyền file đơn giản, cho phép người dùng có thể truyền hoặc tải các tệp tin
từ trên các remote host như switch, router, server... TFTP được thiết kế nhỏ và dễ thực
hiện, và do đó nó thiếu hầu hết các tính năng nâng cao của các giao thức truyền tệp.
TFTP chỉ đọc và ghi tệp từ các máy chủ từ xa. Nó khơng thể liệt kê, xóa, hoặc đổi tên
các tập tin hoặc thư mục và cũng không có xác thực giữa client và server. TFTP là cơng
nghệ truyền file giữa các thiết bị mạng và là phiên bản đơn giản hóa của FTP. Với đề tài
này, chúng em mong muốn tạo ra một phần mềm thực tiễn hỗ trợ công ty đang triển khai
hệ thống lưu trữ và tải lên/ tải xuống tập tin dựa trên giao thức FTP và TFTP.
Chúng em chân thành cảm ơn sự hướng dẫn, chỉ bảo tận tình của thầy Nguyễn Thế
Xuân Ly - giảng viên trường Đại học Bách Khoa – Đại học Đà Nẵng. Thầy đã cho chúng
em nhiều kiến thức quan trọng và nhiều ý kiến đóng góp quý giá.

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan


Trang 6


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.1. Hệ điều hành Linux
1.1.1. Lịch sử
Vào năm 1991, khi đang theo học tại đại học Helsinki, ông Linus Torvalds đã bắt đầu
nảy sinh ý tưởng cho một hệ điều hành mới thay thế cho hệ điều hành cũ kỹ của nền
giáo dục hiện tại. Chính vì vậy ơng đã bắt tay vào viết những dịng lệnh đầu tiên của
Linux, đặt nền móng cho sự phát triển mạnh mẽ của hệ điều hành Linux hiện nay. Suốt
3 năm nghiên cứu rịng rã, cuối cùng ơng cũng cho ra được hệ điều hành đầu tiên là
Linux 1.0, đặt nền móng cho một đế chế mạnh mẽ sau này, cạnh tranh trực tiếp với
Window hay Mac OS.
1.1.2. Các phiên bản
Linux bao gồm nhiều phiên bản, vài cái tên nối tiếng và phổ biến như: Ubuntu,
Debian, Fedora, Kali, Red Hat, PopOS!… Ubuntu là một nhánh của Debian Linux,
được xem là loại HĐH dùng nhân Linux phổ biến nhất.

Hình 1. Giao diện hệ điều hành Lubuntu

a. Ưu điểm nổi bật của hệ điều hành Linux
-

Linh hoạt

-


Hồn tồn miễn phí

-

Mượt mà với cả “máy yếu”

-

Giao diện phong phú

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 7


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
-

Hoạt đổng ổn định, hiệu năng cao

-

Bảo mật cao

b. Nhược điểm của hệ điều hành Linux
-

Ứng dụng hỗ trợ không được phong phú


-

Một số nhà sản xuất không sản xuất Driver cho Linux

-

Khá mất thời gian để làm quen

1.2. Giao thức TCP và UDP
1.2.1. Giao thức TCP
a. Khái niệm
- Là giao thức cốt lõi nằm ở tầng giao vận (Transport) thuộc giao thức TCP/IP có
khả năng gửi tin đến các máy chủ khác trong mạng giao thức Internet.
- TCP là giao thức truyền tải hướng kết nối (connection-oriented), nghĩa là phải
thực hiện thiết lập kết nối với đầu xa trước khi thực hiện truyền dữ liệu. Tiến trình thiết
lập kết nối ở TCP được gọi là tiến trình bắt tay 3 bước (threeway handshake).
b. Đặc điểm
-

Cơ chế đánh số thứ tự gói tin (sequencing)

-

Có cơ chế báo nhận (Acknowledgement)

-

Phục hồi dữ liệu bị mất trên đường truyền


-

Cơ chế full-duplex (truyền và nhận dữ liệu cùng lúc)

-

Tránh tắc nghẽn (Flow control)

c. Cấu trúc gói tin TCP

Hình 2. Cấu trúc gói tin TCP

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 8


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
Thành phần

Chức năng/ Đặc điểm

Source port (16 bit)

Số hiệu của cổng tại máy tính gửi

Destination port (16 bit)


Số hiệu của cổng tại máy tính nhận

Sequence number (32 bit)

Dùng để đánh số thứ tự gói tin (từ số sequence nó
sẽ tính ra được số byte đã được truyền)

Acknowledge number (32 bit) Dùng để báo đã nhận được gói tin nào và mong
nhận được byte mang số thứ tự nào tiếp theo
Header length (4 bit)

Cho biết tồn bộ header dài bao nhiêu tính theo đơn
vị word

Các bit reserved (4 bit)

Đều được thiết lập bằng 0

Các bit control (9 bit)

Các bit dùng để điều khiển cờ (flag) ACK, cờ
Sequence,…

Window size (16 bit)

Số lượng byte được thiết bị sẵn sàng tiếp nhận

Checksum (16 bit)

Kiểm tra lỗi của toàn bộ TCP Segment


Urgent Pointer (16 bit)

Sử dụng trong trường hợp cần ưu tiên dữ liệu

Options (tối đa 32 bit)

Cho phép thêm vào TCP các tính năng khác

Data

Dữ liệu của tầng ứng dụng
Bảng 1. Chi tiết thành phần cấu trúc gói tin TCP

d. Cách thức hoạt động
-

Phiên TCP được thiết lập qua bắt tay 3 bước

Hình 3. Mơ tả thiết lập phiên FTP

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 9


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
1.2.2. Giao thức UDP

a. Khái niệm
- Ngược lại với giao thức TCP thì UDP là giao thức truyền tải hướng khơng kết
nối (connectionless). Nó sẽ khơng thực hiện thao tác xây dựng kết nối trước khi truyền
dữ liệu mà thực hiện truyền ngay lập tức khi có dữ liệu cần truyền (kiểu truyền best
effort)
b. Đặc điểm
- Truyền tải dữ liệu nhanh
- Khơng đảm báo tính tin cậy
- Khơng đánh số thứ tự các đơn vị dữ liệu được truyền
- Khơng có cơ chế phục hồi dữ liệu
c. Cấu trúc gói tin UDP
- Cấu trúc gói tin UDP thì đơn giản hơn rất nhiều so với TCP

Hình 4. Cấu trúc gói tin UDP

Thành phần

Chức năng/ Đặc điểm

Source port (16 bit)

Xác định cổng của người gửi thông tin

Destination port (16 bit)

Xác định cổng nhận thông tin

UDP length (16 bit)

Xác định chiều dài của toàn bộ datagram: phần

header và dữ liệu. Chiều dài tối thiểu là 8 byte khi
gói tin khơng có dữ liệu, chỉ có header

UDP checksum (16 bit)

Kiểm tra lỗi của phần header và dữ liệu

Bảng 2. Chi tiết thành phần cấu trúc gói tin UDP

d. Cách thức hoạt động
- UDP hoạt động tương tự như TCP nhưng nó khơng cung cấp kiểm tra lỗi khi
truyền gói tin
- Khi một ứng dụng sử dụng UDP, các gói tin chỉ được gửi đến người nhận. Người
gửi không đợi để đảm bảo người nhận nhận được gói tin hay khơng, mà tiếp tục gửi

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 10


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
các gói tiếp theo. Nếu bên nhận bỏ lỡ một vài gói tin UDP, họ sẽ mất vì bên gửi khơng
gửi lại chúng. Do đó thiết bị có thể giao tiếp nhanh hơn.

Hình 5. Minh họa tổng quát UDP

1.2.3. So sánh TCP và UDP
Giống nhau: Đều là các giao thức mạng TCP/IP, có chức năng kết nối các máy

lại với nhau và có thể gửi dữ liệu cho nhau…
Khác nhau:
TCP

UDP

Hướng kết nối

Không hướng kết nối

Độ tin cậy cao

Độ tin cậy thấp

Gửi dữ liệu dạng luồng byte

Gửi đi Datagram

Gửi đầy đủ gói tin

Cho phép thất thốt gói tin

Đảm bảo việc truyền dữ liệu

Khơng đảm bảo truyền dữ liệu

Có sắp xếp thứ tự các gói tin

Khơng sắp xếp thứ tự các gói tin


Tốc độ truyền chậm hơn UDP

Tốc độ truyền nhanh

Bảng 3. So sánh TCP và UDP

1.3. Giao thức FTP
1.3.1. Khái niệm
FTP (File Transfer Protocol) nghĩa là "Giao thức truyền tập tin" là một trong những
giao thức Internet trên tầng ứng dụng, thường được dùng để sử dụng để lưu trữ, trao đổi
file qua mạng lưới truyền thông dùng giao thức TCP/IP.
Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 11


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
Giao thức FTP được sử dụng nhiều nhấ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ủa việ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.
1.3.2. Phương thức hoạt động
- Cần có 2 kết nối TCP trong phiên làm việc của FTP: TCP Data Connection trên
cổng 20, TCP Control Connection trên cổng 21
Control connection: Đây là kết nối TCP 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ì trong
suố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). Nó khơng được dùng để truyền file.
Data connection: Mỗi khi dữ liệu được truyền, một kê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 qua kê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ênh nà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ệc truyền truyền dữ. Tuy
nhiên, nó cũng tạo cho FTP độ phức tạp nhất định.

Hình 6. Minh họa tổng quát FTP

-

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 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ữ liệu. Control connection sẽ mở trong suốt thời gian của phiê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á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ận chuyển, thêm luồng
dữ 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). 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ổng 20.

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 12



PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
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ận
chuyển được mã hóa theo 1 số định dạng bao gồm NVT-ASCII hoặc nhị phân
(BINARY).
6. Khi q trình vận chuyển dữ liệu được hồn thành, phiên làm việc của FTP Server
sẽ đóng lại Data Connection trên cổ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.
1.3.3. Active FTP và Passive FTP
e. Active FTP
- Client sẽ kết nối từ một cổng N (N > 1023) đến cổng điều khiển của FTP server,
cổng 21. Sau đó, client sẽ lắng nghe trên cổng N+1 và gửi 1 câu lệnh “PORT N+1”
đến FTP server. Server sẽ kết nối tới cổng dữ liệu của client bằng cổng dữ liệu mặc
định của nó, cổng 20
- Đứng ở góc độ Firewall Server thì để hỗ trợ cho chế độ Active FTP này cần phải
mở những luồng xử lý sau.
+ FTP Server phải mở port 21 để đón nhận tất cả kết nối tới của Client.
+ FTP Server phải mở kết nối từ cổng 21 đến cổng > 1023 để trả lời yêu cầu của
Client.
+ FTP Server phải mở kết nối từ cổng 20 đến cổng > 1023 để tạo kết nối truyền dữ
liệu với Client.
+ FTP Server phải mở kết nối từ cổng > 1023 đến cổng 20 để xác nhận kết nối với
Client

Hình 7. Minh họa hoạt động Active FTP

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan


Trang 13


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
- Ở bước 1, từ command port 1026 Client kết nối tới control port 21 của Server và
gửi lệnh PORT 1027. Server gửi gói tin ACK (hiểu đơn giản là chấp nhận) về cho
Client ở bước 2. Bước 3 Server khởi tạo kết nối từ port data 20 tới port 1027 của Client
(port 1027 là port Client gửi cho Server ở bước 1). Và cuối cùng là Client gửi gói tin
ACK về cho Server.
- Vấn đề chính gặp phải khi sử dụng Active FTP là có thể bị mất kết nối ở phía
Client. Client khơng khởi tạo kết nối tới port data của Server mà nó đơn giản chỉ nói
với Server là tôi đang lắng nghe trên port 1027 và chờ Server kết nối tới. Nếu có tồn
tại Firewall đứng trước Client thì đơi khi kết nối sẽ bị chặn.
f. Passive FTP
- Một phương thức kết nối khác của FTP. Client truy cập chế độ Passive bằng cách
gửi một lệnh “PASV” đến Server
- Khi khởi tạo kết nối thì Client mở cổng N và N+1 (N > 1023). Cổng đầu tiên kết
nối tới cổng 21 của Server. Nhưng thay thì gửi lệnh “PORT N+1” như ở chế độ Active
thì Client sẽ gửi câu lệnh “PASV”. Lúc đó Server sẽ mở cổng P ( P > 1023) và gửi P
đến Client trong gói tin phản hồi PASV. Lúc này Client khởi tạo kết nối từ cổng N+1
của nó tới cổng P trên Server để truyền dữ liệu thực.
- Ở phía Server, để hỗ trợ chế độ Passive FTP này thì cần phải mở những luồng
giao tiếp như sau:
+ FTP Server phải mở cổng 21 nhận kết nối từ mọi Client
+ FTP Server phải mở các kết nối từ cổng 21 đi tới các cổng > 1023 để trả lời
(response) cho Client
+ FTP Server phải mở các cổng > 1023 để nhận kết nối cổng truyền dữ liệu từ
phía Client
+ FTP Server phải mở các cổng > 1023 tới các cổng > 1023 để trả lời chấp nhận

kết nối và truyền dữ liệu với Client

Hình 8. Minh họa hoạt động Passive FTP

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 14


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
- Tại bước 1. Client liên lạc với Server trên command port và đưa ra câu lệnh
PASV. Server trả lời ở bước 2 với PORT 1024 và nói với Client đây là port dữ liệu
tôi đang lắng nghe. Bước 3 Client khởi tạo data connection từ port Data của nó tới
port 1024 mà Server đã gửi cho nó. Cuối cùng là Server gửi lại gói tin ACK chấp
nhận.
c. So sánh giữa Active FTP và Passive FTP
Active FTP

Passive FTP

Client thiết lập kênh điều khiển, Server
thiết lập kênh dữ liệu

Client thiết lập kênh điều khiển, kênh dữ
liệu

Cung cấp bảo mật cho FTP Server


Không cung cấp bảo mật cho FTP Server

Có thể gặp sự cố vì tường lửa

Khơng gặp sự cố kết nối vì tường lửa

Không được sử dụng làm chế độ mặc
định của trình duyệt

Được sử dụng làm chế độ mặc định của
Browser

FTP Client xác nhận kênh dữ liệu

FTP Server xác nhận kênh dữ liệu

Client gửi lệnh PORT đến Server

Client gửi lệnh PASV đến Server

Bảng 4. So sánh Active FTP và Passive FTP

1.4. Giao thức TFTP
1.4.1. Khái niệm
TFTP viết tắt của Trivial File Transfer Protocol. Đây là một công nghệ chuyển các
file giữa các thiết bị mạng và là phiên bản đơn giản hóa của giao thức FTP. TFTP được
phát triển vào những năm 1970, để cung cấp hỗ trợ FTP đầy đủ cho các máy tính thiếu
bộ nhớ hoặc ổ đĩa khơng đủ dung lượng. Do không được bảo mật trong quá trình truyền
tệp nên TFTP thường được ứng dụng trong mạng cục bộ (LAN) để backup, import
config IOS trên các thiết bị switch router firewall, hoặc cài đặt license cho các thiết bị

này. TFTP là công nghệ truyền file giữa các thiết bị mạng và là phiên bản đơn giản hóa
của File Transfer Protocol (FTP) mạnh mẽ hơn. TFTP được phát triển vào những năm
1970 dành cho các máy tính thiếu đủ bộ nhớ hoặc không gian ổ đĩa để cung cấp hỗ trợ
FTP đầy đủ. Ngày nay, TFTP được tìm thấy trên các router băng thông rộng tiêu dùng
và router mạng thương mại.
1.4.2. Phương thức hoạt động
- TFTP sử dụng UDP để giao tiếp tệp, do đó nó lắng nghe yêu cầu sử dụng port 69.
Sau khi nhận được yêu cầu từ máy khách, Server sử dụng port trong khoảng cho phép
để giao tiếp tệp.

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 15


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
- Có tổng cộng 6 loại gói tin TFTP:
Opcode Operation
1

Yêu cầu đọc (RRQ)

2

Yêu cầu ghi (WRQ)

3


Dữ liệu (DATA)

4

Xác nhận (ACK)

5

Lỗi (ERROR)

6

Xác nhận tùy chọn (OACK)
Bảng 5. Các loại gói tin TFTP

- Một máy khách thường gửi RRQ một tệp nào đó trên Server để lưu về máy khánh
và khách chỉ gửi WRQ khi ta muốn lưu một tệp nào đó trong bộ nhớ Server
- Khi điều này được thực hiện, một kết nối được thiết lập và tệp được vận chuyển
dưới dạng các gói nhỏ
- Tập tin được chia thành các gói nhỏ, trong đó mỗi gói mặc định sẽ có kích thước là
512 byte. Nếu header của WRQ hoặc RRQ có tùy chọn blocksize thì kích thước của gói
tin bằng giá trị blocksize ngoại trừ gói tin dữ liệu cuối cùng (có kích thước < kích thước
gói dữ liệu trước đó)
- Khi một gói dữ liệu được truyền từ A đến B, máy A sẽ đợi nhận được thông báo từ
máy B rằng gói đó đã được nhận bằng cách gửi gói xác nhận. Khi nhận được xác nhận,
A sẽ gửi gói dữ liệu tiếp theo. Điều này được thực hiện cho đến khi gói xác nhận cho
gói dữ liệu cuối cùng được truyền từ phía máy B đến máy A

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam


Tieu luan

Trang 16


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

Hình 9. Minh họa "Đọc" và "Ghi" của TFTP

Hình 10. Minh họa "Đọc" và "Ghi" khi có tùy chọn blocksize

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 17


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

a. Ứng dụng của TFTP
- Truyền tệp
- Sao lưu cấu hình mạng
- Lưu IOS image
- Khởi động từ xa không cần ổ cứng
- Nâng cấp Firmware

b. Ưu điểm của giao thức TFTP
- Sử dụng giao thức UDP
- Dễ dàng thao tác và cài đặt

- Sử dụng ít bộ nhớ hơn
- Yêu cầu mã hóa ít hơn

c. Nhược điểm của giao thức TFTP
- Kém an tồn
- Khó kiểm tra quyền truy cập vào tệp
- Chỉ nên hoạt động ở mạng nội bộ

CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1. Phân tích u cầu và tìm kiếm giải pháp
2.1.1. Phân tích u cầu đề tài
Triển khai hệ thống lưu trữ và tải lên/ tải xuống tập tin dựa trên giao thức FTP/
TFTP. Yêu cầu:
Xây dựng Client/Server FTP,TFTP có giao diện thân thiện, dễ sử dụng dựa trên nền
tảng các giao thức đã tìm hiểu và nắm vững.
Đầu vào:
- Lựa chọn cách truyền/ tải tập tin theo FTP hoặc TFTP.
- Sau khi đăng nhập (bắt buộc với FTP) thì duyệt cây thư mục để chọn tập tin tải
lên/xuống.
Đầu ra:
- Các tập tin được tải lên/ xuống 1 cách hợp lệ tương ứng với giao thức đã chọn.
- Truyền tải được file kích thước lớn ( > vài trăm Megabytes)

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 18



PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
a. Môi trường vận hành
Ứng dụng được chạy trên hệ điều hành Lubuntun (với Server), Windows (với Client),
được lập trình bằng ngôn ngữ Java, và giao diện được phát triển với JavaFX.
b. Ràng buộc về thiết kế và thực thi
Ràng buộc

STT
1

Lý do

- Ứng dụng dành cho Server chạy trên Đảm bảo yêu cầu của PBL về
môi trường Linux
mạng và hệ điều hành
- Ứng dụng dành cho Client chạy trên
môi trường Windows
Bảng 6. Ràng buộc về thiết kế và thực thi

c. Yêu cầu phi chức năng
STT Loại thuộc tính chức năng

Yêu cầu

1

Tính sẵn sàng/ khả dụng

- Hệ thống có khả năng sử dụng bất cứ
khi nào người dùng cần


2

Tính sử dụng được

- Hệ thống có giao diện thân thiện với
người dùng, dễ nhìn, dễ sử dụng

3

Tính dễ dàng di chuyển

- Hệ thống dễ dàng vận hành truyền
thông tốt trên 2 nền tảng hệ điều hành
Windows và Linux

Bảng 7. Yêu cầu phi chức năng

d. Yêu cầu chức năng
-

Chức năng cho FTP Server:
+ Hỗ trợ Active, Passive FTP
+ Cho phép thêm, sửa, xóa các users
+ Cho phép bật, tắt server nhanh chóng
+ Hiển thị user nào đang kết nối với hệ thống
+ Có khu vực hiển thị log hoạt động của người dùng, server

-


Chức năng cho FTP Client:
+ Cho phép tùy chọn Active, Passive FTP khi đăng nhập
+ Cho phép người dùng tải lên, sửa tên, xóa, tải xuống file
+ Hiển thị, liệt kê cây thư mục một cách trực quan, người dùng thao tác dễ dàng
chỉ bằng click chuột

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 19


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
+ Mỗi người dùng có thư mục chính độc lập với người dùng khác. Có thể tạo các
thư mục con tùy vào nhu cầu
-

Chức năng cho TFTP Server:
+ Cho phép thay đổi cổng lắng nghe
+ Cho phép bật/ tắt Server nhanh chóng
+ Cho phép thay đổi thư mục lưu file TFTP Server
+ Có khu vực hiển thị thơng báo hoạt động của server

-

Chức năng cho TFTP Client:
+ Cho phép tùy chọn GET (lấy về), PUT (đẩy lên) với file
+ Cho phép tùy chọn chế độ truyền ASCII, BINARY
+ Cho phép thay đổi kích thước blocksize để tăng tốc độ truyền


2.2. Giải pháp cho đề tài
2.2.1. Mơ hình ứng dụng

Hình 11. Mơ hình ứng dụng cho đề tài

2.2.2. Giải pháp cơng nghệ
- Hệ điều hành: Windows 10, Lubuntu
- Java Development Kit (JDK) 15: Bộ công cụ phát triển cho Java
- JavaFX Software Development Kit (JDK) 15: Bộ công cụ phát triển cho JavaFX
-

JavaFX Scene Builder: cho phép ta thiết kế giao diện ứng dụng JavaFX, không cần
code

- Thư viện sử dụng: ControlsFX, FontAwesomeFX, JFoenix, Apache Commons Net,
Apache FtpServer

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 20


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH
2.3. Thiết kế hệ thống

Hình 12. Sơ đồ Use Case theo tác nhân User (FTP Client)


Hình 13. Sơ đồ Use Case theo tác nhân Admin (FTP Server)

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 21


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

Hình 14. Sơ đồ Use Case theo tác nhân User (TFTP Client)

Hình 15. Sơ đồ Use Case theo tác nhân Admin (TFTP Server)

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 22


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
3.1. Triển khai

Hình 16. Giao diện đăng nhập dịch vụ FTP

Hình 17. Giao diện chính dịch vụ TFTP


Nguyễn Huy Hịa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 23


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

Hình 18. Lựa chọn hướng truyền file cho TFTP

Hình 19. Lựa chọn chế độ truyền file cho TFTP

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan

Trang 24


PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH

Hình 20. Lựa chọn tùy chọn blocksize cho TFTP

Hình 21. Giao diện người dùng kết nối thành công đến FTP Server (Active mode)

Nguyễn Huy Hòa, Võ Tuấn Mạnh Hùng, Trần Nguyên Nam

Tieu luan


Trang 25


×