本科论文--基于单片机的网络通讯协议研究及应用内容摘要:
0B 20B 4B 应用数据 应用数据 应用数据 Appl首部 以太网 驱动程序 以太网 首部 以太网 尾 部 应用数据 IP 首部 IP 首部 TCP 首部 TCP 首部 IP 报文段 TCP 报文段 以太网帧 TCP IP 以太网 四川理工学院本科毕业(设计)论文 8 当目的主机收到一个以太网数据帧是,数据就开始从协议战中由底向上传送, 与此 同时去掉报文首部 被 各层协议加 上 的。 每层协议盒都 会 检查报文首部中的协议标识,以确定接受数据的上层协议,这个过程称作分用 [10]。 图 32 显示这个如何过程如何发生的。 图 32 以太网数据帧的分用过程 协议层简介 网际层协议 网际协议是 TCP/IP 协议最重要的组成部分,是整个协议族的核心,主要负责网络层 IP 分组 的传输。 它位于网际层,为运输层提供服务,并从网络接入层请求服务。 IP 提供不可靠的、无连接的、尽最大努力交付的分组传输机制。 IP 提供了 3个重要定义 [11]: 1) IP 定义了数据传输所用的基本单元,及规定了传输的数据格式。 2) IP 规定了 IP 分组的路由机制。 3) 除了数据格式和路由机制以外, IP 还包括了一组体现不可靠分组交付思路的规则。 这些规则指明了主机和路由器应该如何处理 IP 分组、何时及如何发现错误信息以及在什么情况下可以放弃分组等等。 IP 是 TCP/IP 互联网设计里最基础的部分。 应用程序 应用程序 应用程序 应用程序 UDP TCP ICMP IGMP IP ARP RARP 以太网 驱动程序 进入的帧 以 TCP 或 UDP 首部端口号进行分用 以 IP 首部中的协议值进行分用 以以太网首部中的帧类型进行分用 基于单片机的 TCP/IP技术研究及应用 9 IP 地址分配 地址 计算机网络内的每台计算机必须具有唯一的身份标识符 [9]。 在 TCP/IP 协议簇中,这种标识符叫做 IP 地址。 IP 地址有两部分组成:网络号和主机号。 其中网络号标识一个物理的网络,同一个网络上所有主机需要同一个网络号,该号在互联网中是唯一的;而主机号确定网络中的一个工作端、服务器、路由器或其它TCP/IP 主机。 对于同一网络号而言,主机号是唯一的。 IP 地址有两种表示形式:二进制表示和点分十进制表示。 在 IPv4 中使用的IP 地址是 32 位的二进制地址。 但是为了是 32 位的二进制地址更简洁和便于 阅读,通常采用点分十进制。 在点分十进制中,每个 IP 地址的长度为 4 个字节,有 4 个 8 位域组成,称之为八为体。 八为体由句点 “.” 分开,来表示为一个 0~255之间的十进制书。 IP 地址的 4 个域分别标明了网络号和主机号。 目前,因网络大小不同, Inter 定义了 5 种 IP 地址类型: A 类、 B 类、 C类、 D 类、 E 类。 如表 所示。 表 IP 地址分类 地址类型 特征地址位 开始地址 结束地址 A 类 0B B 类 10B C 类 110B D 类 1110B E 类 1111B A 类地址:用于支持特大型的网络,最高位为 0,紧跟的 7 位表示网络号,其余 24 为表示主机号,总共允许有 126 个网络。 B 类地址:用于支持大型和中型网络。 最高两位总置于二进制的 10,允许有 16384 个网络。 C 类地 址:用于局域网。 高 3 位置为二进制 110,允许 2097152 个网络。 D 类地址:用于多路广播组用户。 高 4 位总置为 110,余下的为用于标明客户机所属的组 E 类地址 :E 类地址没有网络号和主机号之分,最高位置为 1111。 整个 E 类地址是一种不用的实验性地址。 四川理工学院本科毕业(设计)论文 10 地址解析协议 要想在网上实现通信,主机必须知道对方主机的硬件地址 [9]。 IP 地址编号只是一个逻辑地址,不是硬件地址。 在网络中传递的帧必须含有目的地址的硬件地址。 所以在进行底层数据传输的时候必须将 IP 地址转换为硬件地址,即介质访问控制地址。 ARP 协议就是将 IP 地址映射为硬件地址的过程。 1. ARP 缓存 ARP 在缓存中保存地址映射以备用。 ARP 缓存保存有动态和静态项。 动态是自动添加和删除的,静态项则是保留 Cache 中 直 至计算机重启。 2. 主机 IP 地址解析为硬件地址 ARPS 是使用映射表进行工作。 映射表指的是地址解析协议高速缓存。 (1) 当一台主机 须 要与另 一台 主机通信 时 ,初始化 ARP 请求。 当该 IP 断定IP 地址是本地 时 ,源主机 开始 在 ARP 缓存中 查找 目标主机的硬件地址。 (2) 如果找不到映射, ARP 建立一个请求,源主机 IP 地址和硬件地址都会包括 在请求中,这个请求通过广播,是所有本地主机都可以接受处理。 (3) 本地网上的每个主机都收到广播并寻找与之相符的 IP 地址。 (4) 当目标主机断定请求的 IP 地址自己相符时,会直接发送一个 ARP回复,将自己的硬件地址传给源主机。 让源主机的 IP 地址和硬件地址更新它的 ARP 缓存。 源主机收到回复后就建立起了通信。 3.解析远程 IP 地址 ARP 广播的源主机是缺省网关的。 目标 IP 地址如果是远程主机, ARP 将广播一个路由器的地址。 (1) 通信请求初始化 时 , 得 知目标 IP 地址为远程地址。 源主机将在本地路由表中查找,如 果没有找到,将认为是缺省网关的 IP 地址。 在 ARP 缓存中查找符合网关记录的 IP 地址。 (2) 如果没有找该网关记录, ARP 将广播请求网关地址不在是目标主机的地址。 路由用自己的硬件地址回应源主机的请求。 源主机则将数据报传送到路由器以传送到目标主机的网络,最终到达目标主机。 (3) 在路由器上,由 IP 决定目标 IP 地址是本地地址还是远程地址。 若是本地,路由器用 ARP 获得硬件地址。 远程的话,路哟器则在路由表中找该网关,然后通过 ARP 获得硬件地址。 数据报将直接发送下一个目标主机。 (4) 目标主机接收到请求后,形 成 ICMP 响应。 由于源主机在远程网上,将基于单片机的 TCP/IP技术研究及应用 11 在本地路由表找源主机网的网关。 找到网关后, ARP 就获得了它的硬件地址。 (5) 若该网关硬件地址不在 ARP 中,则通过 ARP 广播获得。 一旦获得硬件地址, ICMP 响应就传送到路由器上,后传到源主机。 IP 分片 /重组 正如上文 中描述的一样,物理网络层一般要限制每次发送帧的的最大长度。 任何时候 IP 层接受到一份要发送的 IP 数据报是,它要判断向本地哪个接口发送数据,并查询该接口获得其 ( MTU 最大运输单元也称最大数据长度 ) ,IP 把 MTU 跟数据报长度比较。 若 数据报长度大于 MTU 就需要分片。 IP 协议进行分段的原则就是, 一个较长的 IP 分组经过一个 MTU 值较小的物理网络时,会把长分组分割成较小的分组进行传输。 这个过程称为分片,每个分片包含一个分片首部,用来控制数据的分片和重组,它含有标识、标志和分片偏移 3 个字段 [12]。 把一份数据报分片以后,只有到达目的地后才进行重组。 重组是由目的端 IP层完成。 IP 首部中包含的数据分为分片和重组提供了足够的信息。 ICMP 协议 IP 协议不是一个可靠的协议,它不能保证数据被送达。 自然地为保证数据的送达应该由其它模 块来完成。 这个协议就是 ICMP 协议,经常被认为是 IP 层的一个组成部分 [13]。 所有的 IP 服务器和主机都支持这个协议。 当传送的 IP 数据包发生错误,如主机不可达,路由不可达等, ICMP 协议将会把错误信息封包,然后传送给主机,让主机处理错误。 为防止 ICMP 的无限产生和传送, ICMP 差错报文不会产生 ICMP 报文。 ICMP 协议提供的差错服务有以下: (1) 目的站不可达 当路由器无法转发或者交付 IP 分组时,就丢弃这个分组,然后向源站发回目的站不可达的报文。 (2) 超时 为避免循环路由,每个 IP 数 据报的 TTL 倒计时为 0 时,就丢弃该分组,同时向源站发送超时文本。 (3) 源站抑制 由于 IP 中没有流量控制机制,源站抑制报文为 IP 增加了流量控制的能力。 当路由或目的站因为拥塞丢弃分组时,它就向分组的源站发送抑制报文。 四川理工学院本科毕业(设计)论文 12 传输控制协议 TCP 连接和释放 TCP 是一种面向连接的、全手工的、可靠的数据流传输协议 [14]。 它在每一次数据传输前先要在通信双方建立一条连接。 TCP 中建立连接采用 3 次握手如图33 所示最简单情况下进行的连接。 图 33 连接建立三次握手示意图 步骤如下: 1. 客户端发送第一个报文段,即 SYN 段,这个 SYN 报文段为报文段 1。 SYN 标志置 1, ACK 标志置 0。 定义客户端打算建立连接的愿望。 2. 服务器如果同意连接则发回报文段 2,报文段 2 中 ACK 标志为 1, SYN标志为 1。 报文段 2 也称为 SYN+ACK 文段。 3。 这是一个确认报文段。 报文段中 ACK 标志为 1,SYN 标志为 0。 在这 3 个报文段的交换过程中,即 3 次握手过程完成连接。 在数据传输结束后,通信双方都可以发出释放连接请求。 一个 TCP 连接是全双工的,每个方向须要单独的进行关闭。 当双方没有数据发送时 就发送一个终止位 FIN。 TCP 连接释放需要 4 次握手,如图 34 所示 步骤如下: TCP 发送第一个报文段,即 FIN 报文段, FIN 标志置 1。 执行主动关闭。 TCP 发送第二个报文段,即 ACK 报文段,用以确认 FIN 报文段。 TCP 可以继续向客户端发送数据,当服务器没数据发送时,发送客户 发送 SYN SEQ =x 服务器 接收到 SYN 信号 发送 SYN+ACK SEQ=y,ACK=x+1 接收到 SYN+ACK 发送 ACK SEQ=x+1,ACK=y+1 接收到 ACK 时 间 基于单片机的 TCP/IP技术研究及应用 13 第三个报文段,即 FIN 报文段, FIN 标志置 1。 关闭数据传送。 TCP 发送第四个报文段,即 ACK 报文段,以确认服务器段 TCP 收到了 FIN 报文段。 TCP 对所有的报文采取一种简单的 格式,包括携带数据的报文,甚至确认和建立连接和释放连的消息。 TCP 用滑动窗口来实现流量控制机制,接收者用该字段告诉发送者还有多少缓冲空间可以用。 传送者一次发送的数量总小于可用缓冲去,则不会引起溢出。 当接收者处理完一定的数据后,便向发送者发送 ACK,指出缓冲区空间已增加。 发送者经确认及被告知窗口大小来决定发送数据的多少。 TCP 提供可靠的服务所使用的方法之一就是确认和重传。 图 34 TCP 连接释放的 4 次握手 用户数据报协议 UDP 也是 IP 之上的另外一个传输层协议。 UDP 与 TCP 不同,它是一个简单的面向数据报的运输层协议,它是一种无连接的传输层协议,它不提供可靠性的服务。 与 TCP 不同,它并不提供给 IP 协议可靠机制、流量控制及错误恢复等功能。 使用 UDP 数据服务的应用程序须自己提供可靠性。 另外, UDP 也不保证数据的传输顺序。 UDP 是轻权协议,开销小,因其简单,适用于不需要可靠机制的情形。 客户 (应用程序关闭连接) 发送 FIN,SEQ=x 接收到 ACK 不发送报文 收到 FIN 发送 ACK, ACK=y+2,SEQ=x+1 时间 服务器 接收到 FIN,发送 ACK ACK=x+1 (应用程序关闭 ) 发送 FIN ACK=x+1,SEQ=y+1 接收到 ACK 四川理工学院本科毕业(设计)论文 14 第 4 章 系统总体设计 在本系统的解决方案中,以 MCS51 系列的单片机为 CPU,负责 TCP/IP协议栈实现的主体工作。 以太网的接口芯片,负责收发以太数据包。 实现数据的远程传输。 在对数据的传输方式上选取电子邮 件的方式,就是在单片机上实现的电子邮件发送功能,也就实现了对数据的远程传输。 系统在单片机上实现嵌入式TCP/IP 协议的方式上,选用 “ 单片机 +以太网网卡 ” 方案实现,此种方案充分利用现有资源,节约成本,适合小系统的开发。 硬件 总体功能结构 设计 完整的 TCP/IP协议是由许多个协议组成的协议簇 , 其功能强大 , 结构复杂 ,占用系统资源较大。 目前嵌入式系统按性能可大致分为两种: RTOS+高档 3。本科论文--基于单片机的网络通讯协议研究及应用
相关推荐
水文 境内十里河属嘉陵江水系的支流,全长 ,枯流量 225m3/s,最大流量1240m3/s。 地质环境 地层岩性 区域主要出露地层 有 全新统( Q4)粉质粘土 , 上泥盆统星红铺组( D3χ)千枚岩,从新到老为分别为: 1)全新统( Q4) 粉质粘土 :主要为第四系滑坡堆积 物组成,主要分布在山前缓坡地带。 2)上泥盆统星红铺组( D3χ)千枚岩: 千枚状构造, 产状 260186。 ∠
t source, ServerValidateEventArgs args)//判断用户名是否有重名 { string ArchName = ()。 if ((select count(*) from userinfo where [username]=39。 + ArchName + 39。 )) = false。 else = true。 } } 管理中心 登录界面( ) 功能简介
Guangzhou Universal Pioneering Technology Co.,LTD. 7 行项目设计; ● 引导学生创造性思考,完成项目设计; ● 指导学生实践动手,由浅入深地逐步完成项目的各个方面:画图、组装、接线、编程、调试; ● 通过这个过程训练学生的实际工程实践能力。 ( 三 )、 项目总结和报告(通常 34课时) 本
...................................................................... 121 六、工程文件归档范围 ..................................................................................... 121 七、归档文件质量要求 ............
第七节井巷支护 井巷支护形式应根据矿岩的工程地质条件,并结合现场实际情况, 经设计确定。 井巷支护必须严格按设计施工。 井巷支护采用混凝土和钢筋混凝土支护时,应遵守〈〈钢筋混凝土工程施工及验收规范〉〉( GBJ20483)的有关规定。 采用型钢和木材支护时,应分别进行防锈和防腐处理。 采用锚杆喷射混凝土支护时,应遵守国家基本建设委员会批准的〈〈锚杆喷射混凝土支护设计施工规定〉〉的有关规定。