局域网中客户端与服务器自动建立TCP连接的方法与流程

文档序号:19059426发布日期:2019-11-06 01:37阅读:2896来源:国知局
导航: X技术> 最新专利> 电子通信装置的制造及其应用技术
局域网中客户端与服务器自动建立TCP连接的方法与流程

本发明涉及tcp连接技术领域,具体涉及一种局域网中客户端与服务器自动建立tcp连接的方法。



背景技术:

在客户端/服务器的架构下,若局域网内的客户端需要与服务器建立tcp连接,必须满足两个条件。1.客户端必须拥有合法的ip地址;2.客户端需要知道服务器的ip地址。

在局域网中,常常会使用dhcp协议来完成各台设备的ip地址自动分配。只要局域网中有一台dhcp服务器,那么其他设备就可以通过dhcp服务器得到下发的ip地址。这台dhcp服务器通常是局域网中的路由器设备,或者开启了dhcp服务功能,且拥有静态ip的电脑主机。dhcp协议有效解决了第一个条件,即给客户端分配好ip地址。但是要完成tcp连接,客户端还必须知道服务器的ip地址,这就不是dhcp协议所能解决的问题了。虽然我们可以给局域网内的服务器设定静态ip地址,此时各客户端程序连接服务器时可以使用服务器的静态ip,但这种做法限制了客户端程序的灵活性。如果服务器ip地址发生了变化,客户端是无法有效感知的。

在喷码和标识行业中,多个喷码设备需要和工控主机进行tcp连接以完成数据的传输。每一台喷码设备需要有一个ip地址,如果能够让这些设备上电之后可以自动和工控主机进行tcp连接,则可以节省大量的网络配置工作。由于dhcp协议无法满足前文所述的第二个条件,需要使用新的设计来同时满足这两个条件。所有设备上电之后将自动完成tcp连接的建立,极大的简化了设备部署和网络配置管理的要求。



技术实现要素:

针对现有技术的不足,本发明公开了一种局域网中客户端与服务器自动建立tcp连接的方法,用于解决在喷码和标识行业中,多个喷码设备需要和工控主机进行tcp连接以完成数据的传输。每一台喷码设备需要有一个ip地址,不能自动连接,以达到简化网络配置管理的目的。

本发明通过以下技术方案予以实现:

局域网中客户端与服务器自动建立tcp连接的方法,所述方法包括以下步骤:

t1客户端设备上电,并周期性发送ip请求报文;

t2服务器上电初始化,接收ip请求,并解析客户端mac地址;

t3服务器从ip地址池提取合法的ip地址,并构造ip请求响应报文发送给客户端;

t4客户端若未收到ip请求响应报文,则继续发送ip请求响应,若收到ip请求响应报文则进入s5;

s5客户端解析服务器ip及分发给客户端的ip,并将其发送到服务器的tcp进行连接。

更进一步的,所述t1中,发送的ip请求为ip的链路层报文,目的mac地址为广播地址,源mac地址为客户端mac地址。

更进一步的,同一个局域网内的所有主机均接收所述ip的链路层报文,对ip请求的响应由服务器完成。

更进一步的,所述链路层报文的数据链路层协议是自定义的协议标识,其结合及数据字段作为数据链路层的payload发送出去。

更进一步的,所述ip请求的报文格式的cmd字段定义为2字节的整数值,表示为客户端发出的请求ip报文。

更进一步的,所述ip请求的响应报文格式在响应报文中把服务器的ip地址以及分配的客户端ip地址一起填入到payload中,由服务器端发出。

更进一步的,所述t3中,所述服务器收到ip请求后,解析出请求报文的源mac地址,并从所述服务器维护的ip地址池中取出一个ip地址,同服务器自身ip地址与待分配的ip地址打包发回给客户端。

更进一步的,所述t4中,所述客户端收到服务器回复的ip请求响应报文后,判断目的mac是否与自身mac地址吻合;

若吻合继续解析出分配给自己的ip地址,以及服务器的ip地址;

若不吻合则继续发送ip请求响应。

本发明的有益效果为:

本发明在喷码和标识行业中,能够让多个喷码设备上电之后可以自动和工控主机进行tcp连接,无需人工干预,大大减轻了网络配置的工作量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是局域网中客户端与服务器自动建立tcp连接的方法流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

本实施例公开如图1所示的局域网中客户端与服务器自动建立tcp连接的方法流程,tcp是一个传输层协议,要建立tcp连接,客户端需要知道服务器的ip地址。由于dhcp协议只负责ip地址的分派,客户端获取了ip地址后仍然不知道服务器的ip地址,那么此时就无法建立tcp连接。需要设计了一套新的方案,能够同时满足这两个条件。即,在服务器端设计一个类似于dhcp的ip分发方案,同时将服务器的ip地址通知给各个客户端。

在客户端没有ip地址并且也不知道服务器的ip地址的情况下,如果要和服务器进行网络通信,则需要通过数据链路层来完成。数据链路层通信是根据设备的mac地址来进行的,而mac地址在网卡出厂时已经分配完成。我们可以通过发送数据链路层报文(以太网帧)来完成客户端与服务器之间的交互。一个标准的ethernetii以太网链路层数据包格式如下:

