データリンクの技術 (2)...flow control...

31
データリンクの技術 (2) Suguru Yamaguchi Nara Institute of Science and Technology Department of Information Science

Upload: others

Post on 24-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

データリンクの技術 (2)

Suguru Yamaguchi Nara Institute of Science and Technology

Department of Information Science

Page 2: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Flow Control

Information Network 1 / 2012 2

Page 3: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Flow Control  連続するDLLフレームをどのように送信するかを扱う   2つの役割:

–  消失フレームの回復 –  バッファオーバフローを回避

 ネットワーク層は送信したフレーム量と同じ量を受信しなければならない

  Automatic Repeat Request (ARQ) –  Stop-and-wait –  Go-back-N –  Selective-repeat

Information Network 1 / 2012 3

Page 4: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

制限しない(Unrestricted)場合  送信側は送信する  受信側は受信するのを待つ

 問題:受信側のバッファが溢れる可能性

Information Network 1 / 2012 4

Page 5: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 5

Stop-and-wait ARQ (1)

t1 t2 t3

t4

t5 t1 Sender

Receiver

t1: Round Trip Time t2: Frame Transmission Time t3: Frame Processing Time t4: ACK Transmission Time t5: ACK Processing Time

Page 6: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 6

Stop-and-wait ARQ (2)  手法

–  1フレーム送信毎にACKフレームを待つ –  送信側タイマは2t1+t2+t3+t4以上に設定 –  送信側タイマがタイムアウトするとフレームを再送

 特徴 –  単純 –  バッファは送信/受信側それぞれで1フレーム分でよい

–  回線使用効率は非常に悪い

Page 7: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Stop-and-wait ARQ (3)   Timeout   Lost ACK

Information Network 1 / 2012 7

Page 8: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Automatic Repeat Request (ARQ)  フレーム識別のためのシーケンス番号を使用

 送信者がSEQ n を送信 –  タイマを始動 –  ACK を受信した時はn = n+1, タイムアウト時は, nを再送信

 受信者は n を受信 –  受信したものが nなら, ACK for nを送信

–  受信したものが n+1ならば ACK for n が消失している

•  ACK for nを再送 •  n+1を待つ

Information Network 1 / 2012 8

Page 9: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Go-back-N ARQ (1)   Stop-and-Wait Protocolを改良

–  送信者はタイムアウトかACKを受け取るまで待機するため、ARQの性能が悪い

  ARQ プロトコルのチャネル占有率を向上するにはどうしたら良いか  フレームを連続して送信

–  送信 i が成功すると仮定 –  最大n個までの送信 i+1,2,3… を実行 –  一個以上の誤りがあった場合にn個前までの送信まで戻る準備 –  フレーム受信に成功するまではACKを返さない

Information Network 1 / 2012 9

Page 10: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Go-back-N ARQ (2)  フレーム誤りとACK誤りはタイムアウトによって検知   e.g. ウィンドウサイズ 7

Information Network 1 / 2012 10

Page 11: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 11

Go-back-N ARQ (3)  特徴

–  誤りが発生すると正しく送られたフレームまでもが破棄され、無駄が大きい

•  特に再送タイマを大きく設定する場合に不利 –  送信側で再送のためのバッファが必要

•  ACKを受け取ってないフレームについては再送のためにバッファリングしておく必要あり

•  Go-back-Nの”N”はACKを待たずに送ることができるフレーム数 (on-the-fly frame数)

•  バッファは再送タイマの値に依存

Page 12: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 12

Selective-Repeat ARQ (1)  Go-back-Nプロトコルを改良

–  Go-back-N は再送時のオーバヘッドが非常に大きい  特徴

–  伝送効率がGo-back-Nより良い •  正しく受信されているフレームを無駄に破棄しない

–  処理が複雑 •  受信側でバッファが必要 •  順番制御(フレームシーケンス制御)が必要

Page 13: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Selective-Repeat ARQ (2)  フレームのスキップを検知した場合、 Negative ACK (NAK)を送信  フレームnのACKはそれ以前のフレームを受信成功していることを知らせる

Information Network 1 / 2012 13

Page 14: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 14

機能分担

 機能分担(Role allocation) :システムデザインに依存  方法は複数存在する

Data Link

Network

Transport 配送順序の保証 フロー制御 再送 ネットワーク監視 誤り検出・訂正 フレーム境界

Page 15: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

HDLC & PPP

Information Network 1 / 2012 15

Page 16: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

High-Level Data Link Control (HDLC)   ISOが設計した、1ビット単位での同期を行うデータリンク層プロトコル

 コネクションオリエンテッド、コネクションレス双方を提供  古いプロトコルではあるが、現在も広く利用されている

–  ISDNのような公共データ通信ネットワークで利用されている –  オンライン銀行決済システムなども使用

Information Network 1 / 2012 16

Page 17: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

HDLC Frame (1)

  Address: 通信の中継先(端末)を識別する領域  Control: 通信制御に関する情報  Data: データ領域  Checksum: CRC-CCITT

Information Network 1 / 2012 17

Page 18: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 18

HDLC Frame (2) – Control Field

Control field of: (a) an information frame (b) a supervisory frame (c) an unnumbered frame

Page 19: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

HDLC Frame (3) – Control Field   3種類の主なフレームを定義:

–  Information frame (I-frame) •  ユーザが転送したデータを運ぶ •  フロー制御、エラー制御情報も含まれている

–  Supervisory frame (S-frame) •  ARQ機能を提供

–  Unnumbered frame (U-frame) •  補助リンク制御機能の提供  e.g. リンク消失

Information Network 1 / 2012 19

Page 20: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

X.25  WAN: Wide Area Network

–  LAN (Local Area Network)とWANを接続する際に使用する技術 –  電話技師による通信ネットワーク

•  現在は殆ど使われていない •  e.g., ISDN

 国際標準として推奨されていた –  CCITT standard → ITU-T standard

  Layer 1 – Layer 3 of the OSI reference model –  Network layer: PLP –  Data link layer: HDLC (ITU-T), LAPB (CCITT) –  Physical layer: X.21 bis

Information Network 1 / 2012 20

Page 21: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

X.25 Network Model

Information Network 1 / 2012 21

DTE

DCE

DCE

DCE

DTE

DTE

PSE

PSN

DTE: Data Terminal Equipment DCE: Data Circuit terminating Equipment PSE: Packet Switch Exchange PSN: Packet Switch Network

Page 22: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Point-to-Point Protocol (PPP)   PPP 設計 (RFC 1557)

–  パケットのフレーム化: ネットワーク層のデータグラムをデータリンクフレームへとカプセル化する

•  同時にネットワーク層のデータも運ぶ •  上位レイヤへのdemultiplexing機能

–  Bit transparency: データ領域内に複数のビットパターンを配置 –  エラー検出 (訂正は行わない) –  通信の生存確認: ネットワーク層でリンクエラーを発見する –  ネットワーク層アドレス交渉: 各エンドポイントは他のネットワークアドレスを確認/設定できる

 エラー回復、フロー制御、データ再要求は上位レイヤに任せている   PPP over SONET/SDH

–  大規模/長距離2点間接続

Information Network 1 / 2012 22

Page 23: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

PPP Data Control Protocol  ネットワーク層のデータを交換する前に、データリンク層が行う

–  PPP リンクの設定 (max. frame length, authentication) –  ネットワーク層の情報を確認、設定 –  For IP: IPアドレスを設定するための IP Control Protocol (IPCP) メッセージ を送信

Information Network 1 / 2012 23

Page 24: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

PPP Phase Diagram   A 回線接続/切断のための単純なフェーズダイヤグラム

Information Network 1 / 2012 24

Page 25: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Sublayers of the Data Link

Information Network 1 / 2012 25

Page 26: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 26

単一構造からサブレイヤ構造へ

  1960年代の一対一接続(point-to-point connection)型のデータリンクの利用技術から、データリンクの基礎的な概念が形成された

  1970年代後半からのLAN(Local Area Network)の標準化がサブレイヤ構造へ移行した –  ISO/OSI 8802、IEEE802グループのアーキテクチャ –  共通のIEEE802.2 (ISO8802/2) として構成された Logical Link

Control (LLC) –  各伝送メディアに特化されたIEEE802.x

Page 27: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 27

Sublayers of the Data Link Layer

Physical Layer

Data link Layer

Network Layer

CCITT X.25 (HDLC/LAPB)

Media Access Control Sublayer

8802/2 LLC

8802/3 CSMA/CD

8802/5 Token Ring

8802/4 Token Bus

Logical Link Control Sublayer

ISO/OSI Local Area Network Definitions (8802)

CCITT Data link Layer Definition

Page 28: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 28

Logical Link Control (LLC) (1)  Unacknowledged Connectionless Service (LLC type1)

–  送信者が受信者と同期することなくフレームを送信 –  誤りが発生しても特別な処理をしない

•  上位層が誤り制御を実施 –  高速、エラーの少ないリンク向けの制御方式 –  LAN, real-time traffic (voice/speech)

  Acknowledged Connection-oriented Service (LLC type2) –  データ送信前にコネクションを設定

•  送信側と受信側が同期した処理が可能 –  信頼性 (誤り、順番)を保証 –  処理は一般に複雑 –  低速、エラーの多いリンクに有効

Page 29: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Information Network 1 / 2012 29

Logical Link Control (LLC) (2)   Acknowledged connectionless Service (LLC type3)

–  受信者は各フレーム毎に受信確認(acknowledge) –  誤り制御をデータリンク層で実施 –  信頼性を向上

 Unacknowledged Connection-oriented Service –  信頼性(誤り、順番)を保証しない –  高速でエラーの少ないリンク向けの制御方式

Page 30: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Media Access Control (MAC) (1)

Information Network 1 / 2012 30

データリンク層はネットワーク層に向けて パケット送受信機能を提供

物理層はデータリンク層へ向けた バイナリ送受信機能を提供

複数のノードがメディア媒体へアクセスする際、メディア媒体はそれぞれ異な

る制約を持つ

メディア媒体は長時間確保しておきたい

Page 31: データリンクの技術 (2)...Flow Control 連続するDLLフレームをどのように送信するかを扱う 2つの役割: – 消失フレームの回復 – バッファオーバフローを回避

Media Access Control (MAC) (2)

Information Network 1 / 2012 31

MAC層はデータリンク層に向けて媒体へのアクセス機能を提供

異なる伝送媒体にはそれぞれ 別々のプロトコルが必要

次回:チャネル割り当て(multiplexing)