嵌入式Linux企业级应用与实践_3.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Linux企业级应用与实践_3

嵌入式Linux企业级 应用与实践 本章目标 3.1 Linux网络体系结构 3.1.1 TCP/IP网络简介 TCP/IP参考模型是计算机网络的始祖,它首先提出了网络分层的概念。它一共分为4层:网络接口层、互联网层、传输层和应用层,其参考模型如图 : 3.1 Linux网络体系结构 OSI参考模型与TCP/IP参考模型 3.1 Linux网络体系结构 OSI参考模型与TCP/IP参考模型对应关系 3.1 Linux网络体系结构 TCP/IP协议族 TCP/IP 实际上一个一起工作的通信家族,为网际数据通信提供通路。为讨论方便可将TCP/IP 协议组大体上分为三部分: 1.Internet 协议(IP) 2.传输控制协议(TCP)和用户数据报文协议(UDP) 3.处于TCP 和UDP 之上的一组协议专门开发的应用程序。它们包括:TELNET,文件传送协议(FTP),域名服务(DNS)和简单的邮件传送程序(SMTP)等许多协议。 3.1 Linux网络体系结构 网络层 第一部分也称为网络层。包括Internet 协议(IP)、网际控制报文协议(ICMP)和地址识别协议(ARP). Internet 协议(IP) 该协议被设计成互联分组交换通信网,以形成一个网际通信环境。它负责在源主机和目的地主机之间传输来自其较高层软件的称为数据报文的数据块,它在源和目的地之间提供非连接型传递服务。 网际控制报文协议(ICMP) 它实际上不是IP层部分,但直接同IP层一起工作,报告网络上的某些出错情况。允许网际路由器传输差错信息或测试报文。 地址识别协议(ARP) ARP 实际上不是网络层部分,它处于IP和数据链路层之间,它是在32位IP地址和48位局域网物理地址之间执行翻译的协议。 3.1 Linux网络体系结构 传输层 第二部分是传输层协议。包括传输控制协议和用户数据报文协议。 传输控制协议(TCP)。 由于IP 提供非连接型传递服务,因此TCP应为应用程序存取网络创造了条件,使用可靠的面向连接的传输层服务。该协议为建立网际上用户进程之间的对话负责。此外,还确保两个以上进程之间的可靠通信。它所提供的功能如下。 1.监听输入对话建立请求。 2.请求另一网络站点对话。 3.可靠的发送和接收数据。 4.适度的关闭对话。 3.1 Linux网络体系结构 传输层 用户数据报文协议(UDP) UDP 提供不可靠的非连接型传输层服务,它允许在源和目的地站点之间传送数据,而不必在传送数据之前建立对话。此外,该协议还不使用TCP使用的端对端差错校验。当使用UDP时,传输层功能全都发挥,而开销却比较低。它主要用于那些不要求TCP协议的非连接型的应用程序。例如,名字服务、网络管理、视频点播和网络会议等. 3.1 Linux网络体系结构 在TCP/IP模型中,上层功能的实现要依赖下层提供的服务,如在底层是以太网的TCP/IP网络体系体系中,IP分组的传送要封装在以太网帧中,而TCP/UDP包的传送又是封装在IP分组的data中实现的。 3.1 Linux网络体系结构 3.1.2 Linux中TCP/IP网络结构 Linux网络层次结构 3.1 Linux网络体系结构 Linux网络层次模型 3.2 Linux环境下的套接字编程 在Linux操作系统中,socket属于文件系统的一部分,网络 通信可以被看做是对文件的读取。这就使得用户对网络的控制像对文件的控制一样方便。 3.2.1 套接字接口 网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符,它也有类似于对文件操作的函数调用,如完成打开、读/写等操作。 在TCP/IP协议地址族中,按照提供服务的层次关系,套接字有BSD和INET之分。 3.2 Linux环境下的套接字编程 BSD套接宇接口 套接字接口(又简称套接口)是为方便开发人员进行TCP/IP程序开发,而为TCP/IP协议所开发的一组应用程序接口。由于它最早应用于伯克利大学的BSD UNIX中,所以人们又把它称为BSD socket(简称BSD)。 Linux BSD套接字支持下列套接字类型: Stream Stream(流)套接字提供可靠的双工顺序数据流,能保证传输过程中数据不丢失,不被弄混和复制。Internet地址中的TCP协议支持Stream套接字。 Datagram Datagram(数据报)套接字提供双工数据传输,但与Stream套接字不同,它是不可靠的,不保证信息的到达。 Raw 利用Raw套接字可以直接处理下层协议(所以叫“Raw”)。 3.2 Linux环境下的套接字编程 3.2.2 Socket编程基础 客户机

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档