精华内容
下载资源
问答
  • 局域网发现协议

    千次阅读 2018-08-10 14:58:53
    局域网发现设备是通信的第一步,通信需要先知道对方的ip地址,因为一般使用 DHCP 动态分配 ip 地址的局域网内,各个主机的 IP 地址是由 DHCP 服务器来帮你分配 IP 地址的。所以在很多情况下,你要知道对方的 IP 地址...

    局域网发现的意义

    局域网发现设备是通信的第一步,通信需要先知道对方的ip地址,因为一般使用 DHCP 动态分配 ip 地址的局域网内,各个主机的 IP 地址是由 DHCP 服务器来帮你分配 IP 地址的。所以在很多情况下,你要知道对方的 IP 地址是比较麻烦的。

    因此,局域网发现,我们要解决的事情就是:如何找到局域网内其他设备,并获取到设备的ip;

    查询资料之后,发现使用udp单播、组播、广播来实现的方式都有,并且亲测确实都可行,那么哪种更合适呢,这也是我写这篇的目的,让大家对这些有个基本概念和对比;

    使用哪种协议实现

    udp 不用保证数据可靠性,传输速度快;并且一般tcp是不用于多播场景的;那使用udp如何实现呢?

    使用udp 单播、组播还是广播

    先来了解什么是单播和组播、广播

    • 单播 
      只有一个源点网络和一个终点网络。源点网络和终点网络的关系是一对一的。数据报途径的每一个路由器都要将这个分组仅从一个接口转发出去。

    图例: 
    这里写图片描述

    • 多播 
      在多播系统中,有一个源点一组终点。这是一对多的关系。在这种类型的通信中,源地址是一个单播地址,而目的地址则是一个组地址。

    图例: 
    这里写图片描述

    单播和组播、广播的区别

    • 多播的优点 
      q 具有同种业务的主机加入同一数据流,共享同一通道,节省了带宽和服务器的优点,具有广播的优点而又没有广播所需要的带宽。 
      q 服务器的总带宽不受客户端带宽的限制。由于组播协议由接收者的需求来确定是否进行数据流的转发,所以服务器端的带宽是常量,与客户端的数量无关。 
      与单播一样,多播是允许在广域网即Internet上进行传输的,而广播仅仅在同一局域网上才能进行。

    • 广播的缺点 
      q 多播与单播相比没有纠错机制,当发生错误的时候难以弥补,但是可以在应用层来实现此种功能。 
      q 多播的网络支持存在缺陷,需要路由器及网络协议栈的支持。 
      多播的应用主要有网上视频、网上会议等。

    • 组播与广播 
      广播数据报的接收是被动的。 
      连接到子网上的所有主机都要接收广播数据报,这会增加网络流量,并且子网上的主机增加额外的负担。 
      UDP广播只能在内网(同一网段)有效,而组播可以较好实现跨网段群发数据。 
      UDP广播:消耗更多网络带宽,路由器向子网内的每个终端都投递一份数据包,不论这些终端是否乐于接收该数据包; 
      UDP组播:有了很大优化,只有终端加入到了一个广播组,UDP组播的数据才能被他接收到; 
      多播数据报的接收是主动的。主机主动加入指定的多播组,才会接收该组的多播数据报。 
      不同子网内的A,B进行组播通信,依靠IGMP协议;局域网组播,不考虑跨网段的组播实现,因此组播路由协议IGMP与本文要介绍的内容无关;

    局域网的多播

    多播的地址是特定的,D类地址用于多播。D类IP地址就是多播IP地址,即224.0.0.0至239.255.255.255之间的IP地址,并被划分为局部连接多播地址、预留多播地址和管理权限多播地址3类: 
    局部多播地址:在224.0.0.0~224.0.0.255之间,这是为路由协议和其他用途保留的地址,路由器并不转发属于此范围的IP包。 
    q 预留多播地址:在224.0.1.0~238.255.255.255之间,可用于全球范围(如Internet)或网络协议。 
    q 管理权限多播地址:在239.0.0.0~239.255.255.255之间,可供组织内部使用,类似于私有IP地址,不能用于Internet,可限制多播范围。

    初步结论

    局域网发现可以使用: 
    1.udp单播,获取源主机的ip和子网掩码,得到该局域网的ip地址范围,然后使用udp单播轮询 找到对应的目标主机;

    2.udp组播,让源主机和目标主机都加到同一个局部多播地址;源主机给该多播地址发送组播消息即可;

    3.udp广播,使用广播地址255.255.255.255 来广播定制好的消息;

    综合考虑:udp单播轮询比较耗时,而且如果局域网内设备较多,UDP发送过快的话,会导致本地发送缓冲区丢包;接收过慢的话,也会导致接收缓冲丢包;单播和广播一样,对于不需要关心该消息的主机是一种打扰; 
    因此,使用udp组播来实现局域网发现比使用udp广播更合适;并且我之后会学习mdns和dns-sd,而这两种都是基于udp组播,所以用组播来实现对于后面的深入研究更有意义; 
    现在,我们来实现一个最简单的局域网发现的demo;具体实现请看下一篇

    展开全文
  • Holer是一个免费开源的内网和公网端口映射工具,它可以将局域网服务器代理到公网上,支持转发基于TCP协议的报文。 Holer地址:https://github.com/Wisdom-Projects/holer
  • Holer是一个将局域网服务器代理到公网的内网穿透工具,支持转发基于TCP协议的报文
  • 原由, 公司项目的git服务器, 几周前突然变的慢了. 再进行git fetch, git pull, git push 等远程操作时, 总要延迟10~15秒, 才有反馈. ...如果服务器就是在同一硬盘上,一般用此协议, eg : [git@192 IrisloftServer]$...

    原由, 公司项目的git服务器, 几周前突然变的慢了. 再进行git fetch, git pull, git push 等远程操作时, 总要延迟10~15秒, 才有反馈.
    今天偷点时间搞了一下.
    首先了解一下, git数据传输协议 它一般是通过以下四种协议来和客户端传输数据的.

    1.本地协议
    如果服务器就是在同一硬盘上,一般用此协议, eg :
    [git@192 IrisloftServer]$ git remote -v
    origin /home/git/repositories/ProjectName.git (fetch)

    2 SSH协议
    Git 使用的传输协议中最常见的可能就是 SSH 了 eg:
    raochontaosimac:RainDay terrence$ git remote -v
    origin git@192.168.1.180:~/repositories/ProjectName.git (fetch)

    3 Git协议
    这是一个包含在 Git 软件包中的特殊守护进程;它会监听一个提供类似于 SSH 服务的特定端口(9418),而无需任何授权。打算支持 Git 协议的仓库,需要先创建 git-daemon-export-ok 文件 — 它是协议进程提供仓库服务的必要条件 — 但除此之外该服务没有什么安全措施。要么所有人都能克隆 Git 仓库,要么谁也不能。这也意味着该协议通常不能用来进行推送。你可以允许推送操作;然而由于没有授权机制,一旦允许该操作,网络上任何一个知道项目 URL 的人将都有推送权限。不用说,这是十分罕见的情况。
    这个协议我是没用到过

    4 HTTP/S 协议
    最后还有 HTTP 协议。HTTP 或 HTTPS 协议的优美之处在于架设的简便性。基本上,只需要把 Git 的裸仓库文件放在 HTTP 的根目录下,配置一个特定的 post-update 挂钩(hook)就可以搞定(Git 挂钩的细节见第 7 章)。此后,每个能访问 Git 仓库所在服务器上 web 服务的人都可以进行克隆操作。下面的操作可以允许通过 HTTP 对仓库进行读取:
    eg:
    raochontaosimac:RainDay terrence$ git remote -v
    bitbucket https://TerrenceRao@bitbucket.org/projectname.git (fetch)

    现在项目使用的就是ssh 协议. git 远程操作的延迟其实也就是ssh登录的延迟, 更直接一点.
    ssh git@192.168.1.180
    同样也是10~15秒后能登录上服务器
    ssh -v git@192.168.1.180
    可以看到这期间都在做什么, 哪一块消耗了时间

    下面说下如何解决这样的问题,最为常见的原因是因为server的sshd会去DNS查找访问
    client IP的hostname. 这会消耗大量的时间.

    解决方法是更改sshd_cofnig的配置

    1. 打开文件
      sudo emacs /etc/ssh/sshd_config,
      CentOS系统, 同一目录还存在ssh_config, 注意一下文件名

    2. 搜索UserDNS, 设置为no
      有些系统可能没有这个选项, 没有的话, 就增加一行
      UseNDS no

    3.重启sshd服务
    service sshd restart

    再进行git 远程操作, 或ssh的登录操作. 速度就快多了

    展开全文
  • Holer简介Holer是一个将局域网服务器代理到公网的内网穿透工具,支持转发基于TCP协议的报文。相关链接开源地址:https://github.com/Wisdom-Projects/holer软件包下载:...

    Holer简介

    Holer是一个将局域网服务器代理到公网的内网穿透工具,支持转发基于TCP协议的报文。

    相关链接

    开源地址:https://github.com/Wisdom-Projects/holer

    软件包下载:https://github.com/Wisdom-Projects/holer/tree/master/Binary

    如何使用Holer

    1. 下载软件包holer-client.zip

    2. 使用前请先安装Java 1.7或者更高版本;

    3. 解压holer-client.zip,修改配置文件

        holer-client/conf/holer.conf

        设置 HOLER_ACCESS_KEY

        HOLER_ACCESS_KEY=HOLER_CLIENT-2F8D8B78B3C2A0AE

    4. 启动Holer服务

        cd holer-client/bin

        Windows: 执行命令 startup.bat 或者双击 startup.bat

        Linux: 执行命令 sh startup.sh

    5. 公网和内网的地址映射关系

    Holer Access KeyInternet AddressLocal Address
    HOLER_CLIENT-2F8D8B78B3C2A0AEholer.org:65530127.0.0.1:8080
    HOLER_CLIENT-3C07CDFD1BF99BF2holer.org:65531127.0.0.1:8088
    HOLER_CLIENT-2A623FCB6E2A7D1Dholer.org:65532127.0.0.1:80

    6. 使用示例

        如果您本地的tomcat服务地址:
        http://127.0.0.1:8088

       需要代理到公网上的服务地址为:

        http://holer.org:65531

        只需要在配置文件里修改HOLER_ACCESS_KEY即可:
        holer-client/conf/holer.conf
        HOLER_ACCESS_KEY=HOLER_CLIENT-3C07CDFD1BF99BF2

        重启Holer,然后就可以通过公网URL http://holer.org:65531来访问您的Web应用。

    展开全文
  • 打开本地连接-属性-...以上设备后服务器无法访问外网,局域网内电脑可正常访问服务器 二、若要临时访问外网 增加网关 如192.168.1.1 增加DNS服务器 (可向运营商咨询)、 选自动获得DNS一般也可以 即可上外网 ...

    打开本地连接-属性-internet协议版本4(TCP
    /IPV4)-属性在这里插入图片描述

    IP地址可自行设置为自己的服务器地址
    如上图即可!
    注:默认网关不填
    DNS服务器地址不填
    以上设备后服务器无法访问外网,局域网内电脑可正常访问服务器

    二、若要临时访问外网
    增加网关 如192.168.1.1
    增加DNS服务器 (可向运营商咨询)、 选自动获得DNS一般也可以
    即可上外网

    展开全文
  • DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。下面就简单介绍一下DHCP的安装和一些简单的配置,使用的虚拟机...
  • 局域网虚拟机服务器搭建

    千次阅读 2013-03-11 16:11:30
    1.网络连接选择桥接,复制物理网络连接状态。 ...3.设置路由器上的虚拟服务,内网IP地址就是上一步设置的IP地址,协议和端口根据虚拟机上的服务器设置进行配置,这样外网就能访问虚拟机服务器了。
  • 推荐!局域网通信源码 C++飞鸽传书服务器客户端源码及传输协议 服务器源码 客户端源码 传输协议源码 C++写的 可以参考学习 CLeopard 2012/01/07
  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有...
  • 局域网协议应用指南

    2007-12-08 10:14:00
    在计算机网络课时,我们在学校机房练习在Windows 2000 Server 下TCP/IP的... 学校局域网里的机器使用DHCP服务器获得IP地址,于是我用ipconfig/all查看甲机IP:192.168.10.56,子网掩码255.255.255.0,默认网关192.168
  • 服务器端代码 //创建一个Socket类,内网,流传输,tcp协议 Socket tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //创建ip IPAddress ip = new IPAddress(new ...
  • 许多常见任务(发送和接收数据,连接到HTTP服务器等)需要相当多的编码在C,如果使用直线上升BSD插座。苹果公司决定隐藏的复杂性,通过引入另外,更高层次,框架CFNetwork的。虽然我们仍然领土在这里,而不是...
  • 将自己的Win电脑配置为服务器,并通过自己的手机访问 1.开启IIS服务,并添加站点,设置服务器的存储目录(存储的东西放在哪里) 2. 在win上配置Apache软件, 需要对 端口号(cmd httpd.exe -k install -n ...
  • 教你如何在Windows局域网服务器同步时间 有联网的电脑,大家都知道可以通过网络来校正系统时间,那没有网络的局域网呢?它的时间又是怎么同步和校正的呢?下面来教大家如何通过设置时间服务器来给局域网...
  • 局域网利用HTTP协议传输文件

    千次阅读 2019-03-17 14:15:04
    刚开始我是用U盘进行拷贝,不知道为什么我的usb3.0的U盘在Linux上贼慢,我实在是忍不了了,发现同事有个比较好的方法就是直接用浏览器搭建了HTTP服务器。 1.安装 Ubuntu下 sudo apt-get install apache2 2.把文件放...
  • 在使用socket实现TCP与UDP不同就在于 tcp_socket = socket(AF_INET, SOCK_STREAM) ...其次TCP协议的话客户端需要连接服务器,服务端需要设置接听状态 from socket import * def main(): # 1.创建套接字socket ...
  • Linux系统--安装Nginx并通过局域网访问服务器写在前面下载安装安装包下载安装使用及其相关配置启动Nginx开启80端口访问写在结尾 写在前面 上篇关于Linux系统的文章,讲了关于FTP服务的相关配置,FTP是一种文件传输...
  • 摘要 RADIUS协议是一个被广泛应用于网络认证、授权和计费的协议。本文在介绍了RADIUS协议原理的基础上,对RADIUS协议的实现做...RADIUS协议以Client/Server方式工作,客户端为网络接入服务器(NAS),它向RADIUS服务器
  • 目录 1.什么是TCP? 1.1 TCP概念 1.2 TCP的优缺点 1.3 TCP的使用场景 ...TCP:英文全拼(Transmission Control Protocol)简称传输控制协议,它是一种面向连接的、可靠的、基于字节流的传输层通信协议.。 TC...
  • 多个局域网共享DHCP服务器

    千次阅读 2017-08-30 21:04:38
    关于DHCP基础知识,可以参考博客DHCP协议原理及实现流程 IDC机房里的网络分为多个vlan(虚拟局域网),每个vlan分配一个1/4C网段,连接到路由器上。 由于DHCP discover请求是以广播的形式发送,但是网段之间的...
  • Windows Server 2003终端服务器可用来管理每个客户远程登录的资源,它提供了一个基于远程桌面协议(RDP)的服务,使Windows Server 2003成为真正的多会话环境操作系统,并让用户能使用服务器上的各种合法资源。
  • samba文件服务器跨windwos 局域网

    千次阅读 2013-07-02 16:58:29
    文件服务器 ...局域网文件服务器:samba 统一协议:smb/cifs 作用:实现windows与类unix平台之间文件互访. smbd 139 445 tcp 文件传输 nmbd 137 138 udp netbios名称解析 # setenfor
  • 为了同事们协调工作,所以在公司内部搭建SVN服务器。 工具/原料 Server2003 方法/步骤 设置IP地址:打开【控制面版】->【管理工具】->【网络连接】->双击打开【本地连接】,单击【属性】在【常规】打开...
  • 最近因为要搭建一个局域网视频聊天系统,需要用到HTTPS协议,HTTPS协议需要证书,证书需要用到域名,而且IP地址不太好记,就想着直接在聊天服务器上布置一个DNS服务器好了。 本文主要介绍在WIN7上利用ntbind部署DNS...
  • DHCP概述1)了解DHCP服务DHCP(Dynimic Host Configuration Protocol,动态主机配置协议)是由IEIF(Internet工作任务小组)设计开发的,专门用于为TCP/IP网络的计算机自动分配TCP/IP参数的协议,DHCP服务避免了因...
  • 选择一台计算机作为代理服务器,并在其上安装双网卡,A网卡连接外网或可以上网的内部路由,B网卡连接其它需要通过这台计算机上网的交换机,或计算机(双机互联上网时)。 2·网卡设置 1),给每台计算机安装tcp/ip、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,128
精华内容 1,251
关键字:

局域网服务器协议