Home >Web Front-end >JS Tutorial >How does the Internet Work? Part 2

How does the Internet Work? Part 2

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-10 06:21:30855browse

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.

We'll cover sharing a medium (relevant to Ethernet, WiFi, cellular networks, and satellite networks), modulation/demodulation (transmitting over different frequencies), and medium access control (MAC) protocols (rules governing network node behavior). We'll explore time sharing (each node transmits for a dedicated time) and frequency sharing (dividing bandwidth). Then we'll move on to multi-hop networks, where many communications share links, orchestrated by switches.

Key questions include how multiple communications share the network, how messages traverse the network, and how to ensure reliable communication across a multi-hop network.

Sharing techniques and reliability mechanisms determine network efficiency. Efficiency can be framed as minimizing cost for given requirements or maximizing "useful work" (aggregate throughput, throughput variation, and average delay/latency) for a given network. This post focuses on throughput and latency.

Scalability

Scalability (designing networks that handle large sizes) is important. This post touches upon it briefly, leaving detailed discussion for later lessons.

Outline and Plan

The lesson is divided into four parts: the source, and the abstractions of bits, signals, and packets, studied in that order.

  1. The source: We begin with the basics of information, entropy, source coding (data compression), Huffman codes, and the Lempel-Ziv-Welch algorithm.
  2. Bits: We address overcoming bit errors with error-correcting codes: linear block codes and convolutional codes.
  3. Signals: We cover modulation/demodulation, modeling signal distortions with linear time-invariant (LTI) channels, time/frequency domain representations, and frequency response of channels/filters.
  4. Packets: We study medium sharing with MAC protocols, routing in multi-hop networks, and reliable data transport protocols.

Information, Entropy, and the Motivation for Source Codes

Claude Shannon's theory of information (developed in the late 1940s) is a groundbreaking idea that has transformed many technological fields, especially communication systems and networks. This chapter introduces the intuition behind information, defines it mathematically, and links it to entropy, a property of data sources.

These concepts enable efficient data compression before communication or storage, allowing for recovery of the original data without distortion. A core idea is source coding, which maps each symbol from a data source to a codeword with desirable properties. A message is a sequence of symbols. Our focus is lossless source coding, where the original message can be perfectly recovered from an uncorrupted transmission.

Information and Entropy

Shannon, building on Hartley's work, realized that information can be defined generally, independent of the application or message semantics. Communication involves a sender (S) choosing and sending one of several possible messages to a receiver (R). For example, S could indicate the British arrival route:

  • "1" if by land
  • "2" if by sea

If each choice is equally likely (no prior knowledge), the information conveyed is 1 bit. This bit can encode the choice. 1000 such independent events can be encoded with 1000 bits.

If prior knowledge suggests a higher probability for one choice (e.g., land due to a storm), then the less likely message (sea) conveys more information. Similarly, a temperature of 75°F in Boston in January is more informative than 32°F.

Information about an event depends on its probability (p). Lower probability (less likely event) implies higher information.

Definition of information

Hartley defined information (I) as:

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

The base-2 logarithm is used, and the unit of information is a bit. The logarithmic function ensures additivity: information from two independent events A and B (probabilities pA and pB) adds up:

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

Examples

How does the Internet Work? Part 2

Entropy

Entropy (H) quantifies the expected information from a set of mutually exclusive events. If event i has probability pi:

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

How does the Internet Work? Part 2

Entropy is measured in bits and represents the average uncertainty. For two mutually exclusive events with probabilities p and 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 来说,网络及其基础知识是两个学期的课程。

The above is the detailed content of How does the Internet Work? Part 2. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:URL-Shortener-APIsNext article:URL-Shortener-APIs