Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オーバーレイネットワークにおける一般ノードをサポートする CYPHONIC アダプタの研究

Ren
October 15, 2023

オーバーレイネットワークにおける一般ノードをサポートする CYPHONIC アダプタの研究

Ren

October 15, 2023
Tweet

More Decks by Ren

Other Decks in Technology

Transcript

  1. ‹#› CYPHONIC 概要 セキュアなエンド間通信を 実現する通信フレームワーク • 端末をクラウドで認証 • エンド間で直接通信 •

    送受信データの暗号化 1. クラウドサービスと連携して 相⼿ノードへの通信経路を取得 3. 送受信データを暗号化して エンド間で直接通信 2. 暗号鍵を⽣成して相⼿ノードと 交換することでトンネルを構築 CYPHONICノードの処理 • シグナリングの実⾏ • DNSパケットの処理 • 仮想IPパケットの処理 CYPHONIC Daemon CYPHONIC ノード CYPHONIC ノード 仮想IP FQDN 仮想IP FQDN CYPHONICクラウド 連携 連携 暗号化 エンド間通信 AS NMS TRS AS: Authentication Service TRS: Tunnel Relay Service NMS: Node Management Service 2
  2. ‹#› IoT機器・組込み機器 マスクROMは⼯場出荷後に プログラムの変更が極めて困難 特定のサービスを提供する専⽤サーバ サービス安定性への影響を懸念して 追加プログラムの導⼊を避ける傾向 CYPHONIC 課題 既存の端末やサービスに変更を

    加えることなくCYPHONICの機能を 提供可能な仕組みが必要 CYPHONIC Daemon 既存サービス + + ⼀般ノード ⼀般ノード CYPHONIC Daemon 通信機能提供端末 既存サービス 端末に改良を加えることが 困難な端末が存在 3
  3. ‹#› CYPHONICアダプタ 機能概要 CYPHONIC 通信機能 インターネット ネットワーク接続 CYPHONIC通信機能 (既存機能) ⼀般ノード管理機能

    (追加機能) ⼀般ノード 管理機能 既存 サービス ⼀般ノード CYPHONICアダプタ ブリッジ接続 eth1 eth0 シグナリング機能 クラウドから通信に必要な情報を取得 パケット処理機能 カプセル化処理および暗号化処理 ⼀般ノード情報管理機能 通信に必要な情報を管理 ・仮想IPアドレス ・MACアドレス 仮想IPアドレス割り当て機能 DHCPを使⽤したアドレス割り当て 仮想IPパケット取得機能 ⼀般ノードから仮想IPパケットを取得 ・FQDN ・暗号鍵 5
  4. ‹#› 6 処理シーケンス CNのFQDN を 指定して通信開始 仮想IPアドレス付与 ⼀ 般 ノ

    | ド 相 ⼿ ノ | ド 代理で相⼿ノードとの トンネルを構築 CNの仮想IPを取得 CN : Correspondent Node GN :General Node CYPHONICクラウド CYPHONICアダプタ CYPHONICアダプタ認証 ⼀般ノード情報取得 ・仮想IPアドレス ・FQDN ・MACアドレス ⼀般ノード情報 ・暗号鍵 CNの仮想IPを通知 仮想IPパケットを送信 VIPGN Data VIPGN Data CYP CYP : CYPHONIC アダプタが代⾏送信 VIPGN Data CYP RIPAdapter
  5. ‹#› 7 動作検証及び性能評価 NAPT AS NMS CYPHONICアダプタ ⼀般ノード クラウド /

    アダプタ / ノード Machine Raspberry Pi 4 Model B OS Raspbian GNU/Linux 10.0 CPU Quad Core 1.5GHz Broadcom BCM2711 Memory 4GB RAM ⼀般ノード OS macOS BigSur Ver 11.5 CPU Dual Core 2.20GHz Intel(R) Core i7-5650U Memory 8GB RAM 1 Gbps • 通信遅延時間の測定 → ping を使⽤ • 通信スループットの測定 → iperf を使⽤ • ⼀般ノードに対して 通信機能を提供可能か確認 動作検証 性能評価 CYPHONICノード
  6. ‹#› 8 結果 Round-trip time 3.272 ms ⼀般ノード ⇒ CYPHONICノード

    Throughput 49.8 Mbits/sec Loss rate 0.22 % CYPHONICノード ⇒ ⼀般ノード Throughput 49.5 Mbits/sec Loss rate 0.46 % 性能評価 複数⼈でフルHD通信が 可能な性能を発揮 50 Mbits/sec 程度の 処理性能を確認 ⼤きなオーバーヘッドが 発⽣しないことを確認 ⼀般ノードは提案するアダプタを⽤いて CYPHONIC上で通信可能であることを確認 動作検証 n 通信遅延 n 通信性能
  7. ‹#› 評価対象の通信シグナリング DNS 応答時間 ARP 応答時間 DNS Req. データ通信 応答時間

    経路選択処理 トンネル確⽴処理 データ通信処理 DNS Res. ARP Req. ARP Res. Direction Req. Route Direction Confirmation Tunnel Req. Tunnel Res. アダプタ ⼀般ノード NMS CYPHONICノード Route Direction 11
  8. ‹#› 各処理に伴う実⾏時間の⽐較 CYPHONICアダプタ CYPHONICノード 経路選択処理 19.74 ms 16.20 ms ARP実⾏処理

    0.32 ms トンネル確⽴処理 2.75 ms 2.23 ms データ通信処理 3.01 ms 2.27 ms 暗号化処理 (AES-128-CBC) 0.53 ms 0.49 ms 復号処理 : (AES-128-CBC) 0.20 ms 0.12 ms CYPHONICノード CYPHONICアダプタ 0.32 16.20 19.74 2.23 2.75 3.01 2.27 25.82 ms 20.70 ms 経路選択処理 ARP実⾏時間 トンネル確⽴処理 データ通信処理 12
  9. ‹#› 初回通信に伴う遅延時間の⽐較 ⼀般ノード CYPHONICノード DNS応答時間 37.00 ms 21.40 ms ARP応答時間

    1.00 ms データ通信時 応答時間 3.272 ms 3.271 ms CYPHONICノード ⼀般ノード DNS応答時間 ARP応答時間 データ通信時応答時間 21.40 37.00 3.271 3.272 1.00 24.67ms 41.27ms 13
  10. ‹#› UDPスループット測定値 ⼀般ノード ⇒ CYPHONICノード Traffic Throughput Jitter Loss rate

    10 Mbps 10.0 Mbits/sec 0.729 ms 0 % 20 Mbps 20.0 Mbits/sec 0.652 ms 0 % 30 Mbps 30.0 Mbits/sec 0.398 ms 0 % 40 Mbps 40.0 Mbits/sec 0.300 ms 0 % 50 Mbps 49.8 Mbits/sec 0.203 ms 0.22 % CYPHONICノード ⇒ ⼀般ノード Traffic Throughput Jitter Loss rate 10 Mbps 10.0 Mbits/sec 0.787 ms 0 % 20 Mbps 20.0 Mbits/sec 0.680 ms 0 % 30 Mbps 30.0 Mbits/sec 0.395 ms 0 % 40 Mbps 39.8 Mbits/sec 0.326 ms 0.28 % 50 Mbps 49.5 Mbits/sec 0.266 ms 0.46 % 14
  11. ‹#› UDPスループット測定値 CYPHONICノード ⇒ CYPHONICノード Traffic Throughput Jitter Loss rate

    10 Mbps 10.0 Mbits/sec 0.529 ms 0 % 20 Mbps 20.0 Mbits/sec 0.664 ms 0 % 30 Mbps 30.0 Mbits/sec 0.556 ms 0 % 40 Mbps 40.0 Mbits/sec 0.297 ms 0 % 50 Mbps 50.0 Mbits/sec 0.275 ms 0 % 15
  12. ‹#› TCPスループットにおける課題 CYPHONICノード ⇒ ⼀般ノード Transfer 437 Mbytes Throughput 74.2

    Mbits/sec ⼀般ノード ⇒ CYPHONICノード Transfer 6.01 Mbytes Throughput 1.68 Mbits/sec CYPHONICアダプタを介した通信 CYPHONICノード間の通信 CYPHONICノード ⇔ CYPHONICノード Transfer 563 Mbytes Throughput 78.7 Mbits/sec 既存のCYPHONICノードは 78 Mbits/sec 程度を処理可能 既存のCYPHONICノードと 同程度のトラフィックを処理可能 TCPスループットが極端に 低下することを確認 パケットの受信から処理までを単⼀スレッドで実⾏ (なお, 暗号化処理および復号処理はマルチスレッド化) 16
  13. ‹#› データ通信処理における関数呼び出し RoutineReadFrom AdapterInterface AdapterRoutine SequentialSender SendStaged Packets GN CN

    RoutineReceive Incoming AdapterRoutine SequentialReceiver Routine Decryption GN CN syscall.read eth1, Finding Peer WriteUDP eth0 CapusuleMsg creatin, Packet encryption ReadFrom eth0 Packet decryption, ReplyPacket Creation syscall.write eth1 暗号化・復号処理以外は単⼀スレッドで実⾏ 17
  14. ‹#› Goroutine の処理モデル Hyper-threading Kernel(Threads) • M 個 の物理コアに対して同時に N

    個 の処理が可能な M:N スケジューラ GoRuntime(Goroutines) • M 個 の論理コアに対して同時に N 個 の処理が可能な M:N スケジューラ
  15. ‹#› スレッド分離による改善の検討 RoutineReadFrom AdapterInterface SendStaged Packets GN CN Send and

    Receive Thread Receive Thread Send Thread AdapterRoutine SequentialSender RoutineReceive Incoming Routine Decryption Receive Thread Send Thread AdapterRoutine SequentialReceiver CN GN Adapter Processing Thread CYPHONIC Encryption Thread Send and Receive Threaad Adapter Processing Thread CYPHONIC Decryption Thread 専⽤のスレッドを⽤いて受信キューに格納 19
  16. ‹#› ⼀般ノードのパケットフロー Datalink Layer Transport Layer Network Layer Application Layer

    Virtual IP Header TCP/UDP Header TCP/UDP Header Application Real I/F (Real IPv4/IPv6) CYPHONIC Header UDP Header Virtual IP Header TCP/UDP Header App Data Real IP Header CYPHONIC Header UDP Header Virtual IP Header TCP/UDP Header App Data Real I/F 1 (Real IPv4/IPv6) CYPHONIC Daemon Real I/F 0 (Real IPv4/IPv6) Real I/F (Real IPv4/IPv6) CYPHONIC Header UDP Header Virtual IP Header TCP/UDP Header App Data Real IP Header CYPHONIC Header UDP Header Virtual IP Header TCP/UDP Header App Data CYPHONIC Daemon Virtual I/F (Real IPv4/IPv6) GN CA CN Link Layer Communication Overlay Network Communication GN: General Node CA: CYPHONIC Adapter CN: Correspondent Node App Data App Data Virtual IP Header TCP/UDP Header TCP/UDP Header Application App Data App Data 20
  17. ‹#› エンド間通信に伴う課題 1 2 Cellular Network IPv4アドレス枯渇対策のためNAPTとIPv6を導⼊ 課題1︓NAPTによる通信の遮断 課題2︓IPv4とIPv6の⾮互換性 IPは端末の移動について考慮されていない

    課題3︓ネットワーク移動による通信切断 Global IPv4 Network Global IPv6 Network Private IPv4 Network Private IPv4 Network NAPT 3 移動 NAPT エンド間での直接通信を実現する技術が必要 22
  18. ‹#› 既存技術と課題 通信接続性 移動透過性 NAPTやIPバージョンの差異 依らず通信接続可能 ネットワーク移動時も 通信継続可能 Hole Punching

    / STUN • ☓ ICE • ☓ Mobile IP ☓ • DSMIPv6 ☓ • ・既存技術にはそれぞれ課題が存在 ・概念実証の評価やセキュア通信に関する検討が不⼗分 端末間でのセキュアなエンド間通信を実現するために 通信接続性と移動透過性を確保する技術が必要 23
  19. ‹#› CYPHONIC セキュアなエンド間接続を実現する オーバーレイネットワークプロトコル CYber PHysical Overlay Network over Internet

    Communication ▪ 端末間でのセキュアな通信を実現 ・サービス利⽤端末の認証と送受信データの暗号化 ・端末間でのエンドツーエンド通信を提供 ▪ 通信接続性を実現 ・NAPTの配下に存在する端末への通信を提供 ・IPバージョンの互換性を提供 ▪ 移動透過性を実現 ・端末の移動時も継続した通信を提供 ・仮想IPアドレスによる通信で実ネットワークの影響を隠蔽 24
  20. ‹#› CYPHONICの構成要素 CYPHONICノード ・CYPHONICを⽤いた通信を⾏う端末 ・クラウドサービスと連携することで相⼿端末と直接通信 Authentication Service (AS) ・CYPHONICノ ードを認証

    ・CYPHONICノードの識別⼦としてFQDNを付与 Node Management Service (NMS) ・CYPHONICノードのネットワーク情報管理と通信経路の指⽰ ・CYPHONICノードが通信に⽤いる仮想IPアドレスを付与 Tunnel Relay Service (TRS) ・NAPTを跨いだ通信とIPv4/IPv6間の通信を中継 CYPHONICクラウド TRS NMS AS 仮想IPアドレスを⽤いたオーバーレイネットワーク通信 CYPHONICノード CYPHONICノード 連携 連携 25
  21. ‹#› Global IPv6 Network CYPHONIC 全体概要 Initiator Node Private IPv4

    Network NAPT 仮想IP Responder アプリケーション通信 仮想IP Initiator 1 1 2 Overlay Network AS NMS TRS 2 3 3 中継指⽰ 4 4 FQDN Responder 3 3 経路指⽰ 経路指⽰ 1. 認証処理︓端末の認証 2. 位置情報登録処理︓ネットワーク情報登録 3. 経路選択処理︓通信経路決定 4. トンネル確⽴処理︓エンド間トンネル構築 5. データ通信処理︓オーバーレイネットワーク上の通信 Dual Stack Network Responder Node AS: Authentication Service NMS: Node Management Service TRS: Tunnel Relay Service NAPT: Network Address Port Translation FQDN: Fully Qualified Domain Name 5 5 26
  22. ‹#› 1. 認証処理︓端末の認証 2. 位置情報登録処理︓ネットワーク情報登録 3. 経路選択処理︓通信経路決定 4. トンネル確⽴処理︓エンド間トンネル構築 5.

    データ通信処理︓オーバーレイネットワーク上の通信 27 Global IPv6 Network CYPHONIC 全体概要 Initiator Node Private IPv4 Network NAPT 仮想IP Responder アプリケーション通信 仮想IP Initiator 1 1 2 Overlay Network AS NMS TRS 2 3 3 中継指⽰ 4 4 FQDN Responder 3 3 経路指⽰ 経路指⽰ Dual Stack Network Responder Node AS: Authentication Service NMS: Node Management Service TRS: Tunnel Relay Service NAPT: Network Address Port Translation FQDN: Fully Qualified Domain Name 5 5 CYPHIO 仮想IPアドレスを⽤いた オーバーレイネットワーク通信 CYPHONIC Layer Application Layer Transport Layer Network Layer Application Real IPv4/IPv6 Virtual IP TCP/UDP Virtual IP Application Real IPv4/IPv6 Virtual IP TCP/UDP Virtual IP CYPHONIC独⾃のヘッダを付与することで オーバーレイネットワークを実現
  23. ‹#› 認証処理 MN NAPTMN Login Request Common Key Creation Authentication

    AS SSL/TLS Communication SSL/TLS Communication Login Response Save Common Key to DB NMS MN DB Server : Common Key MN: Mobile Node AS: Authentication Service 28
  24. ‹#› 位置情報登録処理 MN NAPTMN Registration Request Registration Response Registration Network

    Information NMS (MN-NMS) (MN-NMS) Keep Alive ɾ ɾ ɾ : Common Key : Encrypted by Common Key MN: Mobile Node NMS: Node Management Service 29
  25. ‹#› 経路選択処理 MN Direction Request with FQDNCN NAPTMN NMS (MN-NMS)

    (NMS-CN) Route Direction to CN Route Direction to MN Route Direction Confirmation (MN-NMS) CN Tunnel Key Creation Temp Key Creation (NMS-CN) : Common Key : Tunnel Key : Temp Key : Encrypted by Common Key MN: Mobile Node NMS: Node Management Service CN: Correspondent Node 30
  26. ‹#› 経路選択処理(TRS経由) MN Direction Request with FQDNCN NAPTMN NMS (NMS-TRS)

    (MN-NMS) (NMS-CN) (NMS-TRS) (NMS-CN) Relay Direction Relay Response Route Direction to CN Hole Punching to TRS Route Direction to MN Tunnel Key Creation Route Direction Confirmation (MN-NMS) TRS NAPTCN CN Temp Key Creation : Common Key : Tunnel Key : Temp Key : Encrypted by Common Key MN: Mobile Node NMS: Node Management Service TRS: Tunnel Relay Service CN: Correspondent Node Hole Punching to MN 31
  27. ‹#› トンネル確⽴処理 MN NAPTMN End Key Creation CN MN Tunnel

    Request Tunnel Response Tunnel Communication MN MN: Mobile Node CN: Correspondent Node : Encrypted by Tunnel Key : Encrypted by Temp Key : Encrypted by End Key : Tunnel Key : Temp Key : End Key 32
  28. ‹#› トンネル確⽴処理(TRS経由) MN NAPTMN End Key Decryption End Key Creation

    TRS NAPTCN CN MN End Key Encryption MN MN Tunnel Request Tunnel Request MN MN Tunnel Response Tunnel Response Tunnel Communication MN: Mobile Node TRS: Tunnel Relay Service CN: Correspondent Node Tunnel Communication : Encrypted by Tunnel Key : Encrypted by Temp Key : Encrypted by End Key : Tunnel Key : Temp Key : End Key 33
  29. ‹#› 経路最適化処理 MN NAPTMN End Key Decryption End Key Creation

    TRS NAPTCN CN MN End Key Encryption MN MN Tunnel Request Tunnel Request MN MN Tunnel Response Tunnel Response MN: Mobile Node TRS: Tunnel Relay Service CN: Correspondent Node : Encrypted by Tunnel Key : Encrypted by Temp Key : Encrypted by End Key : Tunnel Key : Temp Key : End Key Hole Punching to MN ACK Tunnel Communication 34
  30. ‹#› CYPHONICノード システムモデル CYPHONIC Node CYPHONIC Daemon Packet Handling Module

    Packet Hook Module Signaling Module Virtual I/F Application User Kernel VIP: Virtual IP RIP: Real IP CYP: CYPHONIC Data Real I/F VIP Data CYP VIP Data CYP VIP RIP Data VIP Data フック処理 ・仮想IPパケットをCYPHONIC Daemonへ受け渡す 書き込み処理 ・仮想IPパケットを仮想I/Fに書き込む カプセル化 ・CYPHONICヘッダの付与 ・HMACの付与と暗号化 デカプセル化 ・ハッシュ値の計算及び復号化 ・仮想IPパケットの取り出し クラウド群とのシグナリング ・認証 ・仮想IPアドレスの取得 ・暗号鍵の取得 ・相⼿ノードとの通信経路を確⽴ 仮想I/Fの作成 ・ルーティングテーブルの設定 ・仮想IPアドレスの割り当て 35
  31. ‹#› System model of CYPHONIC Node Packet Handling Packet Hook

    Signaling CYPHONIC Daemon CYPHONIC Packet General domain’s IP or Virtual IPCN Mobility Management System Setting CYPHONIC Resolver General Domain CYPHONIC Domain Domain Filter Local DNS Linux OS Node DNS Response User Kernel VIPMN Header DNS Request DNS Resolver Application CN: Correspondent Node MN: Mobile Node tun0 Application data tun1 Real Interface Informations CYPHONIC domain’s DNS Packets General domain’ s DNS Packets DNS Packets Data Sequence Signaling Message RIP: Real IP VIP: Virtual IP Capsulated data 36
  32. ‹#› CYPHONICにおけるカプセル化フロー Service Application TCP/UDP Virtual Interface Real Interface Real

    IP UDP UDP Real IP Virtual IP Real Interface Virtual Interface TCP/UDP Service Application Communication over overlay network With Virtual IP address Virtual IP CYPHONIC Daemon CYPHONIC Daemon Mobile Node (MN) Correspondent Node (CN) Application Layer Transport Layer Network Layer Datalink Layer 37 37
  33. ‹#› CYPHONICアダプタ システムモデル CYPHONIC Adapter CYPHONIC Daemon User Kernel Packet

    Handling Module Adapter Function VIP: Virtual IP RIP: Real IP CYP: CYPHONIC GN: General Node Real I/F 1 (Connected to General Nodes) VIPGN Data VIPGN Data Data VIPGN CYP DHCPv4 Process Interface Handling Address Configuration General Node Management Signaling Module RIPAdapter Data VIPGN CYP Real I/F 0 (Connected the Internet) ① ⼀般ノード管理機能 ・⼀般ノードを識別するMACアドレスの管理 ・FQDNと仮想IPアドレスの管理 ・暗号鍵の⽣成 ② 仮想IPアドレス割り当て機能 ・DHCPv4により⼀般ノードへ 仮想IPv4アドレスを付与 ③ パケット取得機能 ・MACアドレスの代理応答 ・仮想IPアドレス宛てパケットを 実I/Fから取得 38
  34. ‹#› System model of CYPHONIC Adapter CN: Correspondent Node GN:

    General Node RIP: Real IP VIP: Virtual IP Adapter Function Interface Handling General Node Management General Node Information Address Configuration Real Interface (eth1) DNS Response Connected to General Nodes User Kernel DHCPv4 Process DNS Request Real Interface (eth0) Connected to the Internet Informations CYPHONIC domain’s DNS Packets Data Sequence Signaling Message General Node Configuration VIPCN CYPHONIC Resolver Packet Handling Signaling CYPHONIC Daemon Application data Signaling data Capsulated data CYPHONIC Packet src: RIP dst: RIP Adapter CN src: VIP dst: VIPCN GN 39
  35. ‹#› DNSパケットの処理 Signaling CYPHONIC Resolver Real I/F 0 Real I/F

    1 nameserver: Adapter General Node DNS Resolver General Doamin DNS Packet Data Sequence General domainʼs CYPHONIC domainʼs Local DNS Server CYPHONIC Domain インターネット 1. Real I/F 1 を介してDNSクエリを受信 2. Local DNSでドメインをフィルタリング ・⼀般ドメイン ・CYPHONICドメイン 3. DNSリクエストから相⼿ノードのFQDNを取得 4. Signaling Moduleにより仮想IPアドレスを取得 ︓Real I/F 0 からネットワークへ送信 ︓CYPHONIC Resolver Moduleへ転送 40
  36. ‹#› 認証処理および登録処理 ⼀般ノード情報を応答 Adapter AS ⼀般ノード情報を登録 ⼀般ノード情報を要求 GN DHCP要求 確認

    DHCP応答 Adapter Ready General Node Ready 接続 CYPHONICアダプタが 起動時に⼀般ノード情報を取得 管理している⼀般ノードの情報に 基づいて仮想IPアドレスを付与 → クラウドサービスに登録された 端末のみが通信が可能 GN : General Node AS : Authentication Service ⼀般ノードの情報を クラウドサービスに登録 ・仮想IPアドレス ・FQDN ・MACアドレス 41
  37. ‹#› 通信処理 GN Adapter CN NMS FQDNCN 通信要求 + 経路確⽴

    経路指⽰ + 仮想IPCN DNS Req. DNS Res. 仮想IPCN ARP Req. 仮想IPCN MAC Adapter Proxy ARP オーバーレイ ネットワーク通信 リンクレイヤー 通信 GN : General Node NMS : Node Management Service CN : Correspondent Node DNSリクエストを受信して NMSに通信開始要求を送信 DNSレスポンスを⽣成して 相⼿ノードの仮想IPアドレスを ⼀般ノードへ通知 リンクレイヤー通信によって ⼀般ノードからパケットを取得して オーバーレイネットワーク上で 相⼿ノードと通信 42
  38. ‹#› TCP/IP プロトコルスイート L7 (Application) アプリケーション, ユーザインターフェースなどによりデータを扱う L4 (Transport) データ伝送に伴うエラー訂正,

    再送制御などのフロー情報を管理 信頼性のないIPをサポートし, 宛先まで確実な送受信を実現する L3 (Network) 複数のネットワーク間でデータ伝送を⾏う L2 (Datalink) 直接接続されたネットワーク内で正確なデータ伝送を⾏う L1 (Physical) L2フレームをビット列, 電圧の⾼低などの信号情報に変換して伝送媒体に伝送 43
  39. ‹#› カプセル化・デカプセル化 各レイヤでPDU (Protocol Data Unit) を付加して送受信 44 Encapsulation Decapsulation

    01010001110110001010101011110010101010011101 L4 Header L7 Header App Data L2 Trailer L3 Header L2 Header L4 Header L7 Header App Data L3 Header L4 Header L7 Header App Data L7 Header App Data L7 Message L4 Segment L3 Packet L2 Frame L1 Bit (Signal) 01010001110110001010101011110010101010011101 L4 Header L7 Header App Data L2 Trailer L3 Header L2 Header L4 Header L7 Header App Data L3 Header L4 Header L7 Header App Data L7 Header App Data L7 Message L4 Segment L3 Packet L2 Frame L1 Bit (Signal) Network Media
  40. ‹#› 【付録】研究業績 Ren Goto, Taiki Yoshikawa, Hijiri Komura, Kazushige Matama,

    Chihiro Nishiwaki, and Katsuhiro Naito. "Design and Basic Evaluation of Virtual IPv4-based CYPHONIC adapter" The 13th IIIS International Multi-conference on Complexity, Informatics and Cybernetics (IMCIC), March 2022. DOI: N/A (Accepted) Taiki Yoshikawa, Hijiri Komura, Ren Goto, Kazushige Matama, Chihiro Nishiwaki, and Katsuhiro Naito. "Demonstration of video conferencing tool with overlay network protocol" The 19th IEEE Consumer Communications & Networking Conference (CCNC), January 2022. DOI: 10.1109/CCNC49033.2022.9700703. Taiki Yoshikawa, Hijiri Komura, Chihiro Nishiwaki, Ren Goto, Kazushige Matama, and Katsuhiro Naito. "Evaluation of new CYPHONIC: Overlay network protocol based on Go language" The 40th IEEE International Conference on Consumer Electronics (ICCE), January 2022. DOI: 10.1109/ICCE53296.2022.9730323. 45
  41. ‹#› 【付録】研究業績 後藤 廉, 吉川 ⼤貴, ⼩村 聖, 眞⽟ 和茂,

    内藤 克浩 "【2021年度学⽣奨励賞】仮想 IPv4 アドレスを想定した CYPHONIC アダプタの設計と基礎評価" Information Processing Society of Japan (IPSJ) - 第33回コンシューマ・デバイス&システム研究会 (CDS), January 2022. J-GLOBAL ID: 202202291942447619, Reference number: 22A0421754 ⻄脇 千紘, 吉川 ⼤貴, ⼩村 聖, 後藤 廉, 眞⽟ 和茂, 内藤 克浩 "iOS におけるアプリケーション内独⾃プロトコル実装に関する⼀検討" Institute of Electronics, Information and Communication Engineers (IEICE) - 令和三年度 電気・電⼦・情報関係 学会 東海⽀部連合⼤会, September 2021. J-GLOBAL ID: 202202266081463947, Reference number: 22A0608290 46