首页  >  文章  >  web前端  >  互联网如何运作?第2部分

互联网如何运作?第2部分

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-10 06:21:30806浏览

Dalam pelajaran/siaran ini, kita akan bercakap tentang Rangkaian.

Pengenalan kepada Bit, Isyarat dan Paket

Keupayaan untuk menyampaikan dan bertukar maklumat melalui rangkaian komunikasi dunia telah merevolusikan cara orang bekerja, bermain dan hidup. Pada permulaan abad ini, Akademi Kejuruteraan Kebangsaan A.S. menyenaraikan 20 teknologi dengan kesan masyarakat paling ketara pada abad ke-20. Senarai ini termasuk inovasi yang mengubah hidup seperti elektrifikasi, kereta dan kapal terbang. Ia juga termasuk empat teknologi komunikasi—radio dan televisyen, telefon, Internet dan komputer—yang asas teknologinya menjadi tumpuan buku ini.

Anehnya, Internet berada di kedudukan #13 sahaja, kerana ia dibangunkan pada akhir abad ini, dan jawatankuasa itu percaya kesannya yang paling ketara akan berlaku pada abad ke-21. Ramalan itu nampaknya tepat: penyebaran rangkaian wayarles dan peranti mudah alih, kebangkitan rangkaian sosial dan pada bila-bila masa, di mana-mana sahaja komunikasi telah mengubah perdagangan, hubungan sosial, malah mendorong perubahan sosial dan politik.

Komunikasi adalah asas kepada kehidupan moden. Sukar untuk membayangkan kehidupan tanpa Internet, aplikasinya atau peranti mudah alih rangkaian. Menjelang awal 2011, lebih 5 bilion telefon mudah alih telah aktif di seluruh dunia, lebih satu bilion dengan ketersambungan "jalur lebar" – melebihi bilangan pengguna elektrik, kasut, berus gigi atau tandas pada tahun 2011!

How does the Internet Work? Part 2

Objektif

Siaran/pelajaran ini (apa sahaja panggilan anda) bertujuan untuk menerangkan cara rangkaian komunikasi berfungsi. Ini patut dikaji kerana dua sebab:

  • untuk memahami prinsip reka bentuk dan teknik analisis yang digunakan dalam sistem ini;
  • kerana idea teknikal adalah relevan dengan bidang lain dalam sains komputer (CS) dan kejuruteraan elektrik (EE). Ini menjadikan mempelajari sistem komunikasi cara terbaik untuk mempelajari konsep yang boleh digunakan secara meluas.

Di MIT(Institut Teknologi Massachusetts), pelajar tahun kedua mengikuti kursus sedemikian, dengan sedikit pendedahan kepada kebarangkalian dan siri Fourier.

Secara tradisinya, "komunikasi peringkat rendah" (cara maklumat bergerak merentasi satu pautan) telah dianggap sebagai topik EE, manakala "rangkaian" (membina rangkaian berbilang pautan) telah menjadi topik CS. Kursus komunikasi digital tradisional jarang menangani pembinaan rangkaian, dan kursus rangkaian komputer menganggap komunikasi melalui pautan fizikal sebagai kotak hitam. Buku ini bertujuan untuk merapatkan jurang ini, memberikan pemahaman menyeluruh tentang kedua-dua aspek.

How does the Internet Work? Part 2

Kami akan merangkumi sistem komunikasi hujung ke hujung: daripada sumber dengan maklumat untuk dihantar, kepada paket (mesej dipecahkan untuk penghantaran), kepada bit ("0" atau "1"), kepada isyarat (bentuk gelombang analog dihantar melalui pautan seperti wayar, gentian, radio atau gelombang akustik). Kami akan memeriksa rangkaian yang pelbagai: pautan titik ke titik yang mudah, media kongsi dengan berbilang nod dan rangkaian berbilang hop yang lebih besar disambungkan untuk membentuk rangkaian yang lebih besar.

Tema

Tiga cabaran adalah penting kepada komunikasi digital: kebolehpercayaan, perkongsian dan kebolehskalaan. Bahagian pengenalan ini memfokuskan pada dua yang pertama.

How does the Internet Work? Part 2

Kebolehpercayaan

Banyak faktor yang menyebabkan komunikasi tidak boleh dipercayai. Kami akan mengkaji teknik untuk meningkatkan kebolehpercayaan, yang kesemuanya menggunakan lebihan untuk mencapai kebolehpercayaan dengan komponen yang tidak boleh dipercayai, bergantung pada kegagalan komponen bebas.

