SlideShare a Scribd company logo
1 of 57
Download to read offline
WEB公開版


         コンピュータネットワーク
            第12回授業
          データグラム(UDP)と
         ストリーム(TCP)の処理

        WEB公開版のため、
    内容は大幅に抜粋・修正してあります。



                         1
WEB公開版
              法政大学情報科学部
          2012年度コンピュータネットワーク
         2012年4月10日~2012年7月19日
 第1回 イントロダクション
 第2回 デジタル伝送技術
 第3回 誤り訂正と通信の信頼性
 第4回 イーサネットとデータリンクの仮想化
 第5回 LANの拡張と無線技術
 第6回 遠距離通信とインターネットへの接続
 第7回 後半授業の準備
 第8回 通信の種類とフロー制御の基本
 第9回 大規模ネットワークの構築と運用
 第10回 4種類のルーティング
 第11回 制御パケットとセッション層のネットワーク
 第12回 データグラムとストリームの処理
 第13回 インターネットのインフラストラクチャ
 第14回 ネットワークのモニタリングとチューニング       2
WEB公開版
      1対1   通信の種類は3つ
                        1対多




多対多


                       TCPは1対1
                       UDPは1対多
                        が定石!



                                 3
WEB公開版
   OSI参照モデル別概要 (トランスポートまで)
                        1対1

                        TCPパケット
                       終端点が接続さ
                       れた後で使う。


                        1対多

                        IPパケット
                     多数のマシンがルー
                      タと通信するが、
                      ルータはブロード
                      キャストしない。


                        多対多

                       ARPパケット
                      それぞれのマシン
                      が不特定多数に
                       送信できる! 4
WEB公開版
     なぜポート番号が必要なのか?
   1つのOSで複数のアプリが通信するため




                         5
ポート番号とマルチプレクサ

マルチプレクサの     APPLICATION    APPLICATION   APPLICATION
A,Bにあたるモノが       1               2              3
  ポート番号!



                           TCP            UCP




                                     IP




                           WEB公開版                   6
ポート番号とデマルチプレクサ
   ポート番号に
A,Bの組み合わせを   APPLICATION    APPLICATION   APPLICATION
入力して割り振る。        1               2              3




                           TCP            UCP




                                     IP




                           WEB公開版                   7
WEB公開版
         TCPとUDP




                   8
WEB公開版

     ストリームとデータグラム
              UDPが処理するのは
                データグラム
                時系列同士は
                 影響しない。
              ヘッダ(パリティ)などが
               付加されている。



            TCPが処理するのは
               ストリーム
            過去の系列が現在の
             系列に影響する。


                             9
WEB公開版
         ステートマシン(畳み込み符号)
         vs 代数系演算(ブロック符号)
                 畳み込み符号の生
                 成にはこのようなス
                 テートマシンを使う。


                       ブロック暗号の
                      代数系演算に使う
                       シフトレジスタ




                              10
WEB公開版
        ブロック符号と
     畳み込み(ストリーム)符号




                     11
WEB公開版

    ブロック暗号とストリーム暗号

                    鍵1

                                       生成器

                    鍵2




  鍵を使ってブロックごとに            擬似乱数を使って
       暗号化。              1ビットずつ暗号化。
    RSA, SSH, SSL          RC4, CDMA
                                       12
データグラム(ブロック)の復号と
        代数演算



    復号に必要な
    乗算、除算は
    ハードウェア
 (シフトレジスタ)を用い
     て行う!




WEB公開版                13
WEB公開版
         ストリームの復号と系列推定


   S     S+E




                 ループ演算、繰り返し復号
               (ソフトウェアで処理する場合が
                    多い)を用いて
                 S+EからSを復元する!
                                 14
WEB公開版




            コネクション型と
         ARQ(自動再送要求制御)
               TCP




                         15
WEB公開版

                誤り訂正方式の種類
                                  TCPでは、ARQを用いて
                                      実装コストを
 ARQ(Automatic Repeat reQuest)-      下げている!
   自動再送要求

   特徴
   – パケットが損失した場合、自動的に再送される
      再送処理のオーバヘッドがあるため、リアルタイム伝送には向かない

 FEC(Forward Error Correction)-前方誤り訂正

   特徴
   – パケット数個ごとに冗長パケットを生成,送信
   – パケットが損失しても、冗長パケットから復元できる。
      再送処理がないためリアルタイムの伝送処理に適している。


                                            16
WEB公開版

         TCPの基本機能
 ①信頼性のある通信
  3ウェイハンドシェイク
  シーケンス番号を使った確認応答

 ③再送処理
  再送要求とタイムアウト時間の調整

 ④動的なフロー制御
  スライディングウインドウ
  輻輳制御

                     17
WEB公開版

          TCPと言えば・・・

                TCP


         確認応答         ウィンドウサイズ



   再送処理                 輻輳制御
                               18
