TEL:092-822-1550 FAX:092-822-1565

システム要素技術講座 講座詳細

講座概要
講座名 MN12 「通信ネットワーク実習」
~ネットワークプログラミングを実習を通して習得する~
日数 2日 時間 14時間
通信(ネットワーク技術)
講座詳細

【ね ら い】
通信系組込みシステムでのネットワークプログラミングを、TCP/IPを中心に実習を通して習得する。

【対  象】
➢ MN11(基礎)を受講し内容を理解している方。
➢ 上記に相当する知識・技能(C言語、TCP/IPプロトコルの基礎)を有する方。
 ※ソフト開発実習をLinux環境上で行いますが、Linuxの経験は特に必要ありません。

【講義内容】

1章  TCP/IPプロトコルとプログラミング
  1. OSI参照モデルと実装
  2. ネットワークプログラミングの種類
  3. テキスト型とバイナリ型
  4. テキスト型プロトコルの例
  5. バイナリ型プロトコルの例
  6. 演習課題
2章  ソケットプログラミングの準備
  1. ソケットシステムコールの概要
  2. ソケット関連関数の概要
  3. ソケットで使われる構造体
  4. ドメイン名とIPアドレス
  5. gethostbynameを使ったプログラム
  6. 演習課題
3章  通信プログラムの例
  1. クライアントサーバモデル
  2. IPアドレスとポート番号
  3. TCPの通信プログラムの例
  4. UDPの通信プログラムの例
  5. ソケットシステムコールの処理の流れ
  6. 演習課題
4章  ソケットシステムコールの詳細
  1. socketとclose
  2. bindとconnect
  3. listenとaccept
  4. sendとsendto
  5. recvとrecvfrom
  6. 確認問題
  7. 演習課題
5章  ソケットとTCP/UDPの関係
  1. TCPの状態遷移
  2. TCPの状態遷移とシステムコール
  3. コネクションとコネクションレス
  4. バッファリング
  5. TCPのウィンドウと再送制御
  6. UDPのマルチキャスト・ブロードキャスト
  7. 確認問題
  8. 演習課題
6章  ネットワークプログラミングの注意点
  1. アラインメント
  2. バイトオーダー
  3. ブロッキングとノンブロッキング
  4. バッファーオーバラン
  5. タイムアウト処理
  6. シグナル
  7. ソケットのbindエラー
  8. 演習課題
7章  低レベルプログラミング
  1. RAWソケット
  2. RAWソケットを使ったプログラム
  3. SOCK_PACKETソケット
  4. PF_SOCKET/SOCKETを使ったプログラム
8章  多重化処理
  1. selectとpoll
  2. selectを使ったプログラム例
  3. pollを使ったプログラム例
  4. マルチプロセスとマルチスレッド
  5. マルチプロセス
  6. マルチプロセスを使ったプログラム例
  7. マルチスレッド(POSIX Thread)
  8. マルチスレッドを使ったプログラム例
9章  IPv6プログラミング
  1. IPv6とネットワークプログラミング
  2. IPv6のソケットで使われる構造体
  3. getaddrinfoとgetnameinfo
  4. IPv6プログラミングの例
10章  アプリケーションプロトコルプログラミング
  1. 簡易webサーバ
  2. 簡易電子メールクライアント
  3. 演習課題

次の講座へ >>