Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6

Podobne dokumenty
Oprogramowanie komunikacyjne dla Internetu rzeczy Laboratorium nr 4 komunikacja unicastowa IPv6

Adresowanie grupowe. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 25 kwietnia 2006

Gniazda surowe. Bartłomiej Świercz. Łódź,9maja2006. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda surowe

TRX API opis funkcji interfejsu

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

TCP - receive buffer (queue), send buffer (queue)

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Akademia Techniczno-Humanistyczna w Bielsku-Białej

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Moduł DEIMIC IR Spis treści

imei Instytut Metrologii, Elektroniki i Informatyki

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Wykaz zmian w programie SysLoger

Wykaz zmian w programie SysLoger

Wprowadzenie do biblioteki klas C++

Gniazda UDP. Bartłomiej Świercz. Łódź, 3 kwietnia Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda UDP

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Wykaz zmian w programie SysLoger

Instytut Teleinformatyki

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Programowanie niskopoziomowe

Podstawy i języki programowania

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

ArtPlayer. Odtwarzacz plików video sterowany poprzez Artnet/DMX V Instrukcja obsługi.

Tomasz Greszata - Koszalin

1. Opis. 2. Wymagania sprzętowe:

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Instrukcja programowania IRSC OPEN

KONFIGURACJA SIECIOWA SYSTEMU WINDOWS

Tworzenie oprogramowania

Wireshark analizator ruchu sieciowego

Spring Web MVC, Spring DI

Klient-Serwer Komunikacja przy pomocy gniazd

Przesyłania danych przez protokół TCP/IP

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Wstęp do programowania. Wykład 1

Zadanie programistyczne nr 3 z Sieci komputerowych

Instrukcja użytkownika ARSoft-WZ1

Utworzenie pliku. Dowiesz się:

Instytut Teleinformatyki

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Instalacja i opis podstawowych funkcji programu Dev-C++

Tworzenie aplikacji rozproszonej w Sun RPC

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Procedura aktualizacji systemu TelkomBud. dla serwera DBfC w wersji 4.x

Narzędzia diagnostyczne protokołów TCP/IP

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Wykaz zmian w programie SysLoger

Programowanie mikrokontrolerów AVR

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Programowanie obiektowe zastosowanie języka Java SE

Wstęp do programowania

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Programowanie proceduralne w języku C++ Podstawy

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

ARP Address Resolution Protocol (RFC 826)

Projektowanie z użyciem procesora programowego Nios II

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Podstawy Kompilatorów

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Zadanie programistyczne nr 2 z Sieci komputerowych

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

APOLLO KISO II - PC INSTRUKCJA UŻYTKOWNIKA INSTRUKCJA OBSŁUGI PROGRAMU DO KOMUNIKACJI KASA KOMPUTER. (ver. 1.0 czerwiec 2005)

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

1 Zapoznanie się ze środowiskiem Xenomai.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Podstawy programowania. Wprowadzenie

Programowanie w języku LOGO KOMENIUSZ

Sieci komputerowe - Protokoły warstwy transportowej

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

POLITECHNIKA SZCZECIŃSKA WYDZIAŁ ELEKTRYCZNY

Aplikacje WWW - laboratorium

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Dokumentacja aplikacji Szachy online

Laboratorium 3.4.2: Zarządzanie serwerem WWW

Programowanie obiektowe

Instalacja serwera baz danych PostgreSQL w systemach operacyjnych z rodziny Windows.

Metody i algorytmy pomiarów przedmiotów metodami optycznymi.

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Delphi podstawy programowania. Środowisko Delphi

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C

Ćwiczenie 1. Przygotowanie środowiska JAVA

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Transkrypt:

Standardy programowania protokołów komunikacyjnych Laboratorium nr 5 komunikacja multicastowa IPv6 Celem ćwiczenia jest zdobycie umiejętności programowania komunikacji multicastowej za pomocą protokołu IPv6 w języku C na poziomie interfejsu gniazd. Materiały dotyczące poszczególnych funkcji były podane na wykładzie. 1. Narzędzia i konfiguracja Dla potrzeb laboratorium wykorzystany zostanie kompilator języka C++ DevCpp. Wersję instalacyjną oraz wersję przenośną można pobrać ze strony: http://sourceforge.net/projects/orwelldevcpp/files/. W konfiguracji linkera koniecznie należy dołączyć bibliotekę ws2_32.dll. W tym celu w menu należy wybrać kolejno: Tools/Options/Compiler Options z dopisać l ws2_32 jak na poniższym rysunku. W systemach wbudowanych użyte zostanie środowisko.net (dla SO Linux wersja otwarto źródłowa Mono) i język programowania C# http://www.mono-project.com. W SO Linux do kompilacji kodu C# można wykorzystać kompilator Mono mcs albo Microsoft csc np.: mcs kod.cs mono kod.cs Przy pracy z interfejsem graficznym (MS Windows, X Window) pomocne może być środowisko IDE MonoDevelop http://www.monodevelop.com. - 1 -

2. Najważniejsze struktury danych i najważniejsze funkcje (język C) Aby możliwe było odbieranie datagramów adresowanych do grup multicastowcy należy dołączyć do odpowiedniej grupy multicastowej. Wykorzystywane są przy tej operacji struktura ipv6_mreq oraz funkcja setsockopt(). struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; unsigned int ipv6mr_interface; }; Dołączenie do grupy multicastowej wymaga zadeklarowania struktury: ipv6_mreq multicastrequest; po wypełnieniu adresem multicastowym i zerem w polu interfejsu należy wywołać funkcję: setsockopt( sock, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, (char*)&multicastrequest, sizeof(multicastrequest) ); - 2 -

3.1. Multicastowy nadajnik datagramów UDP (Język C) Program wysyła co sekundę na adres multicastowy datagram UDP z komunikatem zawierającym tekstową wersję lokalnego czasu. Program obsługuje zarówno protokół IPv6 jak i IPv4. Uruchamiając z wiersza poleceń można podać, jako parametry, docelowy adres multicastowy i numer portu. -3-

3.2. Multicastowy nadajnik datagramów UDP (Język C#) Program wysyła na adres multicastowy datagram UDP z komunikatem zawierającym tekstową wersję lokalnego czasu. Program obsługuje zarówno protokół IPv6 jak i IPv4. Uruchamiając z wiersza poleceń można podać, jako parametry, docelowy adres multicastowy i numer portu. Należy pamiętać, że adresy multicastowe IPv6 powinny zawierać numer interfejsu (ang. ScopeID) przez, który mają być wysyłane. -4-

4.1. Multicastowy odbiornik datagramów UDP (Język C) Program nasłuchuje na adresie multicastowym i wypisuje treści komunikatów przesłanych datagramami UDP. Program obsługuje zarówno protokół IPv6 jak i IPv4. Uruchamiając z wiersza poleceń można podać, jako parametry, źródłowy adres multicastowy i numer portu. -5-

-6-

4.2. Multicastowy odbiornik datagramów UDP (Język C#) Program nasłuchuje na adresie multicastowym i wypisuje treści komunikatów przesłanych datagramami UDP. Program obsługuje zarówno protokół IPv6 jak i IPv4. Uruchamiając z wiersza poleceń można podać, jako parametry, źródłowy adres multicastowy i numer portu. Należy pamiętać, że adresy multicastowe IPv6 powinny zawierać numer interfejsu (ang. ScopeID) przez, który mają być wysyłane. -7-