Bài giảng Lập trình mạng nâng cao - Chương 3: IP Multicasting
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình mạng nâng cao - Chương 3: IP Multicasting LẬP TRÌNH MẠNG NÂNG CAO Chương 3. IP MULTICASTINGNguyễn Vũ – IT Faculty, Viet Han Friendship 1 Kỹ thuật IP Multicasting BroadCasting là gì? Dùng để gửi một gói tin đến tất cả các nút trong mạng Để thực hiện hình thức quảng bá, địa chỉ đến của gói tin sẽ là địa chỉ quảng bá. Có hai loại là: Local BroadCast Global BroadCast Ví dụ: Cho mạng lớp B có địa chỉ IP là 192.168.0.0 có SubNet Mask là 255.255.0.0, địa chỉ Local Broadcast là: 192.168.254.255 Nguyễn Vũ – IT Faculty, Viet Han Friendship 2 Kỹ thuật IP Multicasting Theo mặc định, Socket không được phép gửi tin nhắn quảng bá: Gửi gói dữ liệu BroadCast:class BadBroadcast { public static void Main() { Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Broadcast, 9050); byte[] data = Encoding.ASCII.GetBytes(This is a test message); sock.SendTo(data, iep); sock.Close(); }} Nguyễn Vũ – IT Faculty, Viet Han Friendship 3 Kỹ thuật IP MulticastingDùng kỹ thuật BroadCasting để gửi dữ liệu đến nhiềumáy trong mạng cục bộĐối với một ứng dụng C # để gửi các gói dữ liệuBroadcast, ta dùng phương thức SetSocketOption() củalớp Socket :Socket sock = new Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp);sock.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast, 1); Nguyễn Vũ – IT Faculty, Viet Han Friendship 4 Kỹ thuật IP MulticastingDùng kỹ thuật BroadCasting để gửi dữ liệu đến nhiều máy trongmạng cục bộ Gửi gói dữ liệu:class Broadcst { public static void Main() { Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint iep1 = new IPEndPoint(IPAddress.Broadcast, 9050); IPEndPoint iep2 = new IPEndPoint(IPAddress.Parse(192.168.1.255), 9050); string hostname = Dns.GetHostName(); byte[] data = Encoding.ASCII.GetBytes(hostname); sock.SetSocketOption(SocketOptionLeyel.Socket, SocketOptionName.Broadcast, 1); sock.SendTo(data, iep1); sock.SendTo(data, iep2); sock.Close(); }} Nguyễn Vũ – IT Faculty, Viet Han Friendship 5 Kỹ thuật IP Multicasting Nhận gói dữ liệu:class RecvBroadcst { public static void Main() { Socket sock = new Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Any, 9050); sock.Bind(iep); EndPoint ep = (EndPoint)iep; Console.WriteLine(Ready to receiye…); byte[] data = new byte[1024]; int recv = sock.ReceiveFrom(data, ref ep); string stringData = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(received: {0} from: {1}, stringData, ep.ToString()); data = new byte[1024]; recv = sock.ReceiveFrom(data, ref ep); stringData = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(received: {0} from: {1},stringData, ep.ToString()); sock.Close(); }} Nguyễn Vũ – IT Faculty, Viet Han Friendship 6 Kỹ thuật IP Multicasting Sử dụng Broadcast Packet để thông báo có sự hiện diện của Serverclass Advertise { public static void Main() { Advertise server = new Advertise(); } public Advertise() { Thread advert = new Thread(new ThreadStart(sendPackets)); advert.IsBackground = true; advert.Start(); Console.Write(Press Enter to stop); string data = Console.ReadLine(); } Nguyễn Vũ – IT Faculty, Viet Han Friendship 7 Kỹ thuật IP Multicasting Sử dụng Broadcast Packet để thông báo có sự hiện diện của Servervoid sendPackets(){ Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1); IPEndPoint iep = new IPEndPoint(IPAddress.Broadcast, 9050); string hostname = Dns.GetHostName(); byte[] data = Encoding.ASCII.GetBytes(hostname); while (true) { sock.SendTo(data, iep); Thread.Sleep(6000); }} Nguyễn Vũ – IT Faculty, Viet Han Friendship 8 Kỹ thuật IP Multicasting Multicasting là gì? Một địa chỉ Multicasting cho phép thiết bị gửi dữ liệu tới một tập xác định trước các host, được biết đến như các nhóm Multicast, trong các mạng con khác nhau. Range Assignment 224.0.0.0–224.0.0.255 Localnetworkcontrolblock 224.0.1.0–224.0.1.255 Internetworkcontrolblock 224.0.2.0–224.0.255.0 ADHOCblock 224.1.0.0–224.1.255.255 STmulticastgroups 224.2.0.0–224.2. ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật IP Multicasting Lập trình mạng nâng cao Bài giảng Lập trình mạng nâng cao Socket Multicasting trong .Net Chương 3 IP Multicasting Lập trình mạngTài liệu có liên quan:
-
Đề cương chi tiết học phần: Mạng máy tính và lập trình mạng
4 trang 195 0 0 -
Báo cáo bài tập lớn môn Mạng máy tính và Lập trình mạng: Tìm hiểu về Soap
32 trang 139 0 0 -
349 trang 128 0 0
-
Bài giảng Lập trình mạng - Chương 1: Giới thiệu Lập trình mạng
18 trang 113 0 0 -
Báo cáo chuyên đề: Lập trình mạng nâng cao
24 trang 88 0 0 -
Giáo trình Lập trình mạng: Phần 1 - Trường Đại học Phan Thiết
78 trang 79 0 0 -
Giáo trình Lập trình mạng: Phần 1
54 trang 72 0 0 -
Giáo trình Lập trình mạng - ThS. Văn Thiên Hoàng
201 trang 60 0 0 -
17 trang 51 0 0
-
Tài liệu hệ thống phát hiện xâm nhập
14 trang 41 0 0
Tài liệu mới:
-
Đề kiểm tra 1 tiết học kì 2 môn Tiếng Anh lớp 7 có đáp án - THCS Rời Kơi
4 trang 0 0 0 -
ĐỀ THI THỬ ĐẠI HỌC LẦN II NĂM HỌC 2012 - 2013 MÔN VẬT LÝ - TRƯỜNG THPT ĐẶNG THÚC HỨA
6 trang 0 0 0 -
Đề thi giữa học kì 2 môn Toán lớp 7 năm 2022-2023 có đáp án - Trường PTDTNT THCS Hiệp Đức
4 trang 0 0 0 -
Đề thi học kì 2 môn Toán lớp 8 năm 2023-2024 có đáp án - Trường TH&THCS Phước Hiệp, Phước Sơn
3 trang 0 0 0 -
Fracture of underwater notched structures
10 trang 0 0 0 -
Three-component U-Pu-Th fuel for plutonium irradiation in heavy water reactors
12 trang 0 0 0 -
Đề thi học kì 1 môn Vật lí 10 năm 2019-2020 có đáp án - Trường THPT Lương Văn Cù
6 trang 0 0 0 -
Đề thi giữa học kì 2 môn Vật lí lớp 10 năm 2020-2021 - Trường THPT Hương Vinh
5 trang 0 0 0 -
Đề thi giữa học kì 1 môn Tin học lớp 10 năm 2022-2023 - Trường THPT Hồ Nghinh (Mã đề 105)
5 trang 0 0 0 -
Đề thi giữa học kì 1 môn Vật lí lớp 11 năm 2022-2023 - Trường THPT Nguyễn Huệ, Đắk Lắk
2 trang 0 0 0