Teleinformatyka Wykład 5
Kodowanie i działania na liczbach binarnych Odrobina arytmetyki Kodowanie i działania na liczbach binarnych
NIEWYGODNY OBLICZENIOWO ALGORYM ZAMIANY Zapis pozycyjny Układ dziesiętny L10=anan-1...a1,a0 ,a-1a-2...a-k = Układ dowolny Lp=anan-1...a1,a0,a-1a-2...a-k = NIEWYGODNY OBLICZENIOWO ALGORYM ZAMIANY
Realizacja operacji matematycznych – układy logiczne Algebra BOOLE’a Analiza układów przełączających tablice (siatki) Karnaugha metoda Quine’a - McCluskeya Optymalizacja (minimalizacja) układów
Zapis liczb binarnych: Metoda ZM – znak-moduł 0 1 0 1 0 0 1 0 1 +165 znak + 1 1 0 1 0 0 1 0 1 – 165 znak –
Zmiana liczb binarnych na układ „10” bardzo prosta matematycznie liczba binarna bn bn-1 …. b3 b2 b1 b0 => bn*2n Na przykład: 100101 => 1*20+ 1*22 + 1*25= 1+4+ 32= 37
Zmiana liczb układu „10” na binarne 236 = 2 · 102 + 3 101 6 100 Cyfra Waga 236 : 2 =118 reszta 0 118 : 2 =59 reszta 0 59 : 2 = 29 reszta 1 29 : 2 = 14 reszta 1 14 : 2 = 7 reszta 0 7 : 2 = 3 reszta 1 3 : 2 = 1 reszta 1 1 : 2 = 0 reszta 1 ciąg reszt z dzielenia przez 2 1 1 1 0 1 1 0 0
Zamiana liczby dziesiętnej na binarną - 317,45 0,45 • 2 = 0 0,9 0,9 • 2 = 1 0,8 0,8 • 2 = 1 0,6 0,6 • 2 = 1 0,2 0,2 • 2 = 0 0,4 0,4 • 2 = 0 0,8 0,8 • 2 = 1 0,6 itd. ............................ najmłodszy bit 01110011 100111101 Wynik 100111101,01110011
Operacje arytmetyczne Dodawanie 1 0 1 0 0 1 0 1 + 0 1 1 1 1 0 0 1 ------------------------ 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 przeniesienia
Algorytmy dodawania i odejmowania są wówczas identyczne Dodawanie łatwe – gorzej z odejmowaniem Wprowadzono ułatwienie – kod uzupełnieniowy do 2 Zasada - dodajemy liczbę ujemną ! - w liczbie ujemnej bit znaku zostawiamy bez zmian, a zamieniamy wszystkie 1 na 0, a 0 na 1 - do liczby ujemnej dodajemy 1 Algorytmy dodawania i odejmowania są wówczas identyczne
Odejmowanie – przykład 165 - 121 1 0 1 0 0 1 0 1 165 - 0 1 1 1 1 0 0 1 121 0 0 0 1 0 1 1 0 0 44 0 1 1 1 1 0 0 0 pożyczka (komplikacja!) Odejmowanie w kodzie uzupełnieniowym do 2 ZM 0, 1 0 1 0 0 1 0 1 1 składnik dodatni ZM 1, 0 1 1 1 1 0 0 1 2 składnik ujemny 1 1 0 0 0 0 1 1 0 2 skł. uzupełniamy do 2 + 1 1 1 0 0 0 0 1 1 1 2 skł. U2 0 1 0 1 0 0 1 0 1 pierwszy składnik 0 0 0 1 0 1 1 0 0 dodajemy !
Odejmowanie – przykład 121 - 165 0 1 1 1 1 0 0 1 121 - 1 0 1 0 0 1 0 1 165 …??? 0 1 0 1 1 0 0 212 (–256) = - 44 1 0 0 0 0 1 0 0 pożyczka - trudne ZM 0 0 1 1 1 1 0 0 1 1 składnik dodatni ZM 1 1 0 1 0 0 1 0 1 2 składnik ujemny 1 0 1 0 1 1 0 1 0 2 skł. uzupełniamy do 2 1 1 0 1 0 1 1 0 1 1 2 skł. U2 0 0 1 1 1 1 0 0 1 pierwszy składnik 1 1 1 0 1 0 1 0 0 dodajemy 0 1 1 1 1 0 1 przeniesienia 1 0 0 1 0 1 0 1 1 jeśli ujemne to U2 1 0 0 1 0 1 1 0 0 WYNIK – 44 w U2
SUMATOR 1-bitowy sumowane bity przeniesienie z mniej znaczącej pozycji suma bitów z uwzględnieniem przeniesienia przeniesienie na bardziej znaczącą pozycję
SUMATOR 2 liczb 3-bitowych 1012 = 510 0112 = 310 1 liczba pierwsza 1 1 1 1 wynik 1 liczba druga 1 1 10002 = 810
KODOWANIE Kod – zestaw symboli przypisany danej informacji Kodowanie – przypisywanie informacjom pewnych umownych symboli
KOD BCD BCD (ang. Binary Coded Decimal czyli liczby dziesiętne zakodowane binarnie). Polega na zapisaniu jednej cyfry układu dziesiętnego przy użyciu dokładnie czterech bitów. Cyfry: 0 0000 5 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 0100 9 1001
Przykład kodowania BCD (BCD8421): 31710 = 1001111012 = 0011 0001 0111 3 1 7 Większość komputerów zapisuje liczby na ośmiu bitach (lub więcej) Dwie możliwości zapisu BCD: wyzerowanie lub ustawienie najstarszych czterech bitów i zapisywanie cyfr na czterech najmłodszych bitach. zapis dwóch cyfr w każdym bajcie - tak zwane spakowane BCD.
Układ kodujący w BCD D C B A 9 H L 8 7 6 5 4 3 2 1 ŻD ŻB ŻA A D C B 9 ŻC ŻB ŻA D A C B 9 8 7 6 5 4 3 2 1
INNE KODY kod AIKENA kod JOHNSONA kod ze stałym indeksem kod Hamminga
Sieć Ethernet Standardy komunikacji teleinformatycznej Najpopularniejsza topologia sieci- (warstwa łącza danych) Stacje, które aktualnie nie nadają żadnych informacji, 'nasłuchują' transmisję innych stacji. W wypadku, gdy dwie nasłuchujące stacje dojdą do wniosku, że sieć jest wolna i równocześnie zaczną transmitować dane ma miejsce kolizja (colision) - sytuacja, gdy dwa węzły usiłują wysłać "porcję danych" przez łącze w tym samym czasie. Po tym wydarzeniu stacje te przekażą do sieci informację o kolizji. Informacja ta sprawi, że wszystkie stacje zaprzestaną transmisji i po pewnym czasie znowu wznowią przesyłanie danych.
Ramka Ethernet - to zbiór impulsów cyfrowych przesyłających informację za pomocą nośnika. Wielkość takiej ramki może wynosić od 64 do 1518 bajtów – bez preambuły i pola startowego W ramce można wyróżnić: nagłówek komunikatu, główkę, dane, ciąg kontrolny ramki.
Nagłówek jest informacją dla stacji odbiorczej o rozpoczęciu transmisji.(8b) Główka zawiera informację o wysyłającym ramkę, oraz o jej celu, a także może zawierać pole długości, czyli informację z ilu bajtów składa się ramka. Główka zawiera dwa pola identyfikujące źródło i miejsce docelowe. Są to adresy węzłów czyli unikalne liczby identyfikujące urządzenie w sieci, oraz adres sterowania dostępem do nośnika, który zawiera identyfikator adresu producenta i numer seryjny danego urządzenia. ADRESY FIZYCZNE! Adres węzła FF-FF-FF-FF-FF-FF jest adresem typu broadcast co oznacza, że komunikat przeznaczony jest dla wszystkich systemów w sieci (14 bajtów = 6 nad + 6 odb +2) Sprzedawany producentom numer w 3 pierwszych bajtach
10Mb Ethernet o specyfikacji IEEE 802.3; Ramka IEE 802.3 DA – destination SA – source 7 oktetów preambuła 1 oktet początek 6 oktetów adres odb. adres nad. 2 oktety długość dane 43-1497 4 oktety kontrola nagłówek główka 1 oktet = 8 bitów 10Mb Ethernet o specyfikacji IEEE 802.3; 100Mb Ethernet o specyfikacji IEEE 802.3u; 1Gb Ethernet o specyfikacji IEEE 802.3z.
Ramka główka typ DLH (Data Link Header IEEE 802.3 ) - 14 oktetów: * adres odbiorcy - 6 oktetów; pierwsze trzy oktety identyfikują producenta karty * adres nadawcy - 6 oktetów (format j.w.) * długość ramki - 2 oktety (tylko pole danych) dane od 43 do 1497 oktetów danych
100VG-ANYLAN Specyfikacja IEEE 802.12 W topologii tej wykorzystywany jest tu priorytet zapotrzebowania. W środowisku 100VG węzeł jest inteligentnym urządzeniem, nadal wzmacnia sygnały, tak jak to się działo w topologii Ethernet, ale może ustalać poziom priorytetu (normalny lub wysoki). 100VG może zapewnić dodatkową szerokość pasma dla określonych aplikacji jak np. wideokonferencja.
FDDI Fiber Distributed Data Interface - Token Ring Przepływ danych 100Mb/s Nośnikiem w przypadku tej topologii jest światłowód Topologia ta współpracuje z dwiema fizycznymi topologiami : pierścieniową i gwiaździstą. Sieć ta zbudowana jest z dwóch pierścieni, po których dane są przesyłane w przeciwbieżne strony. Stacje robocze podłączone są do tych dwóch pierścieni. Zaleta = mimo uszkodzenia jednego pierścienia sieć jest nadal sprawna i można przesyłać dane. W przypadku uszkodzenia pierścienia stacje robocze automatycznie się rekonfigurują i zawracają dane do drugiego pierścienia, przez co inne stacje nie zauważają zaistniałej awarii.
Rozmiar ramki w tej topologii może wynosić 4096 bajtów. Pojedyncza specjalna ramka (token), przechodzi przez pierścień od jednej stacji do drugiej. Kiedy stacja chce przekazywać dane, 'chwyta' token i w jego miejsce przekazuje ramkę danych. Stacja docelowa po jej odebraniu, sporządza kopię tej ramki i kontynuuje przesyłanie ramki po pierścieniu, ustalając bit FCI (potwierdzenie odbioru). Kiedy stacja, która pierwotnie wysłała ramkę odbierze ją ponownie, zakłada że wiadomość dotarła do celu. Usuwa wtedy ramkę z pierścienia i przekazuje token w jej miejsce. Rozmiar ramki w tej topologii może wynosić 4096 bajtów.
ATM Asynchronous Transfer Mode Skomplikowana - najmniej rozumiana ze wszystkich. Topologia ta nie rozróżnia wielkości ramki, korzysta ze stałej wielkości pakietu: 48 bajtów określanej jako komórka. ATM korzysta ze wirtualnych połączeń między komunikującymi się stacjami : PVC (Permanenet Virtual Conections) - stałe SVC (Switched Virtual Connections) - komutowane Węzły komunikacyjne ATM utrzymują tabele z identyfikacjami wszystkich stacji końcowych. Kiedy stacja chce transmitować wysyła pakiet VPI (identyfikator ścieżki wirtualnej), który przechodzi przez całą sieć ustanawiając połączenie wirtualne między dwiema stacjami. Zaleta – dobra jakość usługi. ATM może współpracować z topologiami sieci lokalnej i rozległej - nie jest wymagana translacja ramki przy przechodzeniu z jednej do drugiej. Sieć Polpak-T (TPSA od 1995 r.) działa przy wykorzystaniu ATM i FrameRelay.
Model ISO/OSI OSI - Open System Interconnection – połączone systemy otwarte ISO - International Organization for Standardization tzw. model referencyjny - warstwowy Cele: Proste przedstawienie składników sieci, urządzeń i procesów, Standaryzacja – uniknięcie niezgodności funkcjonowania sieci różnych typów, Łatwiejsze zrozumienie.
Pojęcie protokołu sieciowego Protokół (ang. protocol) - Zbiór sygnałów używanych przez grupę komputerów podczas wymiany danych (wysyłania, odbierania i kontroli poprawności informacji). W transmisji może być używane kilka protokołów - np. jedne do komunikacji z jednym systemem, a drugi z innym. Protokołem w sieci telekomunikacyjnej (teleinformatycznej) nazywamy zbiór powiązań i połączeń jej elementów funkcjonalnych służących do wzajemnego porozumiewania. Podstawowym zadaniem protokołu jest identyfikacja procesu, z którym chce się komunikować proces bazowy.
Protokoły sieciowe – zapewniają: usługi łączy systemów telekomunikacyjnych, obsługują adresowanie, informacje routingu (wybór trasy), weryfikację błędów, żądania retransmisji procedury dostępu do sieci, określone przez wykorzystywany rodzaj sieci.
Najpopularniejsze protokoły sieciowe to: IP (Internet Protocol), część zestawu protokołów TCP/IP; APPN (Advanced Peer-to-Peer Networking) firmy IBM; CONS (OSI Connection-Oriented Network Service); CLNS (OSI Connectionless Network Service); IPX, część zestawu protokołów SPX/IPX firmy Novell; AppleTalk DDP (Datagram Delivery Protocol).
TCP/IP IPX/SPX NetBEUI Trzy najczęściej używane protokoły (w sieciach lokalnych w internecie) to: TCP/IP IPX/SPX NetBEUI
TCP/IP ang. Transmission Control Protocol/Intenet Protocol Protokoły występujące w modelu OSI TCP/IP ang. Transmission Control Protocol/Intenet Protocol Dotyczy modelu OSI, czyli powiązania między protokołami. Najczęściej używany, zarówno dla sieci lokalnych jak i połączenia z internetem. TCP - Protokół sterowania transmisją jest protokołem obsługi połączeniowej procesu użytkownika, umożliwiającym niezawodne i równoczesne (ang. full-duplex) przesyłanie strumienia bajtów. W większości internetowych programów użytkowych stosuje się protokół TCP. TCP korzysta z protokołu IP, więc całą rodzinę protokołów nazywamy TCP/IP.
UDP - Protokół datagramów użytkownika (komunikaty przesyłane między systemami jeden niezależnie od drugiego) (ang. User Datagram Protocol) jest protokołem obsługi bezpołączeniowej procesów użytkownika. W odróżnieniu od protokołu TCP, który jest niezawodny, protokół UDP nie daje gwarancji, że datagramy UDP zawsze dotrą do celu.
ICMP - Protokół międzysieciowych komunikatów sterujących (ang ICMP - Protokół międzysieciowych komunikatów sterujących (ang. Internet Control Message Protocol) obsługuje zawiadomienia o błędach i informacje sterujące między bramami (ang. gateway) a stacjami (ang. host). Komunikaty ICMP są przesyłane za pomocą datagramów IP, są one zazwyczaj generowane i przetwarzane przez oprogramowanie sieciowe TCP/IP, a nie przez procesy użytkownika. IP - Protokół międzysieciowy (ang. Internet Protocol) obsługuje doręczanie pakietów dla protokołów TCP, UDP oraz ICMP. Procesy użytkownika normalnie nie muszą komunikować się z warstwą IP. ARP - Protokół odwzorowania adresów (ang. Address Resolution Protocol) służy do odwzorowania adresów internetowych na adresy sprzętowe. Ten protokół i protokół RARP jest używany tylko w niektórych sieciach RARP - Protokół odwrotnego odwzorowywania adresów (ang. Reverse Address Resolution Protocol) służy do odwzorowywania adresów sprzętowych na adresy internetowe
IPX/SPX Zestaw protokołów firmy Novell, bierze on nazwę od swoich dwóch głównych protokołów: międzysieciowej wymiany pakietów IPX sekwencyjnej wymiany pakietów SPX. Wykorzystywany w pierwszej generacji Ethernet (Novell) Pewna analogia do TCP/IP.
NetBEUI NetBEUI - interfejs został opracowany przez IBM w 1985 roku. Jest małym ale wydajnym protokołem komunikacyjnym LAN. NetBEUI jest wyłącznie protokołem transportu sieci LAN dla systemów operacyjnych Microsoft. Nie jest trasowany. Umożliwia wzajemną komunikację komputerom korzystającym z systemów operacyjnych lub oprogramowania sieciowego firmy Microsoft.
Model ISO-OSI 7 Warstwa aplikacji - dostęp użytkownika końcowego do środowiska OSI 6 Warstwa prezentacji – Transformacja danych – np. szyfrowanie 5 Warstwa sesji – sterowanie komunikacją między użytkownikami a administratorem 4 Warstwa transportowa – sterowanie wejście-wyjście – wiadomości między użytkownikami 3 Warstwa sieci – kierowanie pakietami 2 Warstwa łącza danych (przęsło) - kontrola błędów - niezawodność 1 Warstwa fizyczna – transmisja przez kanał fizyczny
Połączenie – nawiązanie komunikacji: Rozpoczyna się zawsze od warstwy 7 Przechodzi kolejno przez warstwy niższe (nie zawsze przez wszystkie – np. komputery w tej samej sieci mogą nie używać warstwy sieciowej Enkapsulacja w systemie nadającym W systemie odbierającym - dekapsulacja
Warstwy - definicja Warstwa to proces lub urządzenie wewnątrz systemu komputerowego – dla wypełnienia określonej funkcji „Czarna skrzynka” z wejściami i wyjściami Wyższa warstwa „widzi” niższą jako zestaw funkcji do wykorzystania
DLC- Data Link Control – sterowanie łączem danych – warstwa 2 Aplikacja Prezentacja Sesja Transport Sieć Łącze danych Fizyczna DLC system A system B łącze fizyczne 7 6 5 4 3 1 2 Węzeł podsieci DLC- Data Link Control – sterowanie łączem danych – warstwa 2
1. Warstwa fizyczna (physical layer) Zapewnia transmisję danych pomiędzy węzłami sieci. Definiuje interfejsy sieciowe i medium transmisji. Warstwa „nieinteligentna” – tylko sygnał – brak kontroli przeznaczenia
Warstwa fizyczna określa m.in. : Sposób połączenia mechanicznego (wtyczki, złącza), elektrycznego (poziomy napięć, prądów), standard fizycznej transmisji danych. W skład jej obiektów wchodzą min.: przewody, karty sieciowe NIC, modemy, wzmacniaki (repeatery), koncentratory.
2. Warstwa łącza danych (data link layer) Zapewnia niezawodność łącza danych, Przygotowuje dane – ramki (frame) Budowanie struktur do przesyłu
Warstwa łącza danych: Kontroluje dostęp - MAC adresy fizyczne kart i innych urządzeń węzłowych (6 bajtów – 3 producent, 3 numer) Definiuje mechanizmy kontroli błędów w przesyłanych ramkach lub pakietach - CRC (Cyclic Redundancy Check). Ściśle powiązana z warstwą fizyczną, która narzuca topologię. Warstwa ta często zajmuje się również kompresją danych. W skład jej obiektów wchodzą: sterowniki urządzeń sieciowych, np.: sterowniki kart sieciowych oraz mosty (bridge) przełączniki (switche).
3. Warstwa sieciowa (network layer) Jest odpowiedzialna za trasowanie (routing) pakietów w sieci, czyli wyznaczenie optymalnej trasy dla połączenia (w niektórych warunkach dopuszczalne jest gubienie pakietów przez tę warstwę). Protokoły adresowania – IP, IPX, Apple Talk (warstwa łącza danych tylko adresy MAC) Zapewnia metody ustanawiania, utrzymywania i rozłączania połączenia sieciowego. Obsługuje błędy komunikacji. W skład jej obiektów wchodzą m.in.: routery
4. Warstwa transportowa (transport layer) Zapewnia transfer danych typu point-to-point. Dba o kolejność pakietów (ramek) otrzymywanych przez odbiorcę. Sprawdza poprawność (CRC) przesyłanych pakietów (w przypadku ich uszkodzenia lub zaginięcia, zapewnia ich retransmisję). Powyżej tej warstwy dane mogą być traktowane jako strumień.
5. Warstwa sesji (session layer) Zapewnia aplikacjom na odległych komputerach realizację wymiany danych pomiędzy nimi. Kontroluje nawiązywanie i zrywanie połączenia przez aplikację. Jest odpowiedzialna za poprawną realizację zapytania o daną usługę.
6. Warstwa prezentacji (presentation layer) Zapewnia tłumaczenie danych, definiowanie ich formatu oraz odpowiednią składnię, przekształcenie danych na postać standardową, niezależną od aplikacji. Rozwiązuje także problemy jak niezgodność reprezentacji liczb, znaków końca wiersza, liter narodowych itp. Odpowiada także za kompresję i szyfrowanie.
7. Warstwa aplikacji (application layer): Zapewnia aplikacjom metody dostępu do środowiska OSI. Warstwa ta świadczy usługi końcowe dla aplikacji, min.: udostępnianie zasobów (plików, drukarek). Na tym poziomie rezydują procesy sieciowe dostępne bezpośrednio dla użytkownika