与传输控制协议(TCP)不同,UDP并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等。由于 UDP 比较简单,UDP 头包含很少的字节,比 TCP 负载消耗少。
UDP适用于不需要TCP可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。UDP是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)以及简单文件传输系统(TFTP)。
图2.2 UDP数据包结构
2.2.2 ARP协议概述
我们知道在以太网络中数据包以数据帧的格式进行传送,并且也是按照数据帧中的物理地址(MAC)来发送和接收。而在实际应用中,应用程序只关心网络上层协议的IP地址。网络层传送都是以IP地址为目标和源。以下介绍如何通过IP地址获得物理MAC地址并将其两者相互绑定的地址解析协议(ARP)协议。
地址解析协议(ARP)是用来实现IP地址到本地网络的物理地址(以太网 MAC 地址)之间的映射。例如,在第四版IP协议中,IP地址长为32位。然而在以太局域网络中,设备地址长为48位。有一张表格,通常称为ARP 缓冲(ARP cache),以此来文护每个MAC 地址与其相应的IP地址之间的对应关系。ARP 提供一种形成该对应关系的规则以及提供双向地址转换。
在实际的应用过程中,需要获得于IP地址相对应的物理MAC地址就需要源机发送ARP请求。这种请求是以广播的形式发送。当接收到ARP广播包目的机与其中的IP地址相一致时就发送ARP应答包(包含了本机MAC地址)给发送请求的源机。这样就完成了一次ARP请求和应答,也就将相应IP和MAC对应起来。
当获得MAC后就将IP和MAC对应存储起来,这个就是arpcache。对于arpcache有很多的经营策略以保证存储的IP和MAC都是有效的。其中包括定时机制:即一旦时间上超过一定间隔就抛弃原来存储内容,需要发送对应的IP地址目的机时也不能从arpcache中直接读取而是需要重新发送ARP请求来获得新的物MAC地址。通过这种办法将IP和MAC出错的几率降到最低。
图2.3 ARP数据包结构
硬件类型指明发送方想知道的硬件接口类型。对以太网,值为1;
协议类型指明发送方提供的高层协议地址类型。对TCP/IP互联网,采用IP地址,值为十优尔机制的0806;
操作指明ARP的操作类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。在以太网环境下的ARP报文,硬件地址为48位(6个八位组)。
2.2.3 IP协议概述
网际协议(IP)是一个网络层协议,它包含寻址信息和控制信息,可使数据包在网络中路由。IP协议是 TCP/IP 协议族中的主要网络层协议,与TCP协议结合组成整个因特网协议的核心协议。 IP 协议同样都适用于局域网(LAN)和广域网(WAN)通信。
IP 协议有两个基本任务:提供无连接的和最有效的数据包传送,提供数据包的分割及重组以支持不同最大传输单元大小的数据连接。对于互联网络中IP数据报的路由选择处理,有一套完善的IP寻址方式。每一个IP地址都有其特定的组成,但同时遵循基本格式。 IP地址可以进行细分并可用于建立子网地址。TCP/IP 网络中的每台计算机都被分配了一个唯一的32位逻辑地址,这个地址分为两个主要部分:网络号和主机号。网络号用以确认网络,如果该网络是因特网的一部分,其网络号必须由国际互联网络信息中心(InterNIC)统一分配。一个网络服务器供应商(ISP)可以从 InterNIC 那里获得一块网络地址,按照需要自己分配地址空间。主机号确认网络中的主机,它由本地网络管理员分配。 基于FPGA的以太网接口设计+文献综述(4):http://www.youerw.com/tongxin/lunwen_5996.html