WEB公開版
                 TCPパケット
                                  高信頼性の
          送信元ポート番号     あて先ポート番号    ある通信
                                   再送処理
                                  (第10回)

                 シーケンス番号
 3ウェイ
 ハンド
 シェイク
                 確認応答番号

 誤り検出
(2回~4回)   ヘッダ長    制御   ウィンドウサイズ


                                  フロー制御
           チェックサム       緊急ポインタ    輻輳制御
                                      19
WEB公開版
TCP:3-way ハンドシェイク




    SYN: synchronize           フラグの種類
    ACK: acknowledge   SYN, ACK, PSH, RST, URG, FIN

                                               20
WEB公開版
TCP:確認応答 確かめながら送る。




                返信側の確認応答番号
               は次に送ってほしいデータの
               先頭番号(シーケンス番号)

              送信したシーケンス番号2001
              のパケットの確認応答がでない
                 場合、再送する。   21
WEB公開版
         シーケンス番号の付け方(送信側)
                    TCP/IPではデータを
                    分割して送信できる!




                        データは、MSS
               (Maximum Segment Size)に分割する。
                     この場合はMSS=1000       22
WEB公開版
         TCP再送:受信側が要求するケース




                          シーケンス
                          番号は2001
                          では?




                         想定されたシーケン
                         ス番号と異なるパケッ
                           トが来た場合
                            再送する。
               ( `∀´)b                23
WEB公開版      TCP再送:送信側が再送するケース




  しばらく待って
  も確認応答3
  001のパケッ
  トが来ないの
    で再送。




      ( `∀´)b
                            24
WEB公開版




       コネクションレス型と
     FEC(前方誤り訂正)型制御
           UDP




                      25
WEB公開版

                誤り訂正方式の種類

 ARQ(Automatic Repeat reQuest)-
   自動再送要求

   特徴
   – パケットが損失した場合、自動的に再送される
      再送処理のオーバヘッドがあるため、リアルタイム伝送には向かない

 FEC(Forward Error Correction)-前方誤り訂正

   特徴
   – パケット数個ごとに冗長パケットを生成,送信
   – パケットが損失しても、冗長パケットから復元できる。
      再送処理がないためリアルタイムの伝送処理に適している。

                       携帯電話やアプリケーションレイヤでの   26
                       誤り訂正ではFECを使うことが多い!
