TCP_IP协议的零拷贝和简化实现

合集下载

TCPIP协议的工作原理和应用

TCPIP协议的工作原理和应用

TCPIP协议的工作原理和应用引言:TCPIP协议是计算机网络中最常用的协议之一,它负责实现互联网中的数据传输和通信。

本文将详细介绍TCPIP协议的工作原理和应用。

一、TCPIP协议的概述TCPIP协议是指互联网协议套件(Transmission ControlProtocol/Internet Protocol),由两个独立的协议构成,分别是TCP和IP。

TCP负责提供可靠的数据传输机制,而IP则负责寻址和路由。

1. TCP协议:TCP协议是传输层协议,提供了可靠的数据传输机制。

它通过采用三次握手的方式建立连接,确保数据传输的可靠性。

TCP协议采用滑动窗口和拥塞控制机制来优化网络性能,并能够实现数据分段和重组,确保数据的完整性和顺序性。

2. IP协议:IP协议是网络层协议,负责寻址和路由。

它定义了一套统一的地址分配规则,即IP地址,用于标识网络中的主机。

IP协议将数据分为若干个数据包(也称为IP数据报),并通过路由器将数据包从源主机传输到目标主机。

二、TCPIP协议的工作原理TCPIP协议的工作原理可以分为以下几个步骤:1. 封装与解封装:在发送端,应用层将数据封装为TCP段,再将TCP段封装为IP数据包。

在每一层的头部都会添加相应的控制信息,如源IP地址、目标IP地址、端口号等。

在接收端,相反的过程会发生,即解封装。

每一层的接收端会根据头部的信息判断当前层所需的数据,并且去除控制信息。

2. 路由和寻址:在发送端主机上,IP协议根据目标IP地址和路由表判断出下一个跳转点的IP地址。

经过一系列的路由选择,最终到达目标主机。

每一个路由器都具有路由表,用于指导数据的传输路径。

3. 传输可靠性:TCP协议通过建立连接、数据的分段和重组、滑动窗口、流量控制、拥塞控制等机制,保证了数据传输的可靠性。

通过三次握手的方式建立连接,确保通信双方的同步;通过数据的分段和重组,保证了大数据量的传输;通过滑动窗口和流量控制,确保了数据的流畅传输。

TCPIP协议的原理与实现

TCPIP协议的原理与实现

TCPIP协议的原理与实现TCP/IP协议的原理与实现TCP/IP协议是互联网最基础、最重要的协议之一,它是一种面向连接、可靠的网络传输协议。

本文将从TCP/IP协议的基本原理、网络层次结构和实现方式等方面进行详细介绍。

一、TCP/IP协议的基本原理TCP/IP协议是由传输控制协议(TCP)和网络互联协议(IP)组成的,它们共同工作,实现了数据在网络中的传输和路由。

TCP/IP协议主要包括以下几个方面的原理:1. 分层结构:TCP/IP协议采用分层结构,将网络通信划分为不同的层次,每个层次负责不同的功能,并且层与层之间通过协议进行通信和数据传输。

分层结构包括物理层、数据链路层、网络层、传输层和应用层。

2. IP协议:IP协议是TCP/IP协议的核心,它负责将数据包传输到目标地址。

IP协议采用的是无连接的方式,它不保证数据的可靠性和顺序性,只是负责将数据包从源地址发送到目标地址,并通过IP地址和子网掩码进行路由选择。

3. TCP协议:TCP协议是建立在IP协议之上的传输层协议,它提供了可靠的数据传输服务。

TCP协议使用三次握手建立连接,在传输数据之前先建立源和目标之间的通信信道。

TCP协议负责数据的分割、传输和重组,保证数据的可靠性和顺序性。

4. 端口和套接字:TCP/IP协议中的应用层通过端口和套接字进行通信。

端口是一个虚拟的地址,用于标识应用程序,套接字是应用程序和网络通信之间的接口。

通过端口和套接字的配对,应用程序之间可以建立连接并进行数据传输。

二、TCP/IP协议的网络层次结构TCP/IP网络层次结构是一种分层结构,它包括物理层、数据链路层、网络层、传输层和应用层。

每个层次都有特定的功能和协议,通过层次之间的协作,实现了数据的传输和网络通信。

1. 物理层:物理层是TCP/IP协议的底层,它负责处理物理媒介和电信号传输。

物理层的主要任务是将比特流转换为电信号,并进行传输和接收。

2. 数据链路层:数据链路层负责将数据包封装为帧并进行传输。

TCPIP协议族的体系结构数据格式及传输过程

TCPIP协议族的体系结构数据格式及传输过程

TCPIP协议族的体系结构数据格式及传输过程TCP/IP协议族描述了网络通信的基本原理和标准化规范,是互联网的核心协议。

它由两个重要的协议组成:TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol,互联网协议)。

TCP/IP协议族的体系结构:TCP/IP协议族采用分层的体系结构,分为四个层次:网络接口层(Network Interface Layer)、互联网层(Internet Layer)、传输层(Transport Layer)和应用层(Application Layer)。

1. 网络接口层(Network Interface Layer):负责在网络传输介质上发送和接收数据包。

它包含了物理连接的相关规范和数据链路层协议。

2. 互联网层(Internet Layer):负责在网络中寻址和路由数据包。

它的核心协议是IP(Internet Protocol),IP协议定义了数据包在网络中的传输规则和地址分配规则。

3. 传输层(Transport Layer):负责将数据可靠地传输到每个应用程序。

其中最重要的协议是TCP(Transmission Control Protocol),TCP提供了面向连接的、可靠的数据传输服务。

此外,还有UDP(User Datagram Protocol,用户数据报协议),它提供了无连接的、不可靠的数据传输服务。

4. 应用层(Application Layer):提供了各种常见的应用程序协议,如HTTP(Hypertext Transfer Protocol,超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)等。

应用层协议通过TCP或UDP与传输层进行通信。

TCP/IP协议族的数据格式:TCP/IP协议族中的数据包称为"分组",即数据包被分割为多个较小的部分进行传输。

tcp ip协议详解

tcp ip协议详解

tcp ip协议详解协议名称:TCP/IP协议详解一、引言TCP/IP协议是互联网上最常用的协议之一,它是一种面向连接的协议,用于在网络上可靠地传输数据。

本协议详解旨在提供对TCP/IP协议的全面理解,包括协议的结构、功能和工作原理。

二、协议概述TCP/IP协议是一个由多个协议组成的协议簇,其中主要包括传输控制协议(TCP)和因特网协议(IP)。

TCP负责数据的可靠传输,而IP则负责数据的路由和分组传输。

TCP/IP协议通过将数据分割为多个数据包,并通过互联网将这些数据包从源地址传输到目的地址,实现了全球范围内的数据传输。

三、协议结构1. TCP/IP协议分为四个层次:网络接口层、网络层、传输层和应用层。

- 网络接口层负责将数据包从物理层传输到网络层,包括以太网、无线网络等。

- 网络层负责数据包的路由和分组传输,其中IP协议是网络层的核心协议。

- 传输层负责数据的可靠传输,其中TCP协议是传输层的核心协议。

- 应用层负责应用程序之间的数据传输,包括HTTP、FTP等协议。

2. TCP/IP协议采用分层的设计结构,使得各层之间的功能相互独立,易于扩展和维护。

四、协议功能1. IP协议的功能:- 路由选择:根据网络拓扑和路由表,选择最佳路径将数据包传输到目的地址。

- 分组传输:将数据分割为多个数据包,并在网络中传输。

- 地址分配:为设备分配唯一的IP地址,以便在互联网上进行通信。

2. TCP协议的功能:- 可靠传输:通过使用序号、确认和重传机制,确保数据的可靠传输。

- 流量控制:通过滑动窗口机制,控制发送方的发送速率,避免数据的丢失和拥塞。

- 拥塞控制:通过使用拥塞窗口和拥塞避免算法,控制网络的拥塞程度,保证网络的稳定性和可靠性。

五、协议工作原理1. IP协议的工作原理:- 数据包封装:将数据包封装为IP数据报,并添加源IP地址和目的IP地址。

- 路由选择:根据目的IP地址,通过查找路由表选择最佳路径传输数据包。

tcp ip协议详解

tcp ip协议详解

tcp ip协议详解协议名称:TCP/IP协议详解一、介绍TCP/IP协议是一种网络通信协议,它是互联网的基础协议,用于在网络中传输数据。

本协议旨在详细解释TCP/IP协议的工作原理、数据传输过程和相关概念。

二、TCP/IP协议的组成1. TCP(传输控制协议)- 描述:TCP是一种面向连接的协议,提供可靠的数据传输和错误检测机制。

- 功能:- 分割和重组数据流- 确保数据按顺序传输- 提供可靠的错误检测和纠正- 运行方式:三次握手建立连接,四次挥手断开连接。

2. IP(互联网协议)- 描述:IP是一种无连接的协议,负责将数据包从源主机发送到目标主机。

- 功能:- 将数据分割为数据包并添加源和目标地址- 路由选择:选择最佳路径将数据包传输到目标主机- 版本:IPv4和IPv6三、TCP/IP协议的工作原理1. 数据传输过程- TCP层:- 将数据分割为适当的数据块(称为段)- 添加TCP头部,包含源端口、目标端口和序列号等信息- 发送段到网络层- IP层:- 将TCP段封装为数据包(称为IP数据报)- 添加IP头部,包含源IP地址和目标IP地址等信息- 发送数据包到网络- 网络层:- 通过路由选择算法选择最佳路径- 将数据包传输到目标主机- 目标主机接收到数据包后,按照相反的顺序进行解封装,将数据包逐层传递到应用层。

2. 概念解释- 端口:用于标识应用程序或服务的数字,范围从0到65535。

- IP地址:用于标识网络中的设备,IPv4地址由32位二进制数组成,IPv6地址由128位二进制数组成。

- 数据包:在网络中传输的数据单元,包含数据和控制信息。

- 路由选择:选择传输数据包的最佳路径的过程。

- 三次握手:建立TCP连接的过程,包括客户端发送连接请求、服务器确认请求和客户端确认连接。

- 四次挥手:断开TCP连接的过程,包括客户端发送断开请求、服务器确认请求、服务器发送断开通知和客户端确认断开。

tcpcopy原理

tcpcopy原理

tcpcopy原理介绍在网络传输过程中,TCP协议是一种常用的传输协议。

tcpcopy是一种网络工具,它可以在服务端和客户端之间复制TCP连接,实现将一个客户端的数据转发给多个服务端的功能。

本文将介绍tcpcopy的原理,包括其工作原理、使用场景和实现方式等。

工作原理tcpcopy通过拦截和复制客户端和服务端之间的TCP连接,实现将一个客户端的请求复制到多个服务端上。

具体的工作原理如下:1.tcpcopy首先要获取需要复制的连接。

用户可以通过配置文件或命令行参数来指定需要复制的源IP地址、源端口号和目标IP地址、目标端口号。

2.当一个客户端发起连接请求时,tcpcopy会拦截到这个连接请求,并根据配置的源IP地址和源端口号进行匹配。

3.当匹配成功后,tcpcopy会创建一个新的连接,并将这个连接的目标设为配置的目标IP地址和目标端口号。

4.当源连接收到数据时,tcpcopy会将数据复制到所有的目标连接上。

5.当目标连接收到数据后,tcpcopy会将数据发送给真正的服务端。

6.当服务端返回数据时,tcpcopy会将数据复制到所有的源连接上,实现将服务端的响应原样返回给客户端。

使用场景tcpcopy的使用场景主要包括以下几个方面:1.测试负载均衡:tcpcopy可以模拟多个客户端同时发送请求给负载均衡服务器,以测试负载均衡的性能和稳定性。

2.降低系统压力:通过将客户端的请求复制到多个服务端,可以分担单个服务端的压力,提高系统的吞吐量。

3.数据分析和处理:通过复制客户端的请求数据,可以进行数据的集中分析和处理,例如统计用户行为、用户画像和业务指标等。

4.系统维护和故障排查:在系统维护和故障排查过程中,可以使用tcpcopy复制客户端的请求,以保持业务的连续性,并分析和定位问题。

实现方式tcpcopy的实现方式可以分为以下几个步骤:1.获取原始数据包:tcpcopy通过抓取网卡上的原始数据包来获取客户端和服务端之间的TCP连接。

tcp ip协议详解

tcp ip协议详解

tcp ip协议详解协议名称:TCP/IP协议详解一、引言TCP/IP协议是互联网中最常用的协议之一,它是一种面向连接的协议,用于在网络中传输数据。

本协议详解旨在深入探讨TCP/IP协议的工作原理、组成部分以及相关的概念和技术。

二、协议概述1. TCP/IP协议的定义:TCP/IP协议是一种基于分组交换的网络协议,由传输控制协议(TCP)和互联网协议(IP)组成。

2. TCP/IP协议的作用:TCP/IP协议用于在网络中建立可靠的连接,确保数据的正确传输,并实现网络中的路由和寻址功能。

三、TCP/IP协议的组成部分1. 互联网层a. IP协议:负责网络中的寻址和路由功能,将数据包从源地址传输到目标地址。

b. ICMP协议:用于网络中的错误报告和网络状况的探测。

c. ARP协议:用于将IP地址转换为物理地址。

2. 传输层a. TCP协议:提供面向连接的可靠数据传输,通过三次握手建立连接,通过四次挥手关闭连接。

b. UDP协议:提供无连接的不可靠数据传输,适用于实时性要求高的应用。

3. 网络层a. IP协议:负责将数据包从源地址传输到目标地址,实现数据包的分组和重组。

b. ICMP协议:用于网络中的错误报告和网络状况的探测。

c. ARP协议:用于将IP地址转换为物理地址。

4. 链路层a. 以太网协议:用于在物理网络中传输数据包。

b. PPP协议:用于在拨号网络中传输数据包。

四、TCP/IP协议的工作原理1. TCP/IP协议的连接建立过程:a. 客户端向服务器发送连接请求(SYN包)。

b. 服务器收到请求后,回复确认连接(SYN-ACK包)。

c. 客户端收到确认后,再次回复确认连接(ACK包)。

d. 连接建立成功,双方开始传输数据。

2. TCP/IP协议的数据传输过程:a. 数据被分割成小的数据包,并加上序列号和校验和。

b. 数据包通过网络传输到目标地址。

c. 目标地址收到数据包后,根据序列号进行排序和重组。

LWIP中零拷贝技术的研究与应用

LWIP中零拷贝技术的研究与应用

LWIP中零拷贝技术的研究与应用赵成青;李宥谋;刘永斌;王涛【摘要】LWIP是一种轻量级的TCP/IP协议栈.在运行过程中占用少量的资源,主要应用在低端的嵌入式系统.文中从物理层到应用层,分三个层次分析了LWIP协议栈的数据传递过程.分别是物理层到协议栈内部的数据传递过程、协议栈内部本身的数据传递过程、协议栈和外部应用程序数据的传递过程.而数据在协议栈内部传递时,通过pbuf缓冲包在各层之间传递数据包的地址指针已经实现了数据在协议栈内部各层之间的零拷贝传递.提出了在物理网卡和LWIP协议栈传递数据、外部应用程序和LWIP协议栈传递数据时的改进方法,避免了数据的两次拷贝,从而实现了数据从物理层直达应用层,提高了系统的传输效率和并发性能.测试结果表明,数据传输速率从未优化的2.04 MB/s提升到9.8 MB/s,已接近网卡性能极限.【期刊名称】《计算机技术与发展》【年(卷),期】2018(028)007【总页数】5页(P182-186)【关键词】分层;内存映射;指针传递;零拷贝;IPC方式【作者】赵成青;李宥谋;刘永斌;王涛【作者单位】西安邮电大学,陕西西安 710000;西安邮电大学,陕西西安 710000;西安邮电大学,陕西西安 710000;西安邮电大学,陕西西安 710000【正文语种】中文【中图分类】TP2160 引言LWIP是瑞典计算机科学院(SICS)的Adam Dunkels开发的用于嵌入式系统的开源TCP/IP协议栈[1]。

LWIP的含义是轻量级的TCP/IP协议,专注于减少资源消耗。

嵌入式网络传输系统由于成本资源的限制,往往采用简化的TCP/IP协议。

文中通过研究、分析常用的嵌入式网络协议栈LWIP的结构,在物理层和应用层提出了提高系统传输效率的改进方法。

在小型嵌入式系统中,LWIP的实现基于上层协议已明确知道下层协议所使用的数据结构的特点[2]。

它会假设各层间的部分数据结构和实现原理在其他层是可见的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘 要:对嵌入式数据采集系统与 PC 间通过以太网的数据通讯进行了研究。这类嵌入式系统与 PC 配置于同一网
段,数据包的大小比较固定,但是要求传输速度快,系统资源占用率小。通过在网卡驱动程度程序中直接使用简化的
MBUF 结构,实现了发送和接收数据的零拷贝,减少了 CPU 占用率。通过简化 IP 层协议和实现其它协议层中最基本
struct pcb{ //for TCP Uint16 fsm;//表示连接的状态,具体参见图 3。 pMbuf pRcvBuf;//接受到的数据的链表头部 pMbuf pSndBuf;//已经发送但还没有收到正确 回答的链表 Uint16 fPort;//端口号 Uint16 lPort; Uint32 fAddr;//IP 地址 Uint32 lAddr; Uint16 fmacAddr0;//MAC 地址 Uint16 fmacAddr1; Uint16 fmacAddr2; Uint16 lmacAddr0; Uint16 lmacAddr1; Uint16 lmacAddr2; //below are used in TCP level Uint32 seqNum;//sequence number Uint32 ackNum;//acknowledgement number Uint16 rcvWinSize;//receive window size Uint16 timeOut;//超时重发 } 结构成员 fsm 表示了 TCP 连接所处的几种不 同的状态,状态变迁简图如图 3 所示。 3.3 PCB 的使用 应用系统为 TCP 协议控制块( PCB)定义一个全 局变量。初始化时候设置本地 IP 地址,MAC 地址和端 口号。在三次握手的过程中,在 PCB 中设置远程的 MAC 地址,IP 地址,端口号,初始的序号和应答号等。 链接建立以后,发送和接收到数据包时,就根 据情况修改 PCB 中链接状态,发送序号和应答号, 以及 MBUF 链表等。根 PCB 中的控制信息来实现数 据的可靠传递。
4 零拷贝的实现
本文所指的零拷贝就是在网卡驱动程序和协 议之间没有数据拷贝的过程。以减少系统资源占用 和节省处理时间。
在通常的 TCP/IP 实现中,网卡驱动程序和协议 相对独立。在发送和接收数据时候都存在一次网卡 驱动程序和协议栈之间的数据拷贝。比如在 4.4BSD- Lite 的实现中,发送数据时候需要把 MBUF 中的数据拷贝到网卡驱动程序的发送缓存中;接收
PCB 结构是参照 4.4BSD- Lite 的 TCP/IP 协议使 用的协议控制块[3],对其进行简化和改进得到的,它 是 TCP 协议实现数据可靠传输的关键结构。除了包 含服务端和客户端的 IP 地址,端口,序号等信息以
116
中国测试技术
2007 年 1 月
外,还包括链接状态,指向 MBUF 的指针等信息[1]。 具体结构如下:
数据时候则需要把数据从网卡驱动程序的接收缓 存拷贝到 MBUF 中。本文在驱动程序中直接使用 MBUF 结构,在网卡驱动程序和 MBUF 之间不再需 要数据拷贝,实现了零拷贝。 4.1 协议框架
协议主要包括发送和接收两部分。协议框架如 图 4 所示。
对网卡驱动程序中的发送和接收函数进行修 改。发送数据时,把 MBUF 结构传递给发送函数 sen(d ),sen(d )根据 MBUF 中数据指针和数据长度 来确定待发送的数据。而在接收函数时,Receiv(e ) 函数申请一个 MBUF 结构,直接把接收到的数据和 数据的长度写到 MBUF 中。同时把这个新的 MBUF 链接到协议控制块的接收链表中。上层协议根据协 议控制块的接收链表来对数据进行处理。 4.2 发送数据
发送数据时,TCP 层函数 TcpSndHand(le )负责 申请 MBUF 结构,添加 TCP 头部,构造 TCP 包。维 护 PCB 控制块,启动超时重传定时器,并把 TCP 包 传递给 IP 层。
第 33 卷第 1 期 2007 年 1 月
中国测试技术 CHINA MEASUREMENT TECHNOLOGY
Vol.33 No.1 Jan.2007
TCP/IP 协议的零拷贝和简化实现
宋 佳 1,谢湘楠 2,冉蜀阳 1
( 1.四川大学电气信息学院,四川 成都 610065;2.中国测试技术研究院,四川 成都 610021)
第 33 卷第 1 期
宋 佳等:TCP/IP 协议的零拷贝和简化实现
115
统与 PC 间的链路很短,带宽可以得到保证,传输延 时很小,TCP 协议采用停等方式( Stop- and- wait),避 免了采用拥塞控制相对比较复杂的技术。
IP 层协议不实现选路的功能,只验证收到包的 IP 地址和检验和,为发送的包添加 IP 头等功能。链 路层实现网卡驱动和 RARP 协议。各层实现的协议 和 PC 的连接如图 1 所示。
对 MBUF 进行简化时候假设数据包大小是有 限制的,每一个数据包 只需要一个 MBUF。简化 后的 MBUF 包括 4 个数 据成员,第一个指针成 员用于构成一个单向的 MBUF 链表,第二三个成 员分别指示数据的长度 和指针。最后的 data 区 则用来存放具体的数据 包,包括应用层数据和
协议头部。其结构示意图如图 2 所示。 MBUF 结构的各成员说明如下: dataLen: data 区中数据的总长度,包括每个协
1 协议栈概述
1.1 TCP/IP 协议简介 TCP/IP 协议包括应用层,运输层,网络层,链路
层[2]。每一层都实现了一组协议。运输层包括 TCP、 UDP 协议;网络层包括 ICMP、IGMP、IP 协议;链路 层包括 ARP、RARP 协议。在数据的发送或接收过程 中,每一层协议对数据包进行一定的处理。运输层
该简化协议根据具体应用作出了如下假设。嵌入 式系统直接与 PC 相连,实现数据传递;嵌入式系统 作为服务端,PC 机作为客户端,建立 TCP 连接的请 求由 PC 端主动发出;PC 与嵌入式系统之间不经过路 由器,所以不存在路由选择的问题;当前链接的数目 限制为只有一个。所有这些假设满足一般数据采集系 统数据传递的要求,为协议的简化提供了基础。 1.3 简化的协议栈
的功能,大大减少了代码量。适用于资源比较紧张的系统与 PC 间的快速数据通讯。
关键词:TCP/IP ;MBUF;零拷贝;数据采集;嵌入式
中图分类号:TP393.1
文献标识码:A
文章编号:1672- 4984(2007)01- 0114- 04
Simplified and zer o- copy TCP/IP pr otocol based on data captr ur e system
议层的头部字段。随头部的加入和去掉而增减。 dataPtr:指向数据区的指针,在各个协议层中随
着头部信息和数据的添加或去掉,dataPtr 和 dataLen 作相应的变化。
Data:数据区,大小根据具体的应用确定。但不 超过 576 Bytes,保证 IP 包不会被分片。
同时,TCP 和 IP 头部信息都不使用选项,头部 都是确定的 20 字节。发送和接收数据时 data 区中 数据存放的次序不同。发送数据时,应用层数据包 从底部开始存放,头部信息加在上面。接收数据时 候,最先读取到的是头部信息,所以接收到的包从 顶部开始往下放。这样能方便的根据 dataLen 和 dataPtr 对头部信息和应用数据进行操作。
现在越来越多的嵌入式设备需要以太网络接 口,实现与 Internet 的连接。这些网络接口普遍采用 TCP/IP 协议。我们通常所用的 TCP/IP 协议功能比较 强大,但是也比较复杂,占用较多的系统时间和空 间资源。
在很多嵌入式系统特别是 DSP 的设计中,采用 的是前后台方式[4~6]。这样的系统常常也需要通过以 太网直接与 PC 机进行数据传递。由于资源也很有 限,移植一些现成的 TCP/IP 协议也就有一定的困 难。本文针对这类应用,编写简化的 TCP/IP 协议栈, 只实现一些必不可少的协议。引入简化的 MBUF 结 构,同时在网卡驱动程序和协议栈中使用相同的 MBUF 结构,实现数据零拷贝。
本文对 TCP/IP 协议栈各层进行了简化,实现满 足数据采集系统需求的基本的功能。在链路层实现 RARP 协议,在网络层实现简化的 IP 协议,在运输 层实现 TCP 协议。各层分别介绍如下:
TCP 协议保证数据的可靠传输。采用校验和,肯 定应答( ACK),超时重传,序号( Sequence Number) 等技术来确保可靠传输的实现。考虑到数据采集系
SONG Jia1,XIE Xiang- nan2,RAN Shu- yang1 ( 1.School of Electrical Engineering and Information,Sichuan University,Chengdu 610065,China;
2.National Institute of Measurement and Testing Technology,Chengdu 610021,China)
简化的 MBUF 结构应用于协议栈和网卡的驱 动程序,网次网卡和驱动程序 间的数据拷贝。
3 PCB(TCP 协议控制块)的结构和功能
3.1 TCP 连接简介 不同主机的两个进程间要实现可靠的数据传
递需要使用 TCP 协议。TCP 连接在进行数据传递之 前要进行 3 次握手,建立连接。建立连接需要知道 对方的 IP 地址,端口号等,并且告知对方自己的 IP 地址和端口 号,以及初始 序 号( Initial Sequence Number)等。所有这些信息都存放在 PCB 中。 3.2 PCB 结构
Abstr act: To study the TCP/IP protocol used in the embedded system with limited code space and CPU usage, this paper introduced the zero - copy and simplified TCP/IP protocol. Using simplified MBUF structure in Ethernet adapter’s driver , simplifying the IP layer handle, implement only the needed protocol. Thus , the code size and CPU usage are largely reduced. Key wor ds: TCP/IP;MBUF;Zero- copy;Data capture;Embedded system
相关文档
最新文档