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