廣嵌廣州嵌入式Linux網絡程序設計就業班
課程描述
本課程是為學員快速了解嵌入式Linux網絡應用程序開發而設置的培訓課程。課程以項目實踐為主導,通過分組項目實踐使學員掌握在Linux下進行嵌入式Linux網絡程序的設計與開發的相關知識,并培養學員進行項目需求分析及軟件開發文檔的編寫能力,養成良好的協作開發的習慣。本課程的特點: 1.以嵌入式Linux應用開發為主,結合Linux內核網絡通信部分內容,適合具有C語言基礎的嵌入式系統開發學員; 2.小組項目開發管理使用svn等源碼管理工具,培養學員分布式開發,協同工作的團隊合作能力,以適應當前軟件開發的實際工作需要; 3.分組項目開發流程完全按照實際產品開發流程進行,要求學員從項目最初階段即嚴格遵守嵌入式軟件開發規范進行開發,培養良好的系統設計與文檔編寫習慣。
課程目標
使學員具備在Linux操作系統環境下進行網絡應用開發的基本技能,并了解如何編寫、調試嵌入式Linux的網絡應用程序,為進一步學習開發Linux網絡設備產品打下堅實基礎。
培訓對象
有志從事Linux網絡應用開發/嵌入式Linux網絡設備開發的工程師及學生
入學要求
C語言基礎;計算機原理及組成的基礎知識
授課講師
唐老師
課 時
72課時
開課時間
2008年11月22日
上課地點
廣州科學城彩頻路11號(廣東軟件科技園)D棟6樓
費 用
4800元
課程內容
*章 網絡基礎知識
網絡模型(OSI與TCP/IP)、 TCP/IP模型網絡編程接口
應用層協議、UDP協議、 TCP協議、 IP協議
ICMP協議、 IGMP協議
嵌入式系統的TCP/IP協議棧
項目內容:嵌入式Linux網絡流媒體服務器介紹
教學目的:了解計算機網絡模型
了解TCP/IP協議棧
建立網絡分層概念
課后作業:熟悉開發環境Debian/Linux的安裝和常用命令
熟悉各種開發工具的使用
了解市場上的具備流媒體廣播的嵌入式產品的功能
第二章 Linux網絡接口
網絡接口設備、 網絡設備數據結構
網絡設備的初始化、注冊網絡接口
網絡接口服務調用、數據封包的傳輸
項目內容:嵌入式Linux網絡流媒體服務器需求分析
教學目的:理解Linux內核中的網絡通信過程
了解Linux內核中與網絡相關的模塊及其配置選項
課后作業:編譯支持PPPoX的內核,并使用靜態IP/DHCP/PPPoE等連接模式進行網絡連接,分析各種網絡連接模式下數據封包在內核中的傳輸過程
根據項目分組完善項目需求分析文檔
第三章 Linux網絡套接字
套接字介紹
Linux套接字的數據結構、 Linux套接字的初始化
Linux套接字編程接口、 Linux特殊套接字(raw、netlink、routing)
項目內容:編寫嵌入式Linux流媒體廣播服務器軟件構架設計說明書(概要設計)
教學目的:理解Linux內核中套接字的實現方法
了解Linux網絡套接字編程的使用方法
課后作業:熟悉與Linux內核網絡套接字相關的編譯選項
構建一個可以進行網絡連接的最小Linux系統
根據項目分組完善軟件構架設計說明書
第四章 Linux的TCP/IP協議棧實現
Linux TCP/IP協議棧介紹、處理數據封包的黏合層
Linux TCP/IP協議棧的初始化
數據封包的隊列機制、多播數據包的處理
項目內容:編寫嵌入式Linux流媒體廣播服務器模塊設計說明書(詳細設計)
教學目的:理解Linux內核中TCP/IP協議棧的實現
理解Linux內核中數據封包處理框架netfilter的實現
理解Linux內核中oS的實現框架
課后作業:編譯支持netfilter以及oS的內核,并使用iptables和tc進行NAT/防火墻及流量控制等操作
移植vlc流媒體播放器
根據項目分組完善模塊設計說明書
第五章 Linux內存分配及套接字Buffer
Linux內存分配策略
Linux套接字Buffer及相關數據結構
Linux套接字Buffer的管理、嵌入式系統的實踐考慮
項目內容:編寫嵌入式Linux流媒體廣播程序設計說明書(詳細設計)
教學目的:理解Linux內核中影響網絡性能的因素
掌握Linux內核優化網絡傳輸的方法
課后作業:調整buffer獲取vlc*播放效果
通過tc進行oS控制改善vlc播放效果
完善程序設計說明書,補充用戶界面描述、模塊依賴關系圖
第六章 傳輸層編程-使用TCP收發數據
TCP套接字初始化、建立TCP連接
TCP數據傳輸、結束TCP連接
項目內容:編寫嵌入式Linux流媒體廣播服務器用戶界面設計說明書(詳細設計)
教學目的:掌握Linux網絡TCP應用編程基礎
理解TCP連接建立過程
課后作業:移植mini-httpd,為嵌入式Linux流媒體廣播服務器添加Web控制界面
通過學習mini-httpd,掌握機遇TCP的應用編程
完善用戶界面設計說明書,補充相應的CGI
第七章 傳輸層編程-使用UDP收發數據
UDP套接字初始化、UDP數據傳輸
客戶機/服務器模型、編寫測試計劃及測試報告
教學目的:掌握Linux網絡UDP應用編程基礎
理解UDP連接建立過程
課后作業:使用UDP實現一個動態IP地址通告服務的客戶端程序
使用UDP實現一個動態IP地址通告服務的服務器程序
完成嵌入式Linux流媒體廣播服務器的測試,填寫測試報告
第八章 網絡層輔助協議 ICMP、IGMP
路由理論、ICMP與ping 程序原理
多播與IGMP、編寫項目總結
教學目的:掌握Linux網絡路由知識;理解網絡響應參數的含義
理解單播、多播、廣播的含義
課后作業:使用ICMP偵測網絡通信質量
使用IGMP加入流媒體廣播服務器提供的服務組
完成項目總結
第九章 實踐項目
使用UDP實現一個動態IP地址通告服務的客戶端程序
使用UDP實現一個動態IP地址通告服務的服務器程序
實現一個簡單的ping程序 實現一個主機名字與IP地址查詢程序 實現IGRS協議框架(選做)