Cabaran utama ialah mengatasi hingar, gangguan, ralat bit, kehilangan paket (daripada ralat yang tidak dapat dibetulkan, limpahan baris gilir atau kegagalan pautan/perisian), yang semuanya merendahkan kualiti komunikasi.

Selain kebolehpercayaan, kelajuan juga penting. Teknik kebolehpercayaan sering menggunakan redundansi, mengurangkan kelajuan. Banyak sistem komunikasi mengimbangi kebolehpercayaan dan kelajuan.

Kelajuan komunikasi telah meningkat secara mendadak, daripada kilobit sesaat pada awal 1980-an kepada 100 Megabit sesaat secara wayarles dan 1-10 Gigabit sesaat berbanding pautan berwayar hari ini.

Kami akan meneroka sebab komunikasi tidak boleh dipercayai dan cara menanganinya, menggunakan kod pembetulan ralat, mengendalikan gangguan antara simbol, protokol penghantaran semula dan penghalaan toleransi kesalahan.

Perkongsian yang cekap

Pautan khusus untuk setiap pasangan nod sangat mahal. Perkongsian adalah penting. Kami akan mengkaji perkongsian pautan titik ke titik, media kongsi dan rangkaian berbilang hop.

我们将介绍共享介质(与以太网、WiFi、蜂窝网络和卫星网络相关)、调制/解调(通过不同频率传输)和介质访问控制 (MAC) 协议(管理网络节点行为的规则) 。我们将探讨时间共享(每个节点在专用时间内进行传输)和频率共享(划分带宽)。然后我们将转向多跳网络,其中许多通信共享链接,由交换机协调。

关键问题包括多个通信如何共享网络、消息如何穿越网络以及如何确保跨多跳网络的可靠通信。

共享技术和可靠性机制决定网络效率。效率可以定义为最小化给定要求的成本或最大化给定网络的“有用工作”(聚合吞吐量、吞吐量变化和平均延迟/等待时间)。这篇文章重点讨论吞吐量和延迟。

可扩展性

可扩展性(设计处理大尺寸的网络)很重要。这篇文章简要介绍了它,为后面的课程留下详细讨论。

概要与计划

本课程分为四个部分:源代码以及位、信号和数据包的抽象,按顺序学习。

  1. 来源:我们从信息、熵、源编码(数据压缩)、霍夫曼编码和 Lempel-Ziv-Welch 算法的基础知识开始。
  2. :我们通过纠错码来克服位错误:线性分组码和卷积码。
  3. 信号:我们涵盖调制/解调、使用线性时不变 (LTI) 通道建模信号失真、时域/频域表示以及通道/滤波器的频率响应。
  4. 数据包:我们研究 MAC 协议的介质共享、多跳网络中的路由以及可靠的数据传输协议。

信息、熵和源代码的动机

克劳德·香农 (Claude Shannon) 的信息理论(发展于 20 世纪 40 年代末)是一个开创性的想法,它改变了许多技术领域,特别是通信系统和网络。本章介绍信息背后的直觉,以数学方式定义信息,并将其与熵(数据源的属性)联系起来。

这些概念可以在通信或存储之前实现高效的数据压缩,从而可以在不失真的情况下恢复原始数据。 核心思想是源编码,它将数据源中的每个符号映射到具有所需属性的代码字。消息是符号序列。我们的重点是无损源编码,可以从未损坏的传输中完美恢复原始消息。

信息与熵

香农在哈特利工作的基础上,意识到信息可以被普遍定义,独立于应用程序或消息语义。通信涉及发送者 (S) 选择几种可能的消息之一并将其发送给接收者 (R)。例如,S可以表示英国到达路线:

  • 如果陆路则为“1”
  • 如果是海运则为“2”

如果每个选择的可能性相同(没有先验知识),则传达的信息为 1 位。该位可以对选择进行编码。 1000 个这样的独立事件可以用 1000 位进行编码。

如果先验知识表明一种选择的概率较高(例如,由于风暴而选择陆地),那么可能性较小的消息(海洋)会传达更多信息。 同样,波士顿 1 月份 75°F 的气温比 32°F 的气温更能提供信息。

有关事件的信息取决于其概率 (p)。较低的概率(不太可能发生的事件)意味着较高的信息。

信息的定义

Hartley 将信息 (I) 定义为:

I = log(1/p) = -log(p) (2.1)

采用以2为底的对数,信息单位为比特。 对数函数确保可加性:来自两个独立事件A和B(概率pA和pB)的信息相加:

IA IB = log(1/pA) log(1/pB) = log(1/(pA*pB)) = log(1/P(A 和 B))

示例

How does the Internet Work? Part 2

熵 (H) 量化一组互斥事件的预期信息。如果事件 i 的概率为 pi:

H(p1, p2, ... pN) = Σ pi * log(1/pi) (2.2)

How does the Internet Work? Part 2

熵以位为单位测量,代表平均不确定性。对于概率为 p 和 1-p 的两个互斥事件:

H(p, 1-p) = -p*log(p) - (1-p)*log(1-p) (2.3)

H(p)는 p = 1/2를 기준으로 대칭이며 p = 1/2에서 최대 1비트입니다. H(0) = H(1) = 0. 엔트로피는 항상 음수가 아니며 H(p1, p2, ... pN) ≤ log N입니다.

소스 코드

소스 코딩은 메시지를 효율적으로 인코딩합니다. 많은 메시지에는 표준 인코딩(ASCII, 이미지 픽셀, 오디오 샘플)이 있습니다. 고정 길이 인코딩으로 쉽게 조작할 수 있습니다.

그러나 이러한 인코딩은 비효율적일 수 있습니다. 영어 텍스트에서는 'e'가 'x'보다 더 자주 나타납니다. 더 적은 비트로 'e'를 인코딩하고 더 많은 비트로 'x'를 인코딩하면 평균 메시지 길이를 줄일 수 있습니다. 이는 정보 개념과 일치합니다. 즉, 빈도가 높은 기호(pi가 높음)는 더 적은 정보를 전달하고 더 적은 비트가 필요합니다.

코드는 정보를 비트 시퀀스로 매핑합니다. 코드워드는 코드의 비트 시퀀스입니다. 소스 코드는 인코딩된 메시지 길이를 정보 내용(엔트로피)에 맞춰 데이터를 압축하는 것을 목표로 합니다.

예: 1000개 등급(A, B, C, D)을 확률로 인코딩:

고정 길이 인코딩: 2비트/등급(총 2000비트). 디코딩은 간단하지만 비효율적입니다.

가변 길이 인코딩(예): A=10, B=0, C=110, D=111. 길이는 메시지에 따라 다릅니다. 디코딩에는 순차적 처리가 필요합니다. 이 예제 코드는 최적이 아닙니다.

얼마나 많은 압축이 가능합니까?

이상적으로 압축은 정보를 표현하는 데 필요한 비트만 사용합니다. 엔트로피(식 2.2)는 모호성을 방지하는 데 필요한 평균 비트 수의 하한을 제공합니다. 더 적은 비트를 전송하면 수신자에서 해결되지 않은 선택이 발생합니다.

등급 예시에서 등급당 예상되는 정보는 1.626비트입니다. 1000개 등급을 인코딩하려면 평균 1626비트가 필요합니다. 예제 가변 길이 코드는 1667비트를 사용하므로 최적이 아닙니다. 등급의 인코딩 시퀀스는 압축을 향상시킬 수 있습니다.

좋은 코드를 찾는 것은 어렵습니다. 때로는 상황별 코드가 매우 효율적일 수 있습니다(예: 발신자와 수신자가 모두 모든 소네트를 알고 있는 경우 단 8비트를 사용하여 셰익스피어 소네트를 인코딩).

왜 압축인가?

압축은 여러 가지 장점을 제공합니다.

  • 빠른 전송: 메시지가 짧을수록 전송 시간이 줄어들고 네트워크 용량이 늘어납니다.
  • 효율적인 리소스 사용: 메시지가 작을수록 네트워크 리소스(대역폭, 버퍼)가 절약되어 더 많은 통신이 가능합니다.
  • 오류가 발생하기 쉬운 링크에 대한 처리량 향상: 오류 수정 코딩 전 압축을 통해 오류 복원력을 위한 최적화된 중복성을 제공합니다.

압축은 일반적으로 엔드 투 엔드 기능(애플리케이션 계층)이지만 데이터가 압축 가능하고 중복성이 포함된 경우 링크 계층에도 적용될 수 있습니다. 다음 장에서는 Huffman 코드와 LZW(Lempel-Ziv-Welch) 압축을 다룹니다.

압축 알고리즘: Huffman 및 Lempel-Ziv-Welch(LZW)

