Rumah > Tutorial sistem > LINUX > Tumbangkan pemahaman anda tentang sistem pengendalian - gambaran keseluruhan pengedaran Linux

Tumbangkan pemahaman anda tentang sistem pengendalian - gambaran keseluruhan pengedaran Linux

王林
Lepaskan: 2024-02-13 21:15:02
ke hadapan
588 orang telah melayarinya

Sama ada anda seorang pengaturcara kanan atau pemula, sama ada anda pengguna Windows atau macOS, jika anda mempunyai pemahaman tertentu tentang sistem pengendalian komputer, nama Linux pasti akan anda kenali. Walau bagaimanapun, anda hanya boleh menconteng permukaan sistem pengendalian Linux. Malah, terdapat banyak pengedaran Linux, masing-masing dengan ciri unik dan senario aplikasi. Di bawah, kami akan memperkenalkan anda kepada beberapa pengedaran Linux biasa dan membantu anda menumbangkan pemahaman tradisional tentang sistem pengendalian.

Untuk membolehkan berbilang peranti berkomunikasi antara satu sama lain melalui rangkaian, dan untuk menyelesaikan isu keserasian pelbagai peranti dalam interkoneksi rangkaian, Organisasi Standardisasi Antarabangsa telah merumuskan Model Rujukan Saling Sambungan Sistem terbuka, juga Ia adalah model rangkaian OSI. Model ini terutamanya mempunyai 7 lapisan, iaitu lapisan aplikasi, lapisan persembahan, lapisan sesi, lapisan pengangkutan, lapisan rangkaian, lapisan pautan data dan lapisan fizikal.

Tumbangkan pemahaman anda tentang sistem pengendalian - gambaran keseluruhan pengedaran Linux
Setiap lapisan bertanggungjawab untuk fungsi yang berbeza, seperti berikut:

•Lapisan aplikasi, bertanggungjawab untuk menyediakan antara muka bersatu kepada aplikasi

•Lapisan persembahan, bertanggungjawab untuk menukar data kepada format yang serasi dengan sistem lain

•Lapisan sesi, bertanggungjawab untuk menubuhkan, mengurus dan menamatkan sesi komunikasi antara entiti lapisan pembentangan

•Lapisan pengangkutan, bertanggungjawab untuk penghantaran data hujung ke hujung

•Lapisan rangkaian, bertanggungjawab untuk penghalaan, pemajuan dan pemecahan data

•Lapisan pautan data, bertanggungjawab untuk pembingkaian data dan pengesanan ralat, serta pengalamatan MAC

•Lapisan fizikal, bertanggungjawab untuk menghantar bingkai data dalam rangkaian fizikal;

Oleh kerana model OSI terlalu kompleks, apa yang dicadangkan hanyalah pelapisan konsep dan teori, dan tiada pelan pelaksanaan khusus disediakan. Malah, model empat lapisan, yang lebih biasa dan praktikal, ialah model rangkaian TCP/IP Sistem Linux melaksanakan susunan protokol rangkaian mengikut model rangkaian ini.

Model rangkaian TCP/IP mempunyai 4 lapisan iaitu lapisan aplikasi, lapisan pengangkutan, lapisan rangkaian dan lapisan antaramuka rangkaian Fungsi setiap lapisan adalah seperti berikut:

•Lapisan aplikasi, bertanggungjawab untuk menyediakan satu set aplikasi kepada pengguna, seperti HTTP, DNS, FTP, dll.;

•Lapisan pengangkutan, bertanggungjawab untuk komunikasi hujung ke hujung, seperti TCP, UDP, dll.;

•Lapisan rangkaian, bertanggungjawab untuk enkapsulasi, pemecahan, penghalaan dan pemajuan paket rangkaian, seperti IP, ICMP, dll.;

•Lapisan antara muka rangkaian, bertanggungjawab untuk penghantaran paket rangkaian dalam rangkaian fizikal, seperti pembingkaian paket rangkaian, pengalamatan MAC, pengesanan ralat dan penghantaran bingkai rangkaian melalui kad rangkaian, dsb.;

Berbanding dengan model rangkaian OSI, model rangkaian TCP/IP jauh lebih ringkas dan lebih mudah diingati hubungan antara mereka adalah seperti berikut:

Tumbangkan pemahaman anda tentang sistem pengendalian - gambaran keseluruhan pengedaran Linux Walau bagaimanapun, pengimbangan beban tujuh lapisan dan empat lapisan yang sering kita bicarakan diterangkan oleh model rangkaian OSI Lapisan tujuh sepadan dengan lapisan aplikasi, dan lapisan empat sepadan dengan lapisan pengangkutan.

Timbunan protokol rangkaian Linux

Kita boleh membandingkan badan kita dengan data dalam lapisan aplikasi, lapisan bawah pakaian dengan pengepala TCP dalam lapisan pengangkutan, kot dengan pengepala IP dalam lapisan rangkaian, dan topi dan kasut dengan pengepala dan bingkai bingkai daripada lapisan antara muka rangkaian masing-masing.

Pada musim sejuk, apabila kita ingin keluar bermain dari rumah, kita secara semula jadi perlu memakai pakaian asas dahulu, kemudian memakai jaket hangat, dan akhirnya memakai topi dan kasut sebelum keluar Proses ini adalah adil seperti cara kita menggunakan protokol TCP untuk berkomunikasi Apabila paket rangkaian dihantar, data lapisan aplikasi akan dikapsulkan dan diproses lapisan demi lapisan mengikut susunan protokol rangkaian.

Anda boleh lihat dari gambar di bawah format enkapsulasi data lapisan aplikasi pada setiap lapisan.

Tumbangkan pemahaman anda tentang sistem pengendalian - gambaran keseluruhan pengedaran Linux Antaranya:

•Lapisan pengangkutan menambah pengepala TCP di hadapan data aplikasi;

•Lapisan rangkaian menambah pengepala IP ke hadapan paket TCP;

•Lapisan antara muka rangkaian menambah pengepala bingkai dan treler bingkai sebelum dan selepas paket IP;

Tambahan, pengepala dan ekor ini semuanya mempunyai fungsi mereka sendiri, dan diisi mengikut format protokol tertentu Setiap lapisan menambah pengepala protokolnya sendiri, yang secara semula jadi meningkatkan saiz paket rangkaian, tetapi pautan fizikal tidak boleh menghantar paket data. sebarang saiz, jadi dalam Ethernet, unit penghantaran maksimum (MTU) ialah 1500 bait, yang juga menentukan saiz paket IP maksimum untuk satu penghantaran.

Apabila paket rangkaian melebihi saiz MTU, ia akan dipecahkan pada lapisan rangkaian untuk memastikan bahawa paket IP yang dipecahkan tidak akan melebihi saiz MTU Jika MTU lebih kecil, lebih banyak paket diperlukan dan kapasiti pemprosesan rangkaian akan lebih tinggi. Sebaliknya, jika MTU lebih besar, lebih kecil paket yang diperlukan, lebih baik daya pemprosesan rangkaian.

Setelah mengetahui model rangkaian TCP/IP dan prinsip enkapsulasi paket rangkaian, anda pasti sudah meneka rupa susunan protokol rangkaian Linux Ia sebenarnya serupa dengan struktur empat lapisan TCP/IP:

Tumbangkan pemahaman anda tentang sistem pengendalian - gambaran keseluruhan pengedaran Linux
Daripada susunan protokol rangkaian dalam gambar di atas, anda boleh melihat:

•Aplikasi perlu berinteraksi dengan lapisan Soket melalui panggilan sistem

•Di bawah lapisan Soket adalah lapisan pengangkutan, lapisan rangkaian dan lapisan antara muka rangkaian

•Lapisan bawah ialah pemacu kad rangkaian dan peranti kad rangkaian perkakasan;

Proses Linux menerima paket rangkaian

Kad rangkaian ialah sekeping perkakasan dalam komputer yang bertanggungjawab untuk menerima dan menghantar paket rangkaian Apabila kad rangkaian menerima paket rangkaian, ia akan meletakkan paket rangkaian ke dalam Ring Buffer melalui teknologi DMA . Penampan Dalam pemacu kad rangkaian dalam memori kernel.

Selepas menerima paket rangkaian, bagaimana kita harus memberitahu sistem pengendalian bahawa paket rangkaian telah tiba?

Cara paling mudah ialah mencetuskan gangguan, iaitu setiap kali kad rangkaian menerima paket rangkaian, ia mencetuskan gangguan untuk memberitahu sistem pengendalian.

Namun, terdapat masalah dalam senario rangkaian berprestasi tinggi, bilangan paket rangkaian akan menjadi sangat besar, dan sejumlah besar gangguan akan dicetuskan. Anda mesti tahu bahawa apabila CPU menerima gangguan, ia akan berhenti apa yang ia lakukan dan pergi Memproses paket rangkaian ini hanya akan kembali kepada perkara lain selepas pemprosesan selesai Mencetuskan gangguan dengan kerap akan menyebabkan CPU mengalami gangguan pemprosesan yang tidak berkesudahan, yang mungkin menyebabkan tugas lain tidak dapat bergerak ke hadapan, oleh itu. menjejaskan kecekapan keseluruhan sistem.

Jadi untuk menyelesaikan overhed prestasi yang disebabkan oleh gangguan yang kerap, kernel Linux memperkenalkan mekanisme NAPI dalam versi 2.6 Ia adalah kaedah "gangguan dan undian" campuran untuk menerima paket rangkaian adalah untuk membaca tanpa gangguan dapatkan data, mula-mula gunakan gangguan untuk membangunkan program perkhidmatan untuk penerimaan data, dan kemudian gunakan kaedah tinjauan pendapat untuk mengundi data.

Sebagai contoh, apabila paket rangkaian tiba, kad rangkaian memulakan gangguan perkakasan, dan kemudian fungsi pemprosesan gangguan perkakasan kad rangkaian dilaksanakan Selepas fungsi pemprosesan gangguan diproses, adalah perlu untuk "menolong gangguan untuk sementara waktu", dan kemudian bangunkan "gangguan lembut" untuk mengundi dan memproses data sehingga tiada lagi Gangguan disambung semula hanya apabila data baharu diterima, supaya berbilang paket rangkaian diproses dengan satu gangguan, sekali gus mengurangkan overhed prestasi yang disebabkan oleh gangguan kad rangkaian .

Jadi, bagaimanakah gangguan lembut mengendalikan paket rangkaian? Ia akan menyalin data daripada Penampan Cincin ke penimbal sk_buff struct kernel, supaya ia boleh diserahkan kepada timbunan protokol rangkaian sebagai paket rangkaian untuk pemprosesan lapisan demi lapisan.

Pertama, ia akan memasuki lapisan antara muka rangkaian Pada lapisan ini, kesahihan paket akan diperiksa Jika ia tidak sah, ia akan dibuang jika ia sah, jenis protokol lapisan atas paket rangkaian akan ditemui, seperti IPv4 atau IPv6 Kemudian, keluarkan pengepala bingkai dan treler bingkai, dan kemudian serahkan kepada lapisan rangkaian.

Di lapisan rangkaian, keluarkan paket IP dan tentukan arah seterusnya paket rangkaian, seperti sama ada hendak menyerahkannya ke lapisan atas untuk diproses atau memajukannya. Apabila ia disahkan bahawa paket rangkaian akan dihantar ke mesin tempatan, ia akan melihat pengepala IP untuk melihat sama ada jenis protokol lapisan atas ialah TCP atau UDP, kemudian alih keluar pengepala IP, dan kemudian serahkan kepada lapisan pengangkutan.

Lapisan pengangkutan mengeluarkan pengepala TCP atau pengepala UDP, menggunakan empat tuple "IP sumber, port sumber, IP destinasi, port destinasi" sebagai pengecam untuk mencari Soket yang sepadan dan menyalin data ke penimbal terima Soket.

Akhir sekali, program lapisan aplikasi memanggil antara muka Soket untuk membaca data yang baru tiba daripada penimbal penerima Soket kernel ke lapisan aplikasi.

Pada ketika ini, proses penerimaan paket rangkaian telah tamat Anda juga boleh melihat proses menerima paket rangkaian dari bahagian kiri gambar di bawah ini adalah sebaliknya, iaitu proses penghantaran paket rangkaian .

Tumbangkan pemahaman anda tentang sistem pengendalian - gambaran keseluruhan pengedaran Linux

Proses Linux menghantar paket rangkaian

Seperti yang ditunjukkan pada separuh daripada gambar di atas, proses penghantaran paket rangkaian adalah betul-betul bertentangan dengan proses penerimaan.

Pertama, aplikasi akan memanggil antara muka Socket untuk menghantar paket data Memandangkan ini adalah panggilan sistem, ia akan jatuh dari keadaan pengguna ke lapisan Socket dalam keadaan kernel Penimbal penghantaran soket.

Seterusnya, susunan protokol rangkaian mengeluarkan paket data daripada penimbal hantar Socket dan memprosesnya lapisan demi lapisan mengikut susunan protokol TCP/IP dari atas ke bawah.

Jika protokol penghantaran TCP digunakan untuk menghantar data, pengepala TCP akan ditambahkan pada lapisan pengangkutan dan kemudian diserahkan kepada lapisan rangkaian Lapisan rangkaian akan menambah paket IP pada paket data, dan kemudian mengesahkan lompatan seterusnya IP dengan menanyakan jadual penghalaan, dan ikut saiz MTU untuk pemecahan.

Paket rangkaian yang berpecah-belah akan dihantar ke lapisan antara muka rangkaian, di mana alamat MAC lompatan seterusnya akan diperoleh melalui protokol ARP, dan kemudian pengepala bingkai dan treler bingkai akan ditambah dan diletakkan dalam baris gilir penghantaran paket.

Selepas ini disediakan, gangguan lembut akan dicetuskan untuk memberitahu pemandu kad rangkaian bahawa terdapat paket rangkaian baru yang perlu dihantar Akhirnya, pemandu membaca paket rangkaian dari baris gilir penghantaran paket melalui DMA dan memasukkannya ke dalam baris gilir kad rangkaian perkakasan , dan kemudian kad rangkaian fizikal menghantarnya keluar.

Ringkasan

Komputer biasanya disambungkan bersama oleh peranti rangkaian seperti kad rangkaian komunikasi, suis, penghala, dan lain-lain. Disebabkan oleh kepelbagaian peranti rangkaian, Pertubuhan Antarabangsa untuk Standardisasi telah mentakrifkan model rangkaian OSI tujuh lapisan, tetapi model ini agak kompleks . , ia tidak digunakan dalam aplikasi sebenar, tetapi model TCP/IP yang lebih mudah digunakan Susunan protokol rangkaian Linux dilaksanakan mengikut model ini.

Model TCP/IP terbahagi terutamanya kepada empat lapisan: lapisan aplikasi, lapisan pengangkutan, lapisan rangkaian dan lapisan antara muka rangkaian. Setiap lapisan bertanggungjawab untuk tanggungjawab yang berbeza Ini juga merupakan komponen utama susunan protokol rangkaian Linux.

Apabila aplikasi menghantar paket data melalui antara muka Soket, paket data akan diproses lapisan demi lapisan dari atas ke bawah oleh susunan protokol rangkaian sebelum dihantar ke baris gilir kad rangkaian, dan kemudian kad rangkaian akan menghantar paket rangkaian keluar.

Apabila menerima paket rangkaian, ia juga mesti diproses lapisan demi lapisan dari bawah ke atas oleh susunan protokol rangkaian sebelum akhirnya dihantar ke aplikasi.

Ringkasnya, Linux, sebagai sistem pengendalian sumber bebas dan terbuka, telah muncul dalam bidang teknologi dan digunakan secara meluas. Sama ada anda seorang pengaturcara yang berpengalaman atau pengguna biasa, memilih pengedaran Linux yang sesuai dengan anda benar-benar boleh membawa banyak faedah yang tidak dijangka. Saya percaya artikel ini boleh membantu anda memahami pengedaran Linux dengan lebih baik, dan saya harap anda boleh mengalami keindahan Linux pada komputer anda sendiri.

Atas ialah kandungan terperinci Tumbangkan pemahaman anda tentang sistem pengendalian - gambaran keseluruhan pengedaran Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lxlinux.net
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan