1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình lập trình mạng căn bản

19 338 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 887 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỞ ĐẦUNgày nay, cho dù là hệ thống mạng nhỏ, cỡ vừa và lớn thì mỗi máy tính đều sử dụng địa chỉ IP động được cấp phát từ dịch vụ DHCP server.. Khi đó các nhà quản trị mạng họ dùng ngay d

Trang 1

MỞ ĐẦU

Ngày nay, cho dù là hệ thống mạng nhỏ, cỡ vừa và lớn thì mỗi máy tính đều sử dụng địa chỉ IP động được cấp phát từ dịch vụ DHCP server

Mạng nhỏ thì DHCP cấp IP động cho các máy trạm (làm việc trong môi trường Workgroup) nằm ở các thiết bị mạng (Switch, Modem, Router, AP ) Còn các mạng lớn (mô hình mạng sẽ phức tạp hơn), các máy trạm nằm trong môi

trường Domain Khi đó các nhà quản trị mạng họ dùng ngay dịch vụ DHCP server có sẵn trên Windows Server 2003, 2008 để cấp phát IP động cho các máy trạm trong hệ thống mạng thay vì sử dụng DHCP server tích hợp sẵn trong các thiết bị mạng phần cứng Vậy DHCP là gì? Nó có ưu điểm gì?

Dynamic Host Configuration Protocol (DHCP - giao thức cấu hình động máy chủ) là một giao thức cấu hình tự động địa chỉ IP Máy tính được cấu hình một cách tự động vì thế sẽ giảm việc can thiệp vào hệ thống mạng Nó cung cấp một database trung tâm để theo dõi tất cả các máy tính trong hệ thống mạng Mục đích quan trọng nhất là tránh trường hợp hai máy tính khác nhau lại có cùng địa chỉ IP

Nếu không có DHCP, các máy có thể cấu hình IP thủ công Ngoài việc cung cấp địa chỉ IP, DHCP còn cung cấp thông tin cấu hình khác, cụ thể như DNS Hiện nay DHCP có 2 version: cho IPv4 và IPv6

Nói một cách tổng quan hơn DHCP là dich vụ mang đến cho chúng ta nhiều lợi điểm trong công tác quản trị và duy trì một mạng TCP/IP như:

+ Tập chung quản trị thông tin về cấu hình IP

+ Cấu hình động các máy

+ Cấu hình IP cho các máy một cách liền mạch

+ Sự linh hoạt

+ Khả năng mở rộng

Nhiệm vụ của từng thành viên trong nhóm:

1 Nguyễn Xuân Toàn 09520312

- Xây dựng DHCP Server

- Xây dựng DHCP Server

3 Phạm Xuân Mạnh 09520422

- Xây dựng DHCP Client và thiết kế giao diện

Trang 2

MỤC LỤC

Trang

Mở đầu 1

Chương 1: Khảo sát bài toán 4

1.1.DHCP là gì ? 4

1.2.DHCP làm việc như thế nào ? 4

1.3.Lợi ích của việc sử dụng DHCP 4

1.3.1 Quản lý TCP/IP tập trung 5

1.3.2 Giảm gánh nặng cho các nhà quản trị hệ thống 5

1.3.3 Giúp hệ thống mạng luôn được duy trì ổn định 5

1.3.4 Linh hoạt và khả năng mở rộng 5

Chương 2: Cơ sở lý thuyết 6

2.1 Địa chỉ IP động 6

2.1.1 Địa chỉ IP động đặc biệt là gì ? 6

2.1.2 Cách thức cấp phát địa chỉ IP động 6

2.2 Cấu hình phạm vi cấp phát của dịch vụ DHCP 6

2.2.1 Phạm vi cấp phát DHCP là gì ? 6

2.2.2 Tại sao phải sử dụng phạm vi cấp phát DHCP ? 6

2.3 Cấu hình địa chỉ DHCP giành sẵn (Reservations) và các tùy chọn của DHCP 6

