首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux数据报文的来龙去脉

作者:gfree.wind@gmail.com 作为网络领域的开发人员,我们经常要与Linux的数据报文打交道,一定要搞清楚数据报文是从何而来,又是如何离去。...目的CPU的IPI处理函数会将目的CPU的backlog挂到其NAPI列表中,这样由其他CPU发送过来的报文,就会在其后面NAPI中被处理。 4. CPU0负责处理当前报文。...如果网卡没有vlan offload,则需要软件剥掉vlan头,以便后面的报文处理。 5. 在分发报文时,可能会有多个handler关心此报文。所以在分发时,都是增加引用计数,然后给对应的处理函数。...进入ip报文处理函数ip_rcv,进行netfiler的prerouting阶段的检查。 3. 获得四层协议类型,调用其early_demux。这是一个优化,对于符合条件的报文,可以尽早处理。...通过以上四个分解的流程图,相信大家对于Linux数据报文的来龙去脉,有了一定的了解。如在文章开头所云,这些流程图都做了必要的简化。在很多步骤都可以进行展开,也涉及了更多细节。

1.7K30

Linux数据报文的来龙去脉

作者:gfree.wind@gmail.com 作为网络领域的开发人员,我们经常要与Linux的数据报文打交道,一定要搞清楚数据报文是从何而来,又是如何离去。...目的CPU的IPI处理函数会将目的CPU的backlog挂到其NAPI列表中,这样由其他CPU发送过来的报文,就会在其后面NAPI中被处理。 4. CPU0负责处理当前报文。...如果网卡没有vlan offload,则需要软件剥掉vlan头,以便后面的报文处理。 5. 在分发报文时,可能会有多个handler关心此报文。...进入ip报文处理函数ip_rcv,进行netfiler的prerouting阶段的检查。 3. 获得四层协议类型,调用其early_demux。这是一个优化,对于符合条件的报文,可以尽早处理。...通过以上四个分解的流程图,相信大家对于Linux数据报文的来龙去脉,有了一定的了解。如在文章开头所云,这些流程图都做了必要的简化。在很多步骤都可以进行展开,也涉及了更多细节。

