Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
887 KB
Nội dung
Lập Trình Mạng Căn Bản MỞ ĐẦU Ngày nay, cho dù hệ thống mạng nhỏ, cỡ vừa lớn máy tính sử dụng địa IP động cấp phát từ dịch vụ DHCP server Mạng nhỏ DHCP cấp IP động cho máy trạm (làm việc môi trường Workgroup) nằm thiết bị mạng (Switch, Modem, Router, AP ) Còn mạng lớn (mô hình mạng phức tạp hơn), máy trạm nằm môi trường Domain Khi nhà quản trị mạng họ dùng dịch vụ DHCP server có sẵn Windows Server 2003, 2008 để cấp phát IP động cho máy trạm hệ thống mạng thay sử dụng DHCP server tích hợp sẵn thiết bị mạng phần cứng Vậy DHCP gì? Nó có ưu điểm gì? Dynamic Host Configuration Protocol (DHCP - giao thức cấu hình động máy chủ) giao thức cấu hình tự động địa IP Máy tính cấu hình cách tự động giảm việc can thiệp vào hệ thống mạng Nó cung cấp database trung tâm để theo dõi tất máy tính hệ thống mạng Mục đích quan trọng tránh trường hợp hai máy tính khác lại có địa IP Nếu DHCP, máy cấu hình IP thủ công Ngoài việc cung cấp địa IP, DHCP cung cấp thông tin cấu hình khác, cụ thể DNS Hiện DHCP có version: cho IPv4 IPv6 Nói cách tổng quan DHCP dich vụ mang đến cho nhiều lợi điểm công tác quản trị trì mạng TCP/IP như: + Tập chung quản trị thông tin cấu hình IP + Cấu hình động máy + Cấu hình IP cho máy cách liền mạch + Sự linh hoạt + Khả mở rộng Nhiệm vụ thành viên nhóm: Nguyễn Xuân Toàn 09520312 - Xây dựng DHCP Server Nguyễn Anh Vũ - Xây dựng DHCP Server Phạm Xuân Mạnh - 09520358 09520422 Xây dựng DHCP Client thiết kế giao diện Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản MỤC LỤC Trang Mở đầu Chương 1: Khảo sát toán 1.1.DHCP ? 1.2.DHCP làm việc ? 1.3.Lợi ích việc sử dụng DHCP 1.3.1 Quản lý TCP/IP tập trung 1.3.2 Giảm gánh nặng cho nhà quản trị hệ thống 1.3.3 Giúp hệ thống mạng trì ổn định 1.3.4 Linh hoạt khả mở rộng Chương 2: Cơ sở lý thuyết 2.1 Địa IP động 2.1.1 Địa IP động đặc biệt ? 2.1.2 Cách thức cấp phát địa IP động 2.2 Cấu hình phạm vi cấp phát dịch vụ DHCP 2.2.1 Phạm vi cấp phát DHCP ? 2.2.2 Tại phải sử dụng phạm vi cấp phát DHCP ? Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 2.3 Cấu hình địa DHCP giành sẵn (Reservations) tùy chọn DHCP 2.3.1 Địa DHCP giành sẵn ? 2.3.2 Các thông tin địa DHCP giành sẵn 2.3.3 Tùy chọn DHCP ? 2.3.4 Tại phải sử dụng tùy chọn DHCP ? 2.3.5 Một số tùy chọn chung DHCP 2.4 Cấu hình DHCP - DHCP Relay Agent 2.4.1 DHCP relay agent ? 2.4.2 Tại phải sử dụng DHCP relay agent ? 2.5 Phương thức hoạt động dịch vụ DHCP Chương 3: Phân tích thiết kế chương trình 11 3.1 Mô hình thực nghiệm chương trình mô chương trình DHCP 11 3.2 Thiết kế chương trình mặt chức 12 3.3 Thiết kế mặt lập trình Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản Chương 4: Kết luận 17 4.1 Các chức đạt chương trình 17 4.2 Các vấn đề tồn 17 Phụ lục I: Các hình ảnh sử dụng 18 Phụ lục II: Tài liệu tham khảo 19 Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản Chương I: KHẢO SÁT BÀI TOÁN 1.1 DHCP gì? DHCP viết tắt Dynamic Host Configuration Protocol, giao thức Cấu hình Host Động thiết kế làm giảm thời gian chỉnh cấu hình cho mạng TCP/IP cách tự động gán địa IP cho khách hàng họ vào mạng Dich vụ DHCP thuận lới lớn người điều hành mạng Nó làm yên tâm vấn đề cố hữu phát sinh phải khai báo cấu hình thủ công Nó bao gồm DHCP Server DHCP Client Hình 1.1 Mô hình DHCP • DHCP server máy chủ có cài đặt dịch vụ DHCP server Nó có chức quản lý cấp phát địa IP động liệu cấu hình TCP/IP Ngoài có nhiệm vụ trả lời DHCP Client có yêu cầu hợp đồng thuê bao • DHCP client dịch vụ nằm cục máy tính (kể máy trạm server) Nó dùng để đăng ký, cập nhật thông tin địa IP ghi DNS cho thân DHCP client gửi yêu cầu đến DHCP server cần đến địa IP tham số TCP/IP cần thiết để làm việc mạng nội Internet 1.2 DHCP làm việc nào? DHCP tự động quản lý địa IP loại bỏ lỗi làm liên lạc Nó tự động gán lại địa chưa sử dụng cho thuê địa khoảng thời gian Trình tự thuê Địa IP DHCP giao thức Internet có nguồn gốc BOOTP (bootstrap protocol), dùng để cấu hình trạm không đĩa DHCP khai thác ưu điểm giao thức truyền tin kỹ thuật khai báo cấu hình định nghĩa BOOTP, có khả gán địa Sự tương tự cho phép định tuyến chuyển tiếp thông điệp BOOTP mạng chuyển tiếp thông điệp DHCP Vì thế, máy chủ DHCP đánh địa IP cho nhiều mạng 1.3 Lợi ích việc sử dụng DHCP Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 1.3.1 Quản lý TCP/IP tập trung • Thay phải quản lý địa IP tham số TCP/IP khác vào sổ (đây việc mà quản trị mạng phải làm cấu hình TCP/IP tay) DHCP server quản lý tập trung giao diện Giúp nhà quản trị vừa dễ quản lý, cấu hình, khắc phục có lỗi xảy máy trạm 1.3.2 Giảm gánh nặng cho nhà quản trị hệ thống • Thứ nhất, trước nhà quản trị mạng thường phải đánh cấu hình IP tay (gọi IP tĩnh) nhờ có DHCP server cấp IP cách tự động cho máy trạm Nhất môi trường mạng lớn cần thiết hữu ích dịch vụ mạng thấy rõ ràng • Thứ hai, trước với kiểu cấu hình tay người dùng họ thay đổi IP Có người thay đổi lung tung DNS server sau quên không nhớ IP DNS server để đặt lại cho lại với quản trị mạng, có người đặt IP làm trùng với IP 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ổ phải chỉnh sửa Nhưng vấn đề IP động Chỉ có người quản trị DHCP server họ có quyền làm việc 1.3.3 Giúp hệ thống mạng trì ổn định • Địa IP cấp phát động cho máy trạm lấy từ dải IP cấu hình sẵn DHCP server Các tham số (DG, DNS server ) cấp cho tất máy trạm xác Sự trùng lặp IP không xảy Các máy trạm luôn có 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 làm việc cho user nói riêng doanh nghiệp nói chung 1.3.4 Linh hoạt khả mở rộng • Người quản trị thay đổi cấu hình IP cách dễ dàng sở hạ tầng mạng thay đổi Do làm tăng linh hoạt cho người quản trị mạng Ngoài DHCP phù hợp từ mạng nhỏ đến mạng lớn Nó phục vụ 10 máy khách hàng ngàn máy khách Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản Chương II: CƠ SỞ LÝ THUYẾT 2.1 Địa IP động 2.1.1 Địa IP động đặc biệt ? Địa IP động đặc biệt (Automatic private IP Addressing) hay APIPA dặc trưng hệ điều hành Microsoft windows cho phép gán dải địa IP tự động máy Client dải địa có giá trị khoảng từ: 169.254.0.0 đến 169.254.255.255 mà dịch vụ DHCP server không phép cấp phát IP cho máy Client 2.1.2 Cách thức cấp phát địa IP động Dịch vụ DHCP thiết lập Hợp đồng thuê địa IP gạn hợp đồng cho thuê địa IP nhằm cấp phát địa IP động cho máy Client 2.2 Cấu hình phạm vi cấp phát dịch vụ DHCP 2.2.1 Phạm vi cấp phát DHCP ? Phạm vi cấp phát dải địa IP hợp lệ dùng để thuê gán cho máy Client Subnet Ta cấu hình pham vi cấp phát DHCP Server để xác định dải địa IP mà Server gán cho máy Client 2.2.2 Tại phải sử dụng phạm vi cấp phát DHCP ? Phạm vi cấp phát xác định xem địa IP phép cấp phát cho máy client 2.3 Cấu hình địa DHCP giành sẵn (Reservations) tùy chọn DHCP 2.3.1 Địa DHCP giành sẵn ? Địa IP dành sẵn dải địa IP gán cố định Nó dải địa IP tạo phạm vi (scope) dành riêng, dải địa IP dành riêng dùng để gàn cho máy Client (Chúng địa IP tĩnh mạng gán cho máy client) 2.3.2 Các thông tin địa DHCP giành sẵn Reservation Name :Là tên gán nhà quản trị IP Address : Là phạm vi dải địa IP gán cho máy Client MAC Address: Là địa MAC thiết bị mà bạn muốn dành sẵn địa IP cho Description: Những mô tả nhà quản trị đưa Supported Type:Kiểu hỗ trợ là: DHCP dành sẵn, BOOTP dành sẵn, hai 2.3.3 Tùy chọn DHCP ? Các tùy chọn DHCP tham số cấu hình máy khách bổ sung mà máy chủ DHCP gán phục vụ máy khách DHCP 2.3.4 Tại phải sử dụng tùy chọn DHCP ? Các tùy chọn DHCP cấu hình sử dụng bảng điều khiển DHCP áp dụng cho nhiều phạm vi dành sẵn.Một tùy chọn Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản DHCP làm tăng thêm chức cho hệ thống mạng Các tùy chọn DHCP cho phép bạn thêm liệu cấu hình IP client 2.3.5 Một số tùy chọn chung DHCP Router (Default Gateway): Địa cổng mặc định (default gateway) hay định tuyến (router) DNS Domain Name: Tên miền DNS xác định miền mà máy khách phụ thuộc Máy khách sử dụng thông tin dể cập nhật thông tin lên máy chủ DNS để máy tính khác tìm thấy DNS Servers: Địa máy chủ DNS mà máy khách sử dụng trình truyền thông WINS Servers: Địa máy chủ WINS mà máy khách sử dụng trình truyền thông WINS Node Type: Là kiểu phương thức phân giải tên NetBIOS mà máy khách (Client) sử dụng 2.4 Cấu hình DHCP - DHCP Relay Agent 2.4.1 DHCP relay agent ? DHCP relay agent máy tính Router cấu hình để lắng nghe thông điệp quảng bá DHCP/BOOTP từ DHCP client, chuyển tiếp thông điệp quảng bá từ giao tiếp đến giao tiếp khác hướng chúng tới nhiều máy chủ DHCP cụ thể 2.4.2 Tại phải sử dụng DHCP relay agent ? DHCP clients sử dụng địa quảng bá (broadcast) để bảo mật việc thuê địa IP từ DFHCP server Một Router thong thường thông qua broadcast trừ cấu hình riêng biệt Tiết kiệm số địa IP thật ( Public IP) Phù hợp với máy tính thường xuyên di chuyển lớp mạng Kết hợp với hệ thống mạng không dây ( Wireless) cung cấp đ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 thiết bị vào lớp mạng 2.5 Phương thức hoạt động dịch vụ DHCP Bước 1: Khi máy Client khởi động, máy gửi broadcast gói tin DHCP DISCOVER, yêu cầu Server phục vụ Gói tin chứa địa MAC client Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản Hình 2.5.1 Mô trình Client gửi DHCP Discover cho Server Nếu client không liên lạc với DHCP Server sau lần truy vấn không thành công tự động phát sinh địa IP riêng cho nằm dãy 169.254.0.0 đến 169.254.255.255 dùng để liên lạc tạm thời Và client trì việc phát tín hiệu Broad cast sau phút để xin cấp IP từ DHCP Server Bước 2: Các máy Server mạng nhận yêu cầu Nếu khả cung cấp địa IP, gửi lại cho máy Client gói tin DHCP OFFER, đề nghị cho thuê địa IP khoảng thời gian định, kèm theo Subnet Mask địa Server Hình 2.5.2 Mô trình Server gửi lại DHCPOFFER cho client Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 10 Server không cấp phát đia IP vừa đề nghị cho client thuê suốt thời gian thương thuyết Bươc 3:Máy Client lựa chọn lời đề nghị (DHCPOFFER) Hình 2.5.3 Mô trình Client lựa chọn Server gửi broadcast lại gói tin DHCPREQUEST chấp nhận lời đề nghị Hình 2.5.4 Mô trình Client gửi DHCPREQUEST cho Server Điều cho phép lời đề nghị không chấp nhận Server rút lại dùng để cấp phát cho Client khác Bước 4: Máy Server Client chấp nhận gửi ngược lại gói tin DHCP ACK lời xác nhận, cho biết địa IP đó, Subnet Mask thời hạn cho sử dụng thức áp dụng Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 11 Hình 2.5.5 Mô trình Server gửi DHCPACK cho client Ngoài server gửi kèm thông tin bổ sung địa Gateway mặc định, địa DNS Server Hình 2.5.6 Mô trình Client nhận IP từ Server (Nhưng Server gửi gói tin DHCP NAK (Negative Acknowledgment) lời đề nghị lúc đầu không xác thông Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 12 số IP có máy tính khác sử dụng Và lúc 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 chương trình mô chương trình DHCP - Hình mô tả client kết nối tới DHCP server Client Server DHCP Client Client Hình 3.1.1 Mô hình thực nghiệm chương trình mô Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 3.2 13 Thiết kế chương trình mặt chức DHCP Client Gửi broadcast gói tin DHCPDISCOVER tới Server Gói tin chứa địa MAC client Lựa chọn lời đề nghị (DHCP OFFER) gửi broadcast lại gói tin DHCPREQUEST cho biết chấp nhận DHCPOFFER Nhận gói tin DHCP ACK từ Server, thức dùng IP, Subnet Mac… Server cung cấp Hình 3.2.1 Mô tả chức DHCP Client DHCP Server Sau nhận gói tin DHCP DISCOVER từ Client gửi gói tin DHCP OFFER đến Client, đề nghị cho thuê địa IP khoảng thời gian định, kèm theo Subnet Mask địa Server Máy Server Client chấp nhận gửi ngược lại gói tin DHCP ACK lời xác nhận, cho biết địa IP đó, Subnet Mask thời hạn cho sử dụng thức áp dụng Ngoài server gửi kèm thông tin bổ sung địa Gateway mặc định, địa DNS Server Hình 3.2.2 Mô tả chức DHCP Server Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 3.3 14 Thiết kế mặt lập trình - Đầu tiên bên Server DHCP bắt đầu lắng nghe 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 kết nối tới Server DHCP để bắt đầu gửi nhận liệu click vào button Connect private void btnConnect_Click(object sender, EventArgs e) { if (Connected == false) { InitializeConnection(); } else { request."); CloseConnection("Disconnected at user's } } - Nó gọi hàm InitializeConnection() để kết nối tới Server, bắt đầu nhận thông tin, gửi Hostname 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) { DHCPServer.htUsers.Add(strUsername, tcpUser); Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 15 DHCPServer.htConnections.Add(tcpUser, strUsername); DHCPoffer(htConnections[tcpUser] + Message); } - Server gửi cho Clien gói tin DHCPOFFER chứa thông tin IP Address, Subnet Mask cho Client: (IP Adress cho khoảng từ 192.168.1.2 192.168.1.255, Subnet Mask mặc định 255.255.255.0) public static void DHCPoffer(string Message) { StreamWriter swSenderSender; TcpClient[] tcpClients = new TcpClient[DHCPServer.htUsers.Count]; DHCPServer.htUsers.Values.CopyTo(tcpClients, 0); Random r = new Random(); byte[] b = new Byte[4]; b[0] = 192; b[1] = 168; b[2] = 1; b[3] = Byte.Parse((r.Next(2, 255)).ToString()); IPAddress ip = new IPAddress(b); byte[] d = new Byte[4]; d[0] = 255; d[1] = 255; d[2] = 255; d[3] = 0; IPAddress dg = new IPAddress(d); e = new StatusChangedEventArgs(ip + " "); OnStatusChanged(e); e = new StatusChangedEventArgs(dg+ " "); OnStatusChanged(e); for (int i = 0; i < tcpClients.Length; i++) { try { if (Message.Trim() == "" || tcpClients[i] == null) { continue; } swSenderSender = new StreamWriter(tcpClients[i].GetStream()); swSenderSender.WriteLine("DHCPoffer:"); swSenderSender.WriteLine(ip); swSenderSender.WriteLine(dg); swSenderSender.Flush(); swSenderSender = null; } } catch { RemoveUser(tcpClients[i]); } } Sau bên Client tiếp nhận gói tin DHCPOFFER: public static void DHCPoffer(string Message) { StreamWriter swSenderSender; TcpClient[] tcpClients = new TcpClient[DHCPServer.htUsers.Count]; Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 16 DHCPServer.htUsers.Values.CopyTo(tcpClients, 0); Random r = new Random(); byte[] b = new Byte[4]; b[0] = 192; b[1] = 168; b[2] = 1; b[3] = Byte.Parse((r.Next(2, 255)).ToString()); IPAddress ip = new IPAddress(b); byte[] d = new Byte[4]; d[0] = 255; d[1] = 255; d[2] = 255; d[3] = 0; IPAddress dg = new IPAddress(d); e = new StatusChangedEventArgs(ip + " "); OnStatusChanged(e); e = new StatusChangedEventArgs(dg+ " "); OnStatusChanged(e); for (int i = 0; i < tcpClients.Length; i++) { try { if (Message.Trim() == "" || tcpClients[i] == null) { continue; } swSenderSender = new StreamWriter(tcpClients[i].GetStream()); swSenderSender.WriteLine("DHCPoffer:"); swSenderSender.WriteLine(ip); swSenderSender.WriteLine(dg); swSenderSender.Flush(); swSenderSender = null; } catch { RemoveUser(tcpClients[i]); } } } - Server gửi cho Client gói tin DHCPACK Client nhận gói tin này, sau gán IP nhận vào: public void ganiptinh() { string chuoiganip = ("netsh interface ip set address name=\"Local Area Connection\" static " + ip + " " + sm + " " + dg); ProcessStartInfo p = new ProcessStartInfo("cmd.exe", "/c" + chuoiganip); p.RedirectStandardOutput = true; p.UseShellExecute = false; p.CreateNoWindow = true; Process pro = new Process(); pro.StartInfo = p; pro.Start(); } Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản - 17 Khi tắt kết nối, Client gán lại IP động (trường hợp thử nghiệm máy có nối mạng, sau tắt kết nối tới DHCP Server, tự động gán IP động sẵn có máy) public void ganipdong() { string chuoiganip = ("netsh interface ip set address name=\"Local Area Connection\" dhcp"); ProcessStartInfo p = new ProcessStartInfo("cmd.exe", "/c" + chuoiganip); p.RedirectStandardOutput = true; p.UseShellExecute = false; p.CreateNoWindow = true; Process pro = new Process(); pro.StartInfo = p; pro.Start(); } - Client đóng kết nối: private void CloseConnection(string Reason) { Connected = false; lblStatus.Text = "Đã ngắt kết nối tới Server DHCP!"; listView1.Items.Clear(); btnConnect.Text = "Connect"; swSender.Close(); srReceiver.Close(); tcpServer.Close(); ganipdong(); \ } Trên số đoạn code chương trình lấy để minh họa số trình mô chương trình DHCP Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 18 CHƯƠNG IV: KẾT LUẬN 4.1 Các chức đạt chương trình Trong thời gian qua, chúng em cố gắng tìm hiểu yêu cầu đề tài Những phần chúng em làm bao gồm việc xây dựng hàm tạo kết nối Client Server, cho phép Client Server gửi nhận thông tin qua lại với Client gửi thông tin Hostname, Mac Address gói DHCP REQUEST cho Server, nhận gói DHCP ACK bao gồm thông tin IP Address, Subnet Mask, Defaul Gateway từ Server sau gán thông tin cho Client Server nhận Hostname, Mac Address từ Client, sau gửi cho Client gói DHCP ACK bao gồm thông tin Server cấp cho Client như: IP Address, Subnet Mask, Defaul Gateway 4.2 Các vấn đề tồn Bên cạnh điều đạt tồn tại: o Chưa quản lí thời gian cho thuê IP Server giành cho Client o Chưa khắc phục lỗi thử nghiệm số máy sau Client nhận gói tin DHCP ACK không gán vào cho Client o Chưa broadcast gói tin DHCP REQUEST từ Client cho nhiều Server… Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 19 PHỤ LỤC CÁC HÌNH ẢNH SỬ DỤNG TRONG BÀI Hình 1.1 Mô hình DHCP Hình 2.5.1 Mô trình Client gửi DHCP Discover cho Server Hình 2.5.2 Mô trình Server gửi lại DHCPOFFER cho client Hình 2.5.3 Mô trình Client lựa chọn Server Hình 2.5.4 Mô trình Client gửi DHCPREQUEST cho Server Hình 2.5.5 Mô trình Server gửi DHCPACK cho client Hình 2.5.6 Mô trình Client nhận IP từ Server Hình 3.1.1 Mô hình thực nghiệm chương trình mô Hình 3.2.1 Mô tả chức DHCP Client Hình 3.2.2 Mô tả chức DHCP Server Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 20 PHỤ LỤC TÀI LIỆU THAM KHẢO Tài liệu học môn lập trình mạng thầy Nhiệm cung cấp http://tools.ietf.org/html/rfc2131 http://vi.wikipedia.org/wiki/DHCP http://www.java2s.com/Code/CSharp/CatalogCSharp.htm http://social.msdn.microsoft.com/Forums/enAU/wsk/thread/836c2150-583c-43a6-93b3-0e3202c2e2f5 http://support.microsoft.com/kb/169289/vi-vn#mtDisclaimer http://forum.duytan.edu.vn/sites/index.aspx? p=forum_thread&forum=688&thread=2119#p0 http://yinyangit.wordpress.com/2011/06/22/socket-communicationwith-tcp-client-server/ http://yinyangit.wordpress.com/2011/07/24/csharp-simpleexample-multiconnection-tcp-server/# 10 http://baomathethong.blogspot.com/2010/07/dhcp-va-su-huu-ichdanh-cho-quan-tri.html 11 http://125.234.239.108/~phuocnt/TKQL%20MANG %20LAN/BaiGiang/CH03_BOOTROM/mo%20hinh %20DHCP.swf Chương Trình Mô Phỏng DHCP [...]... quá trình Server gửi DHCPACK cho client Hình 2.5.6 Mô phỏng quá trình Client nhận được IP mới từ Server Hình 3.1.1 Mô hình thực nghiệm của chương trình mô phỏ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 Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 20 PHỤ LỤC 2 TÀI LIỆU THAM KHẢO 1 2 3 4 5 Tài liệu học môn lập trình mạng. .. swSender.Close(); srReceiver.Close(); tcpServer.Close(); ganipdong(); \ } Trên đây chỉ là một số đoạn code trong chương trình lấy ra để minh họa một số quá trình mô phỏng chương trình DHCP Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 18 CHƯƠNG IV: KẾT LUẬN 4.1 Các chức năng đã đạt được của chương trình Trong thời gian qua, chúng em đã cố gắng tìm hiểu về các yêu cầu của đề tài Những phần chúng em đã làm... Client cho nhiều Server… Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 19 PHỤ LỤC 1 CÁC HÌNH ẢNH SỬ DỤNG TRONG BÀI Hình 1.1 Mô hình DHCP Hình 2.5.1 Mô phỏng quá trình Client gửi DHCP Discover cho Server Hình 2.5.2 Mô phỏng quá trình Server gửi lại DHCPOFFER cho client Hình 2.5.3 Mô phỏng quá trình Client lựa chọn Server Hình 2.5.4 Mô phỏng quá trình Client gửi DHCPREQUEST... Phỏng DHCP Lập Trình Mạng Căn Bản 12 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 Client 1 Server DHCP Client 2 Client 3 Hình 3.1.1 Mô hình thực nghiệm của chương trình mô phỏng... đượ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 Hình 3.2.2 Mô tả các chức năng của DHCP Server Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 3.3 14 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 =.. .Lập Trình Mạng Căn Bản 11 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 Chương Trình. .. p.RedirectStandardOutput = true; p.UseShellExecute = false; p.CreateNoWindow = true; Process pro = new Process(); pro.StartInfo = p; pro.Start(); } Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản - 17 Khi tắt kết nối, Client sẽ gán lại IP động (trường hợp thử nghiệm trên máy có nối mạng, sau khi tắt kết nối tới DHCP Server, sẽ tự động gán IP động sẵn có của máy) public void ganipdong() { string chuoiganip = ("netsh... trình DHCP - Hình dưới đây mô tả 3 client kết nối tới DHCP server Client 1 Server DHCP Client 2 Client 3 Hình 3.1.1 Mô hình thực nghiệm của chương trình mô phỏng Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 3.2 13 Thiết kế chương trình về mặt chức năng 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 2 Lựa chọn một trong những lời đề nghị (DHCP... DHCPDISCOVER để chứa thông tin từ Client: public static void DHCPdiscover(TcpClient tcpUser, string strUsername, string Message) { DHCPServer.htUsers.Add(strUsername, tcpUser); Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 15 DHCPServer.htConnections.Add(tcpUser, strUsername); DHCPoffer(htConnections[tcpUser] + Message); } - Server gửi cho Clien gói tin DHCPOFFER chứa thông tin về IP Address, Subnet... sẽ tiếp nhận gói tin DHCPOFFER: public static void DHCPoffer(string Message) { StreamWriter swSenderSender; TcpClient[] tcpClients = new TcpClient[DHCPServer.htUsers.Count]; Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 16 DHCPServer.htUsers.Values.CopyTo(tcpClients, 0); Random r = new Random(); byte[] b = new Byte[4]; b[0] = 192; b[1] = 168; b[2] = 1; b[3] = Byte.Parse((r.Next(2, 255)).ToString()); ... Trên số đoạn code chương trình lấy để minh họa số trình mô chương trình DHCP Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản 18 CHƯƠNG IV: KẾT LUẬN 4.1 Các chức đạt chương trình Trong thời gian... mạng thay đổi Do làm tăng linh hoạt cho người quản trị mạng Ngoài DHCP phù hợp từ mạng nhỏ đến mạng lớn Nó phục vụ 10 máy khách hàng ngàn máy khách Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn. .. cấu hình sử dụng bảng điều khiển DHCP áp dụng cho nhiều phạm vi dành sẵn.Một tùy chọn Chương Trình Mô Phỏng DHCP Lập Trình Mạng Căn Bản DHCP làm tăng thêm chức cho hệ thống mạng Các tùy chọn