2.3.1 Địa chỉ DHCP giành sẵn là gì ? 6

2.3.2 Các thông tin của một địa chỉ DHCP giành sẵn 6

2.3.3 Tùy chọn DHCP là gì ? 6

2.3.4 Tại sao phải sử dụng tùy chọn DHCP ? 7

2.3.5 Một số tùy chọn chung của DHCP 7

2.4 Cấu hình DHCP - DHCP Relay Agent 7

2.4.1 DHCP relay agent là gì ? 7

2.4.2 Tại sao phải sử dụng DHCP relay agent ? 7

2.5 Phương thức hoạt động của dịch vụ DHCP 7

Chương 3: Phân tích thiết kế chương trình 11

3.1 Mô hình thực nghiệm của chương trình mô phỏng chương trình DHCP 11

3.2 Thiết kế chương trình về mặt chức năng 12

3.3 Thiết kế về mặt lập trình

Trang 3

Chương 4: Kết luận 17

4.1 Các chức năng đã đạt được của chương trình 17

4.2 Các vấn đề còn tồn tại 17

Phụ lục I: Các hình ảnh sử dụng trong bài 18

Phụ lục II: Tài liệu tham khảo 19

Trang 4

Chương I: KHẢO SÁT BÀI TOÁN 1.1 DHCP là gì?

 DHCP là viết tắt của Dynamic Host Configuration Protocol, là giao thức Cấu hình Host Động được thiết kế làm giảm thời gian chỉnh cấu hình cho mạng TCP/IP bằng cách tự động gán các địa chỉ IP cho khách hàng khi họ vào mạng Dich vụ DHCP là một thuận lới rất lớn đối với người điều hành mạng Nó làm yên tâm về các vấn đề cố hữu phát sinh khi phải khai báo cấu hình thủ công Nó bao gồm DHCP Server và DHCP Client

Hình 1.1 Mô hình DHCP

 DHCP server là một máy chủ có cài đặt dịch vụ DHCP server Nó

có chức năng quản lý sự cấp phát địa chỉ IP động và các dữ liệu cấu hình TCP/IP Ngoài ra còn có nhiệm vụ trả lời khi DHCP Client có yêu cầu về hợp đồng thuê bao

 DHCP client là dịch vụ nằm cục bộ trên máy tính (kể cả máy trạm

và server) Nó dùng để đăng ký, cập nhật thông tin về địa chỉ IP và các bản ghi DNS cho chính bản thân nó DHCP client sẽ gửi yêu cầu đến DHCP server khi nó cần đến 1 địa chỉ IP và các tham số TCP/IP cần thiết để làm việc trong mạng nội bộ và trên Internet

1.2 DHCP làm việc như thế nào?

 DHCP tự động quản lý các địa chỉ IP và loại bỏ được các lỗi có thể làm mất liên lạc Nó tự động gán lại các địa chỉ chưa được sử dụng và cho thuê địa chỉ trong một khoảng thời gian

 Trình tự thuê Địa chỉ IP DHCP là một giao thức Internet có nguồn gốc ở BOOTP (bootstrap protocol), được dùng để cấu hình các trạm không đĩa DHCP khai thác ưu điểm của giao thức truyền tin và các kỹ thuật khai báo cấu hình được định nghĩa trong BOOTP, trong đó có khả năng gán địa chỉ Sự tương tự này cũng cho phép các bộ định tuyến hiện nay chuyển tiếp các thông điệp BOOTP giữa các mạng con cũng có thể chuyển tiếp các thông điệp DHCP Vì thế, máy chủ DHCP có thể đánh địa chỉ IP cho nhiều mạng con

1.3 Lợi ích của việc sử dụng DHCP

Trang 5

1.3.1 Quản lý TCP/IP tập trung

 Thay vì phải quản lý địa chỉ IP và các tham số TCP/IP khác vào một cuốn sổ nào đó (đây là việc mà quản trị mạng phải làm khi cấu hình TCP/IP bằng tay) thì DHCP server sẽ quản lý tập trung trên giao diện của nó Giúp các nhà quản trị vừa dễ quản lý, cấu hình, khắc phục khi có lỗi xảy ra trên các máy trạm

1.3.2 Giảm gánh nặng cho các nhà quản trị hệ thống

 Thứ nhất, trước đây các nhà quản trị mạng thường phải đánh cấu hình IP bằng tay (gọi là IP tĩnh) nhưng nay nhờ có DHCP server nó

sẽ cấp IP một cách tự động cho các máy trạm Nhất là trong môi trường mạng lớn thì sự cần thiết và hữu ích của dịch vụ mạng này mới thấy rõ ràng nhất

 Thứ hai, trước đây với kiểu cấu hình bằng tay thì người dùng họ

có thể thay đổi IP Có người thay đổi lung tung DNS server sau đó quên không nhớ IP của DNS server là gì để đặt lại cho đúng lại với quản trị mạng, có người đặt IP làm trùng với IP của người khác, người khác lại đặt IP trùng với Defaul Gateway làm cho quản trị mạng khốn khổ vì phải chỉnh sửa Nhưng vấn đề này không có ở IP động Chỉ có người quản trị DHCP server họ mới có quyền làm những việc trên

1.3.3 Giúp hệ thống mạng luôn được duy trì ổn định

 Địa chỉ IP cấp phát động cho các máy trạm lấy từ dải IP cấu hình sẵn trên DHCP server Các tham số (DG, DNS server ) cũng cấp cho tất cả các máy trạm là chính xác Sự trùng lặp IP không bao giờ xảy ra Các máy trạm luôn luôn có một cấu hình TCP/IP chuẩn Làm cho hệ thống hoạt động liên tục, vừa giảm gánh nặng cho người quản trị vừa tăng hiệu quả làm việc cho user nói riêng và doanh nghiệp nói chung

1.3.4 Linh hoạt và khả năng mở rộng

 Người quản trị có thể thay đổi cấu hình IP một cách dễ dàng khi

cơ sở hạ tầng mạng thay đổi Do đó làm tăng sự linh hoạt cho người quản trị mạng Ngoài ra DHCP phù hợp từ mạng nhỏ đến mạng lớn

Nó có thể phục vụ 10 máy khách cho đến hàng ngàn máy khách

Trang 6

Chương II: CƠ SỞ LÝ THUYẾT

2.1 Địa chỉ IP động

2.1.1 Địa chỉ IP động đặc biệt là gì ?

 Địa chỉ IP động đặc biệt (Automatic private IP Addressing) hay

APIPA là một dặc trưng của hệ điều hành Microsoft windows cho phép gán một dải địa chỉ IP tự động trên các máy Client dải địa chỉ này có giá trị trong khoảng từ: 169.254.0.0 đến 169.254.255.255 khi mà dịch vụ DHCP server không được phép cấp phát IP cho các máy Client

2.1.2 Cách thức cấp phát địa chỉ IP động

 Dịch vụ DHCP sẽ thiết lập Hợp đồng thuê địa chỉ IP và ra gạn hợp đồng cho thuê địa chỉ IP nhằm cấp phát địa chỉ IP động cho các máy Client

2.2 Cấu hình phạm vi cấp phát của dịch vụ DHCP

2.2.1 Phạm vi cấp phát DHCP là gì ?

 Phạm vi cấp phát là dải địa chỉ IP hợp lệ được dùng để thuê hoặc gán cho các máy Client trên cùng một Subnet Ta cấu hình một pham vi cấp phát trên DHCP Server để xác định dải địa chỉ IP mà các Server có thể gán cho các máy Client.

2.2.2 Tại sao phải sử dụng phạm vi cấp phát DHCP ?

 Phạm vi cấp phát sẽ xác định xem những địa chỉ IP nào sẽ được phép cấp phát cho các máy client

2.3 Cấu hình địa chỉ DHCP giành sẵn (Reservations) và các tùy chọn của DHCP

2.3.1 Địa chỉ DHCP giành sẵn là gì ?

 Địa chỉ IP dành sẵn là một dải địa chỉ IP được gán cố định Nó là dải địa chỉ IP được tạo ra trong một phạm vi (scope) dành riêng, dải địa chỉ

IP dành riêng này được dùng để gàn cho các máy Client (Chúng là các địa chỉ IP tĩnh trong mạng được gán cho các máy client)

2.3.2 Các thông tin của một địa chỉ DHCP giành sẵn

 Reservation Name :Là tên được gán bởi nhà quản trị

 IP Address : Là phạm vi dải địa chỉ IP được gán cho các máy Client

 MAC Address: Là địa chỉ MAC của mỗi thiết bị mà bạn muốn dành sẵn một địa chỉ IP cho nó

 Description: Những mô tả do nhà quản trị đưa ra

 Supported Type:Kiểu hỗ trợ này có thế là: DHCP dành sẵn, BOOTP dành sẵn, hoặc cả hai

2.3.3 Tùy chọn DHCP là gì ?

Các tùy chọn DHCP là các tham số cấu hình máy khách bổ sung mà một máy chủ DHCP có thể gán khi phục vụ các máy khách DHCP

2.3.4 Tại sao phải sử dụng tùy chọn DHCP ?

Các tùy chọn DHCP được cấu hình sử dụng bảng điều khiển DHCP

và có thể được áp dụng cho nhiều phạm vi và sự dành sẵn.Một tùy chọn

Trang 7

DHCP sẽ làm tăng thêm các chức năng cho hệ thống mạng Các tùy chọn DHCP cho phép bạn thêm dữ liệu cấu hình IP các client

2.3.5 Một số tùy chọn chung của DHCP

 Router (Default Gateway): Địa chỉ của bất cứ cổng ra mặc định (default gateway) hay bộ định tuyến (router) nào

 DNS Domain Name: Tên miền DNS xác định miền mà máy khách sẽ phụ thuộc Máy khách có thể sử dụng thông tin này dể cập nhật thông tin lên máy chủ DNS để các máy tính khác có thể tìm thấy nó

 DNS Servers: Địa chỉ của bất cứ máy chủ DNS nào mà máy khách có thể sử dụng trong quá trình truyền thông

 WINS Servers: Địa chỉ của bất cứ máy chủ WINS nào mà máy khách có thể sử dụng trong quá trình truyền thông

 WINS Node Type: Là một kiểu phương thức phân giải tên

NetBIOS mà các máy khách (Client) có thế sử dụng

2.4 Cấu hình DHCP - DHCP Relay Agent

2.4.1 DHCP relay agent là gì ?

 DHCP relay agent là một máy tính hoặc một Router được cấu hình để lắng nghe các thông điệp quảng bá DHCP/BOOTP từ DHCP client, chuyển tiếp các thông điệp quảng bá từ một giao tiếp này đến giao tiếp khác và hướng chúng tới một hoặc nhiều máy chủ DHCP cụ thể

2.4.2 Tại sao phải sử dụng DHCP relay agent ?

 DHCP clients sử dụng một địa chỉ quảng bá (broadcast) để bảo mật việc thuê một địa chỉ IP từ DFHCP server Một Router thong thường không thể thông qua một broadcast trừ khi nó được cấu hình riêng biệt

 Tiết kiệm được số địa chỉ IP thật ( Public IP)

 Phù hợp với các máy tính thường xuyên di chuyển giữa các lớp mạng

 Kết hợp với hệ thống mạng không dây ( Wireless) cung cấp tại các điểm Hotspot như: nhà ga, sân bay, khách sạn, trường học

 Thuận tiện cho việc bổ xung các thiết bị mới vào lớp mạng

2.5 Phương thức hoạt động của dịch vụ DHCP

Bước 1: Khi máy Client khởi động, máy sẽ gửi broadcast gói tin DHCP

DISCOVER, yêu cầu một Server phục vụ mình Gói tin này cũng chứa địa chỉ MAC của client

Trang 8

Hình 2.5.1 Mô phỏng quá trình Client gửi DHCP Discover cho Server

Nếu client không liên lạc được với DHCP Server thì sau 4 lần truy vấn không thành công nó sẽ tự động phát sinh ra 1 địa chỉ IP riêng cho chính mình nằm trong dãy 169.254.0.0 đến 169.254.255.255 dùng để liên lạc tạm thời Và client vẫn duy trì việc phát tín hiệu Broad cast sau mỗi 5 phút để xin cấp IP từ DHCP Server

Bước 2: Các máy Server trên mạng khi nhận được yêu cầu đó Nếu còn

khả năng cung cấp địa chỉ IP, đều gửi lại cho máy Client một gói tin DHCP OFFER, đề nghị cho thuê một địa chỉ IP trong một khoảng thời gian nhất định, kèm theo là một Subnet Mask và địa chỉ của Server

Hình 2.5.2 Mô phỏng quá trình Server gửi lại DHCPOFFER cho client

Trang 9

Server sẽ không cấp phát đia chỉ IP vừa đề nghị cho client thuê trong suốt thời gian thương thuyết

Bươc 3:Máy Client sẽ lựa chọn một trong những lời đề nghị

(DHCPOFFER)

Hình 2.5.3 Mô phỏng quá trình Client lựa chọn Server

và gửi broadcast lại gói tin DHCPREQUEST và chấp nhận lời đề nghị đó

Hình 2.5.4 Mô phỏng quá trình Client gửi DHCPREQUEST cho Server

Điều này cho phép các lời đề nghị không được chấp nhận sẽ được các Server rút lại và dùng để cấp phát cho các Client khác

Bước 4: Máy Server được Client chấp nhận sẽ gửi ngược lại một gói tin

DHCP ACK như một lời xác nhận, cho biết địa chỉ IP đó, Subnet Mask đó

và thời hạn cho sử dụng đó sẽ chính thức được áp dụng

Trang 10

Hình 2.5.5 Mô phỏng quá trình Server gửi DHCPACK cho client

Ngoài ra server còn gửi kèm những thông tin bổ sung như địa chỉ Gateway mặc định, địa chỉ DNS Server

Hình 2.5.6 Mô phỏng quá trình Client nhận được IP mới từ Server

(Nhưng cũng có thể Server sẽ gửi gói tin DHCP NAK (Negative

Acknowledgment) nếu lời đề nghị lúc đầu không chính xác nữa hoặc thông

Trang 11

số IP đó đã có máy tính khác sử dụng Và lúc này Client lại phải bắt đầu lại quy trình xin cấp IP từ đầu)

CHƯƠNG III: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH

3.1 Mô hình thực nghiệm của chương trình mô phỏng chương trình

DHCP

- Hình dưới đây mô tả 3 client kết nối tới DHCP server

Hình 3.1.1 Mô hình thực nghiệm của chương trình mô phỏng

Client 1

Server DHCP

Trang 12

3.2 Thiết kế chương trình về mặt chức năng

Hình 3.2.1 Mô tả các chức năng của DHCP Client

Hình 3.2.2 Mô tả các chức năng của DHCP Server

DHCP Client

1 Gửi broadcast

gói tin

DHCPDISCOVER

tới Server Gói tin

này cũng chứa địa

chỉ MAC của

client

3 Nhận gói tin DHCP ACK từ Server, chính thức dùng IP, Subnet Mac… do Server đó cung cấp

2 Lựa chọn một trong những lời đề nghị (DHCP OFFER) và gửi broadcast lại gói tin DHCPREQUEST cho biết nó chấp nhận DHCPOFFER nào

