嵌入式应用程序设计综合教程 教学课件 ppt 作者 华清远见嵌入式学院 曾宏安 冯利美 第六章linux网络编程基础

上传人:E**** 文档编号:89495227 上传时间:2019-05-25 格式:PPTX 页数:93 大小:1.54MB
返回 下载 相关 举报
嵌入式应用程序设计综合教程 教学课件 ppt 作者  华清远见嵌入式学院 曾宏安 冯利美 第六章linux网络编程基础_第1页
第1页 / 共93页
嵌入式应用程序设计综合教程 教学课件 ppt 作者  华清远见嵌入式学院 曾宏安 冯利美 第六章linux网络编程基础_第2页
第2页 / 共93页
嵌入式应用程序设计综合教程 教学课件 ppt 作者  华清远见嵌入式学院 曾宏安 冯利美 第六章linux网络编程基础_第3页
第3页 / 共93页
嵌入式应用程序设计综合教程 教学课件 ppt 作者  华清远见嵌入式学院 曾宏安 冯利美 第六章linux网络编程基础_第4页
第4页 / 共93页
嵌入式应用程序设计综合教程 教学课件 ppt 作者  华清远见嵌入式学院 曾宏安 冯利美 第六章linux网络编程基础_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《嵌入式应用程序设计综合教程 教学课件 ppt 作者 华清远见嵌入式学院 曾宏安 冯利美 第六章linux网络编程基础》由会员分享,可在线阅读,更多相关《嵌入式应用程序设计综合教程 教学课件 ppt 作者 华清远见嵌入式学院 曾宏安 冯利美 第六章linux网络编程基础(93页珍藏版)》请在金锄头文库上搜索。

1、,Linux网络编程基础,www.embedu.org,主要内容,Internet与TCP/IP协议 Internet历史 OSI模型与TCP/IP协议体系结构 TCP/IP协议 TCP和UDP协议 TCP/IP网络程序设计 预备知识 TCP服务器/客户端 UDP服务器/客户端 I/O模型 服务器模型 广播和组播 UNIX域套接字,www.embedu.org,Internet与TCP/IP协议 Internet历史 OSI模型与TCP/IP协议体系结构 TCP/IP协议 TCP和UDP协议,www.embedu.org,Internet的历史,Internet“冷战”的产物 1957年10月

2、和11月,前苏联先后有两颗“Sputnik”卫星上天 1958年美国总统艾森豪威尔向美国国会提出建立DARPA (Defense Advanced Research Project Agency),即国防部高级研究计划署,简称ARPA 1968年6月DARPA提出“资源共享计算机网络” (Resource Sharing Computer Networks),目的在于让DARPA的所有电脑互连起来,这个网络就叫做ARPAnet,即“阿帕网”,是Interne的最早雏形,www.embedu.org,网络互联促成了TCP/IP协议的产生,早期的ARPAnet使用网络控制协议(Network Co

3、ntrol Protocol,NCP),不能互联不同类型的计算机和不同类型的操作系统,没有纠错功能 1973年由Kahn和Vinton Cerf两人合作为ARPAnet开发了新的互联协议。 1974年12月两人正式发表第一份TCP协议详细说明,但此协议在有数据包丢失时不能有效的纠正,www.embedu.org,网络互联促成了TCP/IP协议的产生,TCP协议分成了两个不同的协议: 用来检测网络传输中差错的传输控制协议TCP 专门负责对不同网络进行互联的互联网协议IP 从此,TCP/IP协议诞生 1983年ARPAnet上停止使用NCP,互联网上的主机全部使用TCP/IP协议。TCP/IP协议

4、成为Internet中的“世界语”,www.embedu.org,Internet与TCP/IP协议 Internet历史 OSI模型与TCP/IP协议体系结构 TCP/IP协议 TCP和UDP协议,www.embedu.org,网络的体系结构,网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。 每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务 网络体系结构即指网络的层次结构和每层所使用协议的集合 两类非常重要的体系结构:OSI与TCP/IP,www.embedu.org,OSI开放系统互联模型,OSI

5、模型相关的协议已经很少使用,但模型本身非常通用 OSI模型是一个理想化的模型,尚未有完整的实现 OSI模型共有七层(右图),www.embedu.org,OSI模型七层结构,通信 子网,面向通信,面向 服务,面向应用,应用程序:FTP、E-mail、Telnet,数据格式定义、数据转换/加密,建立通信进程的逻辑名字与物理名字之间的联系,差错处理/恢复,流量控制,提供可靠的数据传输,数据分组、路由选择,数据组成可发送、接收的帧,传输物理信号、接口、信号形式、速率,www.embedu.org,OSI七层结构,应用层,表示层,会话层,传输层,网络层,链路层,物理层,比特流,应用层,表示层,会话层,

