Maison  >  Article  >  interface Web  >  Comment fonctionne Internet ? Partie 2

Comment fonctionne Internet ? Partie 2

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-10 06:21:30775parcourir

このレッスン/投稿では、ネットワークについて話します。

ビット、信号、パケットの概要

世界中の通信ネットワークを介して情報を配信および交換できる機能は、人々の働き方、遊び方、生活の仕方に革命をもたらしました。今世紀の変わり目に、米国国立工学アカデミーは、20 世紀で最も社会に大きな影響を与えた 20 のテクノロジーをリストしました。このリストには、電化、自動車、飛行機など、生活を変えるイノベーションが含まれていました。また、ラジオ、テレビ、電話、インターネット、コンピューターという 4 つの通信技術も含まれており、その技術的基盤が本書の焦点です。

驚くべきことに、インターネットは今世紀後半に開発され、その最も重大な影響は 21 世紀に起こると委員会が信じていたため、順位は 13 位に過ぎませんでした。この予測は正確であるようです。ワイヤレス ネットワークとモバイル デバイスの普及、ソーシャル ネットワークの台頭、いつでもどこでも通信できるようになったことで、商業や社会的つながりが変化し、さらには社会的および政治的変化さえも引き起こされました。

コミュニケーションは現代生活の基本です。インターネット、そのアプリケーション、またはネットワーク接続されたモバイル デバイスのない生活を想像するのは困難です。 2011 年初頭までに、世界中で 50 億台以上の携帯電話が使用され、そのうち 10 億台以上が「ブロードバンド」接続に対応しており、これは 2011 年の電気、靴、歯ブラシ、トイレを備えた人口を超えています。

How does the Internet Work? Part 2

目的

この投稿/レッスン (どのように呼んでも構いません) は、通信ネットワークがどのように機能するかを説明することを目的としています。これは 2 つの理由から研究する価値があります:

  • これらのシステムで使用される設計原則と分析手法を理解する。
  • 技術的なアイデアはコンピューター サイエンス (CS) や電気工学 (EE) の他の分野に関連しているためです。このため、通信システムの学習は、広く適用可能な概念を学ぶのに最適な方法となります。

MIT (マサチューセッツ工科大学) では、2 年生が確率とフーリエ級数に触れるこのようなコースを受講します。

伝統的に、「低レベル通信」(単一リンク上で情報がどのように移動するか) は EE のトピックとみなされ、「ネットワーキング」(複数のリンクのネットワークの構築) は CS のトピックとされてきました。従来のデジタル コミュニケーション コースではネットワーク構築についてはほとんど取り上げられず、コンピュータ ネットワーク コースでは物理リンクを介した通信がブラック ボックスとして扱われます。本書は、このギャップを埋めることを目的としており、両方の側面の包括的な理解を提供します。

How does the Internet Work? Part 2

通信システムをエンドツーエンドで取り上げます: 送信する情報を含むソースから、パケット (送信用に分解されたメッセージ)、ビット (「0」または「1」)、信号 (アナログ波形)ワイヤー、ファイバー、無線、音波などのリンクを介して送信されます)。シンプルなポイントツーポイント リンク、複数のノードによる共有メディア、さらに大規模なネットワークを形成するために接続された大規模なマルチホップ ネットワークなど、多様なネットワークを検討します。

テーマ

デジタル コミュニケーションの中心となるのは、信頼性、共有、拡張性という 3 つの課題です。この導入セクションでは、最初の 2 つに焦点を当てます。

How does the Internet Work? Part 2

信頼性

コミュニケーションの信頼性を低下させる要因は数多くあります。私たちは、信頼性を向上させるための技術を研究します。その技術はすべて、独立したコンポーネントの障害に依存して、信頼性の低いコンポーネントで信頼性を実現する冗長性を採用しています。

主な課題は、通信品質を低下させるノイズ、干渉、ビット エラー、パケット損失 (修正不可能なエラー、キューのオーバーフロー、リンク/ソフトウェア障害による) を克服することです。

信頼性に加えて、スピードも重要です。信頼性技術では冗長性が使用されることが多く、速度が低下します。多くの通信システムは信頼性と速度のバランスを保っています。

通信速度は、1980 年代初頭のキロビット/秒から、無線では毎秒 100 メガビット、今日では有線リンクでは毎秒 1 ~ 10 ギガビットまで劇的に増加しました。

通信の信頼性が低い理由と、エラー訂正コードの使用、シンボル間干渉の処理、再送信プロトコル、およびフォールトトレラントなルーティングを使用して、その問題に対処する方法を探ります。

効率的な共有

すべてのノードペアの専用リンクは法外に高価です。共有は不可欠です。ポイントツーポイント リンク、共有メディア、マルチホップ ネットワークの共有について研究します。

Nous aborderons le partage d'un support (pertinent pour Ethernet, WiFi, les réseaux cellulaires et les réseaux satellite), la modulation/démodulation (transmission sur différentes fréquences) et les protocoles de contrôle d'accès au support (MAC) (règles régissant le comportement des nœuds de réseau) . Nous explorerons le partage de temps (chaque nœud transmet pendant un temps dédié) et le partage de fréquence (division de la bande passante). Nous passerons ensuite aux réseaux multi-sauts, où de nombreuses communications partagent des liens, orchestrés par des commutateurs.

Les questions clés incluent comment plusieurs communications partagent le réseau, comment les messages traversent le réseau et comment garantir une communication fiable sur un réseau multi-sauts.

Les techniques de partage et les mécanismes de fiabilité déterminent l'efficacité du réseau. L'efficacité peut être définie comme une minimisation des coûts pour des exigences données ou une maximisation du « travail utile » (débit global, variation du débit et délai/latence moyen) pour un réseau donné. Cet article se concentre sur le débit et la latence.

Évolutivité

L'évolutivité (concevoir des réseaux qui gèrent de grandes tailles) est importante. Cet article en parle brièvement, laissant une discussion détaillée pour les leçons ultérieures.

Aperçu et plan

La leçon est divisée en quatre parties : la source et les abstractions des bits, des signaux et des paquets, étudiées dans cet ordre.

  1. La source : Nous commençons par les bases de l'information, de l'entropie, du codage source (compression des données), des codes de Huffman et de l'algorithme de Lempel-Ziv-Welch.
  2. Bits : Nous abordons la résolution des erreurs de bits avec des codes correcteurs d'erreurs : codes de blocs linéaires et codes convolutifs.
  3. Signaux : Nous couvrons la modulation/démodulation, la modélisation des distorsions de signaux avec des canaux linéaires invariants dans le temps (LTI), les représentations du domaine temporel/fréquence et la réponse en fréquence des canaux/filtres.
  4. Paquets : Nous étudions le partage de support avec les protocoles MAC, le routage dans les réseaux multi-sauts et les protocoles de transport de données fiables.

Information, entropie et motivation pour les codes sources

La théorie de l'information de Claude Shannon (développée à la fin des années 1940) est une idée révolutionnaire qui a transformé de nombreux domaines technologiques, notamment les systèmes et réseaux de communication. Ce chapitre présente l'intuition derrière l'information, la définit mathématiquement et la relie à l'entropie, une propriété des sources de données.

Ces concepts permettent une compression efficace des données avant la communication ou le stockage, permettant la récupération des données d'origine sans distorsion. Une idée centrale est le codage source, qui mappe chaque symbole d'une source de données à un mot de code avec des propriétés souhaitables. Un message est une séquence de symboles. Notre objectif est le codage source sans perte, où le message original peut être parfaitement récupéré à partir d'une transmission non corrompue.

Information et entropie

Shannon, s'appuyant sur les travaux de Hartley, s'est rendu compte que les informations peuvent être définies de manière générale, indépendamment de la sémantique de l'application ou du message. La communication implique qu'un expéditeur (S) choisisse et envoie l'un des nombreux messages possibles à un destinataire (R). Par exemple, S pourrait indiquer la route d'arrivée britannique :

  • "1" si par voie terrestre
  • "2" si par mer

Si chaque choix est équiprobable (aucune connaissance préalable), l'information véhiculée est de 1 bit. Ce bit peut coder le choix. 1 000 de ces événements indépendants peuvent être codés avec 1 000 bits.

Si des connaissances antérieures suggèrent une probabilité plus élevée pour un choix (par exemple, terre en raison d'une tempête), alors le message le moins probable (mer) transmet plus d'informations. De même, une température de 75°F à Boston en janvier est plus informative que 32°F.

Les informations sur un événement dépendent de sa probabilité (p). Une probabilité plus faible (événement moins probable) implique des informations plus élevées.

Définition des informations

Hartley a défini l'information (I) comme :

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

Le logarithme base 2 est utilisé, et l'unité d'information est un peu. La fonction logarithmique assure l'additivité : les informations de deux événements indépendants A et B (probabilités pA et pB) s'additionnent :

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

Exemples

How does the Internet Work? Part 2

Entropie

L'entropie (H) quantifie les informations attendues à partir d'un ensemble d'événements mutuellement exclusifs. Si l'événement i a une probabilité pi :

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

How does the Internet Work? Part 2

L'entropie est mesurée en bits et représente l'incertitude moyenne. Pour deux événements mutuellement exclusifs avec des probabilités p et 1-p :

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

H(p) est symétrique autour de p = 1/2, avec un maximum de 1 bit à p = 1/2. H(0) = H(1) = 0. L'entropie est toujours non négative et H(p1, p2, ... pN) ≤ log N.

Codes sources

Le

Le codage source encode efficacement les messages. De nombreux messages ont des codages standards (ASCII, pixels d'image, échantillons audio). Ce sont des encodages de longueur fixe, faciles à manipuler.

Cependant, ces encodages peuvent être inefficaces. Dans le texte anglais, « e » apparaît plus fréquemment que « x ». Le codage de « e » avec moins de bits et de « x » avec plus de bits peut raccourcir la longueur moyenne des messages. Cela correspond au concept d'information : les symboles fréquents (pi plus élevés) transmettent moins d'informations et nécessitent moins de bits.

Un code mappe les informations en séquences de bits. Un mot de code est une séquence de bits dans le code. Les codes sources visent à compresser les données en faisant correspondre la longueur du message codé au contenu de l'information (entropie).

Exemple : encoder 1000 notes (A, B, C, D) avec probabilités :

Encodage de longueur fixe : 2 bits/grade (total 2000 bits). Le décodage est simple, mais inefficace.

Encodage à longueur variable (exemple) : A=10, B=0, C=110, D=111. La longueur dépend du message. Le décodage nécessite un traitement séquentiel. Cet exemple de code n'est pas optimal.

Quel degré de compression est possible ?

Idéalement, la compression utilise uniquement les bits nécessaires pour représenter les informations. L'entropie (équation 2.2) fournit la limite inférieure du nombre moyen de bits nécessaire pour éviter toute ambiguïté. Envoyer moins de bits conduit à des choix non résolus au niveau du récepteur.

Dans l'exemple des notes, les informations attendues par note sont de 1,626 bits. Le codage de 1 000 notes nécessite en moyenne 1 626 bits. L'exemple de code de longueur variable utilise 1 667 bits, il n'est donc pas optimal. Les séquences de codage des notes peuvent améliorer la compression.

Trouver de bons codes est un défi. Parfois, des codes spécifiques au contexte peuvent être très efficaces (par exemple, encoder des sonnets de Shakespeare en utilisant seulement 8 bits si l'expéditeur et le destinataire connaissent tous les sonnets).

Pourquoi compresser ?

La compression offre plusieurs avantages :

  • Transmission plus rapide : Des messages plus courts réduisent le temps de transmission et libèrent la capacité du réseau.
  • Utilisation efficace des ressources : Les messages plus petits préservent les ressources du réseau (bande passante, tampons), permettant ainsi plus de communications.
  • Débit amélioré sur les liens sujets aux erreurs : La compression avant le codage de correction d'erreur permet une redondance optimisée pour la résilience aux erreurs.

La compression est généralement une fonction de bout en bout (couche application), mais peut également être appliquée au niveau de la couche liaison si les données sont compressibles et contiennent de la redondance. Le chapitre suivant couvre les codes de Huffman et la compression Lempel-Ziv-Welch (LZW).

Algorithmes de compression : Huffman et Lempel-Ziv-Welch (LZW)

Ce chapitre traite de deux algorithmes de codage source pour la compression des messages (où un message est une séquence de symboles) : le codage de Huffman et le codage de Lempel-Ziv-Welch (LZW). Le codage de Huffman est efficace lorsque les probabilités des symboles sont connues et indépendantes. LZW est adaptatif et ne nécessite aucune connaissance préalable des probabilités. Les deux sont largement utilisés (GIF, JPEG, MPEG, MP3, etc.).

Propriétés des bons codes sources

Un code mappe les symboles d'un alphabet (texte, intensités de pixels ou symboles abstraits) en mots de code. Les mots de passe binaires conviennent à de nombreux canaux de communication.

Exemple : Encodage des notes en 6.02 : A=1, B=01, C=000, D=001. Une séquence de notes pourrait être transmise sous la forme 0010001110100001, décodée comme "DCAAABCB".

Codes instantanés : Un symbole est décodé dès la réception de son mot de passe. Le codage des notes ci-dessus est instantané. Les codes non instantanés nécessitent de regarder vers l'avant ou de décoder depuis la fin, ce qui les rend plus difficiles à décoder.

Arbres de codes et codes sans préfixe : Un arbre de codes visualise les codes. Dans un arbre de code binaire, les arêtes sont étiquetées par 0 ou 1. Le chemin de la racine vers un symbole donne son codage. Les Codes sans préfixe ont des symboles uniquement au niveau des nœuds feuilles, garantissant qu'aucun mot de code n'est le préfixe d'un autre. Les codes sans préfixe sont instantanés.

Longueur de code attendue (L) : Pour N symboles avec probabilités pi et longueurs de mots de code li : L = Σ pi * li. Les codes avec un petit L sont souhaitables pour la compression. Un code optimal a un minimum de L. Shannon a montré que L ≥ H (entropie) et que les codes atteignant l'entropie existent asymptotiquement.

Codes de Huffman

Les codes de Huffman fournissent un codage efficace compte tenu des probabilités des symboles. Les symboles plus probables obtiennent des codes plus courts.

L'algorithme de Huffman construit l'arborescence des codes de bas en haut, en commençant par les symboles les moins probables :

  1. 입력: S의 (확률, 기호) 튜플을 설정합니다.
  2. 가능성이 가장 낮은 두 개의 기호를 새로운 튜플로 결합합니다(결합된 기호, 확률의 합). S에 새 튜플을 추가합니다.
  3. S에 튜플(루트)이 하나만 있을 때까지 2단계를 반복합니다.

결과 코드 트리는 가변 길이 코드를 정의합니다.

허프만 코드의 속성

  • 비고유성: 트리 구성 중 임의의 타이 브레이킹으로 인해 최적의 코드(및 트리)가 여러 개 존재할 수 있습니다.
  • 최적성: 허프만 코드는 고정된 알려진 확률 분포에서 추출된 독립 기호에 대한 순간 코드 중에서 최소 예상 길이를 갖습니다.

LZW: 적응형 가변 길이 소스 코드

문자 확률을 기반으로 한 단순한 허프만 코딩에는 한계가 있습니다. 메시지 내용에 맞게 조정되는 적응형 인코딩이 더 나은 성능을 발휘할 수 있습니다. LZW는 널리 사용되는 적응형 알고리즘입니다.

LZW는 N비트 인덱스 간 심볼 시퀀스를 매핑하는 문자열 테이블을 구축합니다. 테이블(2^N 항목)은 단일 바이트 시퀀스(0-255)로 초기화됩니다. 인코딩:

  1. 테이블에 시퀀스(S)가 있는 동안 바이트를 누적합니다.
  2. S 다음 바이트(b)가 테이블에 없는 경우:
    • S에게 코드를 전송하세요
    • 테이블에 S b를 추가하세요.
    • S를 b로 재설정합니다.
  3. 모든 바이트가 처리될 때까지 반복합니다. 그런 다음 최종 S에 대한 코드를 전송합니다.

디코더는 코드를 수신하면 테이블을 다시 작성하여 원본 메시지를 복구할 수 있습니다.

LZW 관찰:

  • Greedy: 가장 긴 일치 항목을 찾습니다.
  • 적응형: 테이블 항목은 실제 메시지 순서를 반영합니다.
  • 차선: 사용하지 않은 항목이 포함될 수 있습니다.
  • 가변 압축: 테이블이 채워질수록 압축이 증가합니다.
  • 테이블 재초기화: 테이블이 가득 차면 확률 변화에 맞춰 재설정됩니다. 일부 변형은 명시적 재설정을 위해 CLEAR 코드를 사용합니다.

왜 디지털인가? 통신 추상화 및 디지털 신호

이 장에서는 아날로그의 문제점과 디지털의 이론적 근거를 중심으로 아날로그와 디지털 통신을 설명합니다. 아날로그 통신 링크(물리적 링크는 기본적으로 가장 낮은 수준에서 아날로그이기 때문에 필요함)를 통해 디지털 데이터를 보내고 받는 방법을 제시합니다. 또한 이 책의 나머지 부분의 기초를 형성하는 메시지 → 패킷 → 비트 → 신호 등 계층형 통신 모델을 소개합니다.

데이터 소스

통신 기술을 통해 사용자(사람 또는 애플리케이션)가 메시지를 교환할 수 있습니다. 데이터 소스는 본질적으로 디지털(예: 컴퓨터 생성 데이터)이거나 아날로그(예: 비디오, 오디오, 센서 데이터)일 수 있습니다. 최신 시스템은 소스에 관계없이 모든 데이터를 디지털화하는 경우가 많습니다.

왜 디지털인가?

디지털 커뮤니케이션은 두 가지 이유로 탁월합니다.

  1. 모듈화: 디지털 추상화를 통해 모듈을 구성하여 대규모 시스템을 구축할 수 있습니다.
  2. 정교한 처리: 알고리즘을 사용하여 데이터 품질과 시스템 성능을 향상시킬 수 있습니다.

그러나 물리적 링크는 아날로그이므로 디지털에서 아날로그로, 아날로그에서 디지털로 변환이 필요합니다.

많은 응용 분야에서 아날로그가 자연스러운 이유

아날로그 표현은 물리적 링크 속성에 잘 매핑됩니다. 예:

  • 흑백 TV: 영상 휘도(회색 음영)는 전압 레벨(0V = 검정색, 1V = 흰색)로 표시됩니다.

  • 아날로그 전화기: 음파가 전기 신호로 변환됩니다.

아날로그 신호는 다양한 전압/강도/파장 수준으로 전송될 수 있으며 수신기에서 쉽게 측정할 수 있습니다.

그렇다면 왜 아날로그가 아닌가?

오류가 없는 통신 링크는 없습니다. 잡음과 왜곡은 신호를 교란시키며 이러한 오류는 여러 전송 단계에 걸쳐 누적됩니다(계단 효과). 이로 인해 아날로그 시스템, 특히 복잡한 시스템을 안정적으로 구축하기가 어렵습니다. 디지털 신호로 이 문제를 해결할 수 있습니다.

디지털 신호: 비트를 신호에 매핑

디지털 신호는 이산 값을 사용하여 비트를 표시하므로 잡음과의 확실한 구별이 가능합니다. 바이너리 신호는 "0"에 대해 V0, "1"에 대해 V1이라는 두 가지 전압을 사용합니다. 노이즈를 처리하려면 V0와 V1을 충분히 분리해야 합니다.

수신기는 임계 전압(Vth = (V0 V1) / 2)을 사용하여 수신된 전압을 비트(전압

Isyarat dalam pelajaran ini

Isyarat penghantaran ialah bentuk gelombang voltan tetap yang dipegang untuk masa tertentu. Isyarat berterusan diwakili oleh sampel masa diskret. kadar sampel (sampel sesaat) dipersetujui oleh pengirim dan penerima. Selang sampel ialah masa antara sampel.

Penghantaran Jam

Penghantar dan penerima mesti bersetuju dengan kadar jam. Bit dihantar pada peralihan jam. Samples_per_bit ialah bilangan sampel setiap bit. Penerima membuat kesimpulan tepi jam daripada peralihan dalam sampel yang diterima.

Cabaran:

  1. Penyegerakan jam: Jam penghantar dan penerima mungkin berbeza. Penyelesaian: Masa penyesuaian pada penerima berdasarkan peralihan yang dikesan.
  2. Memastikan peralihan yang kerap: Diperlukan untuk pemulihan jam. Penyelesaian: Pengekodan talian (mis., 8b/10b).

Jam dan Pemulihan Data

Jam penerima mungkin lebih laju sedikit atau lebih perlahan daripada jam pengirim. Penerima melaraskan indeks pensampelannya secara dinamik berdasarkan peralihan:

  • Jika sampel separuh jalan antara titik semasa dan sebelumnya adalah sama seperti sampel semasa (pensampelan terlalu lewat): Naikkan indeks dengan sampel_per_bit - 1.
  • Jika sampel separuh jalan berbeza (persampelan terlalu awal): Peningkatan mengikut sampel_per_bit 1.
  • Jika tiada peralihan: Peningkatan mengikut sampel_per_bit.

Pembetulan awal dibantu oleh urutan latihan 0s dan 1s berselang-seli pada permulaan penghantaran.

Pengekodan Talian dengan 8b/10b

8b/10b menangani baki DC dan peralihan yang kerap. Ia memetakan simbol 8-bit kepada simbol penghantaran 10-bit, memastikan:

  • Larian maksimum 0s atau 1s ialah 5 bit.
  • Perbezaan maksimum antara kiraan 1 dan 0 pada mana-mana sampel ialah 6.
  • Jujukan 7-bit khas membolehkan pengesanan sempadan paket.

Proses pengekodan:

  1. Data paket dibahagikan kepada bait.
  2. Setiap bait dipetakan kepada simbol 10-bit.
  3. Paket dirangka dengan urutan latihan dan corak SYNC untuk penyegerakan.

Abstraksi Komunikasi

Sistem komunikasi melibatkan beberapa modul: Mapper (bit kepada isyarat), Demapper (isyarat kepada bit), Pengekodan saluran (pembetulan ralat), Penyahkodan saluran. Mesej dipecahkan kepada paket dan dihantar melalui berbilang pautan. Tiga abstraksi utama ialah paket, bit dan isyarat. Buku ini memberi tumpuan kepada ini dan interaksi mereka dalam rangkaian komunikasi.

Mengatasi Ralat Bit menggunakan Kod Pembetulan Ralat

Bab ini membincangkan teknik untuk komunikasi digital yang boleh dipercayai, memfokuskan pada menambah redundansi untuk memerangi ralat bit yang tidak dapat dielakkan dalam saluran komunikasi dan media storan. Konsep teras ialah pengekodan saluran: pengekodan pada penghantar dan penyahkodan pada penerima untuk membetulkan ralat atau mengesan ralat yang tidak boleh dibetulkan. Bab ini memfokuskan pada kod pembetulan ralat, khususnya kod blok linear dan (kemudian) kod konvolusi.

Ralat Bit dan BSC

Model Binary Symmetric Channel (BSC) mencirikan ralat bit dengan satu parameter, ε (kebarangkalian bit-flip), di mana bit yang dihantar terbalik dengan kebarangkalian ε, secara bebas daripada bit lain. ε boleh dianggarkan secara empirik. Kebarangkalian ralat paket (PER) untuk paket bersaiz S bit:

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

Apabila ε << 1: PER ≈ Sε (5.2)

Saluran dunia sebenar mungkin mempamerkan ralat pecah di mana kebarangkalian ralat bergantung pada sejarah (lebih tinggi jika bit terbaru juga dalam ralat).

Kod Paling Mudah: Pengulangan

A kod ulangan mengekod bit b sebagai n salinan b. kadar kod ialah 1/n. Penyahkodan kemungkinan maksimum memilih mesej yang berkemungkinan besar diberikan kata kod yang diterima. Untuk BSC, ini bermakna memilih kata kod dengan bit yang paling banyak persamaan dengan yang diterima.

Kebarangkalian ralat penyahkodan untuk kod ulangan (lihat Persamaan 5.3 dalam teks asal). Kebarangkalian berkurangan secara eksponen dengan kadar kod tetapi tidak cekap kerana overhed yang tinggi.

Embeddings dan Jarak Hamming

Jarak hamming (HD) antara dua perkataan n-bit ialah bilangan kedudukan bit yang berbeza. Untuk pembetulan ralat tunggal (SEC), HD antara mana-mana dua kata kod yang sah mestilah sekurang-kurangnya 3. Kod dengan jarak Hamming minimum D boleh mengesan D-1 ralat dan lantai yang betul(D/2 -1) ralat.

선형 블록 코드 및 패리티 계산

선형 블록 코드 (n, k)는 메시지 비트에 대한 선형 함수(가중치 합)를 사용하여 k비트 메시지를 n비트 코드워드로 매핑합니다. 대수 블록 코드는 블록 내에서 이러한 작업을 수행합니다. (n,k,d) 코드는 최소 해밍 거리 'd'를 갖는 블록 코드를 나타낸다. 코드율 = k/n.

선형 코드에서는 두 코드워드의 합도 코드워드가 되어야 합니다. 모두 0인 코드워드는 모든 선형 코드에 존재합니다. 선형 블록 코드의 최소 해밍 거리는 0이 아닌 가장 작은 코드워드의 가중치(1의 수)와 같습니다. 이진 선형 코드 모듈로-2 연산(Galois Field 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는 index(pj)가 index(dipj에 대한 패리티 계산에 포함됩니다. >) 이진 표현(비트 AND는 0이 아님).
2진수로 처리되는 신드롬 비트((7,4) 예의 E3E2E1)는 수정해야 할 비트의 인덱스를 제공합니다.

참고: 이는 웹 개발에 필요한 정보일 뿐입니다. Sysops의 경우 네트워크와 그 기초는 2학기 과정입니다.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:API de raccourcissement d'URLArticle suivant:API de raccourcissement d'URL