이 장에서는 메시지 압축(메시지가 일련의 기호임)을 위한 두 가지 소스 코딩 알고리즘, 즉 허프만 코딩과 Lempel-Ziv-Welch(LZW)에 대해 설명합니다. 허프만 코딩은 기호 확률이 알려져 있고 독립적일 때 효율적입니다. LZW는 적응형이므로 확률에 대한 사전 지식이 필요하지 않습니다. 둘 다 널리 사용됩니다(GIF, JPEG, MPEG, MP3 등).

좋은 소스코드의 속성

코드는 알파벳(텍스트, 픽셀 강도 또는 추상 기호)의 기호를 코드워드에 매핑합니다. 바이너리 코드워드는 많은 통신 채널에 편리합니다.

예: 6.02의 인코딩 등급: A=1, B=01, C=000, D=001. 일련의 등급은 0010001110100001로 전송되고 "DCAAABCB"로 디코딩될 수 있습니다.

순간 코드: 기호는 해당 코드워드가 수신되는 즉시 해독됩니다. 위의 등급 인코딩은 즉각적입니다. 순간적이지 않은 코드는 앞을 내다보거나 끝에서부터 디코딩해야 하므로 디코딩하기가 더 어렵습니다.

코드 트리 및 접두어 없는 코드: 코드 트리는 코드를 시각화합니다. 이진 코드 트리에서 가장자리에는 0 또는 1로 레이블이 지정됩니다. 루트에서 기호까지의 경로는 해당 인코딩을 제공합니다. 접두사가 없는 코드는 리프 노드에만 기호가 있으므로 코드워드가 다른 코드워드의 접두사가 되지 않도록 합니다. 접두어가 없는 코드는 즉시 적용됩니다.

예상 코드 길이(L): 확률 pi 및 코드워드 길이 li를 갖는 N 기호의 경우: L = Σ pi * 리. 압축에는 L이 작은 코드가 바람직합니다. 최적 코드에는 최소 L이 있습니다. Shannon은 L ≥ H(엔트로피)를 보여주며, 엔트로피를 달성하는 코드는 점근적으로 존재합니다.

허프만 코드

허프만 코드는 주어진 기호 확률에 따라 효율적인 인코딩을 제공합니다. 가능성이 높은 기호는 코드가 더 짧아집니다.

Huffman의 알고리즘은 가능성이 가장 낮은 기호부터 시작하여 상향식 코드 트리를 구축합니다.

  1. Input: Set S daripada tupel (kebarangkalian, simbol).
  2. Gabungkan dua simbol paling kecil kemungkinan ke dalam tuple baharu (simbol gabungan, jumlah kebarangkalian). Tambahkan tupel baharu pada S.
  3. Ulang langkah 2 sehingga S hanya mempunyai satu tuple (akarnya).

Pokok kod yang terhasil mentakrifkan kod panjang berubah-ubah.

Sifat Kod Huffman

  • Bukan keunikan: Berbilang kod optimum (dan pokok) mungkin wujud disebabkan pemutusan ikatan sewenang-wenangnya semasa pembinaan pokok.
  • Keoptimuman: Kod Huffman mempunyai jangkaan panjang minimum antara kod segera untuk simbol bebas yang diambil daripada taburan kebarangkalian tetap yang diketahui.

LZW: Kod Sumber Panjang Pembolehubah Adaptif

Pengekodan Huffman ringkas berdasarkan kebarangkalian huruf mempunyai had. Pengekodan mudah suai, yang melaraskan kepada kandungan mesej, boleh berprestasi lebih baik. LZW ialah algoritma penyesuaian yang popular.

LZW membina jujukan simbol pemetaan jadual rentetan kepada/dari indeks N-bit. Jadual (2^N entri) dimulakan dengan jujukan bait tunggal (0-255). Pengekodan:

  1. Kumpul bait semasa urutan (S) berada dalam jadual.
  2. Apabila S bait seterusnya (b) tiada dalam jadual:
    • Hantar kod untuk S.
    • Tambahkan S b pada jadual.
    • Tetapkan semula S kepada b.
  3. Ulang sehingga semua bait diproses; kemudian hantar kod untuk S akhir.

Penyahkod membina semula jadual apabila ia menerima kod, membolehkannya memulihkan mesej asal.

Pemerhatian LZW:

  • Rakus: Cari padanan paling lama.
  • Adaptif: Entri jadual menggambarkan urutan mesej sebenar.
  • Suboptimum: Mungkin termasuk entri yang tidak digunakan.
  • Mampatan boleh ubah: Mampatan meningkat apabila jadual penuh.
  • Pemulaan semula jadual: Jadual ditetapkan semula apabila penuh, menyesuaikan diri dengan perubahan kebarangkalian. Sesetengah varian menggunakan kod CLEAR untuk tetapan semula eksplisit.

Kenapa Digital? Abstraksi Komunikasi dan Isyarat Digital

Bab ini menerangkan komunikasi analog dan digital, memfokuskan pada masalah dengan analog dan rasional untuk digital. Ia membentangkan kaedah untuk menghantar dan menerima data digital melalui pautan komunikasi analog (perlu kerana pautan fizikal pada asasnya adalah analog pada tahap terendah). Ia juga memperkenalkan model komunikasi berlapis: mesej → paket → bit → isyarat, yang menjadi asas untuk seluruh buku.

Sumber Data

Teknologi komunikasi membolehkan pengguna (manusia atau aplikasi) bertukar-tukar mesej. Sumber data boleh menjadi digital (cth., data jana komputer) atau analog (cth., video, audio, data sensor). Sistem moden sering mendigitalkan semua data, tanpa mengira sumbernya.

Kenapa Digital?

Komunikasi digital cemerlang kerana dua sebab:

  1. Modulariti: Abstraksi digital membolehkan membina sistem besar dengan mengarang modul.
  2. Pemprosesan Canggih: Ia membenarkan penggunaan algoritma untuk meningkatkan kualiti data dan prestasi sistem.

Walau bagaimanapun, pautan fizikal adalah analog, memerlukan penukaran digital-ke-analog dan analog-ke-digital.

Mengapa analog adalah semula jadi dalam banyak aplikasi

Perwakilan analog memetakan dengan baik kepada sifat pautan fizikal. Contoh:

  • TV hitam-putih: Pencahayaan imej (warna kelabu) diwakili oleh paras voltan (0V = hitam, 1V = putih).

  • Telefon analog: Gelombang bunyi ditukar kepada isyarat elektrik.

Isyarat analog boleh dihantar pada tahap voltan/intensiti/panjang gelombang yang berbeza, diukur dengan mudah oleh penerima.

Jadi mengapa tidak analog?

Tiada pautan komunikasi bebas ralat. Bunyi dan herotan mengganggu isyarat, dan ralat ini terkumpul merentasi pelbagai peringkat penghantaran (kesan melata). Ini menjadikan sistem analog sukar untuk dibina dengan pasti, terutamanya yang kompleks. Isyarat digital menangani masalah ini.

Isyarat Digital: Memetakan Bit kepada Isyarat

Isyarat digital menggunakan nilai diskret untuk mewakili bit, membolehkan perbezaan yang mantap daripada hingar. Isyarat binari menggunakan dua voltan: V0 untuk "0" dan V1 untuk "1". V0 dan V1 mesti diasingkan secukupnya untuk mengendalikan bunyi.

Penerima menggunakan voltan ambang (Vth = (V0 V1) / 2) untuk memetakan voltan yang diterima kepada bit (voltan < Vth → "0", voltan ≥ Vth → "1"). Mengukur berhampiran Vth dengan tepat adalah sukar, tetapi tidak penting jika V0 dan V1 berjauhan.

本课中的信号

传输信号是保持特定时间的固定电压波形。 连续信号由离散时间样本表示。 采样率(每秒采样数)由发送者和接收者商定。 采样间隔是采样之间的时间。

时钟传输

发送方和接收方必须就时钟速率达成一致。位在时钟转换时发送。 Samples_per_bit 是每比特的样本数。接收器从接收到的样本中的转换推断时钟边沿。

挑战:

  1. 时钟同步:发送器和接收器时钟可能不同。 解决方案:接收器根据检测到的转换进行自适应定时。
  2. 确保频繁转换:时钟恢复所需。解决方案:线路编码(例如8b/10b)。

时钟和数据恢复

接收方时钟可能比发送方时钟稍快或稍慢。 接收器根据转换动态调整其采样索引:

  • 如果当前点和前一个点之间的中间样本与当前样本相同(采样太晚):将索引增加samples_per_bit - 1。
  • 如果中途样本不同(采样太早):增加samples_per_bit 1。
  • 如果没有转换:增加samples_per_bit。

初始校正由传输开始时交替的 0 和 1 训练序列辅助。

8b/10b 线路编码

8b/10b 解决 DC 平衡和频繁转换问题。它将 8 位符号映射到 10 位传输符号,确保:

  • 0 或 1 的最大运行长度为 5 位。
  • 任何样本中 1 和 0 计数之间的最大差异为 6。
  • 特殊的 7 位序列可实现数据包边界检测。

编码过程:

  1. 数据包数据被分为字节。
  2. 每个字节映射到一个 10 位符号。
  3. 数据包由训练序列和用于同步的 SYNC 模式构成。

通信抽象

一个通信系统涉及几个模块:Mapper(比特到信号)、Demapper(信号到比特)、Channel Coding(纠错)、Channel Decoding。消息被分成数据包并通过多个链路传输。 三个关键抽象是数据包信号。 本书重点关注这些内容以及它们在通信网络中的交互。

使用纠错码应对位错误

本章讨论可靠数字通信的技术,重点是添加冗余以应对通信通道和存储介质中不可避免的位错误。 核心概念是通道编码:在发送方编码并在接收方解码以纠正错误或检测不可纠正的错误。 本章重点介绍错误校正代码,特别是线性块代码和(后来的)卷积代码。

位错误和 BSC

二进制对称信道 (BSC) 模型使用单个参数 ε(位翻转概率)来表征位错误,其中传输的位以概率 ε 翻转,独立于其他位。 ε 可以凭经验估计。 大小为 S 位的数据包的数据包错误概率 (PER):

PER = 1 - (1 - ε)^S (5.1)

当 ε

现实世界的通道可能会出现突发错误,其中错误概率取决于历史记录(如果最近的位也出错,则错误概率更高)。

最简单的代码:重复

A 重复代码 将位 b 编码为 nb 副本。 码率为1/n最大似然解码 根据收到的码字选择最有可能的消息。对于 BSC,这意味着选择与接收到的码字具有最多共同位的码字。

重复码的解码错误概率(见原文公式5.3)。概率随着码率呈指数下降,但由于开销较高而效率低下。

嵌入和汉明距离

两个 n 位字之间的汉明距离 (HD) 是不同位位置的数量。对于单纠错 (SEC),任何两个有效码字之间的 HD 必须至少为 3。具有最小汉明距离 D 的代码可以检测 D-1 错误并纠正底层(D/2 -1) 错误。

线性分组码和奇偶校验计算

线性块码 (n, k) 使用消息位上的线性函数(加权和)将 k 位消息映射到 n 位码字。 代数块代码在块内执行此类操作。 (n,k,d)码表示具有最小汉明距离“d”的分组码。码率 = k/n。

线性码要求任意两个码字之和也是一个码字。 全零码字存在于任何线性码中。线性分组码的最小汉明距离等于最小非零码字的权重(1的数量)。 二进制线性代码使用模2算术(伽罗瓦域F2)。

矩形奇偶校验 SEC 代码

奇偶校验 是位的模 2 和。 偶校验码为每条消息添加一个奇偶校验位,使码字具有偶校验。这会检测到单个错误 (HD=2)。

矩形奇偶校验码将 k 位排列到 r x c 数组中,并添加行和列奇偶校验。码字:消息行奇偶校验列奇偶校验。长度:n = rc r c。该代码是 SEC 代码 (HD=3)。 解码涉及检查行和列奇偶校验,如果两个奇偶校验都指示错误,则纠正相应的位。

SEC 代码需要多少个奇偶校验位?

任何线性代码都可以转换为系统代码(消息位后跟奇偶校验位)。对于 SEC,奇偶校验组合的数量 (2^(n-k)) 必须大于或等于可纠正情况的数量 (n 1):

n 1 ≤ 2^(n-k) (5.6)

奇偶校验位计数至少随消息位呈对数增长。

汉明码

汉明码是具有对数奇偶校验位增长的高效 SEC 代码。 每个奇偶校验位保护多个数据位,单个错误会产生独特的奇偶校验错误组合。

校正子位 (Ei) 在接收器处通过检查奇偶校验来计算。综合症位的组合表示错误位(如果有)。

汉明码的构造有逻辑吗?

汉明码构造:

  1. 将奇偶校验位分配给 2 的幂(1、2、4、8、...)的索引。
  2. 将数据位分配给剩余索引。
  3. 数据位di包含在pj的奇偶校验计算中当且仅当索引(pj)有助于索引(di) 以二进制表示形式(按位 AND 非零)。

作为二进制数处理的校正子位((7,4) 示例中的 E3E2E1)给出了要纠正的位的索引。

注意:这只是 Web 开发所需的信息。对于 Sysops 来说,网络及其基础知识是两个学期的课程。

以上是互联网如何运作?第2部分的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn