Różnice między wybraną wersją a wersją aktualną.
Nowa wersja | Poprzednia wersja | ||
sk1:lacze_danych [2016/03/21 10:38] jkonczak utworzono |
sk1:lacze_danych [2022/12/06 17:51] (aktualna) jkonczak [Mierzenie prędkości] |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ====== Warstwa łącza danych i protokół ARP ====== | + | ====== Warstwa łącza danych ====== |
===== Warstwa łącza danych ===== | ===== Warstwa łącza danych ===== | ||
- | Pozwala wysłać **ramki** do konkretnego urządzenia (lub urządzeń), do których nadawca jest połączony na warstwie fizycznej. | + | Pozwala wysłać **ramki** do konkretnego urządzenia (lub urządzeń) do których nadawca jest połączony bezpośrednio (na warstwie fizycznej). |
Dla typowych rozwiązań w sieciach komputerowych podzielona na: | Dla typowych rozwiązań w sieciach komputerowych podzielona na: | ||
Linia 9: | Linia 9: | ||
* obsługuje wielodostęp - rozwiązywanie konfliktów | * obsługuje wielodostęp - rozwiązywanie konfliktów | ||
* eliminuje zniekształcone ramki (liczy [[http://pl.wikipedia.org/wiki/Cykliczny_kod_nadmiarowy|CRC]]) | * eliminuje zniekształcone ramki (liczy [[http://pl.wikipedia.org/wiki/Cykliczny_kod_nadmiarowy|CRC]]) | ||
- | * <html><small>implementacja zależna od warstwy fizycznej</small></html> | + | * <html><small></html>implementacja zależna od warstwy fizycznej; w ethernecie opisana w [[http://en.wikipedia.org/wiki/IEEE_802.3|IEEE 802.3]]<html></small></html> |
* LLC ("górna" część warstwy 2) http://en.wikipedia.org/wiki/Logical_link_control | * LLC ("górna" część warstwy 2) http://en.wikipedia.org/wiki/Logical_link_control | ||
* przekazuje informacje o protokole warstwy wyższej | * przekazuje informacje o protokole warstwy wyższej | ||
Linia 25: | Linia 25: | ||
* odczyt adresu MAC: ''ifconfig eth0'' / '' ip link'' | * odczyt adresu MAC: ''ifconfig eth0'' / '' ip link'' | ||
* zmiana adresu MAC: ''ifconfig eth0 hw ether 12:34:56:78:90:ab'' / '' ip link set dev eth0 address 12:34:56:78:90:ab'' | * zmiana adresu MAC: ''ifconfig eth0 hw ether 12:34:56:78:90:ab'' / '' ip link set dev eth0 address 12:34:56:78:90:ab'' | ||
+ | |||
+ | ++++ Przykłady poleceń wyświetlających adres MAC: | | ||
+ | <html> | ||
+ | <pre> | ||
+ | <b>/ # ip l</b> | ||
+ | 2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000 | ||
+ | link/ether <span title="Adres MAC interfejsu em1" style="background-color:rgba(0,255,0,0.2)">5c:f9:dd:78:3d:88</span> brd ff:ff:ff:ff:ff:ff | ||
+ | 3: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 | ||
+ | link/ether <span title="OUI (organizationally unique identifier), identyfikator organizacji" style="background-color:rgba(255,0,0,0.2)">90:e2:ba</span>:<span title="24 bity na urządzenia w tym bloku adresów MAC" style="background-color:rgba(0,0,255,0.15)">1a:4d:48</span> brd ff:ff:ff:ff:ff:ff | ||
+ | 5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 | ||
+ | link/ether <span style="background-color:rgba(0,0,0,0.1)">0</span><span title="Bit 0x1 w tym bloku oznaczałby adres multicastowy, bit 0x2 oznaczały lokalnie administrowany MAC" style="background-color:rgba(255,0,0,0.25)">8</span><span style="background-color:rgba(0,0,0,0.1)">:ed:b9:4c:31:8b</span> brd ff:ff:ff:ff:ff:ff | ||
+ | |||
+ | <b>/ # ifconfig -a</b> | ||
+ | em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 | ||
+ | ether <span title="Adres MAC interfejsu em1" style="background-color:rgba(0,255,0,0.2)">5c:f9:dd:78:3d:88</span> txqueuelen 1000 (Ethernet) | ||
+ | RX packets 2702 bytes 355076 (346.7 KiB) | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 523 bytes 53668 (52.4 KiB) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | device interrupt 20 memory 0xddf00000-ddf20000 | ||
+ | |||
+ | p4p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 | ||
+ | inet 192.168.1.2 netmask 255.255.255.0 broadcast 0.0.0.0 | ||
+ | inet6 fe80::92e2:baff:fe1a:4d48 prefixlen 64 scopeid 0x20<link> | ||
+ | ether <span title="OUI (organizationally unique identifier), identyfikator organizacji" style="background-color:rgba(255,0,0,0.2)">90:e2:ba</span>:<span title="24 bity na urządzenia w tym bloku adresów MAC" style="background-color:rgba(0,0,255,0.15)">1a:4d:48</span> txqueuelen 1000 (Ethernet) | ||
+ | RX packets 293 bytes 60122 (58.7 KiB) | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 286 bytes 26478 (25.8 KiB) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | device memory 0xdd420000-dd43ffff | ||
+ | |||
+ | wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500 | ||
+ | ether <span style="background-color:rgba(0,0,0,0.1)">0</span><span title="Bit 0x1 w tym bloku oznaczałby adres multicastowy, bit 0x2 oznaczały lokalnie administrowany MAC" style="background-color:rgba(255,0,0,0.25)">8</span><span style="background-color:rgba(0,0,0,0.1)">:ed:b9:4c:31:8b</span> txqueuelen 1000 (Ethernet) | ||
+ | RX packets 0 bytes 0 (0.0 B) | ||
+ | RX errors 0 dropped 0 overruns 0 frame 0 | ||
+ | TX packets 0 bytes 0 (0.0 B) | ||
+ | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
+ | </pre> | ||
+ | </html> | ||
+ | ++++ | ||
Domena rozgłoszeniowa http://en.wikipedia.org/wiki/Broadcast_domain [[http://soisk.info/index.php?title=Domena_kolizyjna_i_rozg%C5%82oszeniowa|[1]]] [[http://study-ccna.com/collision-broadcast-domain|[2]]] | Domena rozgłoszeniowa http://en.wikipedia.org/wiki/Broadcast_domain [[http://soisk.info/index.php?title=Domena_kolizyjna_i_rozg%C5%82oszeniowa|[1]]] [[http://study-ccna.com/collision-broadcast-domain|[2]]] | ||
- | Urządzenia warstwy łącza danych to mostki (bridge) i przełączniki (switch) | + | Urządzenia warstwy łącza danych to **mostki** (bridge) i **przełączniki** (switch) |
===== Ethernet ===== | ===== Ethernet ===== | ||
Linia 34: | Linia 74: | ||
* Ethernet obejmuje zarówno warstwę fizyczną jak i łącza danych | * Ethernet obejmuje zarówno warstwę fizyczną jak i łącza danych | ||
* http://pl.wikipedia.org/wiki/Ethernet | * http://pl.wikipedia.org/wiki/Ethernet | ||
- | * Budowa ramki http://en.wikipedia.org/wiki/Ethernet_frame Ramki Ethernet II / IEEE 802.2 LLC | + | * Budowa ramki http://en.wikipedia.org/wiki/Ethernet_frame |
+ | * Ramki Ethernet II / IEEE 802.2 LLC | ||
* Pole długość ramki / typ ramki, http://en.wikipedia.org/wiki/EtherType | * Pole długość ramki / typ ramki, http://en.wikipedia.org/wiki/EtherType | ||
Linia 48: | Linia 89: | ||
===== Mierzenie prędkości ===== | ===== Mierzenie prędkości ===== | ||
- | ''netperf'' / ''iperf'' \\ | + | * Do mierzenia prędkości na jednym urządzeniu musi działać program czekający na połączenie (serwer), na drugim należy uruchomić program który łączy się z serwerem i mierzy prędkość (klient) |
- | Instalacja w/w programów w OpenSUSE: [[http://software.opensuse.org/package/netperf|netperf]] / iperf: ''zypper install iperf'' | + | * [[https://github.com/HewlettPackard/netperf|netperf]] [[https://hewlettpackard.github.io/netperf/doc/netperf.html|[1]]] |
+ | * serwer: ''netserver -N'' | ||
+ | * klient: ''netperf -H <//cel//>'' | ||
+ | * [[https://iperf.fr/|iperf]] | ||
+ | * serwer: ''iperf3 -s'' | ||
+ | * klient: ''iperf3 -c <//cel//>'' | ||
- | Przepustowość: bandwidth ≥ throughput ≥ goodput \\ | + | <html><small></html> |
- | Jednostki bps i pps | + | |
- | ===== Pomiędzy warstwą łącza danych a warstwą sieci ===== | + | Opcje programu netperf: |
- | ARP - http://en.wikipedia.org/wiki/Address_Resolution_Protocol | + | * ''netperf -h'' – pomoc ogólna |
- | * wyświetlanie znanych odwzorowań ''arp'' / ''ip neigh'' | + | * ''netperf [-t {TCP_STREAM|…}] -- -h'' – pomoc dla wybranego testu |
- | * czyszczenie wszystkich odwzorowań ''ip n flush all'' | + | * ''netperf -D //1// …'' – wyniki pośrednie co 1 sekundę |
+ | * ''netperf -l //15// …'' – test o długości 15 sekund | ||
+ | * ''netperf -t UDP_STREAM …'' – test wykorzystujący protokół UDP | ||
+ | * ''netperf -t UDP_STREAM -H <cel> -- -m //1400//'' – test "dużych" wiadomości | ||
+ | * ''netperf -t UDP_STREAM -H <cel> -- -m //22//'' – test "małych" wiadomości | ||
- | Ręczne wysyłanie żądania ARP – ''arping'' | + | <del>Instalacja w/w programów w OpenSUSE: ''zypper install netperf'' / iperf: ''zypper install iperf''</del> |
+ | <html></small></html> | ||
+ | |||
+ | |||
+ | Przepustowość: bandwidth ≥ throughput ≥ goodput [[https://en.wikipedia.org/wiki/Goodput|[1]]] \\ | ||
+ | Jednostki bps i pps | ||
===== Slajdy ===== | ===== Slajdy ===== | ||
''[[http://www.cs.put.poznan.pl/mlibuda/urzadzenia.pdf|Urządzenia sieciowe technologii Ethernet]]'' \\ | ''[[http://www.cs.put.poznan.pl/mlibuda/urzadzenia.pdf|Urządzenia sieciowe technologii Ethernet]]'' \\ | ||
- | ''[[http://www.cs.put.poznan.pl/mlibuda/ARP.pdf|Protokół ARP]]'' |