TCP/IP: bu nima, protokollar to'plami va ma'lumot uzatish

Muallif: IT Sectr Nashr etilgan: 2026-03-06 O'qish vaqti: 8 daq

TCP/IP internet va ko'pgina kompyuter tarmoqlarining poydevori bo'lgan protokollar to'plamidir. U ishonchli ma'lumot yetkazib berish uchun mas'ul bo'lgan TCP protokolini va paketlarni tugunlar o'rtasida marshrutlashni ta'minlaydigan IPni birlashtiradi. IETF RFC 1180 (2024) ma'lumotlariga ko'ra, TCP/IP to'plami mobil va veb ilovalarni ham o'z ichiga olgan holda, jahon tarmoq trafigining 80% dan ortig'ini qayta ishlaydi. Protokollar to'plami ma'lumotlarning tarmoqdagi qurilmalar o'rtasida qanday paketlanishi, manzillanishi va uzatilishini belgilaydi.

Asosiy fikrlar

  • TCP/IP tarmoqlarda ma'lumot uzatish uchun TCP (transport) va IP (marshrutlash) ni birlashtiruvchi protokollar to'plamidir
  • To'rt qatlam model: amaliy, transport, tarmoq va kanal — har biri o'z vazifasini hal qiladi
  • TCP tasdiqlashlar va qayta jo'natishlar orqali yetkazib berish, paketlar tartibi va xato nazoratini kafolatlaydi
  • IP marshrutlashni ta'minlaydi — paketning jo'natuvchidan qabul qiluvchiga oraliq tugunlar orqali yo'lini tanlash
  • TCP/IPni tushunish tarmoq ilovalarini ishlab chiqish, ulanishlarni sozlash va samaradorlikni optimallashtirish uchun zarur

TCP/IP nima?

TCP/IP (Transmission Control Protocol / Internet Protocol) — 1970-yillarda ARPANET uchun ishlab chiqilgan va global internet tarmog'i uchun de-fakto standartga aylangan protokollar to'plamidir. U ma'lumotlarning paketlarga bo'linishi, manzillanishi, uzatilishi va qabul qiluvchi tomonda yig'ilishi qoidalarini belgilaydi.

TCP/IP arxitekturasi ko'p qatlamli prinsip asosida qurilgan bo'lib, har bir qatlam muayyan funksiyalarni abstraksiyalaydi. Amaliy qatlam ilova ma'lumotlari bilan ishlaydi, transport qatlami ishonchlilikni ta'minlaydi, tarmoq qatlami marshrutlashni, kanal qatlami esa fizik muhitda uzatishni amalga oshiradi. Modullik qo'shni qatlamlarni o'zgartirmasdan qatlam ichida protokollarni almashtirishga imkon beradi.

Mobil ishlanmada TCP/IP tarmoq so'rovlarini bajaradigan har bir ilova tomonidan qo'llaniladi. URLSession, OkHttp, AFNetworking va Alamofire kutubxonalari ushbu to'plam ustida ishlaydi, dasturchidan paketlarni qadoqlash va marshrutlash tafsilotlarini yashiradi. Biroq, TCP/IPni tushunish samaradorlikni optimallashtirish uchun zarur: URLSessionConfiguration orqali TCP parametrlarini sozlash vaqt chegaralarini boshqarish, HTTP Persistent Connectionsni saqlash va korporativ muhitlar uchun proksi sozlash imkonini beradi.

TCP/IPni tushunish tarmoq muammolarini diagnostika qilish uchun zarur: agar ilova serverga ulana olmasa, muammo to'plamning istalgan qatlamida bo'lishi mumkin — fizik kanaldan tortib amaliy protokolgacha. tcpdump, Wireshark va Charles Proxy kabi vositalar har bir qatlamda trafikni tahlil qilish va tor joylarni topish imkonini beradi. Mobil dasturchilar uchun Xcode Network Debug Dashboard, Android Studio esa real vaqtda TCP ulanishlarini tahlil qilish uchun Network Inspector taqdim etadi.

TCP/IP modelining qatlamlari

TCP/IP modeli to'rt qatlamni o'z ichiga oladi, ularning har biri ma'lumot uzatishda qat'iy belgilangan funksiyalarni bajaradi. Ushbu ierarxiyani tushunish tarmoq muammolarini diagnostika qilish va ilovalarni optimallashtirish uchun zarurdir.

Amaliy qatlam

Amaliy qatlamda ilovalar bevosita ishlaydigan protokollar faoliyat ko'rsatadi: HTTP, HTTPS, FTP, SMTP, DNS, WebSocket. Bu qatlam ma'lumotlarni ilova uchun tushunarli formatda shakllantiradi va transport qatlamiga uzatadi. Mobil ilova dasturchilari tarmoq kutubxonalari orqali aynan shu qatlamda ishlaydilar.

Transport qatlami

Transport qatlami turli qurilmalardagi ilovalar o'rtasida ma'lumot uzatilishini ta'minlaydi. Asosiy protokollar: TCP (tasdiqlash bilan ishonchli uzatish) va UDP (kafolatsiz tez uzatish). TCP ma'lumotlarga jo'natuvchi va qabul qiluvchi portini qo'shadi, paketlar tartibini boshqaradi va tarmoq tiqilinchini nazorat qiladi.

Tarmoq va kanal qatlamlari

Tarmoq qatlami IP protokoli bilan amalga oshiriladi, u manzillashni (IPv4, IPv6) va paket marshrutlashni belgilaydi. Har bir paket jo'natuvchi va qabul qiluvchining IP manzilini o'z ichiga oladi, marshrutizatorlar esa marshrutlash jadvallari asosida keyingi tugun haqida qaror qabul qiladi. IPv4 32-bitli manzillardan (taxminan 4,3 milliard), IPv6 esa 128-bitli manzillardan foydalanadi, bu manzil tanqisligi muammosini hal qiladi.

Kanal qatlami fizik uzatish muhiti bilan ishlaydi: Ethernet, Wi-Fi, Bluetooth. Bu qatlam paketlarni signallarga aylantiradi va aksincha, MAC manzillari orqali uzatish muhitiga kirishni boshqaradi va ramka nazorat summasi (FCS) orqali fizik qatlam xatolarini aniqlaydi.

Kanal qatlamida mahalliy tarmoqdagi qurilmalarning IP manzillarini MAC manzillariga aylantiruvchi ARP (Address Resolution Protocol) va VPN ulanishlarida hamda mobil ma'lumot uzatish tarmoqlarida qo'llaniladigan PPP (Point-to-Point Protocol) kabi protokollar ishlaydi.

QatlamProtokollarFunksiya
AmaliyHTTP, HTTPS, DNS, FTP, WebSocketIlova ma'lumotlarini shakllantirish
TransportTCP, UDPIlovalar o'rtasida uzatish, xato nazorati
TarmoqIP, ICMP, ARPPaket marshrutlash va manzillash
KanalEthernet, Wi-Fi, PPPFizik muhitda uzatish

TCP protokoli qanday ishlaydi

TCP (Transmission Control Protocol) — transport qatlamining asosiy protokollaridan biri. U ilovalar o'rtasida bayt oqimining ishonchli, tartibli va xatolarga nisbatan tekshirilgan yetkazilishini ta'minlaydi. Ma'lumot uzatishdan oldin TCP uch bosqichli qo'l siqish (three-way handshake) orqali ulanish o'rnatadi.

Uch bosqichli qo'l siqish mijozning SYN paketini jo'natishi bilan boshlanadi. Server SYN-ACK paketi bilan javob berib, qabul qilishni tasdiqlaydi. Mijoz ACK paketi bilan qo'l siqishni yakunlaydi, shundan so'ng ma'lumot uzatish boshlanadi. Bu jarayon ikkala tomonning almashinuvga tayyorligini va tartib raqamlari bo'yicha sinxronlashganligini kafolatlaydi.

python
import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('example.com', 80))
sock.send(b'GET / HTTP/1.1\r\nHost: example.com\r\n\r\n')
response = sock.recv(4096)
print(response.decode())
sock.close()

Misolda connect chaqirilganda avtomatik ravishda uch bosqichli qo'l siqishni bajaradigan SOCK_STREAM tipidagi TCP soket yaratiladi. send metodi HTTP so'rovini jo'natadi, recv javobni qabul qiladi. Tugatilgandan so'ng, close ulanishni to'g'ri yopish uchun FIN paketini jo'natadi.

Mijozlarni qayta ishlaydigan TCP server

Python tilida bir nechta mijozlarni oqimlar orqali qabul qiladigan TCP server misolini ko'rib chiqaylik. Har bir ulanish alohida oqimda qayta ishlanadi, bu asosiy siklni bloklamasdan bir vaqtning o'zida ko'plab mijozlarga xizmat ko'rsatish imkonini beradi.

python
import socket
import threading

def handle_client(conn, addr):
    print(f'Mijoz ulandi: {addr}')
    with conn:
        while True:
            data = conn.recv(1024)
            if not data:
                break
            conn.sendall(data.upper())
    print(f'Mijoz {addr} uzildi')

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('0.0.0.0', 9090))
server.listen(5)
print('TCP server 9090 portida ishga tushirildi')

while True:
    conn, addr = server.accept()
    thread = threading.Thread(target=handle_client, args=(conn, addr))
    thread.start()

TCP server har bir ulanishni alohida oqimda qayta ishlaydi, cheksiz siklda accept chaqiradi. handle_client funksiyasi ma'lumotlarni qabul qiladi, ularni katta harflarga aylantiradi va sendall orqali qaytaradi. recv sikli tugaganda (mijoz ulanishni yopganda), oqim tugaydi va soket avtomatik yopiladi. Mobil ilovalarda soketlar bilan bunday past darajadagi ish bevosita qo'llanilmaydi — mobil HTTP kutubxonalari ulanishlarni oqim hovuzlari orqali boshqaradi va TCP ulanishlarini avtomatik qayta ishlatadi.

TCP va UDP o'rtasidagi farqlar

TCP va UDP o'rtasida tanlov qilish tarmoq o'zaro aloqasini loyihalashdagi asosiy qarorlardan biridir. TCP qo'shimcha kechikishlar evaziga yetkazib berish, tartib va ma'lumotlar yaxlitligini kafolatlaydi. UDP minimal kechikish va kanalda kamroq yuklanish uchun ishonchlilikni qurbon qiladi.

XususiyatTCPUDP
UlanishO'rnatadi (handshake)O'rnatmaydi
IshonchlilikYetkazib berishni kafolatlaydiKafolatlamaydi
Paketlar tartibiTartibga soladiTartibga solmaydi
TezlikPastYuqori
Qo'llanilishiVeb, email, fayllarStreaming, o'yinlar, DNS

Mobil ilovalar uchun protokol tanlovi stsenariyga bog'liq: REST-API va ma'lumot yuklash TCP talab qiladi, video qo'ng'iroqlar va onlayn o'yinlar esa UDP tezligidan foyda oladi. Ba'zi ilovalar ikkala protokolni birlashtiradi — boshqarish uchun TCP va media oqimi uchun UDP. UDP ustida ishlaydigan va HTTP/3 da qo'llaniladigan zamonaviy QUIC protokoli ikkala yondashuvning afzalliklarini birlashtiradi va iOS va Androidda URLSession orqali avtomatik qo'llab-quvvatlanadi.

TCP/IP kod misollari

Xatolarni qayta ishlash va vaqt chegarasi bilan Python tilidagi TCP mijoz misolini ko'rib chiqaylik. Bu yondashuv mobil ilovalarda serverga ishonchli ulanish uchun qo'llaniladi.

python
import socket
import sys

def tcp_client(host, port):
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(10)
        sock.connect((host, port))
        print(f'{host}:{port} ga ulandi')
        return sock
    except socket.error as err:
        print(f'Ulanish xatosi: {err}')
        sys.exit(1)

sock = tcp_client('api.example.com', 443)
sock.close()

tcp_client funksiyasi host va portni qabul qiladi, 10 soniya vaqt chegarasi bilan soket yaratadi va ulanishga harakat qiladi. Ulanish xatosi bo'lganda — masalan, serverning mavjud emasligi yoki firewall bloklashi — muammo tavsifi bilan istisno tashlanadi. Mobil ilovalarda ulanish vaqt chegarasi juda muhim: juda qisqa bo'lsa sekin tarmoqlarda soxta xatolarga, juda uzun bo'lsa interfeysning muzlashiga olib keladi. Mobil tarmoqlar uchun tavsiya etiladigan qiymat URLSession konfiguratsiyasida timeoutIntervalForRequest uchun 10–15 soniya va timeoutIntervalForResource uchun 30–60 soniya.

Tez-tez beriladigan savollar

TCP va IP o'rtasidagi farq nima?

IP marshrutlash uchun javobgardir — paketni jo'natuvchidan qabul qiluvchiga oraliq tugunlar orqali yetkazish. TCP ma'lumotlarning ishonchli yig'ilishini ta'minlaydi: tartibni nazorat qiladi, yaxlitlikni tekshiradi va yo'qolgan paketlarni qayta jo'natishni so'raydi. Birgalikda ular TCP/IP to'plamini tashkil qiladi.

TCP/IP sukut bo'yicha qaysi portdan foydalanadi?

TCP/IP sobit portdan foydalanmaydi — port ilova tomonidan tayinlanadi. Standart portlar: 80 (HTTP), 443 (HTTPS), 22 (SSH), 25 (SMTP). 443-port mobil ilovalarda xavfsiz veb-trafik uchun asosiy portdir.

TCP ulanishi nima?

TCP ulanishi — uch bosqichli qo'l siqish (SYN, SYN-ACK, ACK) orqali o'rnatilgan ikki ilova o'rtasidagi mantiqiy kanal. Ulanish jo'natuvchi va qabul qiluvchining (IP manzili, port) juftligi bilan identifikatsiyalanadi. Qo'l siqish ikkala tomonning ma'lumot almashishga tayyorligini kafolatlaydi.

TCP/IP mobil ilovalarda internetsiz ishlatilishi mumkinmi?

Ha, TCP/IP internetga chiqishsiz mahalliy tarmoqlarda (LAN) ishlaydi. Qurilmalar Wi-Fi Direct, Bluetooth PAN yoki Ethernet orqali ulanadi va mahalliy IP manzillari orqali ma'lumot almashadi. Mahalliy TCP/IP IoT qurilmalari va peer-to-peer ilovalarida qo'llaniladi.

Nega TCP UDP dan sekinroq?

TCP qo'shimcha mexanizmlar tufayli sekinroq: uzatishdan oldin uch bosqichli qo'l siqish, har bir paketni tasdiqlash, yo'qolgan segmentlarni qayta jo'natish, tiqilinch nazorati. UDP bu tekshiruvlarsiz datagrammalarni jo'natadi, bu mumkin bo'lgan yo'qotishlar evaziga kechikishni kamaytiradi.

Xulosa

  • TCP/IP — internet va mahalliy tarmoqlarda ma'lumot uzatishni ta'minlovchi fundamental protokollar to'plami
  • To'rt qatlam (amaliy, transport, tarmoq, kanal) uzatishning turli jihatlarini abstraksiyalaydi
  • TCP xato nazorati va tasdiqlashlar bilan ishonchli yetkazib berishni kafolatlaydi
  • IP paket marshrutlash va tarmoqdagi tugunlarni manzillash uchun javobgardir
  • TCP yoki UDP tanlovi talablarga bog'liq: ishonchlilik va tezlik o'rtasida
  • Har bir mobil ilova tarmoq so'rovlarini bajarishda TCP/IP to'plamidan foydalanadi

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing