background image

METODY WYMIANY INFORMACJI W 

SIECIACH PAKIETOWYCH

 Unicast – jeden nadawca i jeden odbiorca
 Broadcast – jeden nadawca przesyła do wszystkich
 Multicast – jeden nadawca i wielu (podzbiór wszystkich) odbiorców

background image

  Adres  multicastingowy  nie  identyfikuje ani konkretnej maszyny,  ani 

też konkretnej podsieci i nie ma bezpośredniego związku z adresami 
IP innych klas identyfikujących dany komputer.

Uwaga:    adres 224.0.0.0.0 jest zabroniony

adres 224.0.0.1 określa grupę wszystkich maszyn korzystających
z multicastingu  w Internecie (ang. all host group).

R 1

R 2

A

B

C

D

E

F

G

D a t a g r a m   m u l t i c a s t i n g o w y

A d r e s   I P   =   1 1 1 0   +   g r u p a   m u l t i c a s t i n g u

TRANSMISJA MULTICASTINGOWA 

 Pula adresów IP dla multicastingu: 224.0.0.0 do 239.255.255.255

background image

GRUPY MULTICASTOWE 

  grupę  tworzą  węzły  posiadające  identyczny  tzw. 

adres  grupowy  IP 

(ang. IP multicast address)

Uwaga – nadawca pakietu multicast nie musi być członkiem grupy

 węzły tworzące grupę mogą znajdować się w różnych sieciach IP (tzn. 

mieć adresy unicastw różnych sieciach IP)

background image

1110

adres grupy multicast

  Zestaw  hostów  nasłuchujących  nadejścia  datagramu, 

wysyłanego pod danym adresem grupy multicast, nazywany jest 
grupą hostów. Grupa hostów może obejmować wiele sieci.

  Członkowie  tej  grupy  są  przydzielani  dynamicznie  –  host  może 

przyłączyć się do grupy i ją opuścić, kiedy zechce. Nie ma żadnych 
ograniczeń  liczby  hostów  w  grupie,  a  hosty  nie  musza  wysyłać 
komunikatów do grupy, aby do niej należeć.

  Niektóre  grupy  adresów  multicast  zatwierdzone  są  jako  dobrze 

znane  adresy  i  są  nazywane  stałymi  grupami  hostów.  Obowiązuje 
przy  tym  zasada,  że  stały  jest  adres  grupy  multicast  a  nie  jej 
członkowie, którzy mogą się dynamicznie zmieniać.

ADRESY KLASY D 

background image

MULTICAST LOKALNY v RUTOWALNY 

  Multicast  lokalny  (ang.link  local  multicast)  –  gdy  wszystkie  węzły  są  w 

jednej sieci lokalnej

  Multicast  rutowany(ang.routed  multicast)  –  gdy  węzły  tworzące  grupę 

znajdują się w różnych sieciach lokalnych

background image

ADRESY MULTICAST IP ORAZ MAC

 by warstwa 2 mogła rozpoznać ramki z pakietami multicast, muszą 

istnieć adresy grupowe MAC

  warstwa  2  automatycznie  generuje  adres  grupowy  MAC  na 

podstawie adresu grupowego IP

 przełączniki przekazują ramki z adresami grupowymi MAC na wiele 

portów (mniej zaawansowane przełączniki rozgłaszają)

 stały prefiks 01-00-5E w adresie MAC oznacza adres grupowy

 bit 24 adresu MAC jest zawsze równy 0 

 pozostałe 23 bity są kopiowane z mniej znaczącej części adresu IP

background image

ADRESY MULTICAST IP ORAZ MAC - CD 

Przekształcenie  gubi  informację  o  pięciu  bitach  adresu  IP  (XXXXXna 
rysunku)

Przykład bez utraty informacji:

 IP 224.20.8.6 => MAC 01-00-5E-14-08-06

Przykład z utratą informacji:

adresy  z  zakresu  224.0.0.1,  225.0.0.1,  226.0.0.1,  ...,  239.0.0.1  wszystkie 
odwzorowane są do adresu MAC 01-00-5E-00-00-01

Wniosek: dopiero warstwa 3 potrafi ostatecznie stwierdzić, czy pakiet 
trafił pod właściwy adres

background image

PRÓG TTL - CD

  interfejsowi  rutera  przypisywana  jest  stała  wartość,  którą  ruter 

porównuje  z  wartością  TTL  w  pakiecie;wartość  ta  nosi  nazwę  progu 
TTL (ang. TTLthreshold)

 pakiet zostanie przeniesiony przez wejściowy interfejs rutera, jeśli TTL 

w pakiecie jest większy niż próg TTL tego interfejsu

 mechanizm ten ogranicza zasięg pakietów multicast

  przy  wyjściu  z  rutera  parametr  TTL  w  pakiecie  multicast  jest 

zmniejszany o 1, jak w każdym pakiecie IP

background image

PRÓG TTL

Standardowe wartości TTL:

0

 –  ograniczenie  do  maszyny;  pakiet  nie  zostanie  wysłany  przez  żaden 

interfejs

1

 – ograniczenie do sieci LAN; pakiet nie zostanie przeniesiony przezruter

< 32

 – ograniczenie do jednej organizacji

< 128

 – ograniczenie do jednego kontynentu

< 255

 – zasięg nieograniczony, globalny

background image

nagłówek IP

Komunikat IGMP

20 bajtów

8 bajtów

datagram IP

Protokół  IGMP  (ang.  Internet  Group  Managment  Protocol)
przesyła  swoje  komunikaty  za  pośrednictwem  oddzielnych 
datagramów IP (podobnie jak ICMP)

PROTOKÓŁ IGMP 

background image

Słowo 16 bitowe

bajt

4 bity

Słowo 32 bitowe

4 bity

Wersja

typ

nieużywany

suma kontrolna

adres 32 bitowy klasy D

Wartość 1 gdy dotyczą zapytania przez router multicast
Wartość  2  gdy  dotyczy  odpowiedzi  przesyłanej  przez 
host

Group Address -  zawiera adres grupy 
będący  dla  hosta  potwierdzeniem 
jego członkostwa w tej grupie. 

PROTOKÓŁ IGMP  - CD

Format komunikatu IGMP

background image

  Użytkownik  połączenia  TCP/UDP  jest  identyfikowany  za 

pośrednictwem numeru, zwanego adresem portu (ang port  address)
Adres portu jest łączony z adresem internetowym IP hostu, tworząc 
gniazdo (ang. Socket)

 Para socketów identyfikuje oba końce każdego połączenia TCP/UDP 

SOCKET NADAJĄCY=ADRES IP NADFAWCY

         + ADRES PORTU ŹRÓDŁOWEGO

 Konkretne usługi sieciowe są przypisane na stałe do pewnych 

numerów portów. 

UWAGA: Możliwe jest teoretycznie przypisanie dla TCP numeru portu do 
jednej  usługi,  a  dla  UDP  przypisanie  tego  samego  numeru  do  zupełnie 
innej usługi, jednak w celu uniknięcia nieporozumień, nigdy się tego nie 
robi.

SOCKET ODBIERAJĄCY=ADRES IP ODBIORCY  

                             + ADRES PORTU DOCELOWEGO

GNIAZDA WARSTWY IV - CZ.I

background image

ftp-data

20/tcp

ftp

 21/tcp

telnet

23/tcp

Smtp    

25/tcp         

mail

time  

37/tcp        timserver

time   

37/udp        

timserver

rlp   

39/udp        

resource

name 

42/udp        

nameserver

whois

43/tcp        nickname

domain

53/tcp

domain  53/udp
mtp      

57/tcp                            

#deprecated  

bootps

67/udp

# bootp server

bootpc

68/udp

# bootp cl ient

tftp

69/udp

gopher

70/tcp

# gopher server

rje

77/tcp

finger

79/tcp

http

80/tcp

 

GNIAZDA WARSTWY IV - CZ.II

Przykładowy plik
 /etc/services 
w systemie LINUX

background image

HOST A

HOST B

1

2

Port źródłowy = 401

Port docelowy = 25 (SMTP)+IP

Port źródłowy = 400

Port docelowy = 25 (SMTP)+IP

HOST C

3

Port źródłowy = 400

Port docelowy = 25 (SMTP)+IP

Rozróżnienie połączeń za posrednictwem adresów IP

UWAGA: identyczne adresy portów źródłowych mogą być rozróżniane 
poprzez  sprawdzenie  dołączonych  do  nich  adresów  IP  =>  wielu 
użytkowników  może  korzystać    usług  i  sieciowej  oferowanej  za 
pośrednictwem tego samego portu TCP ( np. SMTP ) 

ROLA GNIAZD PRZY POŁACZENIU

background image

  W  zestawie  protokołów  TCP/IP 

protokół 

datagramów 

użytkownika  UDP  (ang.  User 
Datagram  Protocol),  zapewnia 
porty  protokołów  używane  do 
rozróżniania 

programów 

wykonywanych  na  pojedynczej 
maszynie.

  Do  przesyłania  komunikatów  między  maszynami  UDP  używa

podstawowego  protokołu  IP  i  ma  tę  samą  niepewną, 
bezpołączeniową  semantykę  dostarczania  datagramów  co  IP  -  nie 
używa potwierdzeń w celu upewnienia się, o dotarciu komunikatów i 
nie  zapewnia  kontroli  szybkości  przesyłania  danych  między 
maszynami. 

  Program  użytkowy  korzystający  z  UDP  musi  na  siebie  wziąć 

odpowiedzialność za rozwiązanie problemów niezawodności.

PROTOKÓŁ UDP

background image

Pola  port  nadawcy  i  port 
odbiorcy  (ang  Source  & 
Destination  Port)  zawierają 
16-bitowe  numery  portów 
UDP 

używane 

do 

odnajdywania 

procesów 

oczekujących 

na 

dany 

datagram. Pole port nadawcy
jest opcjonalne. 

Pole  długość  (ang.  Length) 
zawiera wartość odpowiadającą 
liczbie  bajtów  datagramu  UDP 
wliczając  nagłówek  i  dane. 
Minimalna  więc  wartość  tego 
pola  wynosi  więc  8,  czyli  jest 
długością samego nagłówka. 

Pole 

suma 

kontrolna

 jest 

opcjonalne. 

Ponieważ  jednak  IP  nie  wylicza  sum 
kontrolnych  dla  danych,  suma  kontrolna  UDP 
jest  jedyną  gwarancją,  że  dane  nie  zostały 
uszkodzone.

KOMUNIKAT UDP

background image

Podstawowe  usługi  oferowane  przez  TCP  (ang.  Transmision  Control 
Protocol)
 to :

 kontrola poprawności transmisji
 kontrola przepływu danych
 sekwencjonowanie

Główne usługi TCP: 

  Zarządzanie  danymi  przesyłanymi  za  pośrednictwem  sieci  w  oparciu  o 

wcześniej  zestawione  połączenia  (ang.  Connection-oriented  data 
managment). 
Podczas każdej transmisji TCP obsługuje transmisje danych 
w  obie  strony  i  kontroluje,  czy  całość  przesyłanej  informacji  dotarła  do 
punktów docelowych. 

PROTOKÓŁ TCP - CZ.I

background image

 

Przesyłanie danych w oparciu o koncepcję strumieni (ang. Steam-oriented 

data transfer). TCP otrzymuje dane z warstw wyższych w postaci strumienia 
bajtów,  a  nie  jakichkolwiek  pakietów,  ramek  czy  segmentów.  Dopiero 
wewnątrz modułu TCP dane są grupowane w tzw. segmenty TCP

PROTOKÓŁ TCP - CZ.II

 

Kontrola  przepływu  danych  (ang.  Flow  control  -  sliding  windows)  Moduł 

otrzymujący dane może wpływać na ilość danych wysyłanych przez moduł 
nadsyłający. Wykorzystywane jest w tym celu pojęcie tzw. rozmiaru „okna”, 
który jest przesyłany od odbiorcę do nadawcy. Nadawca jest uprawniony do 
wysłania określonej ilości bajtów w ramach danego okna. 

 Gwarantowanie poprawności przesyłanych informacji  (ang. Reliable data 

transfer)  Moduł  TCP  otrzymujący  nadchodzące  dane  wykorzystuje 
mechanizm  sum  kontrolnych  do  sprawdzenia  poprawności  tych  danych. 
Dodatkowo  TCP  używa  liczników  czasu  do  określenia,  czy  nie  został 
przekroczony  czas  przewidziany  na  nadesłanie  danych  lub  nadejścia 
potwierdzenia odbioru. Jednocześnie, podczas odbierania przychodzących 
danych  moduł TCP sprawdza występowanie tzw. duplikatów.

background image

 

Jednoczesna obsługa wielu sesji transmisyjnych (ang. Multiplexing) 

 

Pełna transmisja dwukanałowa (ang. Full duplex transmission)

 

 

Zamykanie  połączeń  logicznych  po  sprawdzeniu,  czy  całość 

transmitowanych  danych  została  przesłana  prawidłowo  (Graceful  close). 
Mechanizm ten zapewnia, że w normalnych warunkach ( jeżeli połączenie nie 
zostało  przerwane  fizycznie)  TCP  dopilnuje,  aby  całość  wysłanych  danych 
dotarła do miejsca przeznaczenia przed zamknięciem połączenia.

 

Obsługa  poziomów  bezpieczeństwa  oraz  priorytetów  danych  (ang. 

Precedence and security)

PROTOKÓŁ TCP – CZ. III

  Sprawdzenie  poprawności  działania  mechanizmu  ponownego  łączenia 

segmentów  w  strumień  (ang.  Resequencing)  Celem  zapewnienia 
prawidłowego  odtworzenia strumienia danych z nadchodzących segmentów, 
TCP nadaje numery poszczególnym segmentom.