Тема №2 IP адресация

   Цел на упражнението: Разясняване на структурта и функциите на IP (Internet Protokol) протокола. Запознаване с адресирането в Интернет. Класове от IP адреси, разделянето на мрежите на подмрежи.
   Теоритична част: IP е основния протокол, който се използва в интернет слоя. Той дефинира основната единица за предаване на данни в интернет- дейтаграмата.
   Дейтаграмата е пакет от данни, кото се предава от източник до приемник, съгласно указан в него адрес. Всички слоеве над мрежовия използват IP за предаване на данни без установяване на логически канал между предаващия и приемащия хост. По този начин дейтаграмите могат да се получават в ред различен от изпратения. IP протокола не гарантира успешното получаване на IP дейтаграмата до местназначението си. При възникване на проблем протиколът се опитва да изпрати съобщение за грешка към нейния източник. Заглавната част на IP дейтаграмата съдържа 32 битови адреси, който идентифицират предаващия и приемащия хост. Пакетите могат да бъдат разделяни на (фрагментирани) на по-малки пакети. Може да бъде задаван приоритет на трафика, да има изисквания към пътя, могат да се отбелязват пакетите с информация за сигурност.
   Формат на дейтаграмата: дейтаграмата се състои от:
      1. Заглавна част (header), която е с фиксирана дължина от 20 байта и поле за опции с променлива дължина до 40 байта (max 60 байта).
      2. Поле за полезна информация (payload).
Максималния размер на IP дейтаграмата е 65535 байта.
Функциите на този протокол включват предаване на данни между слоя за мрежов достъп и транспортния слой, също така и маршрутизация на дейтаграми към отдалечени хостове. Осигурява фрагментирането и сглобяването на дългите дейтаграми.
Адресация в интернет: адресите са 32 битови числа в двойчен вид за Ipv.4 (8 бита =1 байт (октет)). Всяко устройство свързано с интернет притежава IP адрес. Мрежовите адресите логически са изградени от мрежов идентификатор (netid) и идентификатор на хост (hostid):
Адреса се образува от netid+ hostid, който е равен на 32 бита.

Layer

    Битовете в началото, които определят класа се наричат сигнални битове. Можем лесно да определим в кой клас мрежа, кои адреси се съдържат пример: за мрежа от клас като премахнем сигналния бит от най-старшия октет остават 7 бита. Изчисляваме 27= до адрес 128.0.0.0 За мрежа от клас В остават 6 бита, най-старшите са заети (10) и получаваме 26= 64 до адрес 128.0.0.0+64=192.0.0.0 . За мрежа от клас С остават 5 бита, най-старшите са заети (110) и получаваме 25= 32 до адрес 192.0.0.0 +32.0.0.0= 224.0.0.0 и т.н .
   Адрес чиято хост част се състои само от нули (0) е адреса на дадената мрежа.
Адрес чиято хост част се състои само от единици (1) се нарича broadcast и служи за предаване до всички хостове в дадена мрежа.
    Съществуват два резервирани адреса: 0.0.0.0 – маршрут по подразбиране, използва се при маршрутизация на IP дейтаграмите.
    Адрес 127.0.0.0 се присвоява на специален интерфейс на хост наречен – loopback interface, интерфейс за обратна връзка. Той е резервиран за локален IP трафик. Всеки IP пакет подаден на този интерфейс от протиколите TCP или UDP, ще бъде върнат все едно , че е пристигнал от друга мрежа. По този начин могат да се тестват мрежови приложения без използване на реална мрежа.
    Адрес 127.0.0.1 е резервиран и се използва за служебен адрес на самия хост (localhost address).
169.254.0.0/16 - това е"link local" блок.
Хостовете получават такива адреси по “auto-configuration”, например не може да се намери DHCP сървър.
Адреси за служебно използване :
          от class A - 0.0.0.0 и 127.0.0.0
          от class В - 128.0.0.0 и 191.255.0.0
          от class С - 192.0.0.0 и 223.255.255.0
За адресиране на хостове в частни мрежи (private networks), който не излизат в глобалния Интернет се използват три блока от IP адреси:
          class A - 10.0.0.0 /8 или от 10.0.0.0 – до 10.255.255.255
          class В - 172.16.0.0/12 или от 172.16.0.0 – до 172.31.255.255
          class С - 192.168.0.0/16 или от 192.168.0.0 - до 192.168.255.255
    Подмрежи : разделянето на адресното пространство на подмрежи дава възможност за по- ефективното му използване, улесняване управлението и контрола на мрежовия трафик. За реализация на подмрежите маршрутизаторите се нуждаят от подмрежова маска (Subnet Mask – SM).- 32 битово двойчно число, което се състои от последователност от единици и след това последователност от нули ( не може да има разбъркване на нулте и единиците) и всичко това изразено в десетичен вид – пример:
    Може да се изпише мрежов адрес от клас С по този начин:
          192.168.1.0 255.255.255.0
                или
          192.168.1.0/24
Изписване на мрежовата мската в десетичен вид - 255.255.255.0
Изписване на същата маска в двойчен вид 1111111.11111111.1111111.00000000 – префикса /24 се пише, защото 24 бита с единиците определят мрежовия идентификатор – netID.
Изчисляване на брой мрежи, префикси и маски:
Layer

      Задача 1: Какъв е максималния брой подмрежи и каква е маската за клас С?
         Отг. 64 подмрежи; маска 255.255.255.252

      Задача 2: Нека IP адрес на хост в подмрежа е 198.66.12.71; маската на тази подмрежа е 255.255.255.240 . Определете адреса на подмрежата. Какъв е максималния брой хостове в тази подмрежа?
         Решение: 256 -у=240 =>y=16= 24 => 4 бита ; 16 подмрежи =>256:16=16 хоста .
Iва подмрежа         198.66.12.0 - 198.66.12.15
IIра подмрежа       195.66.12.16 - 198.66.12.31
IIIта подмрежа      198.66.12.32 - 198.66.12.47
IV та подмрежа       198.66.12.48 - 198.66.12.63
V та подмрежа        198.66.12.64 - 198.66.12.79 ==> 198.65.12.71 е в тази подмрежа; Vта отг. 198.66.12.64
Броя на хостовете във всяка подмрежа е 16 -2 ( адреса на подмрежата + broadcast )=14   отг. 14

   Задача 3: Какъв е максималния брои подмрежи в клас В, като във всяка има поне 1000 хоста. Каква е маската?
Решение: 210 =1024 ==> 32-10=22 ; мрежа от клас В има 16 бита netID ( те не се променят) => 22-16=6 бита, повдигаме 26 и получаваме отг. 64 мрежи
210=1024 =>10=8+2 => последния октет (8 бита) на маската е 0,
остават 2 бита => 22 =4 и получаваме маската 256-4=252 =>отг. 255.255.252.0

   Задача 4: Разделете мрежата 162.30.0.0/19 на четири подмрежи с равен брой хостове. Какви са получените адреси на подмрежите?
         Решение: Щом префикса е равен на 19, тогава първите 19 бита не се променят. Четири подмржи 4 = 2 2 бита. Маската се променя 19+ 2 бит =21
Layer
Адреси на получените подмрежи:
          Iва       162.30.0.0/21
        IIра      162.30.8.0/21
        IIIта     162.30.16.0/21
        IVта      162.30.24.0/21


   Задача 5: Нека IP мрежата 61.44.109.0/24 е разделена на 4 подмрежи. Кой е първия (последния, бродкаст и т.н.) използваем (хост) адрес на втората (3-та, 4-та) подмрежа?
         Решение: Започва се от началния адрес 61.44.109.0 => 256: 4 (подмрежи)=64 хоста
   Iва подмрежа           61.44.109.0 - 61.44.109.63            <- първи бродкаст
   IIра подмрежа        61.44.109.64 - 61.44.109.127         - първия използваем адрес е 61.44.109.65
   IIIта подмрежа       61.44.109.128 - 61.44.109.191        - първия използваем адрес е 61.44.109.129
   IVта подмрежа        61.44.109.192 - 61.44.109.255        <- последен бродкаст
Съществува калкулатор за изчисляване на подмрежата маска:

   Задача 6: Кой IP адрес се използв за broadcast на показаната схема?

Layer
         Решение: Последното число 33 в двойчен вид е 100001. До 27 бит са Net ID т.е. не трябва да се пипат. Последните 32-27= 5 бита са Host ID те могат да получават стойности от 00000 до 11111.
Layer
Компютъра може да приема IP адреси от 192.168.5.32 до 192.168.5.63 ==> broadcast.

   Задача 7: Кои от долните адреси могат да се присвоят на хостове от подмржа 192.168.17.19/28?
    A. 192.168.17.17
    B. 192.168.17.14
    C. 192.168.17.29
    D. 192.168.17.16
    E. 192.168.17.31

       Решение: възможни два отговора, ako срещате затруднения - копирайте и обърнете снимката, която следва:

Layer


Може да използвате програмата sipcalc за проверка на IP адресите.
yum install sipcalc
   Пример:
sipcalc 108.65.12.67/28

   Пример:
Layer

Конфигуриране на рабoтна станция като маршрутизатор
(софтуерен рутер)
изчистваме ip таблицата
iptables -F
Спираме Network Managera:
service NetworkManager stop
  1.Трябва да се свържат интерфейсите с кабели:
Компютъра, който ще е рутер има три мрежови карти съответно: eth0, eth1, eth2 .
Свързваме eth0 (първата мрежова карта) на рутера с eth0 на хост 1.
Свързваме eth1 на рутера с eth1 на хост 2( компютъра).
Свързваме eth2 на рутера с eth1 на хост 3.
Проверяваме за активните интрфейсите с командата:
ifconfig -a
            За компютъра, който ще бъде рутер задаваме на всяка мрежова карта, адрес от различна мрежа:
       ifconfig eth0 192.168.0.20/24
       ifconfig eth1 192.168.10.20/24
       ifconfig eth2 192.168.20.20/24
       echo 1 > /proc/sys/net/ipv4/ip_forward
    {
         Обяснение на
           echo 1 > /proc/sys/net/ipv4/ip_forward .
          Препращането на IP адреси от един интерфейс на друг трябва да се разреши.
          Във файла /etc/sysctl.conf се съдържа променливата net.ipv4.ip_forward = 0
                0 – не е разрешено; 1 – разрешено транслиране.
          За да проверим стойността във файла ip_forward пишем в командния ред :
    cat /proc/sys/net/ipv4/ip_forward
          ако е равна на 0 в командния ред пишем :
    echo 1 > /proc/sys/net/ipv4/ip_forward
         По този начин променяме стойността във файла ip_forward на 1 .
    }
   За компютърите, които са хостове трябва да са от съответната мрежа(на мрежовата карта) и за gateway (gw) трябва да бъде добавен адреса на рутера:
         На хост 1 :
ifconfig eth0 192.168.0.10/24
route add default gw 192.168.0.20
         На хост 2 :
ifconfig eth1 192.168.10.30/24
route add default gw 192.168.10.20
         На хост 3 :
ifconfig eth1 192.168.20.30/24
route add default gw 192.168.20.20
Сега вече можем да тестваме връзките между различните мрежи с ping:
Например от хост 1 можем да напишем:
ping 192.168.10.30
ping 192.168.20.20

Конфигуриране на раб. станция като суич
(софтуерен суич)
изчистваме ip таблицата
iptables -F
1. Трябва да се свържат интерфейсите с кабели:
Компютъра, който ще е суич има три мрежови карти съответно: eth0, eth1, eth2 .
   Свързваме eth0 на хост 1 с компютъра, който ще бъде суич на eth0 .
   Свързваме eth1 на хост 2 с компютъра, който ще бъде суич на eth1 .
За хостовете използваме адреси от една локална мрежа.
      Пишем на хост 1:
ifconfig eth0 10.10.10.10/24
route add default gw 10.10.10.111
      Пишем на хост 2:
ifconfig eth1 10.10.10.11/24
route add default gw 10.10.10.111
Конфигурираме същия компютър, който беше рутер в суич.
Зануляваме мрежовите карти:
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig eth2 0.0.0.0
brctl addbr br0
brctl addif br0 eth0 eth1 eth2
ifconfig br0 up

Проверяваме с ping между хостовете. От хост 1:
ping 10.10.10.2
Команда brctl (от Bridge- мост) служи за свързване на два сегмента от Ethernet по каналения слой, без използване на протоколи от по-високо ниво, като например IP. Пакетите се предават на базата на Ethernet-адрес, а не на IP-адреса (като рутер). Ако напишем :
brctl show - показва списъка на мостовете;
brctl addbr br0 - създава бридж с име "br0";
brctl addif br0 eth0 eth1 eth2- добавяте към бридж "br0", интерфейсите "eth0 eth1 eth2" ;
brctl delbr br0 - изтрива бридж с име "br0".
Ако напишем само:
brctl
командата ще ни покаже основните аргументи.

Благодара за вниманието Ви !