精华内容
下载资源
问答
  • 本文从OSPFv2中Option字段与OSPFv3中Option字段的差距入手开始讲起,重点讲述了Option字段各标识的含义和作用。 阅读本文,您需要有一定的OSPFv2和OSPFv3基础。如果您对此还存在困惑,欢迎查阅我博客中其他文章,...

    今天给大家讲解一下OSPFv3中Option字段的变化。本文从OSPFv2中Option字段与OSPFv3中Option字段的差距入手开始讲起,重点讲述了Option字段各标识的含义和作用。
    阅读本文,您需要有一定的OSPFv2和OSPFv3基础。如果您对此还存在困惑,欢迎查阅我博客中其他文章,相信您一定会有所收获。

    一、OSPFv2中Option字段

    在OSPF协议中,Option字段主要用来描述一个路由器的能力。在OSPFv2中,Option字段出现在每一个Hello报文、DD报文以及每一个LSA中。
    OSPFv2中Option如下所示:
    在这里插入图片描述
    在OSPFv2的Option中,各字段功能如下:
    DN:用于防止环路
    O:支持Opaque LSA
    DC:为虚链路使用
    EA:表示该路由器为ASBR
    N/P:用于表示该路由为7类LSA,用于7类LSA和5类LSA的转化,NSSA使用
    MC:用于组播相关
    E:允许泛洪AS-External LSA
    MT:表示是否支持多拓扑OSPF

    二、OSPFv3中Option字段

    在OSPFv3中,Option字段的作用没有变化,但是该字段只出现在Hello报文、DD报文以及Router LSA、Network LSA、Inter-Area-Router LSA以及Link LSA中。
    OSPFv3中Option字段如下所示:
    在这里插入图片描述
    在OSPFv3的Option中,各字段功能如下:
    DC:虚链路相关报文使用,当DC=1时,表示此报文为虚链路报文
    R:用来标识设备是否具有转发能力。如果R为0,则该节点的路由信息将不会参加路由计算。如果当前设备是一个不想转发非本地地址报文的路由器,可以将R比特置0,类似IS-IS的OL比特。
    V6:V6比特比R比特更进一步,若V6置0,则该路由器连直连线路也不会参与转发,更不会参与路由计算
    E:如果该比特为0,表示不支持AS-External LSA洪范
    MC:与组播相关
    N:用于表示该路由为7类LSA,用于7类LSA和5类LSA的转化,NSSA使用
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/119009221

    展开全文
  • TCP/IP OPTION字段

    2019-09-29 05:22:22
    TCP头部和IPV4头部除了固定的20字节外,都设置了 OPTION 字段用于存储自定义的数据,因为TCP头部和IPV4的报文长度字段均为4字节,所表示的最大值为15, 乘4,报文头部最大长度为60字节,因此Option字段最大长度为40...

    0x01 简介

     TCP头部和IPV4头部除了固定的20字节外,都设置了 OPTION 字段用于存储自定义的数据,因为TCP头部和IPV4的报文长度字段均为4字节,所表示的最大值为15, 乘4,报文头部最大长度为60字节,因此Option字段最大长度为40字节,足够存储大量的报文控制信息。TCP和IPV4 OPTION的格式均为(标识字段 - 长度 - 数据)格式,一般采取4字节对齐存储。

    目前 IP Option应用场景较少,且公网路由器对 IP Option的检查较为严格,一般都会直接丢弃带有 IP Option 的报文。TCP Option 的应用场景则较为广泛,常见的包括 TimeStamp(应用于时延测量), TCP_Window_Scalling(长肥网络下,TCP接收窗口需要足够大才能达到瓶颈带宽,此时需要 Window_Scaling 来表示一个更大的接收窗口),TCP_SACK(选择性确认,可以大幅提高TCP在丢包时的性能)等等,这些选项一般都会默认开启,路由器、端主机对这些选项的支持度也较高。本文主要介绍 TCP & IPV4 Option的处理逻辑,然后介绍一种通过 IP Option 字段在内网传输报文控制数据的方法。

    0x02 TCP OPTION Linux实现

    步骤1: 构造TCP Option,计算存储空间

     Linux把TCP选项的处理逻辑分为了SYN报文的选项和普通报文的选项两个部分,在TCP报文构造函数 static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_itgfp_t gfp_mask) 中有下面这段逻辑

    1.  如果报文为SYN报文,则调用 tcp_syn_options 函数处理握手期间的一些TCP Option,例如MSS协商,Window_Scaling等。
    2.  如果报文为非SYN报文,则调用 TCP_established_options 函数处理包括TimeStamp,SACK等选项的构造。
    3. 构造好的TCP选项并不是直接写入TCP头部,而是存储在 struct tcp_out_options 类型的结构体变量 opts 中。

    步骤2:分配 TCP 头部需要的存储空间,包括20个字节的标准头部加上TCP Option的部分。

    tcp_options_size 为TCP选项部分的总长度,tcp_transmit_skb 接下来在 skb_push 中为TCP头部分配存储空间。

    步骤3 : 向TCP头部写入构造好的TCP Option。  

    tcp_transmit_skb 接下来通过 tcp_options_write() 函数把构造好的TCP Option 从 opts 中读出并写入TCP报文首部

      

    步骤4 : TCP Option 的构造逻辑完成,报文进入IP层的处理逻辑。

    步骤5:TCP Option 的解析在 tcp_parse_options() 函数 中完成,协议栈在接收到TCP报文后,会调用该函数完成报文头部的OPTION字段的解析。


    0x03 IP OPTION Linux实现

    IP Option的构造与TCP  Option类似。

    步骤1:分配存储空间,在IP报文构造函数 ip_queue_xmit 中,有下面这一段逻辑,分配IP报文头部空间和OPTION字段的存储空间

          

    步骤2 : 构造OPTION字段,具体逻辑在 ip_options_build 中,与 TCP Option的逻辑类似。

            

    步骤3: 解析, IP Option的解析在 ip_options_compile 中完成

             

    0x04 应用

    在我们的应用场景下,例如向路由器通告一些信息等,报文除了传输数据外,还要传输一些控制信息,我们就是通过IP报头的OPTION字段来携带这些控制信息。一般情况下,带有TCP选项的报文,即使TCP选项是自定义的,公网路由器也不会轻易丢包,但公网路由器对IP选项的审查要严格的多,带有IP选项的报文。当报文从局域网转发到公网的时候,Linux网关可以在Qdisc中删除该选项,并转发到公网,Linux上发送一个带有自定义IP选项的报文也非常容易,不需要修改内核,只需要在用户态用 setsockopt() 调用便可以完成,下面是一个设置自定义IP 选项的Linux套接字客户端程序示例。

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <stdlib.h>
     4 #include <unistd.h>
     5 #include <arpa/inet.h>
     6 #include <sys/socket.h>
     7 #include <netinet/ip.h>
     8 
     9 #define SERV_PORT 1234
    10 #define SERV_IP "127.0.0.1"
    11 #define MAXLINE 4096
    12 #define MAXSIZE 40
    13 
    14 #define IPOPT_TAG 0x21        //IP选项标志字段
    15 #define IPOPT_LEN 8            //IP选项长度字段
    16 
    17 int main(int argc,char *argv[])
    18 {
    19         int sockfd;
    20         struct sockaddr_in servaddr;
    21 
    22         memset(&servaddr,0,sizeof(servaddr));
    23         servaddr.sin_family = AF_INET;
    24         servaddr.sin_addr.s_addr = inet_addr(SERV_IP);
    25         servaddr.sin_port = htons(SERV_PORT);
    26 
    27         //构造自定义的TCP选项
    28         unsigned char opt[MAXSIZE];
    29         opt[0] = IPOPT_TAG;
    30         opt[1] = IPOPT_LEN;
    31         //写入选项数据
    32         *(int *)(opt + 4) = htonl(50000);        
    33 
    34         if((sockfd = socket(AF_INET,SOCK_STREAM,0)) <= 0){
    35                 perror("socket error : ");
    36                 exit(1);
    37         }
    38 
    39         if(connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr)) < 0){
    40                 perror("connect error ");
    41                 exit(1);
    42         }
    43 
    44         //设置套接字发送该选项
    45         if(setsockopt(sockfd,IPPROTO_IP,IP_OPTIONS,(void *)opt,IPOPT_LEN) < 0){
    46                 perror("setsockopt error ");
    47                 exit(1);
    48         }
    49 
    50         char buff[MAXLINE];
    51 
    52         while(fgets(buff,MAXLINE,stdin) != NULL){
    53                 if(write(sockfd,buff,strlen(buff)) < strlen(buff)){
    54                         perror("write error ");
    55                         exit(1);
    56                 }
    57         }
    58 
    59         close(sockfd);
    60 }

      

    内核并没有检测 setsockopt() 的参数,直接将自定义的选项复制到了IP报文选项部分。

     

    我们可以通过 getsockopt() 函数可以直接读取自定义的IP OPTION。

    TCP自定义选项的设置和读取相对于IP选项要麻烦一些,一般向TimeStamp,SACK等TCP选项并不需要用户去读取,因此也没有开放用户层访问的接口,直接通过 getsockopt() 函数无法读取自定义的TCP 选项,但我们可以通过修改内核 getsockopt() 来实现自定义TCP选项的读取,我们知道内核 getsockopt()  函数底层是由 do_ip_getsockopt 和 do_tcp_getsockopt 等协议相关的接口组成的, 在 do_tcp_getsockopt 接口内我们可以添加用户层访问自定义TCP选项的接口,然后便可以在用户层通过 getsockopt()  函数来访问自定义的 TCP 选项了。

    0x05 总结

    TCP Option字段对于提升TCP性能有较大意义,因此需要了解常见的TCP Option字段的含义、开启和关闭。IP Option字段一般来说不容易碰见,但在一些特殊的应用场景下,例如在局域网内捎带报文控制数据还是很有用处的。

    0x06 参考

    Linux  Kernel  4.12.13     https://elixir.bootlin.com/linux/v4.12.13/source

    转载于:https://www.cnblogs.com/codingMozart/p/9067552.html

    展开全文
  • DHCP server有很多Option字段,但是测试仪不支持那么多,那么就需要构造Discover报文,模拟client发起请求。 2.DHCP Discover报文格式 DHCP报文是承载于UDP上的协议报文,采用67(DHCP服务器)和68(DHCP客户端)两...

    1.背景
    DHCP server有很多Option字段,但是测试仪不支持那么多,那么就需要构造Discover报文,模拟client发起请求。

    2.DHCP Discover报文格式
    DHCP报文是承载于UDP上的协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。
    在这里插入图片描述

    3.测试工具
    由于测试仪无法模拟所有的option字段,所以需要构造option的请求报文。
    构造报文的工具:科来数据包生成器
    发送报文的工具:科来数据包播放器

    4.科来数据包生成器使用方法
    1)使用PC请求IP,同时使用Wireshark抓包,然后把Discover报文导入到科来数据包生成器
    2)对导入的报文进行分析,找到标签55字段,长度表示有多少个option字段,列表是列出所有的option请求字段
    在这里插入图片描述

    对应的16进制如下:后面的FF表示结束标签,00 00 00 00 00 00 00表示额外数据,都可以修改为option字段,修改完成后,还是需要以FF结尾。
    在这里插入图片描述

    修改option:首先修改长度,直接输入十进制数字就可以修改,修改后的数据如下。
    在这里插入图片描述

    5.科来数据包播放器使用方法
    使用科来数据包播放器模拟client向服务器发起请求。
    选择对应的网卡,添加修改的报文,点击开始,就可以发送报文了,还可以设置循环发送等。
    在这里插入图片描述

    展开全文
  • tcp的option字段

    万次阅读 2013-11-10 22:01:46
    找到了RFC文档中关于tcp报头中option字段的内容,好好阅读一下,有时间再给翻成中文的。   TCP选项(RFC793和更新的RFC1323) – 这里充满了各种组合的可能性 – 应答方式“Query-Reply”,可以把多个选项 放到...
    找到了RFC文档中关于tcp报头中option字段的内容,好好阅读一下,有时间再给翻成中文的。
     
    TCP选项(RFC793和更新的RFC1323)
    – 这里充满了各种组合的可能性
    – 应答方式“Query-Reply”,可以把多个选项
    放到一个包中
    – 有些高级选项在新的协议栈实现中加入

    TCP选项
      每个选项的开始是1字节的kind字段,说明选项的类型。

    Kind=0:选项表结束(1字节)

    Kind=1:无操作(1字节)

    Kind=2:最大报文段长度(4字节)   

    Kind=3:窗口扩大因子(4字节)   

    Kind=8:时间戳(10字节)

    3、窗口扩大选项:
      窗口扩大选项使TCP的窗口定义从16位增加到32位,这并不是通过修改TCP首部来实现的,TCP首部仍然使用16位,而是通过定义一个选项实现对16位的扩大操作来完成的。

    4、时间戳选项:
      时间戳选项使发送方在每个报文段中放置一个时间戳值。接收方在确认中返回这个数值,从而允许发送方为每一个收到的ACK计算RTT。

    rfc793

     Options:  variable

        Options may occupy space at the end of the TCP header and are a multiple of 8 bits in length.  All options are included in the checksum.  An option may begin on any octet boundary.  There are two cases for the format of an option:

          Case 1:  A single octet of option-kind.

          Case 2:  An octet of option-kind, an octet of option-length, and
                   the actual option-data octets.

        The option-length counts the two octets of option-kind and option-length as well as the option-data octets.

        Note that the list of options may be shorter than the data offset field might imply.  The content of the header beyond the End-of-Option option must be header padding (i.e., zero).

        A TCP must implement all options.

    Currently defined options include (kind indicated in octal):

          Kind     Length    Meaning
          ----     ------    -------
                       End of option list.
                       No-Operation.
                       Maximum Segment Size.

         

        Specific Option Definitions

          End of Option List

            +--------+
            |00000000|
            +--------+
             Kind=0

            This option code indicates the end of the option list.  This might not coincide with the end of the TCP header according to the Data Offset field.  This is used at the end of all options, not the end of each option, and need only be used if the end of the options would not otherwise coincide with the end of the TCP header.

          No-Operation

            +--------+
            |00000001|
            +--------+
             Kind=1

            This option code may be used between options, for example, to align the beginning of a subsequent option on a word boundary. There is no guarantee that senders will use this option, so receivers must be prepared to process options even if they do not begin on a word boundary.

          Maximum Segment Size 即MSS选项

            +--------+--------+---------+--------+
            |00000010|00000100|   max seg size   |
            +--------+--------+---------+--------+
             Kind=2   Length=4
    Maximum Segment Size Option Data:  16 bits

              If this option is present, then it communicates the maximum receive segment size at the TCP which sends this segment. This field must only be sent in the initial connection request(i.e., in segments with the SYN control bit set).  If this option is not used, any segment size is allowed.

      Padding:  variable

        The TCP header padding is used to ensure that the TCP header ends and data begins on a 32 bit boundary.  The padding is composed of zeros.

    rfc1323

    1.3 Using TCP options

          The extensions defined in this memo all use new TCP options.  We
          must address two possible issues concerning the use of TCP
          options: (1) compatibility and (2) overhead.

          We must pay careful attention to compatibility, i.e., to
          interoperation with existing implementations.  The only TCP option
          defined previously, MSS, may appear only on a SYN segment.  Every
          implementation should (and we expect that most will) ignore
          unknown options on SYN segments.  However, some buggy TCP
          implementation might be crashed by the first appearance of an
          option on a non-SYN segment.  Therefore, for each of the
          extensions defined below, TCP options will be sent on non-SYN
          segments only when an exchange of options on the SYN segments has
          indicated that both sides understand the extension.  Furthermore,
          an extension option will be sent in a segment only if
          the corresponding option was received in the initial
          segment.

          A question may be raised about the bandwidth and processing
          overhead for TCP options.  Those options that occur on SYN
          segments are not likely to cause a performance concern.  Opening a
          TCP connection requires execution of significant special-case
          code, and the processing of options is unlikely to increase that
          cost significantly.

          On the other hand, a Timestamps option may appear in any data or
          ACK segment, adding 12 bytes to the 20-byte TCP header.  We believe that the bandwidth saved by reducing unnecessary
          retransmissions will more than pay for the extra header bandwidth.

          There is also an issue about the processing overhead for parsing
          the variable byte-aligned format of options, particularly with a
          RISC-architecture CPU.  To meet this concern, Appendix A contains
          a recommended layout of the options in TCP headers to achieve
          reasonable data field alignment.  In the spirit of Header
          Prediction, a TCP can quickly test for this layout and if it is
          verified then use a fast path.  Hosts that use this canonical
          layout will effectively use the options as a set of fixed-format
          fields appended to the TCP header.  However, to retain the
          philosophical and protocol framework of TCP options, a TCP must be
          prepared to parse an arbitrary options field, albeit with less
          efficiency.

          Finally, we observe that most of the mechanisms defined in this
          memo are important for LFN's and/or very high-speed networks.  For
          low-speed networks, it might be a performance optimization to NOT
          use these mechanisms.  A TCP vendor concerned about optimal
          performance over low-speed paths might consider turning these
          extensions off for low-speed paths, or allow a user or
          installation manager to disable them.


    2. TCP WINDOW SCALE OPTION

    TCP Window Scale Option (WSopt):

             Kind: 3 Length: 3 bytes

                    +---------+---------+---------+
                    | Kind=3  |Length=3 |shift.cnt|
                    +---------+---------+---------+


             This option is an offer, not a promise; both sides must send
             Window Scale options in their SYN segments to enable window
             scaling in either direction.  If window scaling is enabled,
             then the TCP that sent this option will right-shift its true
             receive-window values by 'shift.cnt' bits for transmission in
             SEG.WND.  The value 'shift.cnt' may be zero (offering to scale,
             while applying a scale factor of 1 to the receive window).

             This option may be sent in an initial segment (i.e., a
             segment with the SYN bit on and the ACK bit off).  It may also
             be sent in a segment, but only if a Window Scale op-
             tion was received in the initial segment.  A Window Scale
             option in a segment without a SYN bit should be ignored.

             The Window field in a SYN (i.e., a or ) segment
             itself is never scaled.

    3.2  TCP Timestamps Option
     TCP Timestamps Option (TSopt):

             Kind: 8

             Length: 10 bytes

              +-------+-------+---------------------+---------------------+
              |Kind=8 |  10    TS Value (TSval)  |TS Echo Reply (TSecr)|
              +-------+-------+---------------------+---------------------+
                                                      4

             The Timestamps option carries two four-byte timestamp fields.
             The Timestamp Value field (TSval) contains the current value of
             the timestamp clock of the TCP sending the option.

             The Timestamp Echo Reply field (TSecr) is only valid if the ACK
             bit is set in the TCP header; if it is valid, it echos a times-
             tamp value that was sent by the remote TCP in the TSval field
             of a Timestamps option.  When TSecr is not valid, its value
             must be zero.  The TSecr value will generally be from the most
             recent Timestamp option that was received; however, there are
             exceptions that are explained below.

             A TCP may send the Timestamps option (TSopt) in an initial
             segment (i.e., segment containing a SYN bit and no ACK
             bit), and may send a TSopt in other segments only if it re-
             ceived a TSopt in the initial segment for the connection.

    展开全文
  • DHCP Option字段

    千次阅读 2017-11-08 13:21:00
    BCMCS Controller IPv4 address option [ RFC4280 ] 90 Authentication N Authentication [ RFC3118 ] 91 client-last-transaction-time option [ RFC4388 ] 92 associated-ip option...
  • OptionalStruct目标此板条箱允许用户生成一个结构,该结构包含与原始结构相同的字段,但包装在Option中。 甲基OptionalStruct目标这个板条箱允许用户生成一个结构,该结构包含与原始结构相同的字段,但包装在Option...
  • 本文将介绍如何通过RFC1323协议来调整Windows XP注册表参数,RFC 1323协议是 ...http://www.blog.namind.com/tcp-handshake-protocol-analysis-and-its-application-option-field.html | 本真心灵
  • DHCP option82字段

    2020-06-26 20:36:04
    DHCP option82字段的添加1.添加option82字段 1.添加option82字段 option 82是dhcp报文中的中继代理信息选项(relay agent information option),抓取上行的dhcp报文,根据目的端口为67的报文进行处理,解析报文,在...
  • DHCP Option 43字段

    2021-07-21 11:06:12
    DHCP option43字段的主要作用:AP可以通过DHCP的Option 43属性直接的获取无线控制器AC的IP地址,从而完成在AC控制器上的注册。 原因: 当AC与AP之间是三层网络时,AP是无法通过广播方式去发现AC的,所以需要...
  • var in = None:Option[FileInputStream] var out = None:Option[FileOutputStream] try{ in = Some(new FileInputStream("/tmp/text.class")) out = Some(new FileOutputStream("/tmp/text1.class")) }ca
  • 如表abc 字段1 字段2 字段3 a b c 1 2 3 <option>a</option> <option>1</option> 当鼠标选中a能表abc中调用出来 b c 如何实现?
  • 有的时候,tooltip中需要展示一些数据,但是有的数据在echarts默认option属性中没有时,就只能自己将数据传入option中,下面是亲测有效的一种写法。 写法: 将想要传入的数据写在series的data里,变量名称自己定...
  • DHCP Option60

    万次阅读 2013-08-17 11:46:50
    DHCP Option60 最近在网络建设过程中,必须面对一个实际存在的问题:当只有一根线入户时,该...首先先来看下DHCP协议,在DHCP协议中,定义了一个option字段,该字段主要是用来扩展DHCP协议的,Option 60 (Vendor cl
  • 小师傅交代自学小kettle跟着网上的安装教程走了一遍,也给配了驱动,能连接上数据库,但是在输出获取字段时总会报这么个错误为了然后我一直在查也没查到,找小师傅由于我偷懒没用mysql,用了XAMPP,他也不知道咋改。...
  • 后台添加自定义字段时,如果你的字段类型是【option下拉框】【radio选项卡】【Checkbox多选框】,而且默认值里填写的文字过多程序将无法显示该字段,解决方法很简单 打开 \include\dedetag.class.php找到 var $...
  • Nhibernate中使用enum字段

    千次阅读 2013-03-02 11:14:45
    在TBLPLANTITEM中有三个字段对应的对象属性使用枚举类型:ITEM_CATEGORY、PURCHASE_CATEGORY、STOCK_OPTION,我把STOCK_OPTION字段设置成整数类型,用来测试NHB对枚举映射的直接支持方式,而其它两个设成了字符串...
  • 每当你在后台分类信息添加了一个字段的时候,就会把字段的信息添加到$_G['forum_option']数组中! 那么我想在模板中单独调用这个字段的名称和值我们就可以使用$_G['forum_option']数组! 使用方法 调用字段名称...
  • $("#cinemaSel").append("<option value='" + cinema.cinemaCode + "'>" + shortName + "</option>"); }); }); 小结  使用了for循环和变量来动态实现这个功能,防止出现了4个字、3个字等多种情况,灵活思考...
  • 关于DHCP Option60的认识

    千次阅读 2010-08-05 22:47:00
    首先先来看下DHCP协议,在DHCP协议中,定义了一个option字段,该字段主要是用来扩展DHCP协议的,Option 60 (Vendor class identifier)是DHCP报文中的一个选项字段,code为60,可以标识终端类型,根据不同的终
  • 关于DHCP Option60的认识-点评

    千次阅读 2012-02-14 01:22:09
    关于DHCP Option60的认识 ...最近在网络建设过程中,必须面对一个实际存在的问题:当只有一根线入户时,...首先先来看下DHCP协议,在DHCP协议中,定义了一个option字段,该字段主要是用来扩展DHCP协议的,Option
  • ![如图所示三列都是select类型的,比如units,是我后台封装好的 name:value 的形式](https://img-ask.csdn.net/upload/201611/11/1478856667_45234.png)![从数据库取值时无法取到相应的值,该怎么才能使值直接显示在...
  • 所以我们仿照代码可以将select字段的默认值取出并分隔,生成option代码 function getzy( ) { $dtp = new DedeTagParse(); $dtp->SetNameSpace("field",",">"); $dtp->LoadSource($this->info); $form...
  • tcp协议头分析之-option类型列举

    千次阅读 2013-11-11 17:51:37
    下面是option字段值的列表 Kind Meaning Reference ---- ------------------------------- ---------  0 End of Option List [RFC793]  1 No-Opera
  • DHCP option 60 和 option 61

    万次阅读 2017-09-12 14:17:30
    option 60 和 option 61 是2个常见的 DHCP optionoption 60 (Class Id)可以防止非法客户端获取合法ip client 向 DHCP Server 发送 DHCP Discovery 请求,请求中附带 option 60 属性来标示供应商类别标识符。 DHCP ...
  • DHCP字段含义

    万次阅读 2015-09-02 15:48:23
    DHCP option 82 、 option 60 、option 43dhcp报文中的一个选项,该选项在dhcp报文中为可变长的字段option选项中包含了部分租约信息、报文类型等。option选项中最多可以包括255个option,最少为1个option。 一、...
  • 适用场景:因为实际项目开发中,el-option的数据肯定是从后台获取的,后台不一定给...这就涉及到给数组对象统一添加字段和el-option实现部分不可选功能的问题了。核心代码如下: 1.template部分: <el-select...
  • 根据某个字段将多条记录的某个字段拼接成一个字段(SQL查询) 原SQL: SELECT q.`id`, q.`questionContent`, o.`questionOption` FROM `exam_question` q INNER JOIN `exam_question_option` o ON q.`id` = o.`...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,458
精华内容 48,183
关键字:

option字段