精华内容
下载资源
问答
  • 局域网通信过程

    2018-08-23 12:40:36
    TCP/IP mac

    TCP/IP

    mac

    展开全文
  • Interface_srpcserver ...网关与客户端通过Socket API通信,Socket API在socket_server.c中实现,socket_server.c中不只实现了网关与客户端的通信,还对客户端进行了简单的管理,如建立客户端列表[c1],因...

    Interface_srpcserver

                                                     -----以灯的状态操作位例

    网关与客户端通过Socket API通信,Socket APIsocket_server.c中实现,socket_server.c中不只实现了网关与客户端的通信,还对客户端进行了简单的管理,如建立客户端列表[c1] ,因为可能有多个客户端连接到同时连接到同一个网关。Socket API是在LwIP的基础上实现的,这一底层通信过程,我们不需要知道它具体怎么实现(但是在具体开发环节中还是需要大量修改和添加功能),只需要知道怎么用Socket API通信。下面就假设网关已经接收到了来自客户端clientFd的命令信息存在*pBuf指向的内存,后面我将介绍网关如何处理这个命令消息。首先调用下面的函数

    void RPSC_ProcessIncoming(uint8_t *pBuf, uint32_t clientFd)

    功能:处理客户端发送到网关的命令信息

    参数:pBuf –网关收到的命令信息

    {

      rpcsProcessMsg_t func;

        func = rpcsProcessIncoming[(pBuf[SRPC_FUNC_ID] & ~(0x80))];

      if (func)

      {

        (*func)(pBuf, clientFd);

      }

      else

      {

        printf("Error: no processing function for CMD 0x%x\n", pBuf[SRPC_FUNC_ID]);

      }

    }

    解释:在interface_srpcserver.c的宏定义中定义了这样一个指针函数类型:

    typedef uint8_t (*rpcsProcessMsg_t)(uint8_t *pBuf, uint32_t clientFd);

    上述定义如果难懂可参考http://zhidao.baidu.com/question/170422609.html[c2] 

    第一行定义了一个这样的函数指针

    第二行pBuf[SRPC_FUNC_ID] & ~(0x80)。这里的SRPC_FUNC_ID是在interface_srpcserver.h中定义的一个宏定义常数0pBuf[SRPC_FUNC_ID]就是pBuf的第一个字节的值,由SRPC消息格式可知,第一个字节表示CMD ID,即标识网关收到的是哪个命令,如收到的命令为设置灯的状态,则CMD ID为:RPCS_SET_DEV_STATE      0x82(在nterface_srpcserver.h中已定义),0x82& ~(0x80)得到的结果为2,因此func = rpcsProcessIncoming[2],由字符串数组rpcsProcessIncoming[](在interface_srpcserver.c的开始已定义)可知rpcsProcessIncoming[2]即为RPCS_ZLL_setDeviceState,自此我们完成了命令的解析,也就是说我们知道了客户端要求网关来干什么,接下来的if语句 执行 (*func)(pBuf, clientFd);即为上述定义的指针函数,还是以设置灯的状态的命令为例,前面我们已经得到func即为RPCS_ZLL_setDeviceState,因此这里实际上调用的函数为:

    static uint8_t RPCS_ZLL_setDeviceState(uint8_t *pBuf, uint32_t clientFd)

    SRPC消息格式

    CMD字节

    命令长度(N

    数据

    1字节

    1字节

    n个字节

     

    接下来顺藤摸瓜,我们看看这个函数,用户通过客户端发送命令想改变灯的状态,这个命令已经被网关接收到了,接下来网关就要通过主机接口[c3] 发送命令给CC2531来控制终端节点,CC2531是不能直接转发处理客户端发送给网关的命令的,因此网关需对命令解析,提取出需要通过串口传递给CC2531的参数,下面这个函数即实现了此功能。在此还是以设置灯的状态命令为例,RPCS_SET_DEV_STATE消息格式如表所示:

    RPCS_SET_DEV_STATE消息格式

    字节

    描述

    1

    命令ID    Command ID

    0X82

    1

    长度    Length

    13

    1

    地址模式  Address Mode

    1 = 组播或2 =单播     1=groupcast OR 2=unicast                     

    2

    网络地址  Network Address

    NwkAddr或组ID      NwkAddr OR Group ID

    6

    保留的   Reserved

    0

    1

    端点     Endpoint

    设备端点或为0xFF       Devices Endpoint OR 0xFF

    2

    保留的   Reserved

    0

    1

    状态    State

    01(开启或关闭)  0 or 1 (on or off)

     

    static uint8_t RPCS_ZLL_setDeviceState(uint8_t *pBuf, uint32_t clientFd)

    功能:This function exposes an interface to set a devices on/off attribute.

    打开一个接口来设置灯的开/关属性

    参数:pBuf - incomin messages  网关接收到的命令消息

    static uint8_t RPCS_ZLL_setDeviceState(uint8_t *pBuf, uint32_t clientFd)

    {

      uint8_t  endpoint, addrMode;

      uint16_t  dstAddr;

      bool  state;

     

      //increment past SRPC header

      pBuf+=2;

    // SRPC消息格式可知命令的前两个字节标识命令的ID及命令的长度,这两个字节是告诉网关该如何处理这个命令,并不需要转发给主机接口,因此指针+2跳过

      addrMode = (afAddrMode_t)*pBuf++; 

    // RPCS_SET_DEV_STATE消息格式可知第三个字节标识 地址模式  Address Mode

      dstAddr = BUILD_UINT16(pBuf[0], pBuf[1]);

    //网络地址由两个字节构成,BUILD_UINT16是在hal_defs.h中定义的一个函数方法,将两个字节组合成一个16位无符号整数

      pBuf += Z_EXTADDR_LEN;//指针跳过保留字节,Z_EXTADDR_LEN即为保留字节的个数

      endpoint = *pBuf++;  //从命令中提取端点ID

      // index past panId

      pBuf += 2;// 指针跳过两个保留字节

      state = (bool)*pBuf; //从命令中提取 状态

      // Set light state on/off

    参数已经全部从命令中提取出来了,下面就要通过串口发送参数到CC2531,这是通过下面的函数完成的

      zllSocSetState(state, dstAddr, endpoint, addrMode);

     

      return 0;

    }

    zllSocSetState(state, dstAddr, endpoint, addrMode)

    这个函数实现了通过串口发送数据到CC2531的功能,具体实现在zllSocCmd.c中,这个主机[z4] 接口的问题在此不再叙述

    以上网关完成了一个完整的命令处理过程,主要由三个函数完成:

    void RPSC_ProcessIncoming(uint8_t *pBuf, uint32_t clientFd)   解析命令

     

    static uint8_t RPCS_ZLL_setDeviceState(uint8_t *pBuf, uint32_t clientFd)   提取参数

     

    zllSocSetState(state, dstAddr, endpoint, addrMode);    主机接口发送命令

     

    上面我是以“设置灯的状态”命令为例的,这个功能不需要网关返回数据给客户端,如果客户端发送的命令为“获取灯的状态”,则网关还需将灯的状态信息返回给客户端。前面的过程与上例相同,

    void RPSC_ProcessIncoming(uint8_t *pBuf, uint32_t clientFd)   解析命令

    static uint8_t RPCS_ZLL_getDeviceState(uint8_t *pBuf, uint32_t clientFd)  提取参数

    zllSocGetState(dstAddr, endpoint, addrMode);  主机接口发送命令

    假设通过主机接口获得了“灯的状态”存放在变量state中,接下来我们就要将这个状态数据返回给客户端。这是就需要调用函数:

    void RPCS_ZLL_CallBack_getStateRsp(uint8_t state, uint16_t srcAddr, uint8_t endpoint, uint32_t clientFd)

    {

      uint8_t *pSrpcMessage, *pBuf; 

       

      //RpcMessage contains function ID param Data Len and param data

      pSrpcMessage = malloc(2+ 4);

     

      pBuf = pSrpcMessage;    //使两个指针指向同一内存

     

      //Set func ID in RPCS buffer

      *pBuf++ = RPCS_GET_DEV_STATE_RSP;

      //param size

      *pBuf++ = 4;

       

      *pBuf++ = srcAddr & 0xFF;

      *pBuf++ = (srcAddr & 0xFF00) >> 8;

      *pBuf++ = endpoint;

      *pBuf++ = state & 0xFF; 

           

      //Store the device that sent the request, for now send to all clients

      srpcSendAll(pSrpcMessage); 

     

      //printf("RPCS_ZLL_CallBack_addSceneRsp--\n");

                       

      return;             

    }

    上面的函数是按照下面的命令格式来装载数据的,最后调用srpcSendAll(pSrpcMessage);  函数将封装好的信息发送给所有客户端

    RPCS_GET_DEV_STATE_RSP消息格式

    字节

    描述

    1

    命令ID   Command ID

    0X07

    1

    长度    Length

    0x4

    2

    网络地址  Network Address

    0x1234

    1

    端点   End Point

    0X56

    1

    状态     state

    0X0

    srpcSendAll(pSrpcMessage);是通过调用socket_server.c中的

    int32 socketSeverSendAllclients(uint8* buf, uint32 len)来实现的

     

     

     

    参考Linux gateway远程过程调用设计方法,下面面对的问题主要就是:

    一.   LwIP的基础上能不能实现类似Linux gatewaysocket_server

    二.   Interface_srpcserver能不能准确移植到STM32

    三.   主机接口能不能准确移植到STM32[c5] 

    四.   主机接口与interface_srpcserver如何实现数据交互


     [c1]如何做的?不同的客户端如何区分的?

     [c2]这个附注加得好,别人就可以更好的学习相关的内容了,以便共同提高。

     [c3]也就是吕慧珍和谢红涛正在做移植的部分。

     [z4]红色字体表示的为Interface_srpcserver主机接口交互部分

     [c5]这部分吕慧珍他们正在做,应该问题不大。





    附件列表

     

    转载于:https://www.cnblogs.com/star91/p/4888968.html

    展开全文
  • 实验过程 实验思路: 我们对交换机sw1、sw2分别配置两个access口、一个trunk口、一个hybrid口 对路由R1配两个接口的IP地址,以及一个默认路由 对路由R2配两个接口的IP地址,以及一个静态路由 给四台主机IP地址,子网...

    附上hybrid口诀
    在这里插入图片描述

    实验目的

    实现在hybrid条件下的全网互通

    实验环境

    ensp中两台路由、两台二层交换机、四台主机

    实验过程

    实验思路:
    我们对交换机sw1、sw2分别配置两个access口、一个trunk口、一个hybrid口
    对路由R1配两个接口的IP地址,以及一个默认路由
    对路由R2配两个接口的IP地址,以及一个静态路由
    给四台主机IP地址,子网掩码和网关
    首先按照下图在ensp中建立拓扑图

    在这里插入图片描述

    SW1配置命令
    在这里插入图片描述
    在这里插入图片描述

    SW2配置命令
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    路由R1配置命令
    在这里插入图片描述
    路由R2配置命令
    在这里插入图片描述
    在这里插入图片描述
    测试阶段
    分别是pc1 ping pc2
    分别是pc3 ping pc4
    分别是pc2 ping pc4
    说明我们的实验成功(此处是全网通)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    pc1 ping pc2过程:数据包从pc1进交换机加了vlan10标签,出交换机脱去vlan10标签,进到R1寻路,找到R2网关192.168.20.1,进到交换机SW2,打上pvid20 的标签,通过trunk链路到交换机sw1,脱去标签到达主机pc2.
    pc3 ping pc4过程:数据包从pc3进入交换机sw2加标签vlan10,通过trunk链路到sw1,出sw1脱去标签到达路由R1网关192.168.10.1,寻路找到R2网关192.168.20.1,进入sw2时打上pvid20标签,出交换机sw2时脱去标签进pc4.
    pc2 ping pc4过程:数据包从pc2出来,贴上vlan20标签进trunk链路传到sw2,出交换机sw2时脱去标签,到达R2网关192.168.20.1开始寻路,找到R1网关192.168.10.1,进入sw1时候打上pvid10标签,通过trunk链路到sw2,出sw2时脱去标签进入pc4.

    展开全文
  • 局域网通信已经很少被他人所提及了,我曾经还尝试过通过蓝牙构建通信网络,这次有机会尝试UDP局域网通信,在这里把一些基本过程和在Android平台上的问题记录一下。

    局域网通信已经很少被他人所提及了,我曾经还尝试过通过蓝牙构建通信网络,这次有机会尝试UDP局域网通信,在这里把一些基本过程和在Android平台上的问题记录一下。

    1. UDP基础知识

    1.1 什么是UDP

    Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据报的方法。RFC 768 描述了 UDP。
    Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的的事情。面向连接的是 TCP,该协议几乎做了所有的事情。
    ——《百度百科》

    根据百度百科的解释,UDP是一个数据传输协议,面向无连接的数据传输方式,说明此协议丢包概率较高,不适合复杂的网络环境。UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序。在局域网中,数据的到达率几乎是可以保证的,因此UDP在局域网通信中拥有比TCP更重要的地位。

    1.2 UDP通信基本流程

    1. 设定好统一的端口号;

    2. 初始化绑定指定端口号的数据接收器;

    3. 指定接收方的IP地址;

    4. 准备好轻量数据;

    5. 发送数据至指定的IP地址;

    6. 数据接收器触发后续逻辑。

    2. UDP局域网通信的Java实现

    2.1 UDP广播

    UDP广播的实现较为简单,其接收方的IP地址固定为255.255.255.255,端口号任选,保证发送方与接收方端口号一致且不与其他程序冲突即可,代码示例如下:

    public class UDPManager {
    
      public static final int BUFFER_SIZE = 2048;
    
      public DatagramSocket socket;
    
      public void init() {
        try {
          //先创建一个绑定了端口号为9527的DatagramSocket
          socket = new DatagramSocket(9527);
          //开启数据接收器
          openReceiver();
          //发送广播消息
          sendBroadcast("Hello World!");
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    
      public void openReceiver() {
        //在子线程中循环接收数据
        new Thread(new Runnable() {
          @override
          public void run() {
            byte[] buffer = new byte[BUFFER_SIZE];
            DatagramPacket dp = new DatagramPacket(buffer, BUFFER_SIZE);
            while(socket != null) {
              try {
                socket.receive(dp);
                System.out.println(new String(buffer));
              } catch (IOException e) {
                e.printStackTrace();
              }
            }
          }
        }).start;
      }
    
      public void sendBroadcast(String dataStr) throws IOException {
        //发送广播消息,消息内容为dataStr
        if (socket != null) {
          byte[] buffer = dataStr.getBytes();
          DatagramPacket packet = new DatagramPacket(buffer, buffer.length, InetAddress.getByName("255.255.255.255"), 9527);
          socket.send(packet);
        }
      }
    }
    

    2.2 UDP单播

    UDP单播的实现与广播类似,其接收方的IP地址需发送消息时传入,端口号任选,保证发送方与接收方端口号一致且不与其他程序冲突即可,在2.1中展示的UDPManager类中增加单播发送方法即可,代码示例如下:

    public class UDPManager {
      //···
      public void sendSingle(String dataStr, String targetIP) throws IOException {
        //发送单播消息,消息内容为dataStr,接收方IP地址为targetIP
        if (socket != null) {
          byte[] buffer = dataStr.getBytes();
          DatagramPacket packet = new DatagramPacket(buffer, buffer.length, InetAddress.getByName(targetIP), 9527);
          socket.send(packet);
        }
      }
    }
    

    2.3 UDP多播

    UDP多播的实现类似群聊,需要先加入一个指定IP的群组,之后消息往该IP发送即可,,端口号任选,单播与多播端口号不可相同,保证发送方与接收方端口号一致且不与其他程序冲突即可,并且需要在2.1中展示的UDPManager类中增加MulticastSocket类型的成员变量、修改init方法和openReceiver方法、增加对应的多播方法,代码示例如下:

    public class UDPManager {
      //···
      //多播地址自选,在224.0.1.0~238.255.255.255之间即可
      public static final String MULICAST_ADDRESS = "224.255.0.1"
      public MulticastSocket multiSocket;
    
      public void init() {
        try {
          //先创建一个绑定了端口号为9527的DatagramSocket
          socket = new DatagramSocket(9527);
          //创建一个绑定端口号为9528的MulticastSocket
          multiSocket = new MulticastSocket(9528);
          //开启数据接收器
          openReceiver();
          //加入多播群组
          multiSocket.joinGroup(InetAddress.getByName(MULICAST_ADDRESS))
          //发送广播消息
          sendBroadcast("Hello World!");
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    
      public void openReceiver() {
        //···
        //新建子线程接收多播数据
        new Thread(new Runnable() {
          @override
          public void run() {
            byte[] buffer = new byte[BUFFER_SIZE];
            DatagramPacket dp = new DatagramPacket(buffer, BUFFER_SIZE);
            while(multiSocket != null) {
              try {
                multiSocket.receive(dp);
                System.out.println(new String(buffer));
              } catch (IOException e) {
                e.printStackTrace();
              }
            }
          }
        }).start;
      }
    
      //···
      public void sendMultiple(String dataStr) throws IOException {
        //发送多播消息,消息内容为dataStr
        if (multiSocket != null) {
          byte[] buffer = dataStr.getBytes();
          DatagramPacket packet = new DatagramPacket(buffer, buffer.length, InetAddress.getByName(MULICAST_ADDRESS), 9528);
          multiSocket.send(packet);
        }
      }
    }
    

    2.4 局域网通信基础构想

    在上述三种UDP通信方式的实现过程中,发现广播方式并不能送达局域网中所有接收者,非同一网段下的接收者将无法收到广播消息,而单播及多播是可以做到跨网段的。

    初步设想,仅使用多播方式,局域网通信流程大致如下:

    1. 用户程序启动,UDP初始化完成;

    2. 加入组播,发送用户上线消息,暴露本机信息(IP地址等);

    3. 接收到用户上线消息的接收方将该用户加入在线用户列表,并再发送一次本机的用户上线消息;

    4. 用户触发消息发送,消息中附带本机信息(IP地址等)与指定接收方IP地址或是用户名等(可以是数组,指定多个接收方);

    5. 接收方收到消息,判断此消息指定接收方中是否有本机,若有则处理该消息,否则丢弃;

    6. 用户关闭程序,发送用户下线消息;

    7. 接收到用户下线消息的接收方将该用户移除在线用户列表。

    3. Android平台同一wifi环境下的尝试

    3.1 UDP通信方式上的问题

    在Android平台上初步尝试了UDP的各个通信方式,发现多播方式受到了极大的影响,经多方查证并多次尝试多播的使用,最后放弃了在Android平台上使用多播方式,如读者有兴趣可以尝试解决一下。

    3.2 安卓wifi局域网通信基础构想

    参考之前的构想,多播方式无法使用的情况下,广播结合单播的方式成为我的备用方案,大致流程如下:

    1. 用户程序启动,UDP初始化完成;

    2. 发送广播,传输用户上线消息,暴露本机信息(IP地址等);

    3. 接收到广播的接收方将该用户加入在线用户列表,并向该用户发送一次本机的用户上线消息;

    4. 用户触发消息发送,以单播的方式发送给指定接收方的IP地址,消息中附带本机信息(IP地址等);

    5. 接收方收到消息,处理该消息。

    6. 用户关闭程序,发送用户下线消息;

    7. 接收到用户下线消息的接收方将该用户移除在线用户列表。

    完毕

    今天的分享就到这里,文章多有不足,各位小伙伴有什么想法可以直接评论或是私信,要是对你有所帮助就给我一个赞吧,喜欢我的小伙伴可以关注我哦~

    支持我的小伙伴们可以微信搜索“Android思维库”,或者微信扫描下方二维码,关注我的公众号,每天都会推送新知识~
    在这里插入图片描述

    展开全文
  • 局域网通信协议有哪些

    千次阅读 2012-04-05 15:52:57
    在组建局域网过程当中经常会遇到选择和安装通信协议的问题,如果选择和安装了不合适的通信协议,往往会引发网络不通、网速太慢或网络不稳定等故障。可见,了解不同通信协议所适用的网络环境和操作系统非常重要。...
  • 如果不会,那么传输过程是怎样的,难道PC1封装的数据帧的目标MAC是路由器的MAC吗?如果会,那么路由器的“网卡”应该是处于混杂模式? 如果会接收目标MAC不是路由器的情况,那么路由器B接收到这个数据帧以后,又是...
  • 我们知道在局域网通信中,IP地址,MAC地址,掩码,ARP是非常重要的几个关键词,你了解通信的全过程吗?我们举个例子,如下图所示: PC1和PC2掩码不同,它们可以正常通信吗? 答案: 最好的解答就是通过实践来...
  •  本地使用Vmware搭建了多台虚拟机,对于PC而言,相当于多了一块网卡,这块网卡只能和内部通信(虚拟机)  每块网卡都有自己的ip地址。   1.2 windows下ip地址 C:\WINDOWS\system32>ipconfig /all ...
  • 1.局域网 覆盖范围小(100m以内),自己花钱购买,自己单位来维护,带宽固定的(10M,100M,1000M) 2.Internet ISP,有自己的机房,对网民提供访问Internet连接 3.广域网 距离较远(超过100m),花钱租带宽,有2...
  • 源码上传过程中,请等待。
  • 局域网内与局域网间主机间通信

    千次阅读 2018-07-28 16:48:56
    个人理解,要理解主机之间通信原理 就是理解 数据包在两台主机之间的封装和解封装过程  一.局域网间主机通信 (1)源主机在发起通信之前,将自己的IP地址与目的主机的IP地址进行比较,如果源主机判断目的主机与...
  • 记得把这几点描述好咯:代码实现过程 + 项目文件结构截图 + 演示效果 1. 开发环境 1.1 开发工具 IDE:AndroidStudio 2.3 语言:java jdk1.8 最低支持:Android4.1以上 1.2 测试环境 实测: 红米4(android 6.0.1) ...
  • 构建VMware虚拟局域网实验操作1.新建虚拟机2 .VMware tools安装3.虚拟网络构建实验1:实现两个虚拟机相互通信。实验二:实现虚拟机和物理机的通信实验三:虚拟机连网实验注意事项 VMware软件的安装及要用到的操作...
  • 整理之前在大连东软实习做的一个局域网内部实时通信系统,进行一个系统的回顾。 实现私聊 一、前言 本来,实现私聊和公聊是差不多的,只要再添加一个消息处理方法即可,可是这里为什么要把它单独拿出来成一篇...
  • 讨论了局域网网络环境中的实时通信过程的模型。采用 Windows的时间中断技术建立了通信过程中相应的几个模型 :对话建立模型、数据发送与接收模型和对话结束模型,以便用于网络中的实时通信、实时演示和实时讨论。
  • 论文给出了能够支持登陆注册、点对点文件传输、视频语音通信、多用户聊天等功能的局域网实时通信系统的设计与实现。在实时通信中,特别是多媒体的实时传输中,对传输时延有非常高的要求。针对这一特点,整个系统采用...
  • 虚拟局域网(VLAN)技术可提高智能变电站过程层网络通信实时性与安全性。为减小中心交换机的通信压力,针对跨交换机通信,设计了带热备份路由协议(HSRP)的双中心交换机通信方案。在仿真和实验中将添加了热备份路由...
  • 其结果是实现对网络设备的不间断访问,进而增强通信和合作,改进决策制定过程,提高员工的工作效率。  利用世界网络的无线局域网解决方案,用户可以最高11Mbps的速度发送和接收信息,比过去的无线局域网快5倍。本...
  • [摘要]无线局域网络是相当便利的数据传输系统,目前已经在数据通信领域得到长足发展和广泛应用,与之相关的小型无线局域网的组建及安全等问题逐渐显现。文章就组建一个小型无线局域网过程进行详细的解析,并对如何...
  • 最近在使用ESP8266模块,将模块的设置方法在此作个记录。一、ESP8266硬件连接 我买来的模块没有烧写固件直接可以使用,接线参考:...以下为我的设置过程:功能指令测试连接AT设...
  • 网络对宽带的要求不断提高,光纤局域网因其成本低、频带宽、抗电磁干扰能力强、体积小、重量轻等优点,满足了人们对信息量和传输速度的要求,通过分析光纤局域网的类型,针对短距离及远程局域网的组建和应用过程中的...
  • 我们知道处于同一局域网的两台计算机,进行通信的方式很简单,可以直接通过局域网内的私有ip定位计算机。但是如果要访问外网即非本局域网的计算机就相对而言比较复杂。 下边为了更好的理解这个过程,我从几个问题...
  • 有句话怎么说“自己动手丰衣足食”,最近对Node.js,express框架以及javascript服务器搭建有些许研究,通过两天的研究终于搭建起自己的服务器,这个服务器搭建过程在这鄙人就不一一细说了,如果有需要的可以留言一起...
  • 针对这个问题,从网络上收集了一些这方面的资料,结合自己在调试过程中的情况,通过以下步骤基本能够解决XP与WIN7局域网共享设置的问题。不到之处请网友谅解指正。  一:必要点  1、需要是管理员权限的帐户  2...
  • 通信过程

    2019-10-09 00:09:04
    IP地址:网络层的(用来标识某台设备的)一个逻辑地址(公网地址是全世界唯一,私网地址是局域网内唯一) MAC地址:数据链路层的一个物理地址(全世界唯一) 转发过程中,所有的设备只会考虑目的地址. 正常PC...
  • 1 引言  网络拓扑类似于路线图,它详细描述了关键的网络构件,诸如节点和链路是如何互连的。目前,常用的互连方案有点到点网络、广播网络和多点网络。其中点到点网络由仅能与相邻... 2 基于OPNET的局域网拓扑建模
  • 本文在对VLAN技术和μClinux操作系统分析的基础上,给出在μClinux环境下VLAN的实现方式与过程。 关键词:μClinux VLAN IEEE802.1q引言虚拟局域网VLAN(Virtual Local Area Network)是指在交换局域网的基础上,...
  • 我的毕业设计论文,毕业设计论文袋将包括两... 局域网通信工具的设计与实现作者姓名: 专业班级:2003050305 指导教师: 摘 要 随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息
  • 在搞的过程中发现,在两台经过ssh打通的机器很容易将消息发送到彼此。 进而想想,如果收到消息的机器能够即时将内容显示出来,那不就是一个山寨版的即时聊天工具嘛,哈哈。   于是我的恶搞开始了。。。   ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 903
精华内容 361
关键字:

局域网通信过程