3.8K91
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    发现大量TC报文处理方案

    一、第一种情况:网络中有网管软件 处理过程步骤1、通过网管监控的CPU利用率情况,如下图所示: ? 通过网管监控看到的CPU利用率 步骤2、同时设备上还出现CPU占用率过高的日志信息。...二、第二种情况:网络中没有网管软件 步骤 1 1)因未在故障时查看信息,无法知道具体哪些进程引起CPU升高,怀疑为设备FTS任务进程要处理大量的TC报文,导致CPU占用率升高。...2)设备一直产生TC报文日志,首先确定此TC报文是本设备产生的,还是从其它设备收到的。...配置此命令后可以保证设备频繁收到TC报文时,每2秒周期内最多只处理1次表项刷新。从而减少MAC、ARP表项频繁刷新对设备造成的CPU处理任务过多。...全局配置stp tc-protection命令,配置后可以保证设备频繁收到TC报文时,每2秒周期内最多只处理1次表项刷新。从而减少MAC、ARP表项频繁刷新对设备造成的负担。

    3.6K20

    Linux下调试1588单步时间戳报文

    如果对1588报文单步时间戳不了解,可以查看我之前的文章“IEEE 1588 Sync报文单步时间戳”。 平台和工具 我用的平台就不透露了,测试使用两块板子,网口直连。...用到的软件包括, Linux:这是我板子的OS,包含我要验证的驱动。 tcpdump:抓包工具,位于板子的文件系统。 linuxptp:开源PTP软件,位于板子的文件系统。...调试方法 两个板子网口直连,启动Linux。 配置IP地址,确保两个网口能ping通。 一个板子做接收,运行tcpdump抓包,可直接查看,也可以保存成pcap文件在Wireshark中打开查看。...另一个板子做发送,运行ptp4l做master,发送单步Sync报文。...# tcpdump -i eth0 -xx 可以看到对L2 Ethernet报文和UDP/IPv4报文,PTP消息的correctionField和originTimestamp字段的数值,直接就解析出来了

    3.2K20

    HTTP请求报文和响应报文

    HTTP报文 HTTP报文是由一行一行的简单字符串组成的。HTTP报文都是纯文本,不是二进制代码,所以人们可以很方便地对其进行读写。...下图是一个例子: 从Web客户端发往Web服务器的HTTP报文称为请求报文(request message)。...从服务器发往客户端的报文称为响应报文(response message),此外没有其他类型的HTTP报文。HTTP请求和响应报文的格式很类似。...HTTP 报文包括以下三个部分: 起始行 报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现了什么情况。 首部字段 起始行后面有零个或多个首部字段。...主体 空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求主体中包括 了要发送给 Web 服务器的数据;响应主体中装载了要返回给客户端的数据。

    81540

    速读原著-TCPIP(ICMP报文的4.4BSD处理)

    6.6 ICMP报文的4.4BSD处理 由于I C M P覆盖的范围很广,从致命差错到信息差错,因此即使在一个给定的系统实现中,对每个I C M P报文处理都是不相同的。...图 6 - 1 2的内容与图6 - 3相同,它显示的是 4 . 4 B S D系统对每个可能的I C M P报文处理方法。 ? 如果最后一列标明是“内核”,那么I C M P就由内核来处理。...如果最后一列指明是“用户进程”,那么报文就被传送到所有在内核中登记的用户进程,以读取收到的 I C M P报文。...如果不存在任何这样的用户进程,那么报文就悄悄地被丢弃(这些用户进程还会收到所有其他类型的I C M P报文的拷贝,虽然它们应该由内核来处理,当然用户进程只有在内核处理以后才能收到这些报文)。...有一些报文完全被忽略。最后,如果最后一列标明的是引号内的一串字符,那么它就是对应的 U n i x差错。其中一些差错,如 T C P对发送端关闭的处理等,我们将在以后的章节中对它们进行讨论。

    41110

    icmp回复报文_ICMP报文和ping命令

    同样,IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。...在Unix/Linux,序列号从0开始计数,依次递增。而Windows ping程序的ICMP序列号是没有规律。...查询报文:基于查询的额外信息) 2、ICMP(网络控制报文协议)分为:差错报告报文和查询报文 (1)差错报告报文: ICMP不能纠错,只能检查错误,发现错误报告给最初的数据源。...即时没有终点不可达差错报文也不能代表数据报交付成功。 2)源点抑制:类型=4,缺乏流量控制和拥塞控制。当路由器或主机丢弃数据报时,向源数据端口发送源点抑制差错报文。...每个数据报通过一个路由器生存时间就-1,当生存时间为0时,就向源点发送一个超时差错报告报文。如果报文的一个分片超时也发送差错报告报文

    2.2K10

    HTTP 报文

    HTTP 报文分为请求报文与响应报文。 当客户端发出一个请求,服务器就会做出响应,返回一个响应报文。无论是请求报文还是响应报文都是由三部分组成:Line ,header,body。...通用首部字段:请求报文与响应报文都会使用的首部; 请求首部字段:从客户端向服务器发送报文使用的首部。...:用户代理可处理的媒体类Accept:用户代理可处理的媒体类A型 文本文件:text/html、text\plain、text\css等 = 图片文件:image/jped、image/png,image...1××:提示信息,表示目前是协议处理的中间状态,还需要后续的操作; 2××:请求成功,报文已经收到并被正确处理; 3××:资源重定向,它的位置发生变动,需要客户端重新发送请求; 4××:客户端错误,请求报文有误...,服务器无法处理; 5××:服务器错误,服务器在处理请求时内部发生了错误; 100-199 信息性状态码 100:HTTP 1.1新增,服务器告诉客户端收到了请求,请客户端继续。

    1.3K10

    详解http报文

    本文参看Http RFC7230规范,梳理了http报文部分。...http 报文构成 start-line: 起始行,描述请求或响应的基本信息 *( header-field CRLF ): 头 CRLF header 起始行 起始行的格式就是 start-line...这些格式就是规则,用来解析的 顺序 理论上头字段的key顺序是无所谓的,但是最佳实践是将控制字段放在前面,比如请求的时候Host,响应的Date,这样可以尽快发现是否需要处理。...Content-Length请求或者响应的body长度,必须要带上这个字段,以便对方可以方便的分辨出报文的边界,也就是Body数据何时结束。...不到最后计算结束是无法知道整个Body大小的,这个时候可以使用chunk传输,通过 Transfer-Encoding指定,这两个header key是互斥的,只能指定一个,如果指定了两个,接收端优先处理

    99020

    解析HTTP报文

    本期我们接着上期聊,说说HTTP报文。...报文概要在说报文之前,我们先来了解一下报文(message),它是HTTP通信中的基本单位,由8位组字节流(octetsequence,其中octet为8个比特)组成,通过HTTP通信传输。...通常情况下,报文主体指的就是实体,只有当传输中进行编码操作时,实体主体的内容发生变化,才导致它和报文主体产生差异。一个完整的HTTP报文包括报文首部和报文主体两部分。报文首部有请求报文和响应报文。...以请求的首部字段为参考,在服务器端自动处理。但对用户来说,以浏览器发送的信息作为判定的依据,并不一定能筛选出最优内容。...本期我们主要讲了,HTTP协议报文的组成,传输方式,支持的数据格式,如何获取部分内容、以及返回内容的协商。下期我们继续。END

    1.6K30

    Modbus报文详解

    2.从机收到了报文,但是报文错误(CRC校验不通过),从机将丢弃报文,主机将按照超时进行处理。...3.从机接收到了报文,但是报文要求的操作无法实现(如功能码不存在、寄存器范围不对等),从机将会返回包含异常码的响应报文。...数据输入:报文中除了CRC校验码以外的所有字节(包括设备地址、功能码和数据)按照顺序进行处理。计算:对每一个字节,从最高位到最低位,将其与CRC寄存器当前的值进行异或运算。...重复此过程,直至8位都处理完毕。然后继续处理下一个字节,直到所有字节都计算完毕。...发送消息时的处理:计算出的LRC校验和需要被转换为两个ASCII字符附加在消息的末尾,紧接着是结束的回车换行符。

    60700

    icmp报文(1)

    ICMP报文包含在IP数据报中,IP报头在ICMP报文的最前面。一个ICMP报文包括IP报头(至少20字节)、ICMP报头(至少八字节)和ICMP报文(属于ICMP报文的数据部分)。...当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。ICMP报头如下图所示。 各字段说明 类型:占一字节,标识ICMP报文的类型,目前已定义了14种,从类型值来看ICMP报文可以分为两大类。...第一类是取值为1~127的差错报文,第2类是取值128以上的信息报文。 代码:占一字节,标识对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型。...校验和:这是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错。其计算方法与在我们介绍IP报头中的校验和计算方法是一样的。...标识:占两字节,用于标识本ICMP进程,但仅适用于回显请求和应答ICMP报文,对于目标不可达ICMP报文和超时ICMP报文等,该字段的值为0。

    1.5K20

    HTTP报文详解

    HTTP报文详解 目录 1、HTTP请求报文 2、HTTP响应报文 3、请求方法 4、消息头 4.1、请求消息头 4.2、响应消息头 5、状态码 5.1、1XX消息 5.2、2XX成功 5.3、3XX...请求结构图: 2、HTTP响应报文 HTTP响应报文由3部分组成(响应行+响应头+响应体) 响应报文: ①报文协议及版本。 ②状态码及状态描述。 ③响应报文头,也是由多个属性组成。...示例:User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/21.0 Upgrade 要求服务器升级到另一个协议...202 Accepted 服务器已接受请求,但尚未处理。最终该请求可能会也可能不会被执行,并且可能在处理发生时被禁止。...204 No Content 服务器成功处理了请求,没有返回任何内容。 205 Reset Content 服务器成功处理了请求,但没有返回任何内容。与204响应不同,此响应要求请求者重置文档视图。

    92710

    浅析http报文

    在上述过程中第三步浏览器给服务器发送的是http请求报文,第五步服务器将资源发送给浏览器的过程中发送的是http响应报文。 首先利用浏览器获得访问“www.baidu.com”的报文。...请求报文 Get请求报文由请求行、请求头及一空行组成。...响应报文 响应报文由响应行、响应头、空行、响应体组成。...2XX : 成功状态码 请求正常处理完毕 3XX : 重定向状态码 需要进行附加操作,才能完成请求 4XX : 客户端错误状态码 服务器无法处理该请求 5XX : 服务器错误状态码...服务器处理请求出错 2XX 成功 200 OK 该请求被正常处理 204 Not content 服务器端不需给客户端发送新信息时使用 206 Partial Content 表示此时客户端是一个范围请求

    76030

    OPC报文详解

    常见的OPC UA报文主要分为两类 OPC UA over TCP、OPC UA Secure Conversation2.1 OPC UA over TCP报文结构OPC UA over TCP报文包括消息头和消息体...Error报文RHE:表示消息体为ReverseHello报文2.1.2 消息体2.1.2.1 Hello报文当消息类型为HEL时,代表消息体部分为一个Hello报文,具体格式如下:用途 长度 描述...这也是流控制的一部分,确保双方都能处理交换的数据。单位为字节,该值必须大于8192。 最大消息大小 4byte 这个字段指定了双方允许的最大消息体的大小。...它用于防止因处理过大的单个消息而导致的性能问题。0表示客户端不限制。...这也是流控制的一部分,确保双方都能处理交换的数据。单位为字节,该值必须大于8192。最大消息大小 4byte 这个字段指定了双方允许的最大消息体的大小。它用于防止因处理过大的单个消息而导致的性能问题。

    79310
    领券