嵌入式LINUX网络编程课件.ppt

嵌入式LINUX网络编程课件.ppt

ID:57116434

大小:178.00 KB

页数:28页

时间:2020-07-31

嵌入式LINUX网络编程课件.ppt_第1页
嵌入式LINUX网络编程课件.ppt_第2页
嵌入式LINUX网络编程课件.ppt_第3页
嵌入式LINUX网络编程课件.ppt_第4页
嵌入式LINUX网络编程课件.ppt_第5页
资源描述:

《嵌入式LINUX网络编程课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章 嵌入式LINUX网络编程§6.1TCP/IP协议概述§6.2网络基础编程7/30/20211ARM9嵌入式系统设计与开发教程1.OSI参考模型与TCP/IP参考模型OSI协议参考模型,它是基于国际标准化组织(ISO)的建议发展起来的。从上到下共分七层:应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。但这七层在实际中却没有得到广泛的应用,其重要的原因之一就在于它过于复杂。但它仍是此后很多协议的基础,这种分层架构的思想在很多领域都得到了广泛的应用。与此相区别的TCP/IP协议模型从一开始就遵循简单明确的设计思路,它将OSI的7层协议模型简化为4层

2、,从而更有利于实现和使用。TCP/IP的协议参考模型和OSI协议参考模型的对应关系如下图。6.1TCP/IP协议概述应用层表示层会话层传输层网络层数据链路层物理层应用层传输层网络层网络接口层网络接口层:负责将二进制流转换为数据帧,并进行数据帧的发送和接收。网络层:负责将数据帧封装成IP数据报,并运行必要的路由算法。传输层:负责端对端之间的通信会话连接与建立,传输协议的选择数据传输方式而定。物理层:负责应用程序的网络访问,这里通过端口号来识别各个不同的进程。2.TCP/IP协议族6.1TCP/IP协议概述各种应用层协议网络接口层(TELNET,FTP,SMTP等)

3、物理硬件运输层TCP,UDP应用层ICMPIPRARPARP与各种网络接口网际层IGMP3.TCP和UDP(1)TCPTCP的上层是应用层,因此,TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递。应用程序通过编程调用TCP并使用TCP服务,提供需要准备发送的数据,用来区分接收数据应用的目的地址和端口号。通常应用程序通过打开一个socket来使用TCP服务,TCP管理到其他socket的数据传递。可以说,通过IP的源/目的可以唯一地区分网络中两个设备的关联,通过socket的源/目的可以唯一地区分网络中两个应用程序的关联。三次握手协议:TCP对话通过三

4、次握手来初始化的。三次握手的目的是使数据段的发送和接收同步,告诉其他主机其一次可接收的数据量,并建立虚连接。三次握手的简单过程。初始化主机通过一个同步标志置位的数据段发出会话请求。接收主机通过发回具有以下项目的数据段表示回复:同步标志置位、即将发送的数据段的起始字节的顺序号、应答并带有将收到的下一个数据段的字节顺序号。请求主机再回送一个数据段,并带有确认顺序号和确认号。6.1TCP/IP协议概述(2)UDPUDP既用户数据报协议,它是一个无连接协议,因此不需要TCP那样通过三次握手来建立一个连接。同时,一个UDP应用可同时作为应用的客户或服务器方。由于UDP协议

5、并不需要建立一个明确的连接,因此建立UDP应用要比建立TCP应用简单得多。UDP协议从问世至今已被使用了很多年,它比TCP协议更为高效,也能更好的解决实时性问题。如今,包括网络视频会议系统在内的众多客户/服务器模式的网络应用都使用UDP协议。UDP数据包头:源地址、目的地址:16位长,标识出远端和本地的端口号。数据包的长度是指包括报头和数据部分在内的总的字节数。因为报头的长度是固定的,所以该域主要用来计算可变长度的数据部分。(3)协议的选择协议的选择应考虑以下3方面:对数据可靠性的要求对数据要求高可靠性的应用需选择TCP协议,如验证、密码字段的传送都是不允许出错

6、误的,而对数据可靠性要求不那么高的应用可选择UDP协议。应用的实时性由于TCP协议在传送过程中要求进行三次握手、重传确认等手段来保证数据传送的可靠性。使用TCP会有很大的时延,因此不适合对实时性要求较高的应用,如视频监控等。相反,UDP则在这些方面能发挥很好的应用。网络的可靠性由于TCP的提出主要是解决网络的可靠性问题,它通过各种机制来减少错误发生的概率。因此,在网络状况不是很好的情况下需选择TCP协议(如在广域网等情况),但是在网络状况很好的情况下(如局域网等)就不需要再采用TCP协议,选择UDP来减少网络负荷。6.1TCP/IP协议概述1.Socket概念(

7、1)socket定义在LINUX中网络编程是通过socket接口来进行的。Socket接口是一种特殊的I/O,它也是一种文件描述符。每一个socket都用一个半相关描述{协议,本地地址、本地端口}来表示;一个完整的套接字则用一个相关描述{协议,本地地址、本地端口、远程地址、远程端口}。Socket也有一个类似于打开文件的函数调用,该函数返回一个整型的socket描述符,随后的连接建立、数据传输等操作都是通过socket来实现的。(2)socket类型常用的socket有3种类型如下:流式socket(SOCK_STREAM)流式套接字提供可靠的、面向连接的通信流

8、;它使用TCP协议,从而

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。