送受信/ルーティング


Study

アドレス/データ

通信基本用語

  • 違いが分かりにくいが大事な用語
    • パケット
      • フレーム
    • トラフィック
      • フロー
    • 通信の接続
      • セッション
      • コネクション
      • リンク
    • 通信エリア
      • サブネット
      • セグメント
      • LAN
    • 接続の開始
      • ハンドシェーク
      • ネゴシエーション
    • 接続機器
      • スイッチ
      • ルータ

クライアント データ送受信

PnP*1接続

  • 拡張ボードや周辺機器などを自動設定する機能
    • それぞれの機器は他の仕事をしている
    • LANアダプタ側から、接続作業の通知を行い、仕事の「割り込み」を行う
    • その割り込み用番号が自動的に設定されるのがPnP接続
  • つないだらすぐに使えるようになるという

ARP*2

  • IPアドレスからその宛先のMACアドレスを調べるプロトコル
    • 動作
      • ARP要求(ブロードキャスト)
      • ARP応答(ユニキャスト)
      • ARPキャッシュへの記録
    • 要求・応答メッセージは全てARPパケットとしてMACフレーム内のデータに格納されて 運ばれる
      • ブロードキャスト時の宛先MACアドレス
        FF-FF-FF-FF-FF-FF
  • ARPキャッシュ
    • ARPキャッシュの内容はコマンドプロンプトで見られる
      arp -a
    • ARPキャッシュの情報は頻繁に変わるので、Windowsだったら2分参照されないと消される
      • ただ、頻繁に更新しても、ブロードキャストのため帯域消費の観点からよろしくないし、ちょうどいいか
  • 目的IPアドレスが同ネットワーク内にいない場合
    • 自分と同じネットワーク内にいるかどうかは、IPアドレスとサブネットマスクで分かる
      • ネットワーク部分のアドレスが同じかどうか
    • イーサネットでは直接届かないと分かる
      • つまり、デフォルトゲートウェイのルータを介す事が分かる
    • この場合は、ARP要求をルータへと送る
      • 宛先IPアドレスは目的のIPアドレス
      • MACアドレスはルータ
    • ルータは、それを元にIPアドレス宛にパケットを送信する

ウィンドウ制御方式

  • ピンポン方式
    • クライアント側からデータを送信したら、サーバから受信確認応答が返ってきてから次のパケットを送信
    • ACKを待つ時間が無駄
  • ウィンドウ制御方式
    • とりあえず、データは連続で複数のパケットを送り続ける
      • その際に、受信側の受信能力を超えるかもしれない
      • TCPヘッダのウィンドウフィールドに受信側の受信用メモリー領域の空きをACKで返す
      • その受信可能なデータの分だけ次のデータを送信する
  • ウ-ィンドウサイズ
    • その受信可能なデータ量の最大値
    • この設定を変えてTCPをうまく調節する

LAN内通信

ハブ

  • スター型LANで使われる集線装置
    • いったん、みんなハブを通して介すことによりイーサネット通信を行う

リピータハブ

  • 最も原始的なハブで、受信したデータを全ての端末に送信するハブ
    • 利点は安さだったが、スイッチングハブが低価格になってきたので最近は少ない
    • 無駄な送信パケットがあるためにネットワークに無駄が出る

スイッチングハブ

  • ブリッジとして働き、ちゃんと宛先にだけパケットを中継する
    • ブリッジは第2層のデータリンク層の中継機器のこと
  • PC等のLANアダプタと違ってMACアドレスが無いので全てのパケットを受け入れる
    • ポート番号だけなので、パケットの宛先MACアドレスからどのポートから送信するかを判断
      • MACアドレステーブル
  • 全2重モード
    • 送信と受信を同時に実行できる
    • リピータハブだと、衝突が起こってしまう

LANケーブル

  • ツイストペア・ケーブル(より対線)によりLANアダプタのPHY*3回路からの信号が伝わる
    • 雑音や減衰の影響が強いため、そのために「より」という工夫がなされている
      • 他の機器から漏れる電磁波
      • 同じケーブル内の距離が近いことによる影響の「クロストーク」
  • リンクパルス
    • データが流れてないときには、常時何かの信号を送受信することで断線等に気付くようになっている

MDI*4/MDI-X*5

  • コネクタと内側の回路の線がまっすぐにつながっているのがMDI
    • コネクタから、工夫してクロスして内側の回路につながるのがMDI-X
    • 普通のPC等の端子はMDI
    • ハブなどの機器の端子はMDI-X
  • LANコネクタのRJ-45コネクタは、8個の端子がある
    • その内側にあるPHY回路の送受信端子につながる
    • 送受信信号を伝える際
      • うまく一方の送信端子ともう一方の受信端子が結線される必要がある
  • MDI機器とMDI-X機器をつなげるとき
    • そのままストレートケーブルでつなげば自然とMDI-X機器でクロスして送受信端子が結線
    • PCとハブをつなげるときなど
  • MDI機器同士、MDI-X聞き同士をつなげるとき
    • クロスケーブルでつなげば、送受信端子がちゃんと結線される
    • PC同士、もしくはハブ同士をつなぐ場合

ルータ

  • 中継役としては同じだが、各ポートにMACアドレスやIPアドレスが割り当てられている
    • ポートに入ってきたデータによってLANやイーサネットを切り替える
  • IPヘッダに記載されてるIPアドレスで中継先を判断
    • ハブはMACヘッダ内のMACアドレス

ルーティングテーブル

  • 中継先の経路表
    • 宛先アドレスと、どのインタフェース(端子)から転送するかが書いてある
  • ネットワークアドレスのみで中継
    • ホスト部分は無視してネットワーク部分だけで判断
    • その為、ネットマスクもルーティングテーブルの中に記載されている
  • アドレスの集約
    • いくつかのサブネットがあっても、全て同じインタフェースから転送する場合
    • それらのサブネットをひとまとめにしてルーティングテーブルには1つのサブネットとして記載する
      • 登録を減らすことが出来る
  • メトリック
    • 宛先IPアドレスが近いか遠いかを示す値
  • 経路表の書き換え
    • ハブとは違ってパケットを中継する度に経路表が変わったりはしない
    1. 人間が主導で登録/更新する
    2. ルーティングプロトコルでルータ同士が経路情報を交換して登録する
      • RIP
      • OSPF
      • BGP
  • デフォルト経路
    • 経路表に該当するものがない場合に中継する経路
    • その先に登録してあるルータがデフォルトゲートウェイ
    • ネットマスク欄が「0.0.0.0」になっている

送信動作

  • LAN内のイーサネット経由で次に転送する場合
    • 次の転送先IPアドレスを決める
      • パケットのIPアドレスから、経路表を見て、ゲートウェイアドレスがあればそのゲートウェイに転送する
      • ゲートウェイアドレスがなければ、直接ヘッダのIPアドレスへ送る
    • MACアドレスを付加して転送
      • ルータ内のARPキャッシュを参照してセット

アクセスネットワーク


インターネット接続用ルータ

  • ここではユーザ宅などにあるルータを指す
    • そこからADSLモデムを通してユーザ宅外へと(ADSL接続の場合)
  • IPパケットに3つのヘッダをつける
    • MACヘッダ
    • PPPoEヘッダ
    • PPPヘッダ
  • TCP/IP接続設定がインターネット側のポートに設定されると準備が完了
    • 宛先:局舎のBASのMACアドレス
    • 送信元:インターネット接続用ルータのBAS側ポートのMACアドレス
  • アドレス変換
    • インターネット接続用ルータがLAN側のローカルアドレスを変換して接続する
    • グローバルアドレスはルータに割り当てられて、LAN側のマシンには割り当てられない
    • アプリケーションによってはIPアドレスを通知しないと使えないものもある
      • モデムやメディアコンバータ、ONUなどにハブ経由でもいいので直接PCにつなげば良い
      • PPPoEのメッセージをPCが直接受け取ることになり、BASにログイン情報を直接送れることになる

ADSLモデム

  • ATMセルに分割
    • 受け取ったパケットを小さなデジタルデータである「セル」に分割する
    • ATM関連技術が流行った際の設備投資がなされているので連携がスムーズになる
    • セルに分割せず、パケットのまま転送するのもある
  • 電気信号に変える
    • 変調技術を使ってセルを信号化する
    • 直交振幅変調QAMを用いる(2つの変調の組み合わせ)
      • 振幅変調ASK
      • 位相変調PSK
    • 上りと下りで別のチャネル(周波数帯)を使う
  • 局舎へ向かって外に送信する
    • スプリッタ
      • 電話の音声信号とデータ信号を一緒にして電話回線に流す
      • 周波数の低い電話の音声信号と、高いADSLのデータ信号

家〜電話局

IDF*6

  • 中間配線盤

MDF*7

  • 主配線盤

保安器

  • 過大な電流が流れ込まないように保護するため
    • ヒューズなどで抑える

電話局

DSLAM*8

  • 電話局用のADSL集合モデム
    • 家庭のモデムとは違って、イーサネットではなくセルのままATMインタフェースでやり取りする

BAS*9

  • 局舎内にあり、インターネットへとアクセスする際の窓口役
    • インターネットへのログイン動作のために入力が必要
    • ADSL事業者などはこのBASを管理していて局社内に置かせてもらっている
    • まだここはアクセス回線に含まれる
      • ユーザ名
      • パスワード
    • ログイン操作のための仕組みがPPPoE
      • ダイヤルアップ接続のPPPが発展した仕組み
  • セルからもとのパケットの形に戻す
    • トンネリング
      • 中身のパケットはそのままにプロバイダのルータへ送信
      • そのルータからIPパケットを取り出し、インターネット内部へと中継
    • MACヘッダとPPPoEヘッダはこのBASに届けるため
      • ここからはPPPヘッダ以後のデータをやり取り

PPP*10

  • ダイヤルアップ接続の際に使う認証サーバとの連携によるログイン手続きの仕組み
  • RAS*11
    • ユーザの本人確認のための認証サーバとやり取りして、ログイン操作を行うサーバ
    • RADIUS*12というプロトコルを使ってやり取り
      • 暗号化によるセキュリティなどの機能
      • 認証サーバからIPアドレス(グローバルアドレス)などの設定情報が返送されるとそれをユーザに伝える
    • ユーザは家庭のモデムを通して、RASへとアクセスする
      • HDLC*13という専用線のパケット転送プロトコルを使用
      • RASから伝えられたIPアドレスなどを設定して、TCP/IP通信を開始する

PPPoE*14

  • BASとアクセスするのに、イーサネットの形でパケットを扱ったPPP
    • RASとアクセスするプロトコルHDLCが、ADSLやFTTHでは使えない
    • 本当のイーサネット回線では無いので、そのギャップを埋めるのがPPPoE
  • Discovery
    • PPPoEのBASを探す仕組み
    • ARPのように、イーサネットのブロードキャストを利用してBASのMACアドレスを探す
  • BASもRADIUSプロトコルを使って認証サーバとやり取り
    • ユーザのインターネットアクセスのためのユーザ名・パスワードを確認する
  • unnumbered
    • ユーザ側のインターネット接続用ルータと、プロバイダのルータはひとまとまりに出来る
      • PPPoEによってトンネリングしてるため直接つながっているように見える
    • インターネット接続用ルータのポートにIPアドレスを割り当てなくて良いという仕組み
  • PPPoA*15
    • ADSLなどでセルにしてデータを送る際にMACヘッダとPPPoEヘッダをつけずにPPPメッセージのままセルに格納する
    • MACアドレスが無いのでイーサネットで送れずADSLモデムに送れない
      • ルータ一体型のADSLモデムを使えば良い
    • 利点として、余計なヘッダが無いのでパケットのデータ部分のMTUが長くなる

DHCP*16

  • TCP/IPの設定情報をBASからユーザ側に直接通知する方法
    • PPPだと余計なヘッダが多かったり、ADSLモデムとルータが分離できなかったりして不便
    • インターネットに一時的に接続するマシンに、IPアドレスを割り当てる
      • 接続が終了すると、またDHCPサーバはアドレスを回収するイメージ
  • 単純に、DHCPサーバにTCP/IPの情報を聞くだけ
    • ADSLモデムを通してイーサネットのパケットをそのままDSLAMに送信する
    • セルも要らないので比較的高価なATM用インタフェースもいらない

光ファイバ技術

  • FTTHのしくみ、光信号と電気信号のしくみなど

コアネットワーク

POP*17

  • ユーザが契約してるプロバイダの設備
    • プロバイダネットワークの入り口
      • 当然、POP自体もプロバイダネットワークの一部
    • そのプロバイダのネットワーク内につながるので、インターネットにつながったことになる
      • インターネットは様々な単一ネットワークのつながりで構成されるから
  • 構成
    • アクセス回線からつながってくるルータ
      • アクセス回線の種類によって違ってくる
      • ここでは、それぞれのアクセス回線からの比較的少ないデータ量なのでそこまで処理能力は無くてよい
    • そのルータから一箇所に集まるスイッチ
      • プロバイダのサーバとつながっていて、制御が行われる
    • スイッチから、ルータを通して他のPOPやNOC*18へとつながる
      • ここのルータは幹線ネットワークへ接続するので流れるデータ量は多く、高い処理能力が必要

専用回線接続

  • POPは通常のルータでよい
    • 専用線なので、本人確認や設定値通知などの機能はいらないから

ダイヤルアップ接続

  • ダイヤルアップ回線(電話線/ISDN回線)をつなぐ、RAS*19というルータがPOPになる
    • かかってきた電話をとる機能が入っている
    • PPPプロトコルを使ってパスワードの確認と設定情報を通知する機能もある
  • BASももともとはRAS
    • Broadband RASが略されてBASになっただけ

PPPoE接続(ADSL/FTTH回線接続)

  • BASとつながるPOPルータが必要となる
    • だた、本人確認等はBASで行っているため、POPは普通のルータで良い
  • PPPoA接続
    • ユーザから来るデータはATMのセルだが、アクセス部分で処理を行っているので同じ
      • DSLAMで信号をセルに戻して、ATMスイッチでBASにセルを中継して、BASでパケットに戻す

NOC*20

  • プロバイダの中核となる設備で、POPからのパケットが集約される
    • その後、目的地の近くのPOPへ転送したりと、中継役になっている
  • あまりPOPとの差はない
    • NOCをアクセス回線から接続用のルータとしてPOPと兼用させる事が多い

ルーティング・プロトコル

RIP*21

  • 小規模向けのルーティングプロトコル

OSPF*22

  • 中・大規模向けのルーティング・プロトコル
    • RIPの改良版
    • ネットワークを階層化構造にして情報量を少なくしてる
      • エリアという概念を取り入れた

BGP*23

  • プロバイダ同士で経路情報を交換しあう仕組み
    • それぞれのルータに経路情報が自動登録される
  • 通知の種類
    • トランジット
      • プロバイダに経路情報を通知するときに、ついでに自分の先にあるプロバイダの情報も送る
    • 非トランジット・ピア
      • 通知するときに、互いに相手のネットワークに関する経路情報だけ通知しあう

IX*24

  • プロバイダ同士をつなぐ設備
    • プロバイダが直接つながると、相手の数だけ線を引かなくちゃいけない
    • 中継地点を用意すれば、ラクだから
  • レイヤー2スイッチ
    • 高速なLANのインタフェースを多数装備
    • 高速で巨大なスイッチング・ハブだと思えば良い

日本国内のIX

  • JPIX*25
    • 日本インターネットエスクチェンジ社のIX
  • NSPIXP-2*26
    • 官学民が共同運営するWIDEプロジェクトのIX
  • JPNAP*27
    • インターネットマルチフィード社のIX

負荷分散処理

ラウンドロビン

  • アクセスが集中する際にサーバを何台が用意しておく方法
    • DNSサーバに同じサービスでIPアドレスを複数登録しておく
    • DNSサーバは、アクセスしてくると用意したIPアドレスを順番に通知する

ロードバランサー(負荷分散装置)

  • やはりサービスのサーバを何台か用意しておく
    • 負荷分散装置自体がどのサービス提供サーバに処理を任せるか判断する

キャッシュサーバ

  • 直接Webサーバにアクセスしなくても、途中にサーバを用意してそこで処理する方法
    • プロキシという仕組みを用いて、Webサーバの情報(コンテンツ)をある程度ためておく
    • そのキャッシュをクライアントに返す
  • コンテンツの変更
    • キャッシュ内にデータがあっても、変更されてるかもしれない
    • キャッシュサーバはコンテンツに変更があるかどうかだけをWebサーバに確認
  • DNSサーバによる振り分け
    • 複数のキャッシュサーバがある場合、DNSサーバによって最適なキャッシュサーバを通知する仕組みもある

プロキシ

  • クライアントとWebサーバの間を仲介する仕組み(プロキシ:代理)
    • 基本的には、キャッシュサーバとしてWebサーバに変更だけ確認して負荷処理を減らす役割
    • キャッシュサーバをどこにおくか

フォワード・プロキシ

  • クライアント側におくキャッシュ・サーバのこと
    • キャッシュと、ファイアウォールの実現という目的で作られた
      • 中継する際に、通す通さないの判断が出来る
    • インターネット上に流れるトラフィックを抑える意味でも大事
      • 特に、大容量コンテンツのサイト等では効果が大きい
  • クライアント側なので、どのWebサーバへも中継できる
  • ブラウザで、プロキシサーバを設定する必要がある

リバース・プロキシ

  • サーバ側に設置するキャッシュ・サーバでの採用してる方式
    • 特定のサーバの為のプロキシとなる
      • キャッシュの保存による高速化
      • 認証などのアクセス制限
    • Webサーバへの負荷を軽減する
  • フォワードとは逆の動きなのでリバース・プロキシと呼ばれる
  • DNSサーバに登録をしておく
  • Webサーバへアクセスするというよりは、プロキシにアクセスする感じ

トランスペアレント・プロキシ

  • Webサーバへ通る道に設置する
    • DNSにも登録することなく、自然に通る所に置いてある
      • ネットワークをそういう絞り込まれるような形にして設置する
      • アクセス回線のところに設置するといっても良いかもしれない
  • ユーザはプロキシの存在を意識する必要がない
    • httpというよりはキャッシュという言葉で呼ばれるようになった

コンテンツ配信サービス CDS*28

  • Webサーバ管理者は、出来ればクライアント側のキャッシュサーバがあったほうがアクセスが少なくて負荷がかからない
    • ただ、クライアント側のキャッシュサーバはクライアントに依存するのでWebサーバ側から管理することは出来ない

CDSP*29

  • 主要なプロバイダと契約して、そこにキャッシュサーバをあらかじめ設置する
    • Webサーバ側とも契約して、クライアントに近いキャッシュサーバを提供する
  • Webサーバとプロバイダとの仲介役のような業者

ブロードバンドルータの付加機能

  • 家庭用ルータの設定・セキュリティなど実用面で必要な事

*1 Plug and Play
*2 Address Resolution Protocol
*3 Physical Layer Device
*4 Media Dependent Interface
*5 MDI-Crossover
*6 Intermediate Distribution Frame
*7 Main Distribution Frame
*8 DSL Access Multiplexer
*9 Broadband Access Server
*10 Point-to-Point Protocol
*11 Remote Access Server
*12 Remote Authentication Dial-In User Service
*13 High-level Data Link Control
*14 (Point-to-Point Protocol over Ethernet
*15 Point-to-Point Protocol over ATM
*16 Dynammic Host Configuration Protocol
*17 Point of Presence
*18 Network Operation Center
*19 Remote Access Service
*20 Network Operation Center
*21 Routing Information Protocol
*22 Open Shortest Path First
*23 Border Gateway Protocol
*24 Internet eXchange
*25 JaPan IX
*26 Network Service Provider IX Point-1
*27 JaPan Network Access Point
*28 Content Delivery Service
*29 Content Delivery Service Provider