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