精华内容
下载资源
问答
  • 以太网数据帧详细解析 逐字节分析

    千次阅读 2020-08-25 21:18:49
    以太网数据帧详细解析 详细解析以太网通信数据帧 测试环境 机器名 mac ip port tcp_server 00:0c:29:8b:37:da 10.1.2.7 9502 tcp_client 00:50:56:c0:00:08 10.1.2.1 12345 抓包 客户端向服务端发送 '...

    以太网数据帧详细解析

    详细解析以太网通信数据帧

    测试环境

    机器名 mac ip port
    tcp_server 00:0c:29:8b:37:da 10.1.2.7 9502
    tcp_client 00:50:56:c0:00:08 10.1.2.1 12345

    抓包 客户端向服务端发送 'hello world’

    # 原始数据帧
    00 0c 29 8b 37 da 00 50 56 c0 00 08 08 00 # Ethernet_II格式数据帧首部
    45 00 00 33 28 5b 40 00 80 06 ba 80 0a 01 02 01 0a 01 02 07 # ip协议头
    30 39 25 1e 84 a4 e6 82 cf f2 ea 28 50 18 10 0a 7b 45 00 00 # tcp协议头
    68 65 6c 6c 6f 20 77 6f 72 6c 64 # data
    

    以太网数据帧构成

    https://xinu-note-images.oss-cn-beijing.aliyuncs.com/UTOOLS1575647451248.png

    Ethernet_II格式数据帧首部 链路层

    总长度 14B

    字段名称 长度(byte) 含义
    D.MAC 6 接收方MAC地址,网络包接收方的MAC地址,在局域网中使用这一地址来传输网络包
    S.MAC 6 网络包发送方的MAC地址,接收方通过它来判断是谁发送了这个包
    Type 2 使用的协议类型。
    TCP通信中 IP协议与ARP协议较常见
    0000-05DC:IEEE 802.3
    0800 :IP协议
    0806 :ARP协议
    86DD :IPv6

    实例

    # Ethernet_II格式数据帧首部 14 bytes
    00 0c 29 8b 37 da # 目标MAC地址 00:0c:29:8b:37:da
    00 50 56 c0 00 08 # 源MAC地址 00:50:56:c0:00:08
    08 00 # IP协议
    

    IP协议数据包首部 网络层

    总长度 20B+

    字段名称 长度(bit) 含义
    版本号(Version) 4 协议的版本一般的值为
    0100(IPv4),
    0110(IPv6)
    头部长度(IHL) 4 Header Length,描述IP包头的长度,
    因为在IP包头中有变长的可选部分。长度 = 值 * 4,
    4bit最大 ‘1111’ = 15, IP头长度为20 - 60(15 * 4) 字节
    服务类型(ToS) 8 Type of Service,服务类型8位 按位被如下定义 PPP DTRC0
    PPP:定义包的优先级,取值越大越重要
    000 普通 (Routine)
    001 优先的 (Priority)
    010 立即的发送 (Immediate)
    011 闪电式的 (Flash)
    100 比闪电还闪电式的 (Flash Override)
    101 CRI/TIC/ECP(找不到这个词的翻译)
    110 网间控制 (Internetwork Control)
    111 网络控制 (Network Control)

    D 时延: 0:普通 1:延迟尽量小
    T 吞吐量: 0:普通 1:流量尽量大
    R 可靠性: 0:普通 1:可靠性尽量大
    M 传输成本: 0:普通 1:成本尽量小
    0 最后一位被保留,恒定为0
    总长度 16 Total Length IP包总长度 以字节为单位计算的IP包的长度
    (包括头部和数据),所以IP包最大长度65535字节
    ID号 16 该字段和Flag和Fragment Offest字段联合使用,对较大的
    上层数据包进行分段(fragment)操作。路由器将一个包拆
    分后,所有拆分开的小包被标记相同的值,以便目的端设备<br/ >能够区分哪个包属于被拆分开的包的一部分。
    标志(Flags) 3 长度3比特。该字段第一位不使用。第二位是DF
    (Don’t Fragment)位,DF位设为1时表明路由器不能对该
    上层数据包分段。如果一个上层数据包无法在不分段的情况
    下进行转发,则路由器会丢弃该上层数据包并返回一个错误
    信息。第三位是MF(More Fragments)位,当路由器对一
    个上层数据包分段,则路由器会在除了最后一个分段的IP包
    的包头中将MF位设为1。
    分片偏移量 13 Fragment Offest 表示该IP包在该组分片包中位置,接收端
    靠此来组装还原IP包。
    生存时间(TTL) 8 当IP包进行传送时,先会对该字段赋予某个特定的值。当IP
    包经过每一个沿途的路由器的时候,每个沿途的路由器会将
    IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。
    这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。
    协议号 8 标识了上层所使用的协议。以下是比较常用的协议号:
    1 ICMP
    2 IGMP
    6 TCP
    17 UDP
    88 IGRP
    89 OSPF
    头部校验和 16 Header Checksum
    用来做IP头部的正确性检测,但不包含数据部分。 因为每个
    路由器要改变TTL的值,所以路由器会为每个通过的数据包重
    新计算这个值。
    发送方IP地址 32 Source Addresses 发送方IP地址。除非使用NAT,否则
    整个传输的过程中,这两个地址不会改变
    接收方IP地址 32 Destination Addresses 接收方IP地址。除非使用NAT,否则
    整个传输的过程中,这两个地址不会改变
    可选字段 一般测试使用

    实例

    # ip协议头20字节
    4 # 协议版本 ipv4
    5 # ip协议头长度 5 * 4 = 20字节
    00 # 服务类型 000-0-0-0-0-0  
    00 33 # ip包总长度 hex => dec 51字节
    28 5b # ID号 
    40 00 # 标志与分片偏移量 0100 0000 0000 0000 DF位为1 不允许分包 偏移量为0
    80 # 生存时间 dec 128
    06 # 协议号 TCP协议
    ba 80 # 头部校验和
    0a 01 02 01 # 发送方ip 10.1.2.1
    0a 01 02 07 # 接收方ip 10.1.2.7
    
    # ip协议头 头部校验和计算方法
    # 1. 头部校验和置0;
    # 2. 对IP头部中的每16bit进行二进制求和;
    # 3. 如果和的高16bit不为0,则将和的高16bit和低16bit反复相加,直到和的高16bit为0,从而获得一个16bit的 值;
    # 4. 将该16bit的值取反,存入校验和字段。
    

    TCP协议头 传输层

    图示

    https://xinu-note-images.oss-cn-beijing.aliyuncs.com/UTOOLS1575643308334.png

    总长度 20B+

    字段名 长度(bit) 含义
    源端口号 16 发送网络包的程序的端口号
    目的端口号 16 网络包的接收方程序的端口号
    序列号 seq 32 发送的时候,TCP 协议为每个包编号(sequence number,
    简称 SEQ),以便接收的一方按照顺序还原。万一发生丢包
    ,也可以知道丢失的是哪一个包。
    当前序列号 + 数据长度 = 下一个包的序列号
    确认序列号 ack 32 期待要收到下一个数据包的编号,ack与seq搭配确保数据的
    完整性,确认号只有ACK位为1时才有效。
    首部长度(数据偏移量) 4 表示数据部分的起始位置,也可以认为表示头部的长度
    保留 6 保留,未使用
    控制位 6 该字段中的每个比特分别表示以下通信控制含义。
    URG:表示紧急指针字段有效

    ACK:接收数据序号字段有效,一般表示数据已被接收方接收
    该位只有在连接未建立时为0,连接建立后始终为1

    PSH:表示通过flush操作发送的数据,指示接收方在接收到
    该报文段以后,应尽快将这个报文段交给应用程序,而不是
    在缓冲区排队。

    RST:强制断开连接,用于异常中断的情况

    SYN:同步序号,用于建立连接过程,在连接请求中发送SYN=1
    和ACK=0 , 应答 SYN=1和ACK=1

    FIN:用于释放连接,为1时表示发送方已经没有数据发送了,
    即关闭本方数据流。
    窗口 16 接收方告知发送方窗口大小(即无需等待确认可一起发送的数据量)
    校验和 16 用来检查是否出现错误
    紧急指针 16 只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个
    正的偏移量,和顺序号字段中的值相加表示紧急数据最后一
    个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急
    数据的一种方式。
    选项和填充 不定 最常见的可选字段是最长报文大小,又称为MSS
    (Maximum Segment Size),每个连接方通常都在通
    信的第一个报文段(为建立连接而设置SYN标志为1的那
    个段)中指明这个选项,它表示本端所能接受的最大报
    文段的长度。选项长度不一定是32位的整数倍,所以要
    加填充位,即在这个字段中加入额外的零,以保证TCP
    头是32的整数倍。
    数据 可选

    实例

    # tcp协议头 20字节
    30 39 # 源端口 12345
    25 1e # 目的端口 9502 
    84 a4 e6 82 # 序列号 
    cf f2 ea 28 # 确认序列号
    5 # 首部长度 5 * 32 / 8 = 20 bytes
    0 1 8 # 000000 保留 011000 ACK=1 PSH=1
    10 0a # 窗口大小 4106
    7b 45 # 校验和
    00 00 # URG=0 无效
    # 传输的数据
    68 65 6c 6c 6f 20 77 6f 72 6c 64  # ascii码
    h  e  l  l  o     w  o  r  l  d
    

    附录

    每一个数据包都带有下一个数据包的编号。如果下一个数据包没有收到,那么 ACK 的编号就不会发生变化。举例来说,现在收到了4号包,但是没有收到5号包。ACK 就会记录,期待收到5号包。过了一段时间,5号包收到了,那么下一轮 ACK 会更新编号。如果5号包还是没收到,但是收到了6号包或7号包,那么 ACK 里面的编号不会变化,总是显示5号包。这会导致大量重复内容的 ACK。如果发送方发现收到三个连续的重复 ACK,或者超时了还没有收到任何 ACK,就会确认丢包,即5号包遗失了,从而再次发送这个包。通过这种机制,TCP 保证了不会有数据包丢失。

    UDP协议

    https://xinu-note-images.oss-cn-beijing.aliyuncs.com/UTOOLS1575899141973.png

    展开全文
  • 以太网帧,IP,TCP,UDP首部结构

    万次阅读 2016-10-13 18:31:37
    1.以太网帧的格式以太网封装格式2.IP报头格式 IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。  普通的IP首部长为20个字节,除非含有...

    其它可参考http://www.cnblogs.com/BlueTzar/articles/811160.html

    1.以太网帧的格式

    eth

    以太网封装格式

    2.IP报头格式

      IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。

    ip
      普通的IP首部长为20个字节,除非含有选项字段。

    4位版本:目前协议版本号是4,因此IP有时也称作IPV4.

    4位首部长度:首部长度指的是首部占32bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部长度最长为60个字节。

    服务类型(TOS):服务类型字段包括一个3bit的优先权字段(现在已经被忽略),4bit的TOS子字段和1bit未用位必须置0。4bit的TOS分别代表:最小时延,最大吞吐量,最高可靠性和最小费用。4bit中只能置其中1比特。如果所有4bit均为0,那么就意味着是一般服务。

    总长度:总长度字段是指整个IP数据报的长度,以字节为单位。利用首部长度和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。由于该字段长16bit,所以IP数据报最长可达65535字节。当数据报被分片时,该字段的值也随着变化。

    标识字段:标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。

    生存时间:T T L(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。T T L的初始值由源主机设置(通常为 3 2或6 4),一旦经过一个处理它的路由器,它的值就减去 1。当该字段的值为 0时,数据报就被丢弃,并发送 I C M P报文通知源主机。

    首部检验和:首部检验和字段是根据 I P首部计算的检验和码。它不对首部后面的数据进行计算。 I C M P、
    I G M P、U D P和T C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。

    3.TCP首部格式

      尽管T C P和U D P都使用相同的网络层( I P),T C P却向应用层提供与U D P完全不同的服务。T C P提供一种面向连接的、可靠的字节流服务。

      如果不计任选字段,它通常是 2 0个字节。

    tcp

    源端口号和目的端口号:用于寻找发端和收端应用进程。这两个值加上I P首部中的源端I P地址和目的端I P地址唯一确定一个T C P连接。

    序号字段:序号用来标识从T C P发端向T C P收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则 T C P用序号对每个字节进行计数。序号是32 bit的无符号数,序号到达 232-1后又从0开始。

         当建立一个新的连接时,SYN标志变1。序号字段包含由这个主机选择的该连接的初始序号ISN(Initial Sequence Number)。该主机要发送数据的第一个字节序号为这个ISN加1,因为SYN标志消耗了一个序号(将在下章详细介绍如何建立和终止连接,届时我们将看到 F I N标志也要占用一个序号)

    确认序号:既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加 1。只有ACK标志(下面介绍)为 1时确认序号字段才有效。发送ACK无需任何代价,因为 32 bit的确认序号字段和A C K标志一样,总是T C P首部的一
    部分。因此,我们看到一旦一个连接建立起来,这个字段总是被设置, ACK标志也总是被设置为1。TCP为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必须保持每个方向上的传输数据序号。

    首都长度:首部长度给出首部中 32 bit字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占4 bit,因此T C P最多有6 0字节的首部。然而,没有任选字段,正常的长度是 2 0字节。

    标志字段:在T C P首部中有 6个标志比特。它们中的多个可同时被设置为1.
        URG紧急指针(u rgent pointer)有效(见2 0 . 8节)。
        ACK确认序号有效。
        PSH接收方应该尽快将这个报文段交给应用层。
        RST重建连接。
        SYN同步序号用来发起一个连接。这个标志和下一个标志将在第 1 8章介绍。
        FIN发端完成发送任务。

    窗口大小:T C P的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个 16 bit字段,因而窗口大小最大为 65535字节。

    检验和:检验和覆盖了整个的 T C P报文段:T C P首部和T C P数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。

    紧急指针:只有当URG标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。 T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。

    选项:最常见的可选字段是最长报文大小,又称为 MSS (Maximum Segment Size)。每个连接方通常都在通信的第一个报文段(为建立连接而设置 S Y N标志的那个段)中指明这个选项。它指明本端所能接收的最大长度的报文段。

    4. UDP首部

    UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的 I P数据报。这与面向流字符的协议不同,如 T C P,应用程序产生的全体数据与真正发送的单个 I P数据报可能没有什么联系。

    udp

    端口号:用来表示发送和接受进程。由于 I P层已经把I P数据报分配给T C P或U D P(根据I P首部中协议字段值),因此T C P端口号由T C P来查看,而 U D P端口号由UDP来查看。T C P端口号与UDP端口号是相互独立的。

    长度:UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段的最小值为 8字节(发送一份0字节的UDP数据报是 O K)。

    检验和:UDP检验和是一个端到端的检验和。它由发送端计算,然后由接收端验证。其目的是为了发现UDP首部和数据在发送端到接收端之间发生的任何改动。

    参考:http://www.cnblogs.com/vincently/p/4638195.html

    展开全文
  • 以太网帧,IP,TCP,UDP首部结构

    千次阅读 2018-01-24 22:03:57
    1.以太网帧的格式2.IP报头格式IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。普通的IP首部长为20个字节,除非含有选项字段。4位版本:...

    1.以太网帧的格式

    这里写图片描述

    2.IP报头格式

    IP是TCP/IP协议簇中最为重要的协议。所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输。IP提供的是不可靠、无连接的协议。

    这里写图片描述

    普通的IP首部长为20个字节,除非含有选项字段。

    4位版本:目前协议版本号是4,因此IP有时也称作IPV4.

    4位首部长度:首部长度指的是首部占32bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部长度最长为60个字节。

    服务类型(TOS):服务类型字段包括一个3bit的优先权字段(现在已经被忽略),4bit的TOS子字段和1bit未用位必须置0。4bit的TOS分别代表:最小时延,最大吞吐量,最高可靠性和最小费用。4bit中只能置其中1比特。如果所有4bit均为0,那么就意味着是一般服务。

    总长度:总长度字段是指整个IP数据报的长度,以字节为单位。利用首部长度和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。由于该字段长16bit,所以IP数据报最长可达65535字节。当数据报被分片时,该字段的值也随着变化。

    标识字段:标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。

    生存时间:T T L(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。T T L的初始值由源主机设置(通常为 3 2或6 4),一旦经过一个处理它的路由器,它的值就减去 1。当该字段的值为 0时,数据报就被丢弃,并发送 I C M P报文通知源主机。

    首部检验和:首部检验和字段是根据 I P首部计算的检验和码。它不对首部后面的数据进行计算。 I C M P、
    I G M P、U D P和T C P在它们各自的首部中均含有同时覆盖首部和数据检验和码。

    3.TCP首部格式

      尽管T C P和U D P都使用相同的网络层( I P),T C P却向应用层提供与U D P完全不同的服务。T C P提供一种面向连接的、可靠的字节流服务。

      如果不计任选字段,它通常是 2 0个字节。

    这里写图片描述

    源端口号和目的端口号:用于寻找发端和收端应用进程。这两个值加上I P首部中的源端I P地址和目的端I P地址唯一确定一个T C P连接。

    序号字段:序号用来标识从T C P发端向T C P收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则 T C P用序号对每个字节进行计数。序号是32 bit的无符号数,序号到达 232-1后又从0开始。

    当建立一个新的连接时,SYN标志变1。序号字段包含由这个主机选择的该连接的初始序号ISN(Initial Sequence Number)。该主机要发送数据的第一个字节序号为这个ISN加1,因为SYN标志消耗了一个序号(将在下章详细介绍如何建立和终止连接,届时我们将看到 F I N标志也要占用一个序号)

    确认序号:既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加 1。只有ACK标志(下面介绍)为 1时确认序号字段才有效。发送ACK无需任何代价,因为 32 bit的确认序号字段和A C K标志一样,总是T C P首部的一
    部分。因此,我们看到一旦一个连接建立起来,这个字段总是被设置, ACK标志也总是被设置为1。TCP为应用层提供全双工服务。这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必须保持每个方向上的传输数据序号。

    首都长度:首部长度给出首部中 32 bit字的数目。需要这个值是因为任选字段的长度是可变的。这个字段占4 bit,因此T C P最多有6 0字节的首部。然而,没有任选字段,正常的长度是 2 0字节。

    标志字段:在T C P首部中有 6个标志比特。它们中的多个可同时被设置为1.
        URG紧急指针(u rgent pointer)有效。
        ACK确认序号有效。
        PSH接收方应该尽快将这个报文段交给应用层。
        RST重建连接。
        SYN同步序号用来发起一个连接。这个标志和下一个标志将在第 1 8章介绍。
        FIN发端完成发送任务。

    窗口大小:T C P的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个 16 bit字段,因而窗口大小最大为 65535字节。

    检验和:检验和覆盖了整个的 T C P报文段:T C P首部和T C P数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。

    紧急指针:只有当URG标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。 T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。

    选项:最常见的可选字段是最长报文大小,又称为 MSS (Maximum Segment Size)。每个连接方通常都在通信的第一个报文段(为建立连接而设置 S Y N标志的那个段)中指明这个选项。它指明本端所能接收的最大长度的报文段。

    4. UDP首部

    UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的 I P数据报。这与面向流字符的协议不同,如 T C P,应用程序产生的全体数据与真正发送的单个 I P数据报可能没有什么联系。

    这里写图片描述

    端口号:用来表示发送和接受进程。由于 I P层已经把I P数据报分配给T C P或U D P(根据I P首部中协议字段值),因此T C P端口号由T C P来查看,而 U D P端口号由UDP来查看。T C P端口号与UDP端口号是相互独立的。

    长度:UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段的最小值为 8字节(发送一份0字节的UDP数据报是 O K)。

    检验和:UDP检验和是一个端到端的检验和。它由发送端计算,然后由接收端验证。其目的是为了发现UDP首部和数据在发送端到接收端之间发生的任何改动。

    展开全文
  • 以太网帧格式

    2013-10-23 15:08:17
    以太网帧前导码(Preamble) 8个字节 10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011   以太网帧本体 首部 14个字节 源MAC地址(6) 目的MAC地址(6) 上层协议类型(2) 数据 46...

    以太网帧前导码(Preamble) 8个字节

    10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011

     

    以太网帧本体

    首部 14个字节

    源MAC地址(6) 目的MAC地址(6) 上层协议类型(2)

    数据 46-1500个字节

    帧尾(FCS) 4个字节

    展开全文
  • 以太网首部字段含义

    千次阅读 2012-10-25 19:12:17
    typedef struct _ETHeader //以太网数据帧头部结构 { UCHAR dhost[6]; //目的MAC地址 UCHAR shost[6]; //源MAC地址 USHORT type; //下层协议类型,如IP(ETHERTYPE_IP),ARP(ETHERTYPE_ARP)等 }ETHeader,*...
  • 我们传输的数据进入TCP/IP协议栈后根据不同的应用程序所使用的协议要经过层层包装,加上各种首部,最终形成一个名字叫以太网帧的一串数据,其封装组成过程如下图: 1 以太网帧结构 以太网帧包含主要以太网首部...
  • “如果错过太阳时你流了泪,那么你也要错过群星了。”--- 泰戈尔前导码(Preamble):最前面时8个字节的前导码,表示一个...以太网帧的本体部分:本体的前端是数据首部,总共14个字节,包括目标6字节的mac地址,...
  • 1、ISO开放系统有以下几层:7应用层6表示层5会话层4传输层...通信过程中,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示 不同的协议层对数据包有不同的称谓,在传输层叫做段(se...
  • OSI模型中的数据链路层与物理层,在TCP/IP协议中同属于网络接口层。 数据链路层为物理连接之间提供了可靠的数据传输。数据链路层主要解决3个问题:封装成帧...假如帧数据中刚好存在帧首部、帧尾部的比特流,那该怎么..
  • 1、ISO开放系统有以下几层: 2、TCP/IP 网络协议栈分为应用层(Application)、传输层(Transport)、网络层...通信过程中,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示 不...
  • Linux 操作系统原理 — 内核网络协议栈

    千次阅读 多人点赞 2019-11-10 13:13:00
    文章目录目录数据报文数据报文的封装与分用数据报文首部的数据结构ethhdr:描述以太网数据帧首部iphdr:描述 IP 数据报首部udphdr:描述 UDP 数据段首部Linux 内核网络协议栈内核网络协议栈的分层结构数据结构参考...
  • 数据链路层之以太网

    2019-02-17 21:23:32
    将网络层交下来的IP数据报添加首部尾部封装成; 将封装好的发送给接受方的数据链路层; 收到的无差错则从中提取到IP数据报交给网络层,否则丢弃 由上图可知,在 IP 数据包交付的过程中,在数据链路层会对...
  • 以太网数据包长度限制

    千次阅读 2020-06-21 19:13:10
    我们使用以太网进行数据传输(UDP、TCP...由于链路层的数据帧最大为1500,所以该层的最大数据包长度为1500-20(IP包首部)=1480字节。 传输层: 如果禁止IP层进行数据分包传输: 对于TCP数据包最大长度1480-20(TCP
  • 我们想要发送的数据,首先需要在其前面加上UDP报头,由于UDP协议属IP协议的一种,所以在UDP报头前需要加IP报头,形成IP段,在IP段的基础上加上一些同步字节、开始字节、以太网首部以及在尾部加上校验序列,就构成了...
  • 【TCP/IP详解】以太网帧格式 【TCP/IP详解】ARP报文格式 【TCP/IP详解】RARP报文格式 【TCP/IP协议】PPP协议的格式 IP层 【TCP/IP详解】IP报文格式 【TCP/IP详解】ICMP报文格式 传输层 【TCP/IP详解】TCP...
  • 下图是UDP的段格式:相比TCP段格式,UDP要简单...下面分析一基于UDP的TFTP协议以太网首部0000: 00 05 5d 67 d0 b1 00 05 5d 61 58 a8 08 00 IP首部0000: 45 000010: 00 53 93 25 00 00 80 11 25 ec c0 a8 00 37
  • 相比TCP段格式,UDP要简单得多,也没啥好说的,需要注意的是UDP数据长度指payload加上首部的长度。 下面分析一基于UDP的TFTP协议以太网首部 0000: 00 05 5d 67 d0 b1 00 05 5d 61 58 a8 08 ...
  • 这篇小文是个阶段记录,如有错误,请给位大虾指出...(14字节)以太网首部 = (6字节)目的MAC地址 + (6字节)源MAC地址 + (两字节)类型值,类型值:如IPv4为0x0800,ARP为0x0806等。链路层(网卡驱动macb_rx...
  • 相比TCP段格式,UDP要简单得多,也没啥好说的,需要注意的是UDP数据长度指payload加上首部的长度。 下面分析一基于UDP的TFTP协议以太网首部 0000: 00 05 5d 67 d0 b1 00 05 5d 61 58 a8 08 00 IP...
  • 以太网格式图

    千次阅读 2012-09-10 21:36:17
    1、以太网帧格式 2、IP数据报分片详细情况   3、IP首部(20个字节) 0 4 8 12 16 19 24 31 版本 首部长度 服务类型 16位总...
  • 以太网的扩展

    千次阅读 2017-04-03 16:47:17
    先简单了解一下以太网中的数据链路层中MAC层再进入我们的主题 提到MAC层我们就不得不提到一个名词,MAC地址(又称为硬件地址).它存储在我们电脑的网卡中,无法改变的一个地址(因为是...它由三各部分组成:首部,数据部,尾
  • MTU(Maximum Transmission Unit)最大传输单元,即物理接口(数据链路层)提供给其上层(IP层)的最大一次传输数据的大小,用来通知对方所能接受的数据服务单元的最大尺寸,是包或的最大长度,一般以字节为单位(8位为一...
  • 以太网传输调试(3)

    2020-05-08 19:59:19
    (以下 内容均是在学习完正点原子视频后归纳的) ...头→IP首部→UDP首部→UDP数据(有效数据)→接收结束。 整个代码,正点原子官网有开源的,自己去获取。下面是我学习完后,对接收模块几个不好理解的地方做...
  • 根据rfc894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界符... 原因是当数据帧到达网卡时,在物理层上网卡要先去...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 246
精华内容 98
关键字:

以太网数据帧首部