Rumah >masalah biasa >Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

青灯夜游
青灯夜游asal
2022-08-24 16:39:0311398semak imbas

tcp dan udp ialah protokol "lapisan pengangkutan". UDP dan TCP ialah protokol penting dalam lapisan pengangkutan komputer TCP berorientasikan sambungan, dan UDP berorientasikan tanpa sambungan. TCP (Transmission Control Protocol) ialah protokol komunikasi lapisan pengangkutan berasaskan aliran bait yang berorientasikan sambungan, boleh dipercayai, yang ditakrifkan oleh RFC 793 IETF. UDP (User Datagram Protocol) menyediakan cara untuk aplikasi menghantar paket IP terkapsul tanpa membuat sambungan.

Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.

Seni bina rangkaian komputer merujuk kepada model struktur hierarki rangkaian komputer Ia merupakan koleksi protokol pada setiap lapisan dan port antara lapisan. Komunikasi dalam rangkaian komputer mesti bergantung pada protokol komunikasi rangkaian Model rujukan Open System Interconnection (OSI) yang digunakan secara meluas yang dicadangkan oleh International Organization for Standardization (ISO) pada tahun 1997 lazimnya dipanggil model rujukan ISO/OSI.

Model rujukan tujuh lapisan OSI:

OSI secara logiknya membahagikan sistem rangkaian kepada tujuh subsistem tersusun yang secara relatifnya bebas dalam fungsi Dengan cara ini, seni bina OSI terdiri daripada 7 tahap fungsi yang agak bebas, seperti yang ditunjukkan dalam rajah di bawah. Dari rendah ke tinggi, ia adalah lapisan fizikal, lapisan pautan data, lapisan rangkaian, lapisan pengangkutan, lapisan sesi, lapisan pembentangan dan lapisan aplikasi.

Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

Model Rujukan TCP/IP

TCP/IP mempunyai 4 lapisan, iaitu lapisan antara muka rangkaian, lapisan Internet, Lapisan pengangkutan dan lapisan aplikasi. Perbandingan antara hierarki TCP/IP dan hierarki OSI ditunjukkan dalam rajah di bawah.

Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

tcp dan udp tergolong dalam protokol "lapisan pengangkutan" seni bina rangkaian komputer.

Lapisan pengangkutan Internet mempunyai dua protokol utama yang saling melengkapi. Connectionless ialah UDP, yang tidak banyak membantu kecuali memberikan aplikasi keupayaan untuk menghantar paket dan membenarkan mereka untuk mereka bentuk protokol mereka sendiri pada tahap yang diperlukan. Yang berorientasikan sambungan ialah TCP, yang melakukan hampir semua perkara.

Lapisan pengangkutan ialah salah satu lapisan utama dalam keseluruhan sistem lapisan rangkaian Lapisan rangkaian hanya menghantar paket ke hos destinasi, tetapi komunikasi sebenar bukanlah hos tetapi proses dalam hos . Lapisan pengangkutan menyediakan perkhidmatan komunikasi kepada lapisan aplikasi di atasnya Ia tergolong dalam lapisan berorientasikan komunikasi tertinggi Apabila dua hos di bahagian tepi rangkaian menggunakan fungsi bahagian teras rangkaian untuk komunikasi hujung ke hujung. , hanya timbunan protokol hos Hanya lapisan pengangkutan yang wujud Lapisan pengangkutan menyediakan komunikasi logik antara proses Lapisan pengangkutan melindungi butiran teras lapisan rangkaian asas daripada pengguna peringkat tinggi, menjadikan aplikasi kelihatan seperti ada penghujung. -logik ke hujung antara dua entiti lapisan pengangkutan

Walaupun paket IP boleh dihantar ke hos destinasi, paket ini masih kekal dalam lapisan rangkaian hos dan tidak dihantar. kepada proses permohonan dalam hos Apabila dua komputer berkomunikasi, Semasa proses itu, proses pada hos ini sebenarnya menukar data dengan proses pada hos lain. Dari perspektif lapisan pengangkutan, titik akhir komunikasi yang sebenar bukanlah hos tetapi proses dalam hos Dengan kata lain, komunikasi hujung ke hujung ialah komunikasi antara proses aplikasi.
Dua fungsi penting lapisan pengangkutan:

  • Guna Semula: Proses aplikasi yang tidak digunakan oleh pengirim boleh menggunakan protokol lapisan pengangkutan yang sama untuk menghantar data
  • Memisahkan: Lapisan pengangkutan penerima boleh menghantar data dengan betul ke proses aplikasi destinasi selepas menanggalkan pengepala mesej; dan Perbezaan antara lapisan pengangkutan
  • : Lapisan rangkaian menyediakan komunikasi logik antara hos, manakala lapisan pengangkutan secara langsung menyediakan komunikasi logik hujung ke hujung untuk aplikasi

TCP dan UDP

UDP dan TCP ialah protokol penting dalam lapisan pengangkutan komputer TCP berorientasikan sambungan, dan UDP berorientasikan tanpa sambungan Lapisan pengangkutan dalam lapisan TCP/IP menggunakan 16 -nombor port bit Untuk mewakili port, nombor port hanya mempunyai makna setempat Ia adalah untuk menandakan antara muka antara lapisan antara setiap proses dalam lapisan aplikasi komputer dan interaksi dalam lapisan pengangkutan Nombor port antara nombor rangkaian yang berbeza tidak berkaitan; oleh itu, kedua-dua Untuk proses antara dua komputer untuk berkomunikasi antara satu sama lain, mereka mesti mengetahui alamat IP satu sama lain (untuk mencari komputer pihak lain) dan nombor port (untuk mencari proses dalam komputer ). Komunikasi di Internet menggunakan kaedah pelayan-klien Pelanggan Apabila memulakan permintaan komunikasi, anda mesti mengetahui alamat IP dan nombor port pelayan pihak lain.

UDP

Protokol Datagram Pengguna hanya menambah fungsi pemultipleksan, penyahmultipleksan dan pengesanan ralat pada mesej IP.

1. Ciri-ciri UDP

  • UDP tanpa sambungan: tiada sambungan diperlukan sebelum menghantar;
  • UDP menggunakan penghantaran yang terbaik dan tidak menjamin penghantaran yang boleh dipercayai; Seperti yang ditunjukkan di bawah, mesej lengkap dihantar pada satu masa; kepada-satu, satu-dengan-satu Satu-ke-banyak, banyak-ke-satu dan banyak-ke-banyak komunikasi interaktif
  • Tajuk UDP adalah kecil;
  • 2. Mesej UDP

Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

  • Medan pengepala hanya 8 bait, termasuk port sumber, port destinasi, panjang, jumlah semak. Pengepala pseudo 12-bait ditambah buat sementara waktu untuk tujuan mengira jumlah semak.
  • TCP
Protokol Kawalan Penghantaran (TCP) ialah protokol komunikasi lapisan pengangkutan berasaskan aliran bait yang berorientasikan sambungan, boleh dipercayai, dibangunkan oleh definisi RFC 793 IETF.

TCP: Protokol mesej pengguna, berorientasikan sambungan Sambungan mesti diwujudkan sebelum data dihantar Sambungan dilepaskan selepas penghantaran data selesai.

1. Ciri TCPApakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

TCP berorientasikan sambungan dan menyediakan penghantaran yang boleh dipercayai; >Kawalan kesesakan;

Menyediakan komunikasi dupleks penuh;

Berorientasikan kepada strim bait (anggap mesej yang dihantar daripada lapisan aplikasi sebagai strim bait dan susun strim bait ke dalam blok saiz yang berbeza-beza) , setiap sambungan TCP hanya boleh menjadi titik-ke-titik (satu-ke-satu).

2. Sambungan TCP

TCP tidak menyambungkan dua nombor hos, mahupun nombor port, tetapi soket:

soket = alamat IP: Nombor port
  • 3. Format pengepala segmen TCP
  • Port sumber dan port destinasi: Setiap satu menduduki 2 bait dan sumber port dan port destinasi masing-masing ditulis;
nombor jujukan: 4 bait, TCP diorientasikan kepada aliran bait, dan setiap bait aliran bait yang dihantar dalam sambungan TCP adalah mengikut urutan Nombor, nombor permulaan keseluruhan strim bait yang hendak dihantar mesti ditetapkan apabila penghantaran diwujudkan;

Nombor pengesahan: nombor jujukan segmen seterusnya yang dijangka diterima. Sebagai contoh, B menerima dengan betul segmen mesej yang dihantar oleh A. Nombor jujukan ialah 501 dan panjang data ialah 200 bait Oleh itu, B menjangkakan nombor jujukan segmen mesej seterusnya ialah 701. Dalam segmen mesej pengesahan yang dihantar oleh B. kepada A, Nombor pengesahan ialah 701.

Data offset: merujuk kepada offset bahagian data dari permulaan segmen mesej, yang sebenarnya merujuk kepada panjang pengepala.


Sahkan ACK: Apabila ACK=1, medan nombor pengesahan adalah sah, jika tidak, ia tidak sah. TCP menetapkan bahawa selepas sambungan diwujudkan, semua segmen mesej yang dihantar mesti mempunyai ACK ditetapkan kepada 1.

Synchronization SYN: digunakan untuk menyegerakkan nombor jujukan apabila sambungan diwujudkan. Apabila SYN=1 dan ACK=0, ia menunjukkan bahawa ini ialah segmen permintaan sambungan. Jika pihak lain bersetuju untuk mewujudkan sambungan, SYN=1 dan ACK=1 dalam mesej respons. FIN Penamatan: digunakan untuk melepaskan sambungan Apabila FIN=1, ini bermakna data pengirim segmen ini telah dihantar dan sambungan itu perlu dikeluarkan.

Tetingkap: Nilai tetingkap berfungsi sebagai asas untuk penerima membenarkan pengirim menetapkan tetingkap penghantarannya. Sebab untuk sekatan ini ialah ruang cache data penerima adalah terhad. Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

  • 4. TCP jabat tangan tiga hala
  • Anggap A ialah pelanggan dan B ialah pelayan.
  • Pertama, B berada dalam keadaan LISTEN (mendengar), menunggu permintaan sambungan pelanggan.
  • A menghantar mesej permintaan sambungan kepada B, SYN=1, ACK=0 dan memilih nombor jujukan awal x.
  • B menerima mesej permintaan sambungan Jika ia bersetuju untuk mewujudkan sambungan, ia menghantar mesej pengesahan sambungan kepada A, SYN=1, ACK=1, nombor pengesahan ialah x 1, dan juga memilih parap. nombor urutan y .
  • Selepas A menerima mesej pengesahan sambungan daripada B, ia juga menghantar pengesahan kepada B. Nombor pengesahan ialah y 1 dan nombor jujukan ialah x 1.

Selepas B menerima pengesahan A, sambungan diwujudkan.

5. TCP empat gelombangApakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

  • Penerangan berikut tidak membincangkan nombor jujukan dan nombor pengesahan, kerana nombor jujukan dan nombor pengesahan Peraturannya agak mudah. Dan ACK tidak dibincangkan kerana ACK sentiasa 1 selepas sambungan diwujudkan.
    • A menghantar mesej keluaran sambungan, FIN=1.
    • B menghantar pengesahan selepas menerimanya Pada masa ini, TCP berada dalam keadaan separuh tertutup B boleh menghantar data kepada A tetapi A tidak boleh menghantar data kepada B.
    • Apabila B tidak lagi memerlukan sambungan, hantar mesej keluaran sambungan, FIN=1.
    • A menghantar pengesahan selepas menerimanya, memasuki keadaan TIME-WAIT dan menunggu 2 MSL (masa kelangsungan mesej maksimum) sebelum melepaskan sambungan.
    • B melepaskan sambungan selepas menerima pengesahan A.

    Sebab melambai empat kali
    Selepas pelanggan menghantar mesej keluaran sambungan FIN, pelayan menerima mesej ini dan memasuki keadaan TUNGGU TUTUP. Keadaan ini adalah untuk pelayan menghantar data yang belum dipindahkan Selepas pemindahan selesai, pelayan akan menghantar mesej keluaran sambungan FIN.

    TIME_WAIT
    Pelanggan memasuki keadaan ini selepas menerima mesej FIN daripada pelayan Pada masa ini, ia tidak terus memasuki keadaan TUTUP masa 2MSL ditetapkan oleh pemasa. Terdapat dua sebab untuk melakukan ini:

    • Untuk memastikan mesej pengesahan terakhir boleh sampai. Jika B tidak menerima mesej pengesahan daripada A, ia akan menghantar semula mesej permintaan keluaran sambungan A menunggu untuk tempoh masa untuk mengendalikan situasi ini.
    • Menunggu tempoh masa adalah untuk membenarkan semua paket yang dijana sepanjang tempoh sambungan ini hilang daripada rangkaian, supaya sambungan baharu seterusnya tidak akan mempunyai paket permintaan sambungan lama.

    Realisasi penghantaran TCP yang boleh dipercayai

    TCP menggunakan penghantaran semula tamat masa untuk mencapai penghantaran yang boleh dipercayai Jika segmen yang telah dihantar tidak tersedia dalam tempoh tamat masa, Selepas menerima pengesahan, hantar semula segmen;
    1 tetingkap gelongsor TCP
    Tetingkap adalah sebahagian daripada cache dan digunakan untuk menyimpan strim bait buat sementara waktu. Pengirim dan penerima masing-masing mempunyai tetingkap Penerima memberitahu pengirim saiz tetingkapnya melalui medan tetingkap dalam segmen TCP Pengirim menetapkan saiz tetingkapnya sendiri berdasarkan nilai ini dan maklumat lain.

    Semua bait dalam tetingkap penghantaran dibenarkan untuk dihantar, dan semua bait dalam tetingkap penerima dibenarkan untuk diterima. Jika bait di sebelah kiri tetingkap penghantaran telah dihantar dan disahkan, kemudian luncurkan tetingkap penghantaran pada jarak tertentu ke kanan sehingga bait pertama di sebelah kiri tidak dihantar dan disahkan gelongsor tetingkap penerima adalah serupa. Apabila bait di sebelah kiri tetingkap telah dihantar dan disahkan serta dihantar kepada hos, luncurkan tetingkap penerima ke kanan.

    Tetingkap penerima hanya akan mengesahkan bait terakhir yang tiba mengikut tertib dalam tetingkap Contohnya, bait yang diterima oleh tetingkap penerima ialah {31, 34, 35}, antaranya {31} tiba mengikut tertib. {34, 35} tidak, jadi hanya bait 31 yang diakui. Selepas pengirim mendapat pengakuan bait, ia mengetahui bahawa semua bait sebelum bait ini telah diterima.

    Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

    2. Kawalan aliran TCP
    Kawalan aliran pada TCP dilaksanakan melalui tetingkap gelongsor Secara umumnya, pengirim dijangka menghantar Lebih cepat data, lebih baik Walau bagaimanapun, jika data yang dihantar oleh pengirim adalah terlalu cepat, penerima tidak akan mempunyai masa untuk menerimanya saiz tetingkap gelongsor. Pengesahan yang dihantar oleh penerima Medan tetingkap dalam mesej boleh digunakan untuk mengawal saiz tetingkap penghantar, dengan itu menjejaskan kadar penghantaran pengirim. Tetapkan medan tetingkap kepada 0 dan pengirim tidak boleh menghantar data.

    3. Kawalan Kesesakan TCP
    Jika rangkaian sesak, paket akan hilang dan pengirim akan terus menghantar semula, mengakibatkan kesesakan rangkaian yang lebih tinggi. Oleh itu, apabila berlaku kesesakan, kadar penghantar harus dikawal. Ini sangat serupa dengan kawalan aliran, tetapi titik permulaannya berbeza. Kawalan aliran adalah untuk membolehkan penerima menerima dalam masa, manakala kawalan kesesakan adalah untuk mengurangkan tahap kesesakan keseluruhan rangkaian.
    Keadaan kawalan kesesakan:
    Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?
    Kawalan kesesakan adalah berbeza daripada kawalan aliran: Kawalan kesesakan menghalang terlalu banyak data daripada disuntik ke dalam rangkaian, supaya penghala atau pautan dalam rangkaian tidak akan dibebankan atau Kawalan sesak ialah proses global, direka untuk merangkumi semua hos, semua penghala, dan semua elemen yang berkaitan dengan mengurangkan prestasi rangkaian Walau bagaimanapun, kawalan aliran selalunya mengawal trafik titik ke titik dan merupakan masalah hujung ke hujung. Beri perhatian kepada perbezaan;

    Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

    Algoritma utama untuk kawalan kesesakan dalam TCP: mula perlahan, mengelakkan kesesakan, penghantaran semula pantas, pemulihan cepat
    Pengirim perlu mengekalkan algoritma yang dipanggil kesesakan Pembolehubah keadaan tetingkap (cwnd), perhatikan perbezaan antara tetingkap kesesakan dan tetingkap penghantar: tetingkap kesesakan hanyalah pembolehubah keadaan, dan tetingkap pengirim yang sebenarnya menentukan berapa banyak data yang boleh dihantar oleh pengirim.
    Untuk kemudahan perbincangan, buat andaian berikut:

    • Penerima mempunyai penimbal terima yang cukup besar, jadi kawalan aliran tidak akan berlaku
    • Walaupun Tetingkap TCP adalah berdasarkan Bytes, tetapi di sini unit saiz tetingkap ditetapkan kepada segmen mesej.

    Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

    1 Permulaan yang perlahan dan mengelakkan kesesakan
    Pelaksanaan awal penghantaran adalah permulaan yang perlahan, biarkan cwnd = 1, the pengirim hanya boleh Hantar 1 segmen; apabila pengakuan diterima, cwnd digandakan, jadi bilangan segmen yang boleh dihantar oleh pengirim ialah: 2, 4, 8...
    Ambil perhatian bahawa permulaan perlahan akan berlaku dalam setiap pusingan Menggandakan ini akan menyebabkan cwnd berkembang sangat cepat, menyebabkan kelajuan penghantaran penghantar berkembang terlalu cepat dan kemungkinan kesesakan rangkaian menjadi lebih tinggi.

    Tetapkan ambang permulaan yang perlahan ssthresh Apabila cwnd >= ssthresh, pengelakan kesesakan dimasukkan dan hanya cwnd ditambah 1 dalam setiap pusingan.

    Jika tamat masa berlaku, tetapkan ssthresh = cwnd / 2, dan kemudian laksanakan mula perlahan sekali lagi.

    2. Penghantaran semula yang cepat dan pemulihan yang cepat
    Di bahagian penerima, adalah dikehendaki setiap kali segmen mesej diterima, segmen mesej pesanan yang terakhir diterima hendaklah diproses mengesahkan. Sebagai contoh, M1 dan M2 telah diterima, dan apabila M4 diterima, pengakuan untuk M2 harus dihantar.

    Di sisi penghantar, jika tiga pengesahan pendua diterima, boleh diketahui bahawa segmen seterusnya hilang Pada masa ini, penghantaran semula pantas dilakukan dan segmen seterusnya dihantar semula dengan serta-merta. Contohnya, jika tiga M2 diterima, M3 hilang dan M3 dihantar semula serta-merta.

    Dalam kes ini, ia hanyalah kehilangan segmen individu, bukan kesesakan rangkaian. Oleh itu, pemulihan pantas dilakukan, membiarkan ssthresh = cwnd / 2, cwnd =ssthresh Perhatikan bahawa pengelakan kesesakan dimasukkan secara langsung pada masa ini.

    Kelajuan permulaan perlahan dan pemulihan cepat merujuk kepada nilai tetapan cwnd, bukan kadar pertumbuhan cwnd. Cwnd mula perlahan ditetapkan kepada 1, dan cwnd pemulihan cepat ditetapkan kepada ssthresh.

    Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?

    Rujukan: Rangkaian Komputer Edisi Kelima disunting oleh Xie Xiren

    (Perkongsian video pembelajaran: Bermula dengan bahagian hadapan web)

Atas ialah kandungan terperinci Apakah protokol seni bina rangkaian komputer yang dimiliki oleh tcp dan udp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn