コンテンツへスキップ

データ転送

IGCSE Computer Science · トピック 2

查看幻灯片 練習する
このトピックのビデオレッスン 動画ページを開く
10:56

データ転送

世界中の友人に写真を送信します。それは塊として移動するのではなく、数百の小さなパケットに分割され、それぞれにラベルが付けられます…

英語ナレーション・英語+中文字幕 burning-in

2.1

データ伝送とは何か?

データ伝送とは、データをある場所から別の場所へ移動することです。例えば、コンピュータからウェブサイトへ、または電話からプリンタへ送信する場合などが該当します。

データは多くの場合、ケーブル上を移動します。以下に2つの一般的なタイプを示します。

ネットワークケーブルのクローズアップ画像:透明なプラスチック製プラグと金色の金属ピンが付いたもの
RJ45プラグ付きのエターネットケーブル。有線ネットワークでデータを送信するために広く使用されている。
ケーブルを開いて内部の細いガラスファイバーを示す画像:スケール用定規付き
光ファイバーケーブルは、細いガラス繊維を通じて光のパルスとしてデータを伝送する。

送信される前に、データは小さな等しいサイズのブロックに分割され、これらはパケットと呼ばれます。各パケットは個別に移動し、相手を側で再び組み立てられます。

パケットを使用する利点は以下の通りです:

  • 1つのパケットが紛失または損傷した場合、そのパケットのみが再送信され、ファイル全体が再送信されることはありません。
  • パケットは異なるルートを通過できるため、混雑しているまたは破損したルートは回避できます。
  • 多くのユーザーが同じ接続を同時に共有できます。
2.1

パケットの構造

シラバス
受験者は以下的能力を備えているべきである: メモおよびガイドライン
1 (a) データが転送のためにパケットに分割されることを理解する
(b) パケットの構造を説明する • データのパケットには以下を含む:– パケットヘッダー – payload – トレイラー • パケットヘッダーには以下を含む:– 宛先アドレス – パケット番号 – 送信元アドレス
(c) パケットスイッチングのプロセスを説明する • データはパケットに分割される • 各パケットは異なる経路を取る可能性がある • ルーターがパケットの経路を制御する • パケットは順序不同で到着することがある • 最終パケットが到着したら、パケットは再整列される
2 (a) 異なるデータ転送方法を用いて、デバイス間でデータが如何に転送されるかを説明する • 以下を含む:– シリアル – パラレル – シンプルックス – ハーフデュプレックス – フルデュプレックス
(b) 特定のシナリオにおいて、各データ転送方法の適性を説明する • 各方法の利点と欠点を以下に含む
3 **ユニバーサルシリアルバス (USB)**インターフェースを理解し、それがどのようにデータ転送に使用されるかを説明する • インターフェースの利点と欠点を以下に含む

出典: Cambridge International シラバス

すべてのパケットには3つの部分があります。

パケットは3つの結合したブロック(ヘッダー、ペイロード、トレーラー)として描かれており、ヘッダーの内容は下にリストされています
パケットはヘッダー、ペイロード(データ)、トレーラーを持ちます。ヘッダーにはアドレスとパケット番号が含まれています
部分 保持する内容
パケットヘッダー コントロール情報(以下参照)
ペイロード 運ばれている実際のデータ
トレーラー パケットの終端を示し、エラーチェックを含む

パケットヘッダーには以下の情報が含まれます:

  • 送信元のIPアドレス(パケットの発生源),
  • 受信先のIPアドレス(パケットの目的地),
  • パケット番号(パケットを正しい順序で組み立てるため)。
2.1

パケットスイッチング

パケットスイッチングとは、パケットをネットワーク上で送信する方法です。

2つのパケットが送信者から受信者へ、各パケットが異なる色の経路を通りながらルーターのメッシュ網を移動する様子
ルーターはパケットを転送し、異なるパケットは同じ受信先へ異なるルートを通過することがあります
  • ルーターと呼ばれる特別な装置が各パケットのヘッダーを読み取り、最適なルートを決定します。
  • 各パケットは独自の経路を取るため、パケットは異なる方向へ移動することがあります。
  • パケットは順番不同れで到着することがあります。
  • 最後のパケットが到着したら、パケット番号を使用してパケットを再整列します。
探索

パケットでのデータ転送方法

パケットスイッチングのプロセスを確認しましょう。ファイルをアドレス付きのパケットに分割することで、失われたパケットは再送信のみで済み、また複数のユーザーが同一の通信ラインを共有できるようになります。

English 日本語
data transmission/ˈdeɪtə trænˈsmɪʃn/ データ転送
packets/ˈpækɪts/ パケット
packet header/ˈpækɪt ˈhedə/ パケットヘッダー
payload/ˈpeɪləʊd/ ペイロード
trailer/ˈtreɪlə/ トレーラー
address/əˈdres/ アドレス
packet switching/ˈpækɪt ˈswɪtʃɪŋ/ パケットスイッチング
routers/ˈruːtəz/ ルーター
2.1

データ伝送の方法

シリアルとパラレル

シリアル パラレル
方式 1ビットずつ、1本のワイヤに沿って 複数のビットを一度に、複数のワイヤに沿って
距離 長距離に適している 短距離に限定して適している
費用 安価(ワイヤが少ない) 高価(ワイヤが多い)
エラー ビットは正しい順序で保持される 長いワイヤでは、ビットがわずかに異なるタイミングで到達する可能性がある

直列伝送は、データパス上を1ビットずつ順に送ります。並列伝送は、別々のデータパス上で複数のビットを同時に送ります。同様のタイミング条件下では、クロックサイクルあたりに転送できるビット数が増加しますが、並列伝送が常に現代の直列リンクより高速とは限らない点上注意が必要です。

シリアル伝送は1本のワイヤ上のライン状のビット、パラレル伝送は複数のワイヤ上で一緒に移動する複数のビットとして描かれた図
シリアルは1ビットずつ1本のワイヤを下りて送信;パラレルは複数のビットを一度に複数のワイヤを下りて送信

シンプルックス、ハーフデュプレックス、フルデュプレックス

これらはデータが移動できる方向を表します。

2台のデバイスAとBがあり、矢印でシンプルックス(片方向)、ハーフデュプレックス(両方向だが順次)、フルデュプレックス(両方向同時)を示す図
シンプルックスは片方向のみ;ハーフデュプレックスは両方向だが順次;フルデュプレックスは両方向同時
方法 方向
シンプルックス 片方向のみ(例:コンピュータ → プリンタ)
ハーフデュプレックス 両方向だが、一度に1つだけ(例:トランシーバー)
フルデュプレックス 両方向を同時に(例:電話通話)

方法の選択

選択は距離、必要な速度、費用、そしてデータが一度に双方向で移動する必要があるかどうかに基づきます。

English 日本語
serial/ˈsɪərɪəl/ 直列伝送
parallel/ˈpærəlel/ 並列伝送
simplex/ˈsɪmpleks/ シングルプレックス
half-duplex/hɑːf ˈdjuːpleks/ ハーフデュプレックス
full-duplex/fʊl ˈdjuːpleks/ フルデュプレックス
universal serial bus/ˌjuːnɪˈvɜːsl ˈsɪərɪəl bʌs/ ユニバーサルシリアルバス
interface/ˈɪntəfeɪs/ インターフェース
interference/ˌɪntəˈfɪərəns/ 干渉
2.1

USB

ユニバーサルシリアルバス(USB)は、デバイスをコンピュータに接続するための一般的なインターフェース(接続ポイント)です。

利点:

  • 多くのデバイスで同じコネクタが使用される(標準統一);
  • デバイスが自動的に検知され、適切なドライバーが読み込まれる;
  • 電力を供給するため、デバイスの充電や動作に使用できる。
  • コネクタは片側しか接続できないため、誤って差し込むことは難しい。

欠点:

  • ケーブルの長さは限定的である(数メートル程度)。
  • 古いUSBバージョンは新しい版本より速度が遅い。
  • 転送速度が他の接続タイプより低いことがある。
マイクロ、ミニ、タイプB、タイプAなど5種類のUSBプラグ形状を並べた図 — 5cmスケールバー付き
いくつかのUSBコネクタの形状。すべて同じUSB規格を使用するため、デバイスは自動的に検出される。
2.2

エラー検出を行う理由

シラバス
受験者は以下的能力を備えているべきである: メモおよびガイドライン
1 データ転送後にエラーを検査する必要性と、それらがどのように発生するかを理解する • 干渉によりデータ転送中にエラーが発生する可能性がある。例:データ損失、データ増減、データ変換
2 以下の各エラー検知方法におけるプロセスを説明する:パリティチェック(奇数・偶数)、チェックサム、エコーチェック • パリティバイトおよびパリティブロックチェックを含む
3 チェックディジットがデータ入力時のエラー検知にどのように使用されるかを説明し、チェックディジットが使用される例を特定する。国際標準図書番号 (ISBN) およびバーコードを含む
4 自動再送要求 (ARQ) がデータが誤りなく受信されたことを確認するためにどのように使用されるかを説明する • 以下を使用する場合を含む:– 肯定/否定応答 – タイムアウト

出典: Cambridge International シラバス

データ転送中、干渉によってデータが変化する可能性があります。以下の3つの問題が発生します:

  • データ喪失 — 一部のビットが到達しない;
  • データ増加 — 余分なビットが追加される;
  • データ変更 — 一部のビットが反転する。

そのため、受信者はデータが正しく届いたかを確認します。

レッスンを視聴
2.2

エラー検出方法

パリティチェック

パリティチェックでは、各バイトに追加ビットであるパリティビットを1つ加えます。2種類あります:

バイト 0 1011001 :パリティビット 0 が7つのデータビットの前に配置されており、データビットには4つの 1 が含まれているため、合計は偶数で保たれています
パリティビットを追加して1の数を偶数(または奇数)にします。
  • 偶数パリティ — バイト内の「1」の総数(パリティビットを含む)が偶数である必要があります;
  • 奇数パリティ — 「1」の総数が奇数である必要があります。

例(偶数パリティ):データ 1011001 は「1」が4つあり既に偶数なので、パリティビットは 0 です:

parity bit + data
    0        1011001

エラーを検出するには:受信者が「1」の数を数えます。偶数パリティで合意しているにもかかわらず、着信データに「1」が奇数個含まれていれば、転送中にエラーが発生したことを意味します。

パリティチェックではすべてのエラーを検出することはできません。2ビットが反転した場合、总数は依然として正しいように見えることがあります。

** worked example.** 単一のパリティビットではエラーが発生したことはわかりますが、どこで発生したかはわかりません。パリティブロック则は正確なビットを特定できます。複数のバイトをまとめて送信し、それぞれに行方向のパリティビットを付与し、下部に追加のパリティバイトを配置して各列のパリティビットを保持します。以下では偶数パリティを使用しており、転送中に1ビットが反転しました。それを見つけてください。

          b1 b2 b3 b4 b5 | parity
 byte 1    1  0  1  1  0 |   1
 byte 2    0  1  1  0  1 |   1
 byte 3    1  1  1  1  0 |   1    <- row: odd number of 1s
 byte 4    0  0  1  1  0 |   0
 ------------------------------
 parity    0  0  1  1  1 |   1
                 ^ column b3: odd number of 1s

行 byte 3 は偶数パリティを破り、列 b3 も偶数パリティを破る。反転したビットはその交点にある:byte 3, bit b3。これを1から0に戻すことでデータを修復する。単一ビット誤りの仮定に基づき、失敗した行と列がそのビットを特定するため、受信側は修正できる。複数ビット誤りは検出されなかったり、曖昧な結果を生んだりすることがある。

チェックサム

チェックサムは、送信前にすべてのデータから計算された値です。受信者は受信したデータからチェックサムを再度計算します。2つの値が一致しない場合、エラーが発生しており、データが再送信されます。

エコーチェック

In an echo check, the receiver sends the data back to the sender. The sender compares it with the original. If they differ, an error happened. (This needs the data to be sent twice, so it is slow.)

自動再送信要求 (ARQ)

自動再送信要求(ARQ)は、確認メッセージと呼ばれるメッセージを使用します。

カリキュラムではこれを自動再送要求と呼びます。自動再送リクエストは同じ手法の別の名前です。送信者はパケットを送信した際にタイムアウトタイマーを開始します。受信者は受け取ったパケットに対してエラーチェックを行います。チェックが通過すれば、肯定応答を送信します。エラーを検出すれば、否定応答を送信します。

パケット 4 に対する3つの送信者および受信者のタイムライン:(A) パケットのチェックが通ると、肯定応答が返され、送信者はタイマーを停止してパケット 5 を送信します;(B) パケットのチェックに失敗すると、否定応答が返され、送信者はパケット 4 を再送信します;(C) パケットが紛失すると、返信がなく、タイマーが終了して送信者はパケット 4 を再送信します
ARQ: 肯定応答があれば進行し、否定応答またはタイムアウト occurred すれば送信者が再送信する

試してみよう — パケット4。 3つの別の場合について、パケット4が (A) 受信者のエラーチェックに合格する、(B) チェックに失敗する、または (C) 絶対に届かないとします。それぞれの場合について、受信者の応答と送信者の次のアクションを選択してください。

計算例のトレース。

場合 受信者 送信者
A 肯定応答を送信 受け取り、タイマー停止、次のパケット送信可能
B 否定応答を送信 受け取り、パケット4を再送信、タイマー再起動
C 確認すべきパケットなし タイムアウト、パケット4を再送信、タイマー再起動

否定応答はタイマー期限前に再送を引き起こすことがあります。タイムアウト前に肯定応答が届かなければ、送信者は送信を繰り返します。タイマーは沈黙を処理し、パケットの喪失や応答の喪失を含みます。

転送 — 返信の喪失。 パケット4が到着し、チェックに合格した。受信者は正の応答を送信したが、この返信は失われた。タイマーが期限を過ぎたとき送信者はどうするか? タイムアウトはパケット4が損傷したことを証明するか?

解答。 送信者はパケット4を再送し、タイマーを再起動する。受信者はパケットが正常に届いたことを知っているが、送信者には確認がない。タイムアウトでは、パケットか返信かのどちらが失われたのか、あるいは遅延したのかは分からない。ARQは別の送信を要求するだけであり、損傷したビット自体を修復するものではない。エラーチェックを使用して、受信したパケットを受け取るかどうかを決定する。

チェックディジット

チェックディジットとは、数字の末尾に追加される桁であり、他の桁に基づいて計算されます。これは数字を入力する際のミスを検出するために使用されます。

番号を入力すると、チェックディジットが再計算され、比較される。手法によってはこれらのエラーの一部を検出できるが、どのチェックディジットもすべての入力エラーを見逃さない:

  • 誤って入力された数字、
  • 位置入れ替えミス(2つの桁の順序が逆になっている例:21を12と入力)、
  • 省略された桁または追加された余分な桁、
  • 音響的ミス(音が似ている数字、例:13と30)。

チェックディジットはバーコードやISBN(書籍番号)で使用されています。

探索

コンピューティング概念ラボ

具体的な例を、それが示すコンピューティングのアイデアに基づいて分類せよ。

English 日本語
parity check/ˈpærɪti tʃek/ パリティチェック
parity bit/ˈpærɪti bɪt/ パリティビット
parity block/ˈpærɪti blɒk/ パリティブロック
parity byte/ˈpærɪti baɪt/ パリティバイト
checksum/ˈtʃeksəm/ チェックサム
echo check/ˈekəʊ tʃek/ エコーチェック
automatic repeat request/ˌɔːtəˈmætɪk rɪˈpiːt rɪˈkwest/ 自動再送信要求
acknowledgements/əkˈnɒlɪdʒmənts/ 確認
timeout/ˈtaɪmaʊt/ タイムアウト
check digit/tʃek ˈdɪdʒɪt/ チェックディジット
transposition error/trænspəˈzɪʃn ˈerə/ 転置エラー
barcodes/ˈbɑːkəʊdz/ バーコード
2.3

暗号化

シラバス
受験者は以下的能力を備えているべきである: メモおよびガイドライン
1 データを転送する際の暗号化の必要性と目的を理解する
2 対称暗号化および非対称暗号化を用いてデータがどのように暗号化されるかを理解する • 非対称暗号化には公開鍵と秘密鍵の使用を含む

出典: Cambridge International シラバス

なぜ暗号化が必要か

暗号化はデータを乱雑にして、間違った人物によって傍受された場合に理解できないようにします。読み可能な状態のデータは平文と呼ばれ、暗号化後は暗号文になります。

暗号化はデータの傍受そのものを防ぎません。データが理解されないようにするだけです。

対称暗号

対称暗号化は、データの変換と復号の両方に単一の鍵を使用します。送信者と受信者は同じ秘密鍵を共有する必要があります。リスクは、鍵自体が共有中に盗まれる可能性があることです。

非対称暗号化

非対称暗号化では、2つの異なる鍵を使用します:

  • 誰でも取得できる公開鍵で、変換に使用します;
  • 秘密に保つ秘密鍵で、復号に使用します。

公開鍵で暗号化されたデータは、対応する秘密鍵でのみ復号化できるため、秘密鍵を共有する必要はありません。これは共通鍵を共有するよりも安全です。

対称暗号化では共通鍵を両方のステップで用い、非対称暗号化では公開鍵で暗号化し、秘密鍵で復号する
対称暗号化は共有鍵1つを使用し、非対称暗号化は公開鍵で暗号化し秘密鍵で復号化します
探索

凯撒暗号(Caesar cipher)

各文字をシフトしてメッセージを暗号化します——最も単純な暗号方式とその**鍵(キー)**の概念です。

English 日本語
encryption/enˈkrɪpʃn/ 暗号化
intercepted/ˌɪntəˈseptɪd/ 傍受
plaintext/ˈpleɪntekst/ 平文
ciphertext/ˈsaɪfətekst/ 暗号文
symmetric encryption/sɪˈmetrɪk enˈkrɪpʃn/ 対称暗号化
key/kiː/ 鍵
asymmetric encryption/ˌeɪsɪˈmetrɪk enˈkrɪpʃn/ 非対称暗号化
public key/ˈpʌblɪk kiː/ 公開鍵
private key/ˈpraɪvət kiː/ 秘密鍵
レッスンを視聴
2.3

試験対策

  • データはパケット(アドレスとパケット番号を含むヘッダー、ペイロード、トレーラ)単位で送信されます。パケットは異なるルートを通過したり、順序不同きで到着したりしますが、パケット番号順に再整列されます。
  • 伝送タイプを一致させます:直列(1ビットずつ、長距離に適する)対 並列(複数ビット同時、短距離);シンプレックス / ハーフデュプレックス / フルデュプレックスは方向性を説明します。
  • パリティビットは、反転したビットが奇数個であることを検出する。パリティブロックは、ちょうど1つのビットが反転した場合に誤ったビットの位置を特定し、失敗した行と列の交点に一致する。
  • エラー検出方法とその各々の役割を学びます:パリティチェック、チェックサム、エコーチェック、ARQ、およびチェックディジット(入力数字用)。
  • 対称暗号化は1つの共通鍵を使用し、非対称暗号化は公開鍵で変換し秘密鍵で復号するため、秘密鍵は絶対に共有されません。

このトピックのインタラクティブ授業

一歩ずつ進め、即時チェック付きの問題で学習します。

過去問

IGCSE Computer Science の他のトピック

ログインまたはアカウント作成

IGCSE, A-Level & AP