精华内容
下载资源
问答
  • 以太网协议一、以太网帧格式二、ARP协议2.1 协议格式2.2 作用2.3 工作流程2.4 ARP局域网欺骗攻击三、...16位上层协议类型:记录网路层(有可能是介于网络层和链路层之间的协议,例如ARP协议、RARP协议)使用的协议,用


    链路层协议主要是负责相邻设备之间的数据传输。

    一、以太网帧格式

    在这里插入图片描述

    max地址:网卡设备的物理硬件地址,通常出厂时就会设定。

    48位对端mac地址+48位源端mac地址:无符号6字节整数,标识相邻两个设备。
    16位上层协议类型:记录网路层(有可能是介于网络层和链路层之间的协议,例如ARP协议、RARP协议)使用的协议,用于数据分用。
    0800为IP数据报协议类型
    0806为ARP请求、应答协议类型
    0835为RARP请求、应答协议类型
    46~1500字节的上层交付的数据:网络层(有可能是介于网络层和链路层的数据)进行封装后交付到链路层的数据,以太网帧中的数据长度规定最小46字节,最大1500字节。
    32位CRC:校验数据一致性。

    二、ARP协议

    2.1 协议格式

    在这里插入图片描述
    ARP数据就是数据一个介于网络层和链路层的数据,该数据到链路层后(上层协议类型为0806)进行链路层的封装。

    16位硬件类型:链路层网络类型,1为以太网。
    16位协议类型:要装换的地址类型,0x0800为IP地址。
    8位硬件地址长度:以太网地址为6个字节。
    8位协议地址长度:IP地址长度为4个字节。
    16位op字段:op字段为1表示ARP请求,op字段为2表示ARP应答。
    48位源端mac地址+32位源端IP地址:对于ARP请求而言,描述发送方信息。
    48位对端mac地址+32位对端IP地址:对于ARP请求而言,对端max地址未知,通过对端IP地址,得到max地址,做出ARP应答(ARP协议的作用)。
    18个字节的补充数据:ARP数据包大小为28个字节,但是以太网帧中的数据长度规定最小46字节,所以后面补充18个字节数据,该数据无任何意义。

    2.2 作用

    我们首先需要知道,数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址不知道,则无法发送数据,因此在通讯前必须获得目的主机的硬件地址。
    ARP协议的作用就是建立主机IP地址与MAC地址的映射关系。

    2.3 工作流程

    1.源主机发出ARP请求,询问某IP地址的主机的硬件地址是多少, 并将这个请求广播到本地网段。
    2.目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中,做出应答;
    每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址

    2.4 ARP局域网欺骗攻击

    由于ARP请求是一个广播请求,所以就有可能出现恶意主机,伪装IP地址,给你进行ARP应答,你就会将后续的数据发送到这个恶意主机。(破解攻击的方法:防火墙mac地址白名单)

    三、MTU对于上层协议的影响

    MTU是链路层限制的最大数据帧大小,以太网协议默认是大小为1500。

    3.1 TCP协议的影响

    在建立连接时,三次握手会协商mss(最大数据段大小),通信过程中都会从缓冲区取出不大于mss大小的数据进行数据传输,然而mss是通过mtu计算得到的
    mss=mtu-IP报头(20)-TCP报头(20)=mtu-40
    TCP在传输层会自动进行数据分段,所以在网络层不需要进行数据分片

    3.2 UDP协议的影响

    UDP是无连接的,所以不会协商mss,只要数据小于最大数据报长度(64k-28)就可以传输,但是若大于mtu大小,就会在网络层进行数据分片。
    但是,分片越多越危险,若单个分片出问题,则原始报文重组就会失败,就会造成所有分片被丢弃(所以对于UDP传输,用户尽可能在应用程对数据进行分包,传输的大小可以自己计算一个mss进行数据传输)

    展开全文
  • 为提高ZC可靠性,设计中通常使用冗余结构,其内部安全通信 协议就成为系统成败关键。本文介绍构建于UDP协议之上ZC内部安全通信协议的设计与实现,利用OP— NET网络仿真工具对该协议进行建模,并模拟...
  • ENC28J60以太网之uIP协议

    千次阅读 2012-05-10 21:56:35
     在嵌入式系统中,以太网控制器通常也是研究热点之一,MicroChip公司ENC28J60在嵌入式系统中应用价值较高,该芯片集成了MAC控制器和PHY,使用SPI接口,适合在引脚资源比较紧张嵌入式系统中加入以太网连接功能,...

            广东省电子设计大赛准备的,智能家居网关,外围单片机通信数据需要使用TCP/IP通信,故采用ENC28J60模块。

           在嵌入式系统中,以太网控制器通常也是研究热点之一,MicroChip公司的ENC28J60在嵌入式系统中应用价值较高,该芯片集成了MAC控制器和PHY,使用SPI接口,适合在引脚资源比较紧张的嵌入式系统中加入以太网连接功能,本文主要介绍了MicroChip公司的ENC28J60控制器的初始化及其编程相关的注意和要点。

            uIP作为一种广泛使用的轻量级嵌入式TCP/IP协议栈,其UDP协议的实现还不够完善,目前最新的1.0版本中仅实现了UDP客户端,尚没有实现UDP服务端。为此,对其进行了以下三方面的改进:UDP服务端口的初始化;接收到UDP客户端数据包后的端口号判断及匹配;UDP服务端发送报文后目的端口的释放。

           硬件平台:STC12C60S2+ENC28J60

     

    主函数main:在函数中,对于处理应用数据的用户,对 uIP 整个流程做一个了解即可,uIP 将处理后的结果全部
    都回调到uip_appcall()函数统一处理, 所以重点需要完成的工作全部在uip_appcall()函数中

    /*
     * Copyright (c) 2001-2003, Adam Dunkels.
     * All rights reserved. 
     *
     * Redistribution and use in source and binary forms, with or without 
     * modification, are permitted provided that the following conditions 
     * are met: 
     * 1. Redistributions of source code must retain the above copyright 
     *    notice, this list of conditions and the following disclaimer. 
     * 2. Redistributions in binary form must reproduce the above copyright 
     *    notice, this list of conditions and the following disclaimer in the 
     *    documentation and/or other materials provided with the distribution. 
     * 3. The name of the author may not be used to endorse or promote
     *    products derived from this software without specific prior
     *    written permission.  
     *
     * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
     * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
     * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
     *
     * This file is part of the uIP TCP/IP stack.
     *
     * $Id: main.c,v 1.10.2.1 2003/10/04 22:54:17 adam Exp $
     *
     */
    #include "uip.h" 
    #include "uip_arp.h"
    #include "httpd.h"
    //#include "telnet.h"
    #include "mcu_uart.h"
    #include "enc28j60.h"
    #include "tcp_server.h"
    
    #define BUF ((struct uip_eth_hdr *)&uip_buf[0])
    
    #ifndef NULL
    #define NULL (void *)0
    #endif /* NULL */
    
    /*-----------------------------------------------------------------------------------*/
    int
    main(void)
    {
    	idata u8_t i, arptimer;
    	idata u16_t j;
    	init_uart();   //串口初始化
    	printu("starting......\r\n");
    	/* Initialize the device driver. */ 
    	dev_init();	   //网卡初始化
    	uip_arp_init();	//ARP初始化
    	/* Initialize the uIP TCP/IP stack. */
    	uip_init();	  //uIP协议初始化
    	printu("uip\r\n");
    	/* Initialize the HTTP server. */
    //	httpd_init();
    	tcp_server_init(); //用户自定义处,实现功能函数
    	
    	arptimer = 0;  //ARP缓存表更新定时器
    	printu("ok\r\n");
      while(1) {
        /* Let the tapdev network device driver read an entire IP packet
           into the uip_buf. If it must wait for more than 0.5 seconds, it
           will return with the return value 0. If so, we know that it is
           time to call upon the uip_periodic(). Otherwise, the tapdev has
           received an IP packet that is to be processed by uIP. */
        uip_len = dev_poll();  //查询网卡是否有包收到
    	for(j=0;j<500;j++);	   //延时,避免服务端应答过慢,造成不必要重发包
    /*
    	if(uip_len > 0)
    	{
    		printuf("--------------- uip_len = 0x%x", uip_len);
    		printuf("%x ----------\r\n", uip_len);
    		for(i=0;i<uip_len;i++)
    		{
    			printuf("%x ", uip_buf[i]);
    			if((i+1)%16==0) printu("\r\n");			
    		}
    		printu("\r\n");			
    	}
    */
        if(uip_len == 0) {
          for(i = 0; i < UIP_CONNS; i++) {	//协议栈解析,组包,状态监测等
    	uip_periodic(i);
    	/* If the above function invocation resulted in data that
    	   should be sent out on the network, the global variable
    	   uip_len is set to a value > 0. */
    	if(uip_len > 0) {
    	  uip_arp_out();			//有包需要发送
    	  dev_send();
    	}
          }
    
    #if UIP_UDP
          for(i = 0; i < UIP_UDP_CONNS; i++) {
    	uip_udp_periodic(i);
    	/* If the above function invocation resulted in data that
    	   should be sent out on the network, the global variable
    	   uip_len is set to a value > 0. */
    	if(uip_len > 0) {
    	  uip_arp_out();
    	  dev_send();
    	}
          }
    #endif /* UIP_UDP */
          
          /* Call the ARP timer function every 10 seconds. */
          if(++arptimer == 20) {	
    	uip_arp_timer();	   //更新ARP缓存
    	arptimer = 0;
          }
          
        } else {		//有包    处理IP包
          if(BUF->type == htons(UIP_ETHTYPE_IP)) {
    	uip_arp_ipin();
    	uip_input();
    	/* If the above function invocation resulted in data that
    	   should be sent out on the network, the global variable
    	   uip_len is set to a value > 0. */
    	if(uip_len > 0) {
    	  uip_arp_out();
    	  dev_send();
    	}
          } else if(BUF->type == htons(UIP_ETHTYPE_ARP)) {		//处理ARP
    	uip_arp_arpin();
    	/* If the above function invocation resulted in data that
    	   should be sent out on the network, the global variable
    	   uip_len is set to a value > 0. */	
    	if(uip_len > 0) {	
    	  dev_send();
    	}
          }
        }
        
      }
      return 0;
    }
    /*-----------------------------------------------------------------------------------*/
    void
    uip_log(char *m)
    {
    //  printf("uIP log message: %s\n", m);
    }
    /*-----------------------------------------------------------------------------------*/
    


    在tcp_server_init(); //用户自定义处,实现功能函数中

    #include "example0.h"
    #include "example1.h"
    #include "tcp_server.h"
    //#include "httpd.h"
    #include "uip.h"
    #include "mcu_uart.h"
    
    
    void tcp_server_init(void) 	//在应用程序函数中,依靠uIP事件检测函数来决定处理的方法,
    							//另外可以通过判断当前连接的端口号来区分处理不同的连接。
    {
    	httpd_init();
    	example0_init();   //用户自定义函数,实现某些功能的,主要监听端口
    	example1_init();   //
    }
    
    void tcp_server_appcall(void) 
    {
    	switch(uip_conn->lport) 
    	{
    		case HTONS(80):
    			httpd_appcall();break;
    		case HTONS(8000):
    			example0_app();break;
    		case HTONS(8001):
    			example1_app();break;
    	}
    }
    				 


    如example0_init中

    void example0_init(void) 
    {
    	uip_listen(HTONS(8000));
    }


     

    究竟如何调用自己编写的函数呢?在uipopt.h中,可以修改IP地址,MAC,默认网关。实现的用户自定义的函数

     

    #define UIP_PINGADDRCONF 0
    
    #define UIP_IPADDR0     192 /**< The first octet of the IP address of
    			       this uIP node, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_IPADDR1     168 /**< The second octet of the IP address of
    			       this uIP node, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_IPADDR2     0   /**< The third octet of the IP address of
    			       this uIP node, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_IPADDR3     44  /**< The fourth octet of the IP address of
    			       this uIP node, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    
    #define UIP_NETMASK0    255 /**< The first octet of the netmask of
    			       this uIP node, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_NETMASK1    255 /**< The second octet of the netmask of
    			       this uIP node, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_NETMASK2    255 /**< The third octet of the netmask of
    			       this uIP node, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_NETMASK3    0   /**< The fourth octet of the netmask of
    			       this uIP node, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    
    #define UIP_DRIPADDR0   192 /**< The first octet of the IP address of
    			       the default router, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_DRIPADDR1   168 /**< The second octet of the IP address of
    			       the default router, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_DRIPADDR2   0   /**< The third octet of the IP address of
    			       the default router, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    #define UIP_DRIPADDR3   1   /**< The fourth octet of the IP address of
    			       the default router, if UIP_FIXEDADDR is
    			       1. \hideinitializer */
    
    /**
     * Specifies if the uIP ARP module should be compiled with a fixed
     * Ethernet MAC address or not.
     *
     * If this configuration option is 0, the macro uip_setethaddr() can
     * be used to specify the Ethernet address at run-time.
     *
     * \hideinitializer
     */
    #define UIP_FIXEDETHADDR 1
    
    #define UIP_ETHADDR0    0x12  /**< The first octet of the Ethernet
    				 address if UIP_FIXEDETHADDR is
    				 1. \hideinitializer */
    #define UIP_ETHADDR1    0x34  /**< The second octet of the Ethernet
    				 address if UIP_FIXEDETHADDR is
    				 1. \hideinitializer */
    #define UIP_ETHADDR2    0x56  /**< The third octet of the Ethernet
    				 address if UIP_FIXEDETHADDR is
    				 1. \hideinitializer */
    #define UIP_ETHADDR3    0x78  /**< The fourth octet of the Ethernet
    				 address if UIP_FIXEDETHADDR is
    				 1. \hideinitializer */
    #define UIP_ETHADDR4    0x90  /**< The fifth octet of the Ethernet
    				 address if UIP_FIXEDETHADDR is
    				 1. \hideinitializer */
    #define UIP_ETHADDR5    0xAB  /**< The sixth octet of the Ethernet
    				 address if UIP_FIXEDETHADDR is
    				 1. \hideinitializer */
    /*为了将用户的应用程序挂接到uIP中,必须将宏UIP_APPCALL()定义成实际的应用
      程序函数名,这样每当某个uIP事件发生时,内核就会调用该应用程序进行处理*/
    #define UIP_APPCALL     tcp_server_appcall//httpd_appcall
    /*


    最后,如何进行测试呢:使用TCP/UDP 调试工具,上网下载的


    展开全文
  • 扩展的以太网

    千次阅读 2016-02-11 18:12:36
    以太网上主机之间距离不能太远(例如,10BASE-T以太网的两主机之间距离不超过200米),否则主机发送信号经过铜线传输就会衰减到使CSMA/CD协议无法正常使用。 过去,广泛使用粗缆或细缆以太网时,常使用工作...

    扩展的以太网

    1. 在物理层扩展以太网

    • 以太网上的主机之间的距离不能太远(例如,10BASE-T以太网的两主机之间的距离不超过200米),否则主机发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常使用。
    • 过去,广泛使用粗缆或细缆以太网时,常使用工作在物理层的转发器来扩展以太网的地理覆盖范围。
    • 现在,双绞线以太网成为以太网的主流类型,扩展主机和集线器之间的距离的一种简单方法就是使用光纤(通常是一对光纤)和一对光纤调制解调器。
    • 光纤调制解调器的作用,是进行电信号和光信号的转换。
      这里写图片描述

    2. 在数据链路层扩展以太网

    • 注:在数据链路层扩展以太网要使用网桥。
    • 网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发或过滤。当网桥收到一个帧时,并不是向所有的接口转发这个帧,而是检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。

    2.1 网桥的内部结构

    • 最简单的网桥有两个接口,复杂些的网桥可能有更多的接口。两个以太网通过网桥连接起来后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就可以称为一个网段(segment)。
    • 网桥通过转发表来转发帧。转发表也称为转发数据库或路由目录。
    • 网桥的工作原理:是通过内部的接口管理软件和网桥协议实体来完成以下操作的。
      (1)若网桥从接口1收到A发给E的帧,则在查找转发表后,把这个帧送到接口2转发到另一个网段,使E能够收到这个帧。
      (2)若网桥从接口1收到A发给B的帧,就丢弃这个帧,因为转发表指出,转发给B的帧应当从接口1中转发出去,而现在正是从接口1收到这个帧,这说明B和A处在同一个网段上,B能够直接收到这个帧而不需要借助网桥的转发。

      这里写图片描述

    2.2 网桥的优点

    2.2.1 过滤通信量,增大吞吐量
    • 网桥工作在数据链路层的MAC子层,可以使以太网各网段成为隔离区的碰撞域。
      这里写图片描述
    2.2.2 扩大了物理范围
    • 扩大了物理范围,因而也增加了整个以太网上工作站的最大数目。
    2.2.3 提高了可靠性
    • 提高了可靠性,当网络出现了故障时,一般只影响个别网段。
    2.2.4 可互连不同物理层、不同MAC子层和不同速率(如10Mb/s或100Mb/s)的以太网

    2.3 网桥的缺点

    2.3.1 增加了时延
    • 由于网桥对接收的帧要先存储和查找转发表,然后才转发,而转发之前,还必须执行CSMA/CD算法(发生碰撞时要退避),这就增加了时延。
    2.3.2 没有流量控制功能
    • 在MAC子层并没有流量控制功能。当网络上的负荷很重时,网桥中的缓存的存储空间可能不够而发生溢出,以致产生帧丢失的现象。
    2.3.3 广播风暴
    • 网桥只适用于用户数不太多(不超过几百个)和通信量不太大的以太网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴。

    2.4 两个网桥之间有点到点的链路

    这里写图片描述

    注:网桥在转发帧时,不改变帧的源地址。


    参考文献:
    [1]《计算机网络(第5版)》谢希仁——第三章 3.5

    展开全文
  • 以太网和局域网区别与联系?

    千次阅读 2020-03-23 18:22:54
    一、以太网和局域网不单存在... 使用协议的区别:以太网通常采用CSMA/CD协议(即:带冲突检测载波监听多路访问协议),而局域网的使用协议多样,包括TCP/IP协议、IPX/SPX协议、NetBEUI协议等。 二、以太网和局域...

    一、以太网和局域网不单存在分类的区别,他们两者之间的使用协议也存在区别:

    1. 分类的区别:以太网分类归为总线型局域网,而局域网的拓扑结构包括星形、树形、环形和总线型,局域网是四者的统称。

    2. 使用协议的区别:以太网通常采用CSMA/CD协议(即:带冲突检测的载波监听多路访问协议),而局域网的使用协议多样,包括TCP/IP协议、IPX/SPX协议、NetBEUI协议等。

    二、以太网和局域网之间存在的联系:

    以太网是一种局域网,但是因为现在大部分的局域网均为以太网,因此一般提及局域网都会默认为以太网。以太网是一种总线型局域网,而局域网的拓扑结构存在多种实现方式,包括星型、树形、环形、总线型等。

    扩展资料

    局域网多应用于机关部门和企业单位,局域网的构建有效的提高了单位服务器内用户的信息数据交流速度。其中,总线型局域网(即以太网)由于可靠性高、网络节点间响应速度快、共享资源能力强、设备投入量少、成本低、安装使用方便,因此被单位和部分采用。

    各级组织部门要积极建设和完善内部局域网,将局域网连通到部机关集中办公地点的每位干部的办公用计算机,并确保网络安全畅通。内部局域网的建设必须严格按照国家安全保密规定确定密级,机房建设、综合布线和设备配备等必须符合国家规定的涉密信息网络系统建设标准。

    参考资料来源:百度百科-局域网

    参考资料来源:百度百科-以太网

    参考资料来源:人民网-组织部门内部局域网建设目标是什么?

    展开全文
  • 20130408-[转]ENC28J60以太网之uIP协议

    千次阅读 2013-04-08 21:28:11
       广东省电子设计大赛准备,智能家居网关,外围单片机通信数据需要使用TCP/IP通信,故采用... 在嵌入式系统中,以太网控制器通常也是研究热点之一,MicroChip公司ENC28J60在嵌入式系统中应用价值较高,该芯
  • 一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议。 IEEE802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理数据的802.3以太网标准。...
  • 以太网帧结构

    2020-04-02 11:57:18
    一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议。IEEE 802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理数据的802.3以太网标准,...
  • 什么是以太网以太网是一种计算机局域网技术。由IEEE组织IEEE802.3标准制定了以太网技术标准,规定了物理层连接、电子信号和介质接入层协议的内容。以太网现在是最流行...通常的光纤交换机也使用以太网技术,...
  • 局域网是专有网络,通常位于一个建筑物内,或者一个校园内,也可以远到几公里范围。局域网将单位内部个人计算机连接起来,以便共享资源和交换信息。局域网只具备低三层协议,高层协议由局域网操作系统处理。 ...
  • 关于以太网帧中标签解释

    千次阅读 2013-04-16 21:27:37
    以太帧有很多种类型。不同类型帧具有不同格式和...并通常直接被IP协议使用。Novell非标准IEEE 802.3帧变种。IEEE 802.2 逻辑链路控制 (LLC) 帧子网接入协议(SNAP)帧 所有四种以太帧类型都可包含一个IEE
  • Ethernet(以太网)之 DHCP详解

    千次阅读 2018-05-04 08:47:13
      DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网网络协议使用UDP协议工作,常用2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是集中管理、分配IP地址,使...
  • 刚才说过网络体系结构...依据网络不同通常使用Ethernet(以太网)、NetBEUI、IPX/SPX以及TCP/IP协议。 Ethernet是总线型协议中最常见网络低层协议,安装轻易且造价便宜;而NetBEUI可以说是专为小型局域网设计...
  • 前言:在项目实际应用中,经常会遇到两个不同厂家PLC需要互联进行通信交换数据,由于各自通信协议有所不同,实现起来难度较大,通常的做法是借助第三方网关。本文介绍是AB PLC与西门子S7-1200直接互联,不...
  • 近年,工业以太网的市场份额已经超过了传统现场总线协议,总线协议通常需要多个独立和专有布线设施。为了满足工业环境需要,工业以太网本质上使用封装在以太网协议特殊工业协议,以确保在需要执行特定操作...
  • 以太网是与传输控制协议(TCP)和Internet协议(IP)结合使用的“链路层协议”。它描述了设备应如何格式化数据以进行传输以及随后应如何通过网络发送该数据。 以太网包括两个元素,一个“框架”和一个“分组”。该帧...
  • 前言:在项目实际应用中,经常会遇到两个不同厂家PLC需要互联进行通信交换数据,由于各自通信协议有所不同,实现起来难度较大,通常的做法是借助第三方网关。本文介绍是AB PLC与西门子S7-1200直接互联,不...
  • 前言:在项目实际应用中,经常会遇到两个不同厂家PLC需要互联进行通信交换数据,由于各自通信协议有所不同,实现起来难度较大,通常的做法是借助第三方网关。本文介绍是AB PLC与西门子S7-1200直接互联,不...
  • 互联网层使用IP协议,它相当于是OSI模型中第3层网络层。TCP/IP分层中互联网层和传输层功能通常是由操作系统提供。连接互联网所有主机和路由器必须都实现IP功能。 IP协议 IP是跨越网络传送数据包,使.
  • 它可以在所有支持广播网络上使用,但最常见还是按以太网的方式来介绍它。  如果主机A想把一个包发送到同一个以太网上主机B,那么它用ARP来发现B硬件地址。当B与A不在同一个网络上时候,主机A用ARP来发现...
  • 同时会介绍一个重要的CSMA/CD的以太网协议,以及相关的硬件与 MAC数据帧格式等。 2.2.1广 域网使用的设备 在2.1.3节我们曾经提到过,广域网使用的设备价格较为低廉。不过广域网使用到的设 备非常多,一般用户...
  • 网络通信协议

    万次阅读 2018-07-27 15:33:22
    一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议。 IEEE802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理数据的802.3以太网标准。...
  • Hardware Type(硬件类型):表示使用哪种技术 通常为 1 (以太网技术) Protocol Type (协议类型):IP协议(IPX协议……) Hardware Length(硬件(MAC)地址长度):6(68=48) Protocol Length(协议的长度):4(48=32...
  • 一种典型扫描:使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。 1 tcpmux 这显示有人在寻找SGI Irix机器。Irix是实现tcpmux主要提供者,缺省情况下tcpmux在这种系统中被打开。 Iris机器在发
  • AB PLC与西门子S7-1200以太网通信

    千次阅读 2019-03-29 08:45:00
    前言:在项目实际应用中,经常会遇到两个不同厂家PLC需要互联进行通信交换数据,由于各自通信协议有所不同,实现起来难度较大,通常的做法是借助第三方网关。本文介绍是AB PLC与西门子S7-1200直接互联,不...
  • ARP协议概述

    2014-10-28 09:59:00
    数据链路如以太网、令牌环网都有自己的一套寻址机制(通常为48bit地址),这是使用数据链路的...地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的协议。 ARP协议为IP地址到对...
  • 一、背景以太网交换网络中为了进行链路备份,提高网络可靠性,通常使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及 MAC 地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 225
精华内容 90
关键字:

以太网通常使用的协议