DHCP Server

1 Sau khi nhận được gói tin

DHCP DISCOVER từ Client sẽ

gửi một gói tin DHCP OFFER

đến Client, đề nghị cho thuê một

địa chỉ IP trong một khoảng thời

gian nhất định, kèm theo là một

Subnet Mask và địa chỉ của

Server

2 Máy Server được Client chấp nhận sẽ gửi ngược lại một gói tin DHCP ACK như một lời xác nhận, cho biết địa chỉ IP đó, Subnet Mask đó và thời hạn cho sử dụng

đó sẽ chính thức được áp dụng Ngoài ra server còn gửi kèm những thông tin bổ sung như địa chỉ Gateway mặc định, địa chỉ DNS Server

Trang 13

3.3 Thiết kế về mặt lập trình

- Đầu tiên bên Server DHCP sẽ bắt đầu lắng nghe khi click vào button Listen:

private void btnlisten_Click( object sender, EventArgs e) {

DHCPServer mainServer = new

DHCPServer ( IPAddress Any);

DHCPServer StatusChanged += new

StatusChangedEventHandler (mainServer_StatusChanged);

mainServer.StartListening();

btnlisten.Text = "Listening" ; lblStatus.Text = "Bắt đầu lắng nghe kết nối từ phía Client " ;

}

- Sau đó bên Client DHCP sẽ kết nối tới Server DHCP để bắt đầu gửi và nhận dữ liệu khi click vào button Connect

private void btnConnect_Click( object sender, EventArgs e) {

if (Connected == false ) {

InitializeConnection();

} else

{ CloseConnection( "Disconnected at user's request." );

} }

- Nó sẽ gọi hàm InitializeConnection() để kết nối tới Server, bắt đầu nhận thông tin, gửi Hostname và Mac Address đến cho Server

private void InitializeConnection() {

tcpServer = new TcpClient ();

tcpServer.Connect( IPAddress Parse( "192.168.1.33" ), 8080); Connected = true ;

btnConnect.Text = "Disconnect" ; swSender = new

StreamWriter (tcpServer.GetStream());

NetworkInterface [] nics =

NetworkInterface GetAllNetworkInterfaces();

PhysicalAddress mac = nics[0].GetPhysicalAddress();

UserName = Dns GetHostName();

swSender.WriteLine(UserName);

swSender.WriteLine(mac);

swSender.Flush();

ReceiveMessages();

}

- Server khởi tạo hàm DHCPDISCOVER để chứa thông tin từ Client:

public static void DHCPdiscover( TcpClient tcpUser, string strUsername,

string Message)

{

Ngày đăng: 04/12/2015, 20:02

HÌNH ẢNH LIÊN QUAN

Hình 2.5.1. Mô phỏng quá trình Client gửi DHCP Discover cho Server - Giáo trình lập trình mạng căn bản
Hình 2.5.1. Mô phỏng quá trình Client gửi DHCP Discover cho Server (Trang 8)
Hình 2.5.2. Mô phỏng quá trình Server gửi lại DHCPOFFER cho client - Giáo trình lập trình mạng căn bản
Hình 2.5.2. Mô phỏng quá trình Server gửi lại DHCPOFFER cho client (Trang 8)
Hình 3.1.1. Mô hình thực nghiệm của chương trình mô phỏng - Giáo trình lập trình mạng căn bản
Hình 3.1.1. Mô hình thực nghiệm của chương trình mô phỏng (Trang 11)
Hình 3.2.2. Mô tả các chức năng của DHCP Server - Giáo trình lập trình mạng căn bản
Hình 3.2.2. Mô tả các chức năng của DHCP Server (Trang 12)
Hình 3.2.1. Mô tả các chức năng của DHCP Client - Giáo trình lập trình mạng căn bản
Hình 3.2.1. Mô tả các chức năng của DHCP Client (Trang 12)

TỪ KHÓA LIÊN QUAN

w