- Protokolları OSI və TCP/IP səviyyələrinə aid etmək və inkapsulyasiyanı izah etmək
- Şəbəkə ünvanını, yayım ünvanını, host sayını tapmaq və VLSM ilə alt şəbəkələr planlamaq
- TCP ilə UDP-ni müqayisə etmək və ötürmə gecikməsini, TCP buraxma qabiliyyətini hesablamaq
- DNS sorğusunun və HTTPS əlaqəsinin addımlarını təsvir etmək
Murad Bakıdan brauzerdə https://www.example.com yazır. Yarım saniyədə onlarla şey baş verir: ad IP-ünvana çevrilir, TCP əlaqəsi qurulur, TLS açarları razılaşdırılır, HTTP sorğusu göndərilir və cavab yüzlərlə paket şəklində qayıdır. Bu dərsdə məktəb səviyyəsindən bir addım irəli gedib bu prosesin hər mərhələsini dəqiq hesablamalarla öyrənəcəyik.
Səviyyəli modellər: OSI və TCP/IP
| OSI | TCP/IP | Protokollar | Verilən vahidi |
|---|---|---|---|
| 7 Tətbiqi, 6 Təqdimat, 5 Seans | Tətbiqi | HTTP, DNS, SMTP, TLS | mesaj |
| 4 Nəqliyyat | Nəqliyyat | TCP, UDP | seqment / dataqram |
| 3 Şəbəkə | İnternet | IP, ICMP | paket |
| 2 Kanal, 1 Fiziki | Şəbəkəyə giriş | Ethernet, Wi-Fi | kadr / bitlər |
Göndərəndə hər səviyyə aşağıdakına öz başlığını əlavə edir (inkapsulyasiya): HTTP mesajı TCP seqmentinə (portlarla), o, IP paketinə (IP-ünvanlarla), o da Ethernet kadrına (MAC ünvanlarla) qoyulur. Qəbul edəndə başlıqlar tərs sıra ilə çıxarılır. Hər səviyyə yalnız öz qonşusu ilə danışır — Wi-Fi-ı kabelə dəyişmək HTTP-yə heç təsir etmir.
IP-ünvanlama və alt şəbəkələr
IPv4 ünvanı 32 bitdir və dörd oktet kimi yazılır: 192.168.10.77. CIDR yazılışında /n ünvanın ilk n bitinin şəbəkə hissəsi, qalan 32 − n bitin isə host hissəsi olduğunu göstərir. Şəbəkə ünvanı = IP AND maska (bütün host bitləri 0), yayım ünvanı — bütün host bitləri 1. Bu iki ünvan qurğulara verilmir.
- nprefiksin uzunluğu (/n)
- Nhostqurğulara verilə bilən ünvanların sayı
- maskn ədəd 1 və 32 − n ədəd 0 (məs., /26 → 255.255.255.192)
192.168.10.77/26 üçün maskanı, şəbəkə və yayım ünvanlarını, host sayını və qurğulara verilə bilən ünvanlar diapazonunu tap.
Həllini göstərHəllini gizlət
Dördüncü oktet: 77 = 01001101; AND 11000000 = 01000000 = 64 → şəbəkə 192.168.10.64.
Host bitləri 1: 01111111 = 127 → yayım 192.168.10.127.
Hostlar: 2⁶ − 2 = 62, diapazon 192.168.10.65 – 192.168.10.126.
Qısa yol: blok ölçüsü 256 − 192 = 64; 77-dən kiçik 64-ə bölünən ən böyük ədəd 64-dür.
Şirkətə 192.168.1.0/24 verilib. Şöbələrə 100, 50 və 20 qurğu lazımdır. Alt şəbəkələri dəyişən uzunluqlu maskalarla (VLSM) böl.
Həllini göstərHəllini gizlət
100 → 2⁷ − 2 = 126 ≥ 100 → /25: 192.168.1.0/25 (.1 – .126).
50 → 2⁶ − 2 = 62 ≥ 50 → /26: 192.168.1.128/26 (.129 – .190).
20 → 2⁵ − 2 = 30 ≥ 20 → /27: 192.168.1.192/27 (.193 – .222).
Qalan: 192.168.1.224/27 — gələcək üçün ehtiyat. Hər birinə sadəcə /26 versəydik, 100 qurğu sığmazdı.
import ipaddress
net = ipaddress.ip_interface('192.168.10.77/26').network
hosts = list(net.hosts())
print(net, net.netmask, net.broadcast_address)
print('hosts:', len(hosts), 'from', hosts[0], 'to', hosts[-1])
start = ipaddress.ip_address('192.168.1.0')
for need in [100, 50, 20]:
host_bits = (need + 1).bit_length()
sub = ipaddress.ip_network(str(start) + '/' + str(32 - host_bits))
print(need, 'hosts ->', sub, 'capacity', sub.num_addresses - 2)
start = sub.broadcast_address + 1
print('left over from', start)
for a in ['10.1.2.3', '172.20.5.1', '8.8.8.8']:
print(a, 'private' if ipaddress.ip_address(a).is_private else 'public')▸ Gözlənilən nəticə
192.168.10.64/26 255.255.255.192 192.168.10.127 hosts: 62 from 192.168.10.65 to 192.168.10.126 100 hosts -> 192.168.1.0/25 capacity 126 50 hosts -> 192.168.1.128/26 capacity 62 20 hosts -> 192.168.1.192/27 capacity 30 left over from 192.168.1.224 10.1.2.3 private 172.20.5.1 private 8.8.8.8 public
ipaddress modulu hər iki nümunəni təsdiqləyir. (need + 1).bit_length() 2ᵏ ≥ need + 2 şərtini ödəyən ən kiçik k-nı verir. Özəl diapazonlar: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — onlar internetdə marşrutlaşdırılmır, NAT vasitəsilə çıxır.Nəqliyyat: TCP və UDP
| Xassə | TCP | UDP |
|---|---|---|
| əlaqə | üç addımlı razılaşma: SYN, SYN-ACK, ACK | yoxdur, dataqram dərhal göndərilir |
| etibarlılıq | təsdiqlər (ACK), təkrar göndərmə, sıra nömrələri | zəmanət yoxdur: itə, qarışa bilər |
| axının idarəsi | var (pəncərə) | yoxdur |
| istifadə | veb (HTTP/1.1, HTTP/2), e-poçt, fayl ötürmə | DNS, video zənglər, onlayn oyunlar, QUIC (HTTP/3) |
- L / RL / Rötürmə gecikməsi: paketin ölçüsü L (bit) / kanalın sürəti R (bit/s)
- D / sD / syayılma gecikməsi: məsafə D / siqnalın sürəti s (optik lifdə ≈ 2 · 10⁸ m/s)
- W, RTTTCP pəncərəsinin ölçüsü və gediş-gəliş vaxtı
a) 1500 baytlıq paket 100 Mbit/s kanalla 1000 km optik lifdən göndərilir. Gecikmə nə qədərdir?
b) TCP pəncərəsi 64 KB (65 536 bayt), RTT = 50 ms. Maksimal sürət nədir?
Həllini göstərHəllini gizlət
D/s = 10⁶ m / (2 · 10⁸ m/s) = 0,005 s = 5 ms.
d ≈ 5,12 ms — uzaq məsafədə yayılma üstünlük təşkil edir, sürəti artırmaq onu azaltmır.
b) W/RTT = 65 536 · 8 bit / 0,05 s ≈ 10,5 · 10⁶ bit/s ≈ 10,5 Mbit/s — kanal 1 Gbit/s olsa belə! Ona görə müasir TCP pəncərəni genişləndirmə (window scaling) ilə böyüdür.
DNS, HTTP və TLS
- 1DNS
Brauzer keşə baxır, sonra rekursiv həlledici (adətən provayderin) kök serverdən
.comserverinin, ondanexample.com-un səlahiyyətli serverinin ünvanını öyrənir və A (IPv4) və ya AAAA (IPv6) qeydini alır. Cavab TTL müddətinə keşlənir. Adətən UDP, port 53. - 2TCP
Serverin 443 portu ilə SYN, SYN-ACK, ACK — bir RTT.
- 3TLS 1.3
Müştəri dəstəklədiyi şifrləri və açar payını göndərir; server öz açar payını, CA tərəfindən imzalanmış sertifikatını və imzanı qaytarır. Brauzer sertifikat zəncirini yoxlayır, hər iki tərəf (EC)DHE ilə ortaq seans açarını hesablayır — adətən bir RTT.
- 4HTTP
Şifrələnmiş kanalda
GET /sorğusu və status kodlu cavab: 200 OK, 301 köçürülüb, 404 tapılmadı, 500 server xətası. Bütün məlumat simmetrik açarla (məsələn, AES-GCM) şifrələnir.
GET /index.html HTTP/1.1
Host: www.example.com
Accept: text/html
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1256
Cache-Control: max-age=3600Cache-Control brauzerə səhifəni 3600 saniyə keşdə saxlamağa icazə verir.Əsas fikirlər
- TCP/IP-nin 4 səviyyəsi: tətbiqi, nəqliyyat, internet, şəbəkəyə giriş; hər səviyyə öz başlığını əlavə edir.
- /n şəbəkəsində 2^(32 − n) − 2 host var; şəbəkə = IP AND maska, blok = 256 − maraqlı oktet.
- TCP etibarlı və ardıcıldır (üç addımlı razılaşma, ACK), UDP isə sürətli və sadədir; TCP sürəti ≤ W / RTT.
- DNS adı IP-yə iyerarxik çevirir: kök → TLD → səlahiyyətli server.
- HTTPS = HTTP + TLS: sertifikat serveri təsdiqləyir, məlumat simmetrik seans açarı ilə şifrələnir.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.