协议标识以及数据字段作为数据链路层的payload发送出去。定义ip请求报文格式如下:

报文的cmd字段可定义为2字节的整数值,表示为客户端发出的请求ip报文。

定义ip请求的响应报文格式如下:

在响应报文中把服务器的ip地址以及分配的客户端ip地址一起填入到payload中,由服务器端发出。

本实施例中,局域网中客户端与服务器自动建立tcp连接的方法包括以下步骤:

t1客户端设备上电,并周期性发送请求ip请求响应;

t2服务器上电初始化,接收ip请求,并解析客户端mac地址;

t3服务器从ip地址池提取合法的ip地址,并构造ip请求响应报文发送给客户端;

t4客户端若未收到ip请求响应报文,则继续发送ip请求响应,若收到ip请求响应报文则进入s5;

s5客户端解析服务器ip及分发给客户端的ip,并将其发送到服务器的tcp进行连接。

具体解释为,客户端设备上电后周期性发送请求ip的链路层报文,目的mac地址为广播地址,源mac地址为客户端自己的mac地址。这样,同一个局域网内的所有主机都将接收到这个ip请求报文,但只有服务器会响应ip请求。

服务器主机收到这个请求报文后,解析出请求报文的源mac地址(也就是发出ip请求的客户端mac地址),从服务器维护的ip地址池中取出一个ip地址,同时把自己的ip地址与待分配的ip地址一起发回给客户端。客户端收到服务器回复的ip请求响应报文后,首先看目的mac是否和自己的mac地址吻合,如果吻合说明这是回复给自己的ip请求响应,再继续解析出分配给自己的ip地址,以及服务器的ip地址,这样客户端就分配到了ip地址,同时也知道了服务器的ip地址。接下来客户端就可以向服务器发起tcp连接了。

实施例2

本实施例中,针对数据链路层的数据包如何上送到用户态进程,操作系统提供的网络编程接口是基于socket套接字的,但是socket套接字工作在传输层,因此无法直接通过socket编程接口将数据链路层的数据包上送到用户态进程。我们需要使用libpcap这个程序库来帮助我们达成这个目的。

libpcap本身工作于数据链路层,将网卡接口设置为混杂模式后,libpcap会截取所有流经网卡的数据包,我们可以设置将以太网数据包拷贝一份并直接上送到用户态进程。libpcap也提供了发送和接收以太网报文的编程接口,因此可以绕过socket的限制。

针对多个客户端发起ip请求,服务器如何保证每个客户端分配到唯一的ip地址

客户端发起ip请求时,源mac地址为自身的mac。服务器收到ip请求报文后,会解析出客户端的mac地址。由于mac地址是唯一的,因此服务器端可以根据客户端的mac地址来唯一确定一个ip地址分派。一旦ip地址被分派出去,ip地址池中将标记这个地址为已分派,此后其他客户端就不会再次分配到这个ip地址,保证了ip地址的唯一性。

针对客户端若断开了tcp连接,服务器端如何回收已分配的ip地址;若客户端主动断开连接,或者服务器端主动断开连接,此时服务器会立刻将之前分配的ip地址重新放回ip地址池中。同时,客户端和服务器之间实现了心跳机制。即,服务器周期性向客户端发送tcp心跳报文,在一定时间内客户端若不回复则认为客户端断开,服务器会将之前分配的ip地址收回。

本发明在喷码和标识行业中,能够让多个喷码设备上电之后可以自动和工控主机进行tcp连接,无需人工干预,大大减轻了网络配置的工作量。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 一种联网检测方法和系统与流程
  • 单点登录系统的处理方法、装置...
  • 一种高效加密即时通讯的实现方...
  • 工业物联网云平台系统的制作方...
  • 一种远程云会议创建方法、装置...
  • 物联云平台统一设备协议转换的...
  • 报文的空口传输处理方法、装置...
  • 出栈网络处理器及网络数据出栈...
  • 比特流编码压缩的方法及装置与...
  • 基于逻辑回归的增强模型的恶意...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

PHP网站源码北京高端网站设计价格莆田网站设计哪家好潮州如何制作网站推荐焦作SEO按效果付费多少钱丽水seo排名多少钱淄博SEO按天扣费报价昭通网站seo优化哪家好孝感关键词按天收费报价平湖网络营销公司海口百度竞价包年推广多少钱朝阳百度网站优化多少钱安阳企业网站制作公司龙岗百搜标王哪家好梧州至尊标王哪家好南平百度爱采购哪家好泸州建设网站黄南网站定制公司泰州设计网站宿迁模板网站建设多少钱南阳关键词按天计费哪家好大运seo哪家好韶关关键词按天收费报价咸阳网站建设设计报价安阳英文网站建设哪家好杭州seo优化四平营销网站哪家好韶关企业网站改版报价黔东南如何制作网站价格毕节网站排名优化哪家好滁州设计网站公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化