6、传输层,网络层,链路层,物理层,www.embedu.org,TCP/IP协议族的体系结构,TCP/IP协议是Internet事实上的工业标准。 一共有四层,www.embedu.org,TCP/IP与OSI参考模型的对应关系,www.embedu.org,TCP/IP协议,www.embedu.org,Internet与TCP/IP协议 Internet历史 OSI模型与TCP/IP协议体系结构 TCP/IP协议 TCP和UDP协议,www.embedu.org,TCP/IP协议,TCP/IP协议 传输控制/网际协议(Transfer Control Protocol/Internet Pr

7、otocol) 又称作网络通讯协议 Internet国际互联网络的基础,RFC793 一组协议,通常称它为TCP/IP协议族 四个层次:网络接口层、网际层、传输层、应用层,www.embedu.org,TCP/IP协议族,常用协议 TCP(Transport Control Protocol)传输控制协议 IP(Internetworking Protocol)网间协议 UDP(User Datagram Protocol)用户数据报协议 ICMP(Internet Control Message Protocol)互联网控制信息协议 SMTP(Simple Mail Transfer Pro

8、tocol)简单邮件传输协议 SNMP(Simple Network manage Protocol)简单网络管理协议 HTTP(Hypertext Transfer Protocol) 超文本传输协议 FTP(File Transfer Protocol)文件传输协议 ARP(Address Resolution Protocol)地址解析协议,www.embedu.org,TCP/IP协议通信模型,www.embedu.org,数据的封装与传递过程,www.embedu.org,发送端:数据打包,Network,Application Buffer,TCP/UDP Header,IP He

9、ader,Ethernet Header,Application Buffer,TCP/UDP Header,IP Header,Application Buffer,TCP/UDP Header,Application Buffer,www.embedu.org,接收端:数据解包,Network,Application Buffer,TCP/UDP Header,IP Header,Ethernet Header,Application Buffer,TCP/UDP Header,IP Header,Application Buffer,TCP/UDP Header,Application

10、Buffer,www.embedu.org,TCP/IP结构,ftp,ping,telnet,mail,TCP,UDP,IP (+ICMP),Device Drivers,网线,应用层,传输层,网络层,物理层,Raw Socket,内核模式,Stream Socket,Stream Socket,Stream Socket,用户模式,www.embedu.org,TCP/IP协议下的数据包,Ethernet header,IP header,TCP header,App. header,User data,Ethernet trailer,14,20,20,46 - 1500,www.embe

11、du.org,Internet与TCP/IP协议 Internet历史 OSI模型与TCP/IP协议体系结构 TCP/IP协议 TCP和UDP协议,www.embedu.org,UDP和TCP,共同点:同为传输层协议 不同点: TCP:有连接,可靠 UDP:无连接,不保证可靠 MSN/QQ使用的传输层协议? DoS(拒绝式服务) 攻击?,www.embedu.org,TCP协议特点,TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信) 适用情况: 适合于对传输质量要求较高,以及传输大量数据的通信。 在需要可靠数据

12、传输的场合,通常使用TCP协议 MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议,www.embedu.org,TCP传输,www.embedu.org,UDP协议的特点,UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。 适用情况: 发送小尺寸数据(如对DNS服务器进行IP地址查询时) 在接收到数据,给出应答较困难的网络中使用UDP。(如:无线网络) 适合于广播/组播式通信中。 MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协

13、议 流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输,www.embedu.org,UDP传输,www.embedu.org,TCP/IP网络编程基础篇 预备知识 系统调用 TCP服务器/客户端 UDP服务器/客户端 常用网络调试工具介绍 服务器模型,www.embedu.org,TCP/IP网络编程预备知识,Socket IP地址 端口号 字节序,www.embedu.org,Socket 简介,1982 - Berkeley Software Distributions 操作系统引入了socket作为本地进程之间通信的接口 1986 - Berkele

14、y 扩展了socket 接口,使之支持UNIX 下的TCP/IP 通信 现在很多应用 (FTP, Telnet, etc) 都依赖这一接口,www.embedu.org,Socket 简介,Socket 是一个编程接口 是一种特殊的文件描述符 (everything in Unix is a file) 并不仅限于TCP/IP协议 面向连接 (Transmission Control Protocol - TCP/IP) 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX),www.embedu.org,

15、什么是Socket,独立于具体协议的网络编程接口 在OSI模型中,主要位于会话层和传输层之间 BSD Socket(伯克利套接字)是通过标准的UNIX文件描述符和其它程序通讯的一个方法,目前已经被广泛移植到各个平台。,www.embedu.org,Socket类型,流式套接字(SOCK_STREAM) 提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。 数据报套接字(SOCK_DGRAM) 提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能

16、乱序接收。 原始套接字(SOCK_RAW) 可以对较低层次协议如IP、ICMP直接访问。,www.embedu.org,Socket的位置,www.embedu.org,IP地址,IP地址是Internet中主机的标识 Internet中的主机要与别的机器通信必须具有一个IP地址 IP地址为32位(IPv4)或者128位(IPv6) 每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数。 IP地址分类 子网掩码,www.embedu.org,IP地址的转换,inet_aton() 将strptr所指的字符串转换成32位的网络字节序二进制值 #include int inet_aton(const char *strptr,struct in_addr *addrptr); inet_addr() 功能同上,返回转换后的地址。 in_addr_t inet_addr(c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号