WEB公開版
         シャノン限界と誤り訂正符号




   LDPC、Raptor符号   ターボ符号
   (゚Д゚#)          (゚Д゚#)   27
WEB公開版

         2つの誤り訂正符号
 ①ブロック符号
 ガロア体上での除算、乗算を使う。
 ハミング符号、BCH符号、リードソロモン符号
 最新の符号→LDPC

 ②畳み込み符号
 擬似乱数(M系列)等を使った系列相関を使う。
 CDMA、ビタビ符号、ターボ符号
 最新の符号→ターボ符号

                          28
WEB公開版
                 ステートマシン(畳み込み符号)
                 vs 代数系演算(ブロック符号)
                           O1
                                 畳み込み符号の生
                                 成にはこのようなス
                                 テートマシンを使う。
       X1             X2

                                         ブロック暗号の
                                        代数系演算に使う
                           O2            シフトレジスタ

                 O0                O1         O2   G(x)



            O0              O1            O2
F(x)


                                                   29
WEB公開版
           畳み込み符号はステートマシンを
           使って生成する。
                              O1
                                   X=(a1,a0)
                                   内部状態



                              O2


    ①入力する
    ①内部状態
  a0とa1が変わる。
  ③V,Uが出力され
       る。
                     i/Y
                   i:入力
               Y:(O1,O2):出力                    30
WEB公開版

         ブロック符号とは
 ①GF(2^m)上の演算により生成される符号。

 ②G(x)*H(x)=0となるように生成される。
  G(x)は原始多項式:
  G(x)=X^4+X+1など

 ③H(x)の生成方法:G(x)をフィードバック付き
  シフトレジスタであらわし、出力をH(x)とする!

                             31
WEB公開版
始めに0を入
力すると出力
は決定論的            ブロック符号とシフトレジスタ
に決まる!
                                       O1           O2   G(x)



                 O0            O1              O2
                                               O2
F(x)
                                    X^2             X^3

         X^0
                             0000000
       001   1               0011101        もう少し大きな符
       010   2               0111010         号を生成すると
       100   4      周期7      1110100        後半3ビットが誤り
       011   3    (2^3-1)の                   訂正に使える
                             1101001
       110   6   擬似乱数が       1010011           符号が
       111   7   生成される。      0100111         生成できる!
       101   5               1001110
       001   1               0011101                     32
WEB公開版

         多項式
 • 既約多項式:その式より次数の低い多項式
   で割り切れない多項式

 • 原始多項式:既約でさらに周期が最大の多項
   式

 • 生成多項式:符号生成時の除算時に使う多
   項式
                         33
WEB公開版
                       有限体:ガロア体
                         GF(2)
 ①ガロア体とは整数を素数で除算した余りの集合であり、要素
  が有限で四則演算が閉じている集合である。 - WikiPedia

 ②つまりA とB という整数があり、任意の素数X で演算結果を
  割ることで、通常の演算とは違う空間にA+B を写像する。

 •   (0 + 0) / 2 = 0
 •   (1 + 0) / 2 = 1
 •   (0 + 1) / 2 = 1
 •   (1 + 1) / 2 = 0


                                  34
WEB公開版
           有限体GF(2^4)
 G(X)=X^4+X+1上の演算(4次の多項式)
 GF(2)の1=-1が成立する。

 ①X^4 = -(X+1) = X+1なので
 X^4は(0011)を割り当ることができる。
 ②X^5 = X*X4 = X(X+1) = X^2 + X
 X^5は(0110)を割り当てることができる。

 G(X)=X^4+X+1上で四則演算ができる集合を体という。

                                  35
WEB公開版
                            有限体(GF)の演算は
                            シフトレジスタ回路と相性が良い
                            O0                      O2   G(x)
                                         O1



                    O0             O1          O2
                                               O2
 F(x)
                                        X^2         X^3

        X^0                  X^1

  このシフトレジスタで、                              係数の有無が
  GF(2^3):G(X)=x^3+ x + 1                 フィードバックの位
  の演算ができる!                                置に対応している。



                                                         36
WEB公開版
    パリティやチェック
      サムなど        2種類の誤り訂正方式
     TCPが使う!

ARQ(Automatic Repeat reQuest)-
  自動再送要求                                FECでは
                                       有限体の演算
                                        を用いる!
  特徴
  – 損失したパケットを自動的に再送する方法
     • 再送処理のオーバヘッドのためリアルタイム伝送に向かない
     •
FEC(Forward Error Correction)-前方誤り訂正

  特徴
  – パケット数個ごとに冗長パケットを生成,送信
  – パケット損失が発生すれば,冗長パケットから復元
     • 再送処理がないためリアルタイム伝送に向く

                      携帯電話やアプリケーションレイヤでの   37
                         誤り訂正ではFECを使う。
WEB公開版

    2つのFEC型誤り訂正符号
 ①ブロック符号
 ガロア体上での除算、乗算を使う。
 ハミング符号、BCH符号、リードソロモン符号
 最新の符号→LDPC

 ②畳み込み符号
 擬似乱数(M系列)等を使った系列相関を使う。
 CDMA、ビタビ符号、ターボ符号
 最新の符号→ターボ符号

                          38
WEB公開版    ブロック符号では代数的演算で
          復号を行う。
           送受信でGを
           共有しておく。




                         GS=0

  GS=0と
 なるように
 Sを生成      送信の過程
           でE(エラー)
            が混入        EGをエラー
WEB公開版               シンドロームという。 39
WEB公開版   たたみ符号では系列推定で
         復号を行う。
                             Sを原因
                           S+Eを結果と
                            考える!


                       S     S+E




                                   S+Eの原因は
                                   なんだったの
                                   かを推定する
                                   ためにベイジ
                                   アンネットワー
    伝送路中でE(エラーやノイズ)が               クなどを使う。
       混じったS+Eから、
         Sを推定する。
      (またはEを除去する)。                      40
WEB公開版

             巡回冗長符号
 CDMA方式と同じく、受信側と送信側であらか
 じめ、同じ符号G(x)を持っている。

 送信側は、符号G(x)を用いて、符号H(x)を生成
 して送信。このとき、G(x)*H(x)=0となるようにデータを
 生成する。

 受信側は、受信した符号H(x)を符号G(x)を用
 いて検査する。
  H(x) / G(x) = 0 なら誤りなし。
  H(x) / G(x) > 0 なら誤りあり。(位置も特定できる)

                                      41
WEB公開版




1001を生成多項式
 G(x)=X^3+X+1
    を使って
 1001001に変換     送られてきたH(x)
                をG(x)で割って
                 余りをチェック        42
WEB公開版       FECなブロック符号の例2
          ハミング符号:エラーシンドローム:EG

             送受信でGを
             共有しておく。




                                GS=0

  GS=0と
 なるように
 Sを生成        送信の過程
             でE(エラー)
              が混入           EGをエラー
                          シンドロームという。 43
WEB公開版
 始めに0を入
                               ブロック符号:
 力すると出力                     シフトレジスタによる生成
 は決定論的
 に決まる!                 O0
                                         O1           O2



                  O0             O1              O2
                                                 O2
 F(x)
                                      X^2             X^3

          X^0           X^1    0000000
        001   1                0011101        もう少し大きな符
        010   2                0111010         号を生成すると
        100   4      周期7       1110100        後半3ビットが誤り
        011   3    (2^3-1)の                    訂正に使える
                               1101001
        110   6   擬似乱数が        1010011           符号が
        111   7   生成される。       0100111         生成できる!
        101   5                1001110
        001   1                0011101                     44
WEB公開版

      積・商と原始多項式演算
 ① 【積】GF(2^4)上での計算:G(X)=X^4+X+1
 G(a)=a^4+a+1=0
 a^3*a = a^4 = a+1
 →(1,0,0,0) * (0,0,1,0) = (0,0,1,1)
 ② 【商】2^m -1 = 2^4 -1 = 15 -> a^15=1
 a / a^5 = a^16 / a^5 = a^11
 a^11 = a^3 + a^2 + a
 (0,0,1,0) / (0,1,1,0) = (1,1,1,0)

                                       45
WEB公開版

  積・商はシフトレジスタで計算できる
 a*a = (0,0,1,0) * (0,0,1,0) = (0,1,0,0) = a^2
 a^2 * a = (0,1,0,0) * (0,0,1,0) = (1,0,0,0) = a^3
 a^3 * a = (1,0,0,0) * (0,0,1,0) = (0,0,1,1) = a^4


          +


          +

                                               46
WEB公開版

    2つのFEC型誤り訂正符号
 ①ブロック符号
 ガロア体上での除算、乗算を使う。
 ハミング符号、BCH符号、リードソロモン符号
 最新の符号→LDPC

 ②畳み込み符号
 擬似乱数(M系列)等を使った系列相関を使う。
 CDMA、ビタビ符号、ターボ符号
 最新の符号→ターボ符号

                          47
WEB公開版
          畳み込み符号はステートマシンを
          使って生成する。
                              O1
                                   X=(a1,a0)
                                   内部状態



                              O2


    ①入力する
    ①内部状態
  a0とa1が変わる。
  ③V,Uが出力され
       る。
                     i/Y
                   i:入力
               Y:(O1,O2):出力                    48
WEB公開版
           系列推定とは?
                             Sを原因
                           S+Eを結果と
                            考える!


                       S     S+E




                                   S+Eの原因は
                                   なんだったの
                                   かを推定する
                                   ためにベイジ
                                   アンネットワー
    伝送路中でE(エラーやノイズ)が               クなどを使う。
       混じったS+Eから、
         Sを推定する。
      (またはEを除去する)。                      49
WEB公開版




            付録:
         組み合わせ回路から
          ステートマシン




                     50
WEB公開版
     ステートマシンとは
 入力と時間によって状態が変化する。

 入力とクロックに
 より内部状態と出       シンプルな
  力が変わる。      ステートマシンでは
              内部状態=出力。




 「一定時間経過する」
 「外部電源を落とす」
 などは割り込みやタイ
  マー入力が対応。


                      51
WEB公開版

    記憶の原型:フリップフロップ

                             入力               出力

                             S        R       Q

                                  0       0   保持

                                  0       1        0

                                  1       0        1

                                  1       1   不定




  論理演算子(∧、¬など)は通常、入出力を持つが状態はない。

  RとSの一瞬の状態を保持することができる。
                                                  52
WEB公開版

   クロックを扱うDフリップフロップ


                         次のステー
                 D   C
                           トのQ
                 0   ↑     0

                 1   ↑     1

                 ×   ↓   そのまま




             クロックの立ち上がりの時
              のDの値が次の状態
               (出力)を決める。
                               53
WEB公開版

     クロックには4状態ある。


                   誤り検出訂正や
                   符号理論はここ
                   11/00を見る。




             ステートマシンや状態遷移図の
             設計はここ 01/10 も見る!




                               54
WEB公開版

         Dフリップフロップ
                          次のステート
                 D   C
                             のQ

                 0   ↑      0

                 1   ↑      1

                 ×   ↓    そのまま




                         クロックの立
                         ち上がりの値
                         を保持する。

                                55
WEB公開版

         Tフリップフロップ
                          次のステート
                 D   C
                             のQ

                 0   ↑      0

                 1   ↑      1

                 ×   ↓    そのまま




                         クロックの立
                         ち上がりの値
                         を保持する。

                                56
WEB公開版
            割り込み:一定時間経つと….




                   D   CLK1   CLK2   Q1   Q2

                   0    ↑      ↓     0    1
                   1    ↑      ↓     1    0
                   ×    ↓      ↓     保    保
 D,CLKの値に関わらず割り込
 みがかかると            0    ↑      ↑     1    1
 Q1=1 Q2=1になる!     1    ↑      ↑     1    57
                                          1

More Related Content

Similar to 法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用

法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用Ruo Ando
 
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用Ruo_Ando
 
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用Ruo Ando
 
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用Ruo Ando
 
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようHokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようPanda Yamaki
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Daisuke Nakajima
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料直久 住川
 
20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdf20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdfrisakitagawa
 
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用Ruo Ando
 
Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01ozkan01
 
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例erakazu
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町剛 羽根
 
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用Ruo Ando
 
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@KyotoOpencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@KyotoDaisuke Nakajima
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Panda Yamaki
 

Similar to 法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用 (20)

法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
 
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
 
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
 
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
 
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようHokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料
 
PFI Seminar 2010/01/21
PFI Seminar 2010/01/21PFI Seminar 2010/01/21
PFI Seminar 2010/01/21
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdf20220602コンピュータネットワーク.pdf
20220602コンピュータネットワーク.pdf
 
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
 
Open contraildays2014
Open contraildays2014Open contraildays2014
Open contraildays2014
 
Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01Opencontraildays2014dist 140514051248-phpapp01
Opencontraildays2014dist 140514051248-phpapp01
 
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
 
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
 
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@KyotoOpencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
P2Pって何?
P2Pって何?P2Pって何?
P2Pって何?
 
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
 

More from Ruo Ando

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfRuo Ando
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Ruo Ando
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdfRuo Ando
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~Ruo Ando
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピーRuo Ando
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学Ruo Ando
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰Ruo Ando
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リストRuo Ando
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信Ruo Ando
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限Ruo Ando
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレスRuo Ando
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播Ruo Ando
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号Ruo Ando
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法Ruo Ando
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-freeRuo Ando
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 Ruo Ando
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説Ruo Ando
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月Ruo Ando
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰Ruo Ando
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopRuo Ando
 

More from Ruo Ando (20)

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdf
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピー
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リスト
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st Workshop
 

Recently uploaded

ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 

Recently uploaded (7)

ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用

  • 1. WEB公開版 コンピュータネットワーク 第12回授業 データグラム(UDP)と ストリーム(TCP)の処理 WEB公開版のため、 内容は大幅に抜粋・修正してあります。 1
  • 2. WEB公開版 法政大学情報科学部 2012年度コンピュータネットワーク 2012年4月10日~2012年7月19日 第1回 イントロダクション 第2回 デジタル伝送技術 第3回 誤り訂正と通信の信頼性 第4回 イーサネットとデータリンクの仮想化 第5回 LANの拡張と無線技術 第6回 遠距離通信とインターネットへの接続 第7回 後半授業の準備 第8回 通信の種類とフロー制御の基本 第9回 大規模ネットワークの構築と運用 第10回 4種類のルーティング 第11回 制御パケットとセッション層のネットワーク 第12回 データグラムとストリームの処理 第13回 インターネットのインフラストラクチャ 第14回 ネットワークのモニタリングとチューニング 2
  • 3. WEB公開版 1対1 通信の種類は3つ 1対多 多対多 TCPは1対1 UDPは1対多 が定石! 3
  • 4. WEB公開版 OSI参照モデル別概要 (トランスポートまで) 1対1 TCPパケット 終端点が接続さ れた後で使う。 1対多 IPパケット 多数のマシンがルー タと通信するが、 ルータはブロード キャストしない。 多対多 ARPパケット それぞれのマシン が不特定多数に 送信できる! 4
  • 5. WEB公開版 なぜポート番号が必要なのか? 1つのOSで複数のアプリが通信するため 5
  • 6. ポート番号とマルチプレクサ マルチプレクサの APPLICATION APPLICATION APPLICATION A,Bにあたるモノが 1 2 3 ポート番号! TCP UCP IP WEB公開版 6
  • 7. ポート番号とデマルチプレクサ ポート番号に A,Bの組み合わせを APPLICATION APPLICATION APPLICATION 入力して割り振る。 1 2 3 TCP UCP IP WEB公開版 7
  • 8. WEB公開版 TCPとUDP 8
  • 9. WEB公開版 ストリームとデータグラム UDPが処理するのは データグラム 時系列同士は 影響しない。 ヘッダ(パリティ)などが 付加されている。 TCPが処理するのは ストリーム 過去の系列が現在の 系列に影響する。 9
  • 10. WEB公開版 ステートマシン(畳み込み符号) vs 代数系演算(ブロック符号) 畳み込み符号の生 成にはこのようなス テートマシンを使う。 ブロック暗号の 代数系演算に使う シフトレジスタ 10
  • 11. WEB公開版 ブロック符号と 畳み込み(ストリーム)符号 11
  • 12. WEB公開版 ブロック暗号とストリーム暗号 鍵1 生成器 鍵2 鍵を使ってブロックごとに 擬似乱数を使って 暗号化。 1ビットずつ暗号化。 RSA, SSH, SSL RC4, CDMA 12
  • 13. データグラム(ブロック)の復号と 代数演算 復号に必要な 乗算、除算は ハードウェア (シフトレジスタ)を用い て行う! WEB公開版 13
  • 14. WEB公開版 ストリームの復号と系列推定 S S+E ループ演算、繰り返し復号 (ソフトウェアで処理する場合が 多い)を用いて S+EからSを復元する! 14
  • 15. WEB公開版 コネクション型と ARQ(自動再送要求制御) TCP 15
  • 16. WEB公開版 誤り訂正方式の種類 TCPでは、ARQを用いて 実装コストを ARQ(Automatic Repeat reQuest)- 下げている! 自動再送要求 特徴 – パケットが損失した場合、自動的に再送される 再送処理のオーバヘッドがあるため、リアルタイム伝送には向かない FEC(Forward Error Correction)-前方誤り訂正 特徴 – パケット数個ごとに冗長パケットを生成,送信 – パケットが損失しても、冗長パケットから復元できる。 再送処理がないためリアルタイムの伝送処理に適している。 16
  • 17. WEB公開版 TCPの基本機能 ①信頼性のある通信 3ウェイハンドシェイク シーケンス番号を使った確認応答 ③再送処理 再送要求とタイムアウト時間の調整 ④動的なフロー制御 スライディングウインドウ 輻輳制御 17
  • 18. WEB公開版 TCPと言えば・・・ TCP 確認応答 ウィンドウサイズ 再送処理 輻輳制御 18
  • 19. WEB公開版 TCPパケット 高信頼性の 送信元ポート番号 あて先ポート番号 ある通信 再送処理 (第10回) シーケンス番号 3ウェイ ハンド シェイク 確認応答番号 誤り検出 (2回~4回) ヘッダ長 制御 ウィンドウサイズ フロー制御 チェックサム 緊急ポインタ 輻輳制御 19
  • 20. WEB公開版 TCP:3-way ハンドシェイク SYN: synchronize フラグの種類 ACK: acknowledge SYN, ACK, PSH, RST, URG, FIN 20
  • 21. WEB公開版 TCP:確認応答 確かめながら送る。 返信側の確認応答番号 は次に送ってほしいデータの 先頭番号(シーケンス番号) 送信したシーケンス番号2001 のパケットの確認応答がでない 場合、再送する。 21
  • 22. WEB公開版 シーケンス番号の付け方(送信側) TCP/IPではデータを 分割して送信できる! データは、MSS (Maximum Segment Size)に分割する。 この場合はMSS=1000 22
  • 23. WEB公開版 TCP再送:受信側が要求するケース シーケンス 番号は2001 では? 想定されたシーケン ス番号と異なるパケッ トが来た場合 再送する。 ( `∀´)b 23
  • 24. WEB公開版 TCP再送:送信側が再送するケース しばらく待って も確認応答3 001のパケッ トが来ないの で再送。 ( `∀´)b 24
  • 25. WEB公開版 コネクションレス型と FEC(前方誤り訂正)型制御 UDP 25
  • 26. WEB公開版 誤り訂正方式の種類 ARQ(Automatic Repeat reQuest)- 自動再送要求 特徴 – パケットが損失した場合、自動的に再送される 再送処理のオーバヘッドがあるため、リアルタイム伝送には向かない FEC(Forward Error Correction)-前方誤り訂正 特徴 – パケット数個ごとに冗長パケットを生成,送信 – パケットが損失しても、冗長パケットから復元できる。 再送処理がないためリアルタイムの伝送処理に適している。 携帯電話やアプリケーションレイヤでの 26 誤り訂正ではFECを使うことが多い!
  • 27. WEB公開版 シャノン限界と誤り訂正符号 LDPC、Raptor符号 ターボ符号 (゚Д゚#) (゚Д゚#) 27
  • 28. WEB公開版 2つの誤り訂正符号 ①ブロック符号 ガロア体上での除算、乗算を使う。 ハミング符号、BCH符号、リードソロモン符号 最新の符号→LDPC ②畳み込み符号 擬似乱数(M系列)等を使った系列相関を使う。 CDMA、ビタビ符号、ターボ符号 最新の符号→ターボ符号 28
  • 29. WEB公開版 ステートマシン(畳み込み符号) vs 代数系演算(ブロック符号) O1 畳み込み符号の生 成にはこのようなス テートマシンを使う。 X1 X2 ブロック暗号の 代数系演算に使う O2 シフトレジスタ O0 O1 O2 G(x) O0 O1 O2 F(x) 29
  • 30. WEB公開版 畳み込み符号はステートマシンを 使って生成する。 O1 X=(a1,a0) 内部状態 O2 ①入力する ①内部状態 a0とa1が変わる。 ③V,Uが出力され る。 i/Y i:入力 Y:(O1,O2):出力 30
  • 31. WEB公開版 ブロック符号とは ①GF(2^m)上の演算により生成される符号。 ②G(x)*H(x)=0となるように生成される。 G(x)は原始多項式: G(x)=X^4+X+1など ③H(x)の生成方法:G(x)をフィードバック付き シフトレジスタであらわし、出力をH(x)とする! 31
  • 32. WEB公開版 始めに0を入 力すると出力 は決定論的 ブロック符号とシフトレジスタ に決まる! O1 O2 G(x) O0 O1 O2 O2 F(x) X^2 X^3 X^0 0000000 001 1 0011101 もう少し大きな符 010 2 0111010 号を生成すると 100 4 周期7 1110100 後半3ビットが誤り 011 3 (2^3-1)の 訂正に使える 1101001 110 6 擬似乱数が 1010011 符号が 111 7 生成される。 0100111 生成できる! 101 5 1001110 001 1 0011101 32
  • 33. WEB公開版 多項式 • 既約多項式:その式より次数の低い多項式 で割り切れない多項式 • 原始多項式:既約でさらに周期が最大の多項 式 • 生成多項式:符号生成時の除算時に使う多 項式 33
  • 34. WEB公開版 有限体:ガロア体 GF(2) ①ガロア体とは整数を素数で除算した余りの集合であり、要素 が有限で四則演算が閉じている集合である。 - WikiPedia ②つまりA とB という整数があり、任意の素数X で演算結果を 割ることで、通常の演算とは違う空間にA+B を写像する。 • (0 + 0) / 2 = 0 • (1 + 0) / 2 = 1 • (0 + 1) / 2 = 1 • (1 + 1) / 2 = 0 34
  • 35. WEB公開版 有限体GF(2^4) G(X)=X^4+X+1上の演算(4次の多項式) GF(2)の1=-1が成立する。 ①X^4 = -(X+1) = X+1なので X^4は(0011)を割り当ることができる。 ②X^5 = X*X4 = X(X+1) = X^2 + X X^5は(0110)を割り当てることができる。 G(X)=X^4+X+1上で四則演算ができる集合を体という。 35
  • 36. WEB公開版 有限体(GF)の演算は シフトレジスタ回路と相性が良い O0 O2 G(x) O1 O0 O1 O2 O2 F(x) X^2 X^3 X^0 X^1 このシフトレジスタで、 係数の有無が GF(2^3):G(X)=x^3+ x + 1 フィードバックの位 の演算ができる! 置に対応している。 36
  • 37. WEB公開版 パリティやチェック サムなど 2種類の誤り訂正方式 TCPが使う! ARQ(Automatic Repeat reQuest)- 自動再送要求 FECでは 有限体の演算 を用いる! 特徴 – 損失したパケットを自動的に再送する方法 • 再送処理のオーバヘッドのためリアルタイム伝送に向かない • FEC(Forward Error Correction)-前方誤り訂正 特徴 – パケット数個ごとに冗長パケットを生成,送信 – パケット損失が発生すれば,冗長パケットから復元 • 再送処理がないためリアルタイム伝送に向く 携帯電話やアプリケーションレイヤでの 37 誤り訂正ではFECを使う。
  • 38. WEB公開版 2つのFEC型誤り訂正符号 ①ブロック符号 ガロア体上での除算、乗算を使う。 ハミング符号、BCH符号、リードソロモン符号 最新の符号→LDPC ②畳み込み符号 擬似乱数(M系列)等を使った系列相関を使う。 CDMA、ビタビ符号、ターボ符号 最新の符号→ターボ符号 38
  • 39. WEB公開版 ブロック符号では代数的演算で 復号を行う。 送受信でGを 共有しておく。 GS=0 GS=0と なるように Sを生成 送信の過程 でE(エラー) が混入 EGをエラー WEB公開版 シンドロームという。 39
  • 40. WEB公開版 たたみ符号では系列推定で 復号を行う。 Sを原因 S+Eを結果と 考える! S S+E S+Eの原因は なんだったの かを推定する ためにベイジ アンネットワー 伝送路中でE(エラーやノイズ)が クなどを使う。 混じったS+Eから、 Sを推定する。 (またはEを除去する)。 40
  • 41. WEB公開版 巡回冗長符号 CDMA方式と同じく、受信側と送信側であらか じめ、同じ符号G(x)を持っている。 送信側は、符号G(x)を用いて、符号H(x)を生成 して送信。このとき、G(x)*H(x)=0となるようにデータを 生成する。 受信側は、受信した符号H(x)を符号G(x)を用 いて検査する。 H(x) / G(x) = 0 なら誤りなし。 H(x) / G(x) > 0 なら誤りあり。(位置も特定できる) 41
  • 42. WEB公開版 1001を生成多項式 G(x)=X^3+X+1 を使って 1001001に変換 送られてきたH(x) をG(x)で割って 余りをチェック 42
  • 43. WEB公開版 FECなブロック符号の例2 ハミング符号:エラーシンドローム:EG 送受信でGを 共有しておく。 GS=0 GS=0と なるように Sを生成 送信の過程 でE(エラー) が混入 EGをエラー シンドロームという。 43
  • 44. WEB公開版 始めに0を入 ブロック符号: 力すると出力 シフトレジスタによる生成 は決定論的 に決まる! O0 O1 O2 O0 O1 O2 O2 F(x) X^2 X^3 X^0 X^1 0000000 001 1 0011101 もう少し大きな符 010 2 0111010 号を生成すると 100 4 周期7 1110100 後半3ビットが誤り 011 3 (2^3-1)の 訂正に使える 1101001 110 6 擬似乱数が 1010011 符号が 111 7 生成される。 0100111 生成できる! 101 5 1001110 001 1 0011101 44
  • 45. WEB公開版 積・商と原始多項式演算 ① 【積】GF(2^4)上での計算:G(X)=X^4+X+1 G(a)=a^4+a+1=0 a^3*a = a^4 = a+1 →(1,0,0,0) * (0,0,1,0) = (0,0,1,1) ② 【商】2^m -1 = 2^4 -1 = 15 -> a^15=1 a / a^5 = a^16 / a^5 = a^11 a^11 = a^3 + a^2 + a (0,0,1,0) / (0,1,1,0) = (1,1,1,0) 45
  • 46. WEB公開版 積・商はシフトレジスタで計算できる a*a = (0,0,1,0) * (0,0,1,0) = (0,1,0,0) = a^2 a^2 * a = (0,1,0,0) * (0,0,1,0) = (1,0,0,0) = a^3 a^3 * a = (1,0,0,0) * (0,0,1,0) = (0,0,1,1) = a^4 + + 46
  • 47. WEB公開版 2つのFEC型誤り訂正符号 ①ブロック符号 ガロア体上での除算、乗算を使う。 ハミング符号、BCH符号、リードソロモン符号 最新の符号→LDPC ②畳み込み符号 擬似乱数(M系列)等を使った系列相関を使う。 CDMA、ビタビ符号、ターボ符号 最新の符号→ターボ符号 47
  • 48. WEB公開版 畳み込み符号はステートマシンを 使って生成する。 O1 X=(a1,a0) 内部状態 O2 ①入力する ①内部状態 a0とa1が変わる。 ③V,Uが出力され る。 i/Y i:入力 Y:(O1,O2):出力 48
  • 49. WEB公開版 系列推定とは? Sを原因 S+Eを結果と 考える! S S+E S+Eの原因は なんだったの かを推定する ためにベイジ アンネットワー 伝送路中でE(エラーやノイズ)が クなどを使う。 混じったS+Eから、 Sを推定する。 (またはEを除去する)。 49
  • 50. WEB公開版 付録: 組み合わせ回路から ステートマシン 50
  • 51. WEB公開版 ステートマシンとは 入力と時間によって状態が変化する。 入力とクロックに より内部状態と出 シンプルな 力が変わる。 ステートマシンでは 内部状態=出力。 「一定時間経過する」 「外部電源を落とす」 などは割り込みやタイ マー入力が対応。 51
  • 52. WEB公開版 記憶の原型:フリップフロップ 入力 出力 S R Q 0 0 保持 0 1 0 1 0 1 1 1 不定 論理演算子(∧、¬など)は通常、入出力を持つが状態はない。 RとSの一瞬の状態を保持することができる。 52
  • 53. WEB公開版 クロックを扱うDフリップフロップ 次のステー D C トのQ 0 ↑ 0 1 ↑ 1 × ↓ そのまま クロックの立ち上がりの時 のDの値が次の状態 (出力)を決める。 53
  • 54. WEB公開版 クロックには4状態ある。 誤り検出訂正や 符号理論はここ 11/00を見る。 ステートマシンや状態遷移図の 設計はここ 01/10 も見る! 54
  • 55. WEB公開版 Dフリップフロップ 次のステート D C のQ 0 ↑ 0 1 ↑ 1 × ↓ そのまま クロックの立 ち上がりの値 を保持する。 55
  • 56. WEB公開版 Tフリップフロップ 次のステート D C のQ 0 ↑ 0 1 ↑ 1 × ↓ そのまま クロックの立 ち上がりの値 を保持する。 56
  • 57. WEB公開版 割り込み:一定時間経つと…. D CLK1 CLK2 Q1 Q2 0 ↑ ↓ 0 1 1 ↑ ↓ 1 0 × ↓ ↓ 保 保 D,CLKの値に関わらず割り込 みがかかると 0 ↑ ↑ 1 1 Q1=1 Q2=1になる! 1 ↑ ↑ 1 57 1