嵌入式Linux操作系统第6章

嵌入式Linux操作系统第6章

ID:45077452

大小:1016.00 KB

页数:72页

时间:2019-11-09

嵌入式Linux操作系统第6章_第1页
嵌入式Linux操作系统第6章_第2页
嵌入式Linux操作系统第6章_第3页
嵌入式Linux操作系统第6章_第4页
嵌入式Linux操作系统第6章_第5页
资源描述:

《嵌入式Linux操作系统第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式linux网络编程内容提要:6.1网络协议概述6.2网路编程基础6.3TCP通信编程6.4UDP通信编程2021/7/1626.1网络协议概述6.1.1网络协议参考模型6.1.2TCP/IP协议族6.1.3TCP和UDP2021/7/1636.1.1网络协议参考模型国际标准组织(ISO)制定了OSI模型,它分为7个层次:应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。1至4层被认为是底层,这些层与数据移动密切相关。5至7层是高层,包含应用程序级的数据。每一层负责一项具体的工作,然后把数据传送到下一层。2021/7/164TCP/IP协议则将OSI的7层模型简化为了4层2

2、021/7/165网络接口层:负责将二进制流转换为数据帧,并进行数据帧的发送和接收。数据帧是网络信息传输的基本单元。网络层:负责将数据帧封装成IP数据报,同时负责选择数据报的路径,即路由。传输层:负责端到端之间的通信会话连接与建立。传输协议的选择根据数据传输方式而定。应用层:负责应用程序的网络访问,这里通过端口号来识别各个不同的进程。2021/7/1666.1.2TCP/IP协议族TCP/IP协议实际是一个协议族,为网际数据通信提供不同层次的通路。可将TCP/IP协议族上分为三部分网络层、传输层协议、应用程序2021/7/167第一部分也称为网络层。主要包括Internet协议(IP)、

3、网际控制报文协议(ICMP)和地址识别协议(ARP)。Internet协议(IP):该协议被设计成互联分组交换通信网,以形成一个网际通信环境,它负责在源主机和目的地主机之间传输来自其较高层软件的称为数据报文的数据块,它在源和目的地之间提供非连接型传递服务。网际控制报文协议(ICMP):它实际上不是IP层部分,但直接同IP层一起工作,报告网络上的某些出错情况。允许网际路由器传输差错信息或测试报文。地址识别协议(ARP):ARP实际上不是网络层部分,它处于IP和数据链路层之间,它是在32位IP地址和48位局域网地址之间执行翻译的协议。2021/7/168第二部分是传输层协议。主要包括传输控制

4、协议和用户数据报文协议。传输控制协议(TCP):由于IP提供非连接型传递服务,因此TCP应为应用程序存取网络创造了条件,使用可靠的面向连接的传输层服务。该协议为建立网际上用户进程之间的对话负责。此外,还确保两个以上进程之间的可靠通信。它所提供的功能包括:监听输入对话建立请求、请求另一网络站点对话、可靠的发送和接收数据和适度的关闭对话。用户数据报文协议(UDP):UDP提供不可靠的非连接型传输层服务,它允许在源和目的地站点之间传送数据,而不必在传送数据之前建立对话。此外,该协议还不使用TCP使用的端对端差错校验。当使用UDP时,传输层功能全都发回,而开销却比较低。它主要用于那些不要求TCP

5、协议的非连接型的应用程序。例如,名字服务和网络管理。第三部分是应用程序部分。这部分包括Telnet,文件传送协议(FTP和TFTP),简单的文件传送协议(SMTP)和域名服务(DNS)等协议。2021/7/1696.1.3TCP和UDP1.TCP协议TCP协议处于传输层,实现了从一个应用程序到另一个应用程序的数据传递。应用程序通过目的地址和端口号来区分接收数据的不同应用程序。(1)TCP数据包格式2021/7/16102021/7/1611源端口和目的端口字段:各占2字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。序号字段:占4字节。TCP连接中传送的数

6、据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。确认号字段:占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。HLEN字段:占4bit,它指出首部长度,单位为32bit字(4字节)。正常的TCP首部长度是20字节。2021/7/16126个标志字段:占6bit。紧急比特URG:当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。确认比特ACK:只有当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。推送比特PSH(PuSH):接收TCP收到推送比特置1的报文段,就尽快

7、地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。复位比特RST(ReSeT):当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。同步比特SYN:同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。终止比特FIN(FINal):用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。2021/7/1613窗口字段:占

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

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

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