Tải bản đầy đủ (.doc) (90 trang)

Xây dựng phần mềm quản lý phòng máy thực hành trường đại học Hùng Vươ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 (823.89 KB, 90 trang )

LỜI CẢM ƠN
Trong suốt thời gian nghiên cứu khóa luận này, ngoài sự nỗ lực của bản
thân, em còn nhận được sự giúp đỡ, chỉ bảo tận tình của các thầy giáo, cô giáo
trong khoa Toán – Công Nghệ, Trường Đại học Hùng Vương.
Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo Phạm Đức Thọ
- giảng viên khoa Toán – Công Nghệ, Trường Đại học Hùng Vương. Thầy đã
dành nhiều thời gian quý báu tận tình hướng dẫn em trong suốt quá trình thực
hiện khóa luận này, đồng thời, thầy còn là người giúp em lĩnh hội được nhiều
kiến thức chuyên môn và rèn luyện cho em tác phong nghiên cứu đề tài.
Qua đây em xin gửi lời cảm ơn chân thành và sâu sắc tới các thầy giáo
cô giáo trong khoa Toán - Công Nghệ đã nhiệt tình giúp đỡ em trong suốt quá
trình học tập cũng như khi em thực hiện và hoàn thiện khóa luận này.
Mặc dù đã rất cố gắng song khóa luận của em không tránh khỏi những
thiếu sót. Vì vậy em rất mong nhận được sự góp ý của các thầy giáo, cô giáo
và các bạn để khóa luận được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Phú thọ, Tháng 5 năm 2014
Sinh viên
Phùng Trọng Chiến
MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1 5
TỔNG QUAN VỀ MẠNG MÁY TÍNH VÀ LẬP TRÌNH ỨNG DỤNG
MẠNG TRONG C# 5
1.1. Tổng quan về mạng máy tính 5
1.1.1. Khái niệm mạng máy tính 5
Hình 1.1. Mô hình mạng máy tính 5
1.1.2. Mô hình OSI và chức năng các tầng 5
Hình 1.2. Mô hình OSI 6
1.1.3. Họ giao thức TCP/IP 7
Hình 1.3. Mô hình TCP/IP 8


1.1.4. Một số kiểu mạng LAN 9
Hình 1.4. Mô hình mạng LAN kiểu BUS 11
Hình 1.5. Mô hình mạng LAN kiểu RING 12
Hình 1.6. Mô hình mạng LAN kiểu STAR 13
1.1.5. Mô hình kết nối và làm việc Server – Client 13
Hình 1.7. Mô hình làm việc Server – Client 14
Hình 1.8. Cơ chế truyền nhận dữ liệu mô hình Server – Client trong C# 15
1.2. Tổng quan về lập trình ứng dụng mạng trong C# 15
1.2.1. Giới thiệu về ngôn ngữ C# 15
1.2.2. Một số thư viện sử dụng trong lập trình ứng dụng mạng 16
CHƯƠNG 2 23
THỰC TRẠNG QUẢN LÝ PHÒNG MÁY VÀ PHÂN TÍCH THIẾT KẾ HỆ
THỐNG 23
2.1. Thực trạng quản lý phòng máy 23
2.1.1. Tình hình chung 23
2.1.2. Thực trạng quản lý phòng máy trường Đại học Hùng Vương 23
2.1.3. Một số phần mềm quản lý phòng máy hiện có 24
2.1.3.1. Các phần mềm trong nước 25
2.1.3.2. Các phần mềm nước ngoài 31
2.2. Phân tích thiết kế hệ thống 33
2.2.1. Mô tả hệ thống 33
Hình 2.1. Sơ đồ mô tả chương trình quản lý phòng máy 33
2.2.2. Các yêu cầu xây dựng phần mềm 34
2.2.3. Đặc tả chức năng 35
2.2.4. Phân tích thiết kế hệ thống 37
2.4.1. Xây dựng biểu đồ phân cấp chức năng 37
Hình 2.2. Biểu đồ phân cấp chức năng 37
2.4.2. Xây dựng biểu đồ luồng dữ liệu mức khung cảnh 38
Hình 2.3. Biểu đồ luồng dữ liệu mức khung cảnh 38
2.4.3. Xây dựng biểu đồ luồng dữ liệu mức đỉnh 39

Hình 2.4. Biểu đồ luồng dữ liệu mức đỉnh 39
2.4.4. Xây dựng biểu đồ luồng dữ liệu mức dưới đỉnh 40
Hình 2.5. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng điều khiển 40
Hình 2.6. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng giám sát 42
CHƯƠNG 3 43
XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ PHÒNG MÁY THỰC HÀNH
TIN HỌC 43
3.1. Xây dựng giao diện chương trình và các phương thức kết nối 43
Hình 3.1. Giao diện máy chủ 43
3.2. Xây dựng chức năng quản lý cổng USB và thiết bị nhớ ngoài 46
3.2.1. Xây dựng chức năng nhận diện cổng USB và thiết bị nhớ ngoài 46
Hình 3.2. Giao diện chức năng nhận diện USB 46
Hình 3.3. Hộp thoại cảnh báo máy trạm sử dụng USB, thiết bị nhớ ngoài 46
3.2.2. Xây dựng chức năng khóa cổng USB 47
Hình 3.4. Giao diện chương trình khóa cổng USB 48
3.2.3. Xây dựng chức năng mở cổng USB 48
Hình 3.5. Giao diện chức năng khóa cổng USB 49
3.3. Xây dựng chức năng tắt máy, khởi động lại 49
Hình 3.6. Giao diện tắt máy trạm 50
3.4. Xây dựng chức năng chat với máy trạm 51
Hình 3.7. Giao diện chương trình chat 51
3.5. Xây dựng chức năng gửi dữ liệu 52
Hình 3.8. Giao diện gửi dữ liệu 52
Hình 3.9. Quá trình gửi dữ liệu 53
3.6. Xây dựng chức năng điều khiển máy trạm 53
Hình 3.10. Giao diện điều khiển máy trạm tại máy chủ 54
3.7. Xây dựng chức năng quản lý thi 55
Hình 3.11. Giao diện thiết lập thời gian thi 55
Hình 3.12. Hộp thoại cảnh báo lưu bài cho thí sinh 56
Hình 3.13. Hộp thoại thông báo chuột và bàn phím đã bị khóa 56

3.8. Xây dựng chức năng quản lý Internet 58
KẾT LUẬN 60
TÀI LIỆU THAM KHẢO 61
PHỤ LỤC 62
DANH MỤC HÌNH
MỞ ĐẦU 1
CHƯƠNG 1 5
TỔNG QUAN VỀ MẠNG MÁY TÍNH VÀ LẬP TRÌNH ỨNG DỤNG
MẠNG TRONG C# 5
1.1. Tổng quan về mạng máy tính 5
1.1.1. Khái niệm mạng máy tính 5
Hình 1.1. Mô hình mạng máy tính 5
1.1.2. Mô hình OSI và chức năng các tầng 5
Hình 1.2. Mô hình OSI 6
1.1.3. Họ giao thức TCP/IP 7
Hình 1.3. Mô hình TCP/IP 8
1.1.4. Một số kiểu mạng LAN 9
Hình 1.4. Mô hình mạng LAN kiểu BUS 11
Hình 1.5. Mô hình mạng LAN kiểu RING 12
Hình 1.6. Mô hình mạng LAN kiểu STAR 13
1.1.5. Mô hình kết nối và làm việc Server – Client 13
Hình 1.7. Mô hình làm việc Server – Client 14
Hình 1.8. Cơ chế truyền nhận dữ liệu mô hình Server – Client trong C# 15
1.2. Tổng quan về lập trình ứng dụng mạng trong C# 15
1.2.1. Giới thiệu về ngôn ngữ C# 15
1.2.2. Một số thư viện sử dụng trong lập trình ứng dụng mạng 16
CHƯƠNG 2 23
THỰC TRẠNG QUẢN LÝ PHÒNG MÁY VÀ PHÂN TÍCH THIẾT KẾ HỆ
THỐNG 23
2.1. Thực trạng quản lý phòng máy 23

2.1.1. Tình hình chung 23
2.1.2. Thực trạng quản lý phòng máy trường Đại học Hùng Vương 23
2.1.3. Một số phần mềm quản lý phòng máy hiện có 24
2.1.3.1. Các phần mềm trong nước 25
2.1.3.2. Các phần mềm nước ngoài 31
2.2. Phân tích thiết kế hệ thống 33
2.2.1. Mô tả hệ thống 33
Hình 2.1. Sơ đồ mô tả chương trình quản lý phòng máy 33
2.2.2. Các yêu cầu xây dựng phần mềm 34
2.2.3. Đặc tả chức năng 35
2.2.4. Phân tích thiết kế hệ thống 37
2.4.1. Xây dựng biểu đồ phân cấp chức năng 37
Hình 2.2. Biểu đồ phân cấp chức năng 37
2.4.2. Xây dựng biểu đồ luồng dữ liệu mức khung cảnh 38
Hình 2.3. Biểu đồ luồng dữ liệu mức khung cảnh 38
2.4.3. Xây dựng biểu đồ luồng dữ liệu mức đỉnh 39
Hình 2.4. Biểu đồ luồng dữ liệu mức đỉnh 39
2.4.4. Xây dựng biểu đồ luồng dữ liệu mức dưới đỉnh 40
Hình 2.5. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng điều khiển 40
Hình 2.6. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng giám sát 42
CHƯƠNG 3 43
XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ PHÒNG MÁY THỰC HÀNH
TIN HỌC 43
3.1. Xây dựng giao diện chương trình và các phương thức kết nối 43
Hình 3.1. Giao diện máy chủ 43
3.2. Xây dựng chức năng quản lý cổng USB và thiết bị nhớ ngoài 46
3.2.1. Xây dựng chức năng nhận diện cổng USB và thiết bị nhớ ngoài 46
Hình 3.2. Giao diện chức năng nhận diện USB 46
Hình 3.3. Hộp thoại cảnh báo máy trạm sử dụng USB, thiết bị nhớ ngoài 46
3.2.2. Xây dựng chức năng khóa cổng USB 47

Hình 3.4. Giao diện chương trình khóa cổng USB 48
3.2.3. Xây dựng chức năng mở cổng USB 48
Hình 3.5. Giao diện chức năng khóa cổng USB 49
3.3. Xây dựng chức năng tắt máy, khởi động lại 49
Hình 3.6. Giao diện tắt máy trạm 50
3.4. Xây dựng chức năng chat với máy trạm 51
Hình 3.7. Giao diện chương trình chat 51
3.5. Xây dựng chức năng gửi dữ liệu 52
Hình 3.8. Giao diện gửi dữ liệu 52
Hình 3.9. Quá trình gửi dữ liệu 53
3.6. Xây dựng chức năng điều khiển máy trạm 53
Hình 3.10. Giao diện điều khiển máy trạm tại máy chủ 54
3.7. Xây dựng chức năng quản lý thi 55
Hình 3.11. Giao diện thiết lập thời gian thi 55
Hình 3.12. Hộp thoại cảnh báo lưu bài cho thí sinh 56
Hình 3.13. Hộp thoại thông báo chuột và bàn phím đã bị khóa 56
3.8. Xây dựng chức năng quản lý Internet 58
KẾT LUẬN 60
TÀI LIỆU THAM KHẢO 61
PHỤ LỤC 62
DANH MỤC BẢNG
Bảng 1.1. Một số phương thức sử dụng trong TCPClient………………… 17
Bảng 1.2. Các thành phần của lớp TCPListen…………………………….…18
Bảng 1.3. Các thành phần của lớp UDPClient………………………… 19
Bảng 1.4. Một số phương thức sử dụng trong socket không đồng bộ……….20
Bảng 1.5. Một số thuộc tính thường dùng…………………………… 21
Bảng 1.6. Một số phương thức thường dùng………………………… 22
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt Từ viết đầy đủ
TCP/IP Transmission Control Protocol/Internet Protocol

UDP User Datagram Protocol
IP Internet Protocol
OSI Open Systems Interconnection Reference Model
RIP Routing Information Protocol
FTP File Transfer Protocol
DNS Domain Name System
LAN Local Area Network
WAN Wide Area Network
DHCP Dynamic Host Configuration Protocol
RAM Random Access Memory
CPU Central Processing Unit
MỞ ĐẦU
1. Lý do lựa chọn đề tài khóa luận
Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ của
công nghệ thông tin. Công nghệ thông tin đã ở một bước phát triển cao đó là
số hóa tất cả các dữ liệu thông tin, luân chuyển mạnh mẽ và kết nối tất cả
chúng ta lại với nhau. Mọi loại thông tin, số liệu âm thanh, hình ảnh có thể
được đưa về dạng kỹ thuật số để bất kỳ máy tính nào cũng có thể lưu trữ, xử
lý và chuyển tiếp cho nhiều người. Những công cụ và sự kết nối của thời đại
kỹ thuật số cho phép chúng ta dễ dàng thu thập, chia sẻ thông tin và hành
động trên cơ sở những thông tin này theo phương thức hoàn toàn mới, kéo
theo hàng loạt sự thay đổi về các quan niệm, các tập tục, các thói quen truyền
thống, và thậm chí cả cách nhìn các giá trị trong cuộc sống. Công nghệ thông
tin đến với từng người dân, từng người quản lý, nhà khoa học, người nông
dân, bà nội trợ, học sinh….không có lĩnh vực nào, không có nơi nào không có
mặt của công nghệ thông tin. Công nghệ thông tin là một trong các động lực
quan trọng nhất của sự phát triển, ứng dụng và phát triển công nghệ thông tin
ở nước ta nhằm góp phần giải phóng sức mạnh vật chất, trí tuệ và tinh thần
của toàn dân tộc, thúc đẩy công cuộc đổi mới, phát triển nhanh và hiện đại
hoá các ngành kinh tế, tăng cường năng lực cạnh tranh của các doanh nghiệp,

hỗ trợ có hiệu quả cho quá trình hội nhập kinh tế quốc tế, nâng cao chất lượng
cuộc sống của nhân dân, đảm bảo an ninh quốc phòng và tạo khả năng đi tắt
đón đầu để thực hiện thắng lợi sự nghiệp công nghiệp hóa, hiện đại hóa.
Từ sự bùng nổ nhanh chóng của công nghệ thông tin trong xã hội, nhu
cầu trao đổi thông tin ngày tăng dẫn đến các điểm máy tính công cộng ra đời
với số lượng ngày càng lớn (điểm truy cập Internet, phòng máy nhà trường,
mạng cục bộ công ty, công sở ). Phần lớn các sự cố về an ninh mạng đều
chung một nguyên nhân do người dùng cuối cài đặt các chương trình không
1
được quản lý, hoặc không được phê chuẩn bởi người quản trị. Với lý do cần
đảm bảo an toàn mạng và xu thế phát triển mạng máy tính ngày càng lớn đã
đặt ra cho chúng ta vấn đề quản lý các phòng máy đó phải hiệu quả, an toàn.
Chính vì vậy, từ những lý do trên tôi đã lựa chọn đề tài “Xây dựng
phần mềm quản lý phòng máy thực hành Trường Đại học Hùng Vương”
cho khóa luận tốt nghiệp Đại học của mình.
2. Mục tiêu khóa luận
Tìm hiểu các công việc, chức năng nhiệm vụ của phòng máy thực hành
tin học của nhà trường.
Sản phẩm xây dựng được các chức năng:
• Quản lý các máy trạm trong hệ thống mạng LAN.
• Giám sát máy trạm, cảnh báo cho người quản trị khi sinh viên thực
hiện các hành vi bị cấm sử dụng trên máy trạm như: gắn thêm thiết bị usb, ổ
di động
• Quản lý tự động trong việc thi, kiểm tra tại phòng máy nhà trường.
• Tạo ra sản phẩm đảm bảo chất lượng, đầy đủ các chức năng theo yêu
cầu và được nghiệm thu, đưa vào sử dụng ngay đáp ứng được các yêu cầu
quản lý phòng máy thực hành Trường Đại học Hùng Vương.
3. Nhiệm vụ nghiên cứu
• Tìm hiểu ngôn ngữ lập trình cũng như các công cụ hỗ trợ việc xây
dựng phần mềm.

• Phân tích các thông tin thu thập được từ đó xây dựng các chức năng
của hệ thống quản lý phòng máy thực hành.
• Xây dựng phần mềm đúng theo các chức năng đã thiết kế đảm bảo các
yêu cầu đặt ra.
2
4. Phương pháp nghiên cứu
Để thực hiện khóa luận này, cần sử dụng kết hợp 3 phương pháp nghiên
cứu đó là:
• Phương pháp nghiên cứu lý luận.
• Phương pháp tổng kết kinh nghiệm.
• Phương pháp lấy ý kiến chuyên gia.
Dựa theo phương pháp nghiên cứu lý luận, tiến hành đọc và nghiên cứu
các tài liệu liên quan đến lập trình ứng dụng mạng trong visual C#, kỹ thuật
lập trình trên windows. Từ đó, hệ thống hóa những kiến thức cơ bản về lập
trình ứng dụng mạng. Tiếp theo, dựa vào những kiến thức cơ bản đã nêu ở
chương 1 và các kinh nghiệm đã có, chuyển sang bước phân tích và thiết kế
hệ thống cho phần mềm. Cuối cùng, dựa vào việc phân tích thiết kế hệ thống
kết hợp tham khảo ý kiến của các chuyên gia, tiến hành xây dựng phần mềm.
5. Đối tượng và phạm vi nghiên cứu
• Đối tượng: Hệ thống mạng LAN Trường Đại học Hùng Vương.
• Phạm vi: Chức năng quản lý học tập, kiểm tra tại phòng thực hành Tin
học Trường Đại học Hùng Vương.
6. Ý nghĩa khoa học
Sản phẩm của khóa luận cung cấp một phần mềm hỗ trợ công tác quản
lý phòng thực hành tin học tại Trường Đại học Hùng Vương. Đồng thời là tài
liệu tham khảo cho các sinh viên chuyên nghành Công nghệ thông tin có
mong muốn tìm hiểu về lập trình ứng dụng mạng trong C#.
7. Bố cục khóa luận
Ngoài các phần: Mở đầu, kết luận, phụ lục, tài liệu tham khảo, nội dung
chính của khóa luận được chia thành các chương:

Chương 1: Tổng quan về mạng máy tính và lập trình ứng dụng mạng
trong C#.
3
Chương này trình bày một cách khái quát về mạng máy tính và các kiến
thức cơ bản của lập trình ứng dụng mạng trong ngôn ngữ C#, là cơ sở cho các
chương sau.
Chương 2: Thực trạng quản lý phòng máy và phân tích thiết kế hệ
thống.
Với cơ sở lý thuyết được đưa ra ở chương 1, chương này chúng ta tập
trung đi khảo sát thực trạng quản lý phòng máy thực hành Tin học tại Trường
Đại học Hùng Vương, từ đó đi phân tích thiết kế cho cho chương trình quản
lý phòng máy.
Chương 3: Xây dựng chương trình quản lý phòng máy thực hành Tin
học.
Dựa vào phân tích thết kết được thực hiện ở chương 2. Chương 3 tiến
hành xây dựng chương trình theo các chức năng đã được thiết kế.
4
CHƯƠNG 1.
TỔNG QUAN VỀ MẠNG MÁY TÍNH VÀ LẬP TRÌNH ỨNG DỤNG
MẠNG TRONG C#
1.1. Tổng quan về mạng máy tính
1.1.1. Khái niệm mạng máy tính
Mạng máy tính [3] là một tập hợp các máy tính đơn lẻ được kết nối với
nhau thông qua đường truyền vật lý như cáp, sóng điện từ, tia hồng ngoại
giúp cho các thiết bị này có thể trao đổi dữ liệu với nhau một cách dễ dàng.
Hình 1.1. Mô hình mạng máy tính.
1.1.2. Mô hình OSI và chức năng các tầng
Mô hình OSI [3] là mô hình chuẩn gồm có 7 tầng tuân thủ theo nguyên
tắc phân tầng như sau:
- Là hệ thống mở, phải có khả năng kết nối với các hệ thống khác tương

thích với chuẩn OSI.
- Quá trình xử lý các ứng dụng được thực hiện trong hệ thống mở trong
khi vẫn duy trì được các hoạt động kết nối giữa các hệ thống.
- Thiết lập các kênh logic nhằm thực hiện việc trao đổi thông tin giữa các
thực thể.
5
Hình 1.2. Mô hình OSI.
• Tầng vật lý (Physical Layer)
Tầng vật lý liên quan đến truyền dòng các bit giữa các máy với nhau
bằng đường truyền vật lý.
• Tầng liên kết dữ liệu (Data link Layer)
Cung cấp phương tiện để truyền thông tin qua liên kết vật lý đảm bảo
sự tin cậy, gửi các khối dữ liệu với cơ chế đồng bộ hoá, kiểm soát lỗi và kiểm
soát luồng dữ liệu cần thiết.
• Tầng mạng (Network Layer)
Lập địa chỉ các thông điệp, diễn dịch địa chỉ và tên logic thành địa chỉ
vật lý. Kiểm soát và điều khiển đường truyền.
• Tầng giao vận (Transport Layer)
Thực hiện việc truyền dữ liệu giữa hai đầu nút (end - to - end).
Tầng này tạo ra một kết nối cho mỗi yêu cầu của tầng trên nó. Khi có
nhiều yêu cầu từ tầng trên với thông lượng cao thì nó có thể tạo ra nhiều kết
nối và cùng một lúc có thể gửi đi nhiều gói tin trên đường truyền.
6
• Tầng phiên (Session Layer)
Cung cấp phương tiện truyền thông giữa các ứng dụng: cho phép người
sử dụng trên các máy khác nhau có thể thiết lập, duy trì, hủy bỏ và đồng bộ
hóa các phiên truyền thông.
• Tầng trình diễn (Presentation Layer)
Quyết định dạng thức trao đổi dữ liệu giữa các máy tính trên mạng.
Người ta có thể gọi đây là bộ dịch mạng. Ở bên gửi, tầng này chuyển đổi cú

pháp dữ liệu từ dạng thức do tầng ứng dụng gửi xuống sang dạng thức trung
gian mà ứng dụng nào cũng có thể nhận biết. Ở bên nhận, tầng này chuyển
các dạng thức trung gian thành dạng thức thích hợp cho tầng ứng dụng của
máy nhận.
• Tầng ứng dụng (Application Layer)
Cung cấp các phương tiện để người sử dụng có thể truy nhập được vào
môi trường OSI. Đồng thời, cung cấp các dịch vụ thông tin phân tán.
Tầng này đóng vai trò như cửa sổ dành cho hoạt động xử lý các trình
ứng dụng nhằm truy nhập các dịch vụ mạng. Những dịch vụ này hỗ trợ trực
tiếp các ứng dụng người dùng, như phần mềm chuyển tin, truy nhập cơ sở dữ
liệu.
1.1.3. Họ giao thức TCP/IP
TCP/IP (Transmission Control Protocol / Internet Protocol)[1] là chồng
giao thức cùng hoạt động nhằm cung cấp các phương tiện truyền thông liên
mạng.
Giao thức TCP/IP được phát triển từ mạng ARPANET và Internet, được
dùng như giao thức mạng và giao vận trên mạng Internet. TCP/IP là giao thức
thuộc tầng giao vận và IP (Internet Protocol) là giao thức thuộc tầng mạng của
mô hình OSI. Giao thức TCP/IP thực chất là một họ giao thức cho phép các
hệ thống mạng cùng làm việc với nhau.
7
Hình 1.3. Mô hình TCP/IP.
So sánh mô hình TCP/IP và mô hình OSI.
• Các điểm giống nhau:
- Cả hai đều theo cấu trúc phân tầng.
- Cả hai đều có tầng ứng dụng. Qua đó, chúng có nhiều ứng dụng
khác nhau.
- Cả hai có các tầng mạng và tầng vận chuyển có thể so sánh được.
- Kĩ thuật chuyển mạch gói được chấp nhận.
• Các điểm khác nhau:

- TCP/IP tập hợp các tầng trình bày và tầng phiên trong tầng ứng
dụng của nó.
- TCP/IP tập hợp tầng vật lý và tầng liên kết dữ liệu trong OSI vào
một tầng.
- TCP/IP có ít tầng hơn (TCP/IP: 4 tầng, OSI: 7 tầng).
- Các giao thức TCP/IP là các chuẩn cơ sở cho Internet phát triển.
Như vậy, mô hình TCP/IP chiếm được niềm tin qua các giao thức của
nó.
8
Application
Transport
Internet
Network Access
Application
Layers
Data Flow Layers
UDP (User Datagram Protocol) là một trong những giao thức cốt lõi của
giao thức TCP/IP. Dùng UDP, chương trình trên mạng máy tính có thể gửi
những dữ liệu ngắn được gọi là Datagram tới máy khác. UDP không cung cấp
thứ tự truyền nhận mà TCP làm. Các gói dữ liệu có thể đến không đúng thứ tự
hoặc bị mất mà không có thông báo. Tuy nhiên, UDP nhanh và hiệu quả hơn
đối với các mục tiêu có kích thước nhỏ và yêu cầu khắt khe về thời gian. Do
bản chất trạng thái mà nó hữu dụng đối với việc trả lời các truy vấn nhỏ với
số lượng lớn người yêu cầu.
Như vậy, điểm khác nhau cơ bản giữa TCP/IP và UDP là:
• TCP/IP:
- Dùng cho mạng WAN.
- Không cho phép mất gói tin.
- Đảm bảo việc truyền dữ liệu.
- Tốc độ truyền thấp hơn UDP.

• UDP:
- Dùng cho mạng LAN.
- Có thể mất dữ liệu.
- Tốc độ truyền cao, VolP truyền tốt qua UDP.
1.1.4. Một số kiểu mạng LAN
LAN là viết tắt của Local Area Network (mạng cục bộ) [1]: Là mạng có
các máy tính cá nhân và các máy tính khác trong phạm vi một khu vực hạn
chế được nối với nhau bằng các dây cáp sao cho những người sử dụng có thể
trao đổi thông tin, dùng chung các thiết bị ngoại vi, và sử dụng các chương
trình cũng như các dữ liệu đã được lưu trữ trong một máy tính dành riêng gọi
là máy dịch vụ tệp (file).
Mạng LAN có nhiều quy mô và mức độ phức tạp khác nhau, nó có thể
chỉ liên kết vài ba máy tính cá nhân và dùng chung một thiết bị ngoại vi. Các
hệ thống phức tạp hơn thì có máy tính trung tâm (máy chủ Server) cho phép
9
những người dùng trao đổi thông tin với nhau và thâm nhập vào các cơ sở dữ
liệu dùng chung.
Phạm vi ứng dụng của mạng LAN - Mạng LAN thường được sử dụng để
kết nối các máy tính trong gia đình, trong một phòng Game, phòng NET,
trong một toà nhà của cơ quan, trường học. Phạm vi hoạt động giới hạn trong
bán kính 100m.
Dưới đây là một số kiểu mạng LAN được phân loại theo Topology:
a) Mạng LAN kiểu BUS:
Trong dạng đường thẳng [3] các máy tính đều được nối vào một đường
dây truyền chính (BUS). Đường truyền chính này được giới hạn hai đầu bởi
một loại đầu nối đặc biệt gọi là Terminator (dùng để nhận biết là đầu cuối để
kết thúc đường truyền tại đây). Mỗi trạm được nối vào BUS qua một đầu nối
chữ T (T_connector) hoặc một bộ thu phát (Transceiver).
Khi một trạm truyền dữ liệu tín hiệu được quảng bá trên cả hai chiều của
BUS (Tức là mọi trạm còn lại đều có thể thu được tín hiệu đó trực tiếp) theo

từng gói một, mỗi gói đều phải mang địa chỉ trạm đích. Các trạm khi thấy dữ
liệu đi qua nhận lấy, kiểm tra, nếu đúng với địa chỉ của mình thì nó nhận lấy
còn nếu không phải thì bỏ qua.
Đối với BUS một chiều thì tín hiệu chỉ đi về một phía, lúc đó các
terminator phải được thiết kế sao cho các tín hiệu đó phải được dội lại trên
BUS để cho các trạm trên mạng đều có thể thu nhận được tín hiệu đó. Như
vậy với topo mạng dạng BUS dữ liệu được truyền theo các liên kết điểm -
nhiều điểm (point - to - multiPoint) hay quảng bá (Broadcast).
• Ưu và nhược điểm
- Ưu điểm: Với dạng kết nối này có ưu điểm là không tốn nhiều dây cáp,
tốc độ truyền dữ liệu cao, dễ thiết kế.
- Nhược điểm: Nếu lưu lượng truyền tăng cao thì dễ gây ách tắc và nếu
có trục trặc trên hành lang chính thì khó phát hiện ra.
10
Hình 1.4. Mô hình mạng LAN kiểu BUS.
b)Mạng LAN kiểu RING (kiểu vòng):
Tín hiệu được lưu chuyển theo một chiều duy nhất. Các máy tính được
liên kết với nhau thành một vòng tròn theo phương thức điểm - điểm (Point -
to - point), qua đó mỗi một trạm có thể nhận và truyền dữ liệu theo vòng một
chiều và dữ liệu được truyền theo từng gói một. Mỗi trạm của mạng được nối
với vòng qua một bộ chuyển tiếp (Repeater) có nhiệm vụ nhận tín hiệu rồi
chuyển tiếp đến trạm kế tiếp trên vòng. Như vậy tín hiệu được lưu chuyển
trên vòng theo một chuỗi các liên kết điểm - điểm giữa các Repeater do đó
cần có giao thức điều khiển việc cấp phát quyền được truyền dữ liệu trên
vòng cho các trạm có nhu cầu.
Mỗi gói dữ liệu đều có mang địa chỉ trạm đích, mỗi trạm khi nhận được
một gói dữ liệu nó kiểm tra nếu đúng với địa chỉ của mình thì nó nhận lấy còn
nếu không phải thì nó sẽ phát lại cho trạm kế tiếp, cứ như vậy gói dữ liệu đi
được đến đích.
Để tăng độ tin cậy của mạng, phải lắp vòng dự phòng, khi đường truyền

trên vòng chính bị sự cố thì vòng phụ được sử dụng với chiều đi của tín hiệu
ngược với chiều đi của mạng chính.
11
•Ưu và nhược điểm
- Ưu điểm: Với dạng kết nối này có ưu điểm là không tốn nhiều dây cáp,
tốc độ truyền dữ liệu cao, không gây ách tắc.
- Nhược điểm: Các giao thức để truyền dữ liệu phức tạp và nếu có trục
trặc trên một trạm thì cũng ảnh hưởng đến toàn mạng.
Hình 1.5. Mô hình mạng LAN kiểu RING.
c) Mạng LAN kiểu Star (kiểu hình sao)
Mạng hình sao [3]: tất cả các trạm được nối vào một thiết bị trung tâm có
nhiệm vụ nhận tín hiệu từ các trạm và chuyển tín hiệu đến trạm đích với
phương thức kết nối là phương thức điểm-điểm (point - to - point). Thiết bị
trung tâm hoạt động giống như một tổng đài cho phép thực hiện việc nhận và
truyền dữ liệu từ trạm này tới các trạm khác.
Tùy theo yêu cầu truyền thông trong mạng, thiết bị trung tâm có thể là
một bộ chuyển mạch (Switch), một bộ chọn đường (Router) hoặc đơn giản là
một bộ phân kênh (Hub). Có nhiều cổng ra và mỗi cổng nối với một máy.
• Ưu và nhược điểm
- Ưu điểm: Với dạng kết nối này có ưu điểm là không đụng độ hay ách
tắc trên đường truyền, tận dụng được tốc độ tối đa đường truyền vật lý, lắp
đặt đơn giản, dễ dàng cấu hình lại mạng (thêm, bớt trạm). Nếu có trục trặc
trên một trạm thì cũng không gây ảnh hưởng đến toàn mạng qua đó dễ dàng
kiểm soát và khắc phục sự cố.
12
- Nhược điểm: Độ dài đường truyền nối một trạm với thiết bị trung tâm
bị hạn chế (trong vòng 100m với công nghệ hiện nay) tốn đường dây cáp
nhiều.
Hình 1.6. Mô hình mạng LAN kiểu STAR.
1.1.5. Mô hình kết nối và làm việc Server – Client

Trong mô hình này, chương trình ứng dụng được chia thành 2 thành
phần:
Quá trình chuyên cung cấp một số phục vụ nào đó, chẳng hạn: phục vụ
tập tin, phục vụ máy in, phục vụ thư điện tử, phục vụ Web các quá trình này
được gọi là các trình phục vụ hay Server.
Một số quá trình khác có yêu cầu sử dụng các dịch vụ do các server cung
cấp được gọi là các quá trình khách hàng hay Client.
Việc giao tiếp giữa Client và Server được thực hiện dưới hình thức trao
đổi các thông điệp (Message). Để được phục vụ, Client sẽ gửi một thông điệp
yêu cầu (Request Message) mô tả về công việc muốn Server thực hiện. Khi
nhận được thông điệp yêu cầu, Server tiến hành phân tích để xác định công
13
việc cần phải thực thi. Nếu việc thực hiện yêu cầu này có sinh ra kết quả trả
về, Server sẽ gửi nó cho Client trong một thông điệp trả lời (Reply Message).
Hình 1.7. Mô hình làm việc Server – Client.
Mô hình Server – Client trong C# là mô hình bao gồm 2 thành phần:
• Server:
- Tại máy chủ sẽ luôn lắng nghe tại một cổng cục bộ.
- Đợi và chấp nhận kết nối từ Client với phương
thức AccepSocket(). Phương thức này trả về một đối tượng khác dùng
để gửi và nhận dữ liệu.
- Thực hiện giao tiếp với Client.
- Đóng kết nối với Client.
• Client:
- Tạo một kết nối đến Server.
- Thực hiện kết nối đến Server.
- Lấy luồng giao tiếp và thực hiện giao tiếp với Server.
- Đóng luồng và ngắt kết nối với Server.
14
Request message

Reply message
Wait
Replyexecution
Server
Client
Hình 1.8. Cơ chế truyền nhận dữ liệu mô hình Server – Client trong C#.
1.2. Tổng quan về lập trình ứng dụng mạng trong C#
1.2.1. Giới thiệu về ngôn ngữ C#
C# là một ngôn ngữ với khoảng 80 từ khoá và hơn mười kiểu dữ liệu
dựng sẵn nhưng C# có tính diễn đạt cao. C# hỗ trợ lập trình có cấu trúc,
hướng đối tượng, hướng thành phần.
Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ
liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết. C# có những
từ khoá dành cho việc khai báo lớp, phương thức, thuộc tính (Property) mới. C#
hỗ trợ đầy đủ các bước trong lập trình hướng đối tượng: đóng gói, thừa kế, đa
hình.
Định nghĩa lớp trong C# không đòi hỏi tách rời tập tin tiêu đề với tập tin cài
đặt như C++. Hơn thế, C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp
trong tập tin mã nguồn. Đến khi biên dịch sẽ tạo tập tin sưu liệu theo định dạng
XML.
15
C# hỗ trợ khái niệm giao diện (tương tự Java). Một lớp chỉ có thể kế
thừa duy nhất một lớp cha nhưng có thể cài đặt nhiều giao diện. Đây là ngôn
ngữ có kiểu cấu trúc (không giống C++).
C# có kiểu cấu trúc, struct (không giống C++). Cấu trúc là kiểu hạng nhẹ và
bị giới hạn. Cấu trúc không thể thừa kế lớp hay được kế thừa nhưng có thể cài đặt
giao diện.
C# cung cấp những đặc trưng lập trình hướng thành phần như property,
sự kiện và hướng dẫn khai báo (được gọi là attribute). Lập trình hướng
component được hỗ trợ bởi CLR thông qua siêu dữ liệu (Metadata). Siêu dữ

liệu mô tả các lớp bao gồm các phương thức và thuộc tính, các thông tin bảo
mật.
Assembly là một tập hợp các tập tin mà theo cách nhìn của lập trình viên
là các thư viện liên kết động (DLL) hay tập tin thực thi (EXE). Trong .NET
một assembly là một đơn vị của việc tái sử dụng, xác định phiên bản, bảo mật
và phân phối. CLR cung cấp một số các lớp để thao tác với assembly.
C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng
vùng mã đó được xem như không an toàn. CLR sẽ không thực thi việc thu
dọn rác tự động các đối tượng được tham chiếu bởi con trỏ cho đến khi lập
trình viên tự giải phóng.
Nhìn chung C# là:
- Ngôn ngữ đơn giản, hiện đại.
- Ngôn ngữ hướng đối tượng, ít từ khóa.
- Ngôn ngữ mềm dẻo và mạnh mẽ.
- Ngôn ngữ hướng module.
1.2.2. Một số thư viện sử dụng trong lập trình ứng dụng mạng
a) Socket hướng kết nối (TCP Socket)
Socket là một giao diện lập trình ứng dụng (API) mạng.
16

×