社区
C#
帖子详情
TCP数据包转发,封装问题
楠轩2009
2019-04-03 11:40:38
我想实现一个功能,就是写个socket服务端,让mssql管理器连接我socket服务端,socket服务端拿到连接数据后,给报文头尾增加我自己定义内容,然后再发到其它socket服务端,这个服务端把报文头尾去掉后又,直接连接mssql1433端口发送给它,技术上可行吗?
btw:业务需求是,mssql客户端想连接远程mssql服务器,两端都再不同城市没有固定ip的内网,想通过云主机(有固定ip)中转通信。
...全文
250
10
打赏
收藏
TCP数据包转发,封装问题
我想实现一个功能,就是写个socket服务端,让mssql管理器连接我socket服务端,socket服务端拿到连接数据后,给报文头尾增加我自己定义内容,然后再发到其它socket服务端,这个服务端把报文头尾去掉后又,直接连接mssql1433端口发送给它,技术上可行吗? btw:业务需求是,mssql客户端想连接远程mssql服务器,两端都再不同城市没有固定ip的内网,想通过云主机(有固定ip)中转通信。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
楠轩2009
2019-07-17
打赏
举报
回复
功能就是把一个电脑的端口,映射到另外一台电脑的某个端口,是支持跨互联网的映射,比如3389端口映射过去,就可以远程桌面。
楠轩2009
2019-07-17
打赏
举报
回复
功能已实现: LinkPort 是一款跨互联网 两个不同内网电脑端口之间映射的一个工具,无需公网IP,比如:把北京公司内网一台数据库1433端口,映射到上海分公司内网一台电脑9999端口上,在上海分公司内网访问9999端口就相当于访问北京公司内网1433端口。也可以把公司应用(比如网站)端口,映射到云上,云可以配置极低,公司应用那台电脑配置高就可以,相当于反向代理,速度就很快。 demo地址:http://thanapi.xaheruan.cn/LinkPort0.1.2.195.rar
以专业开发人员为伍
2019-04-09
打赏
举报
回复
面向业务逻辑服务层编程开发,你面向数据库(1433)干什么呢?你直接用你的点到点的客户端发送业务消息,甚至是毫无业务结构的 sql 语句,就行了。
楠轩2009
2019-04-09
打赏
举报
回复
内网A: 一个socketA1客户端负责和服务器通信,一个socket服务端负责监听1433端口,当mssql管理器连接1433端口时候,socket服务端获取这个mssql的socket客户端A2连接获取数据,然后通过SocketA客户端发给服务器。 外网真实ip服务S:内网A数据包直接转发内网B。 内网B:先开启一个socket客户端B1连接到服务器S,当收到服务器S转发内网A数据后,在开一个socket客户端B2连接到mssql服务器(即1433端口)给他发送转发的内网A数据,B2接受到的数据在通过B1发给服务器S,S再转发给内网socketA2。 不知道这样行不,我写了这个程序,发几次就乱了,不知道是思路有问题还是程序有问题。
以专业开发人员为伍
2019-04-03
打赏
举报
回复
这就好像你使用邻居家的熟悉的跑腿服务,跟使用一个美国的穷人通过互联网“承诺”给你提供的跑腿服务,哪一个最实用自己会很清楚。
stherix
2019-04-03
打赏
举报
回复
没必要搞这么复杂,因为这样的轮子早有啦 在你的公网服务器上部署一个ngrok反向代理服务就可以了 然后在mssql服务器上做下配置 就可以通过公网ip来访问内网的数据库了
以专业开发人员为伍
2019-04-03
打赏
举报
回复
比如说我们可能有10台海报打印机,或者30台老式 android 手机用来发短信,或者其它设备,锁在家里(公司里)单独房间以防公安来查。那么公网上的云服务器(可以试集群)只是负责承接业务,当有印刷工作或者群发短信工作的时候,那么消息推送给局域网端的设备计算机了。这是很普通的。 要推送消息,自然就需要内网的机器跟外网的机器双向长连接。
以专业开发人员为伍
2019-04-03
打赏
举报
回复
长连接点对点通讯本来就是这样的,通过服务器中转。 如果你的客户如 skype 或者微信那样有几十亿,你的服务器可以仅仅作为登录和“协调”的 master 服务器,然后拿用户的客户端当作“肉鸡”作为服务器。
hanghangz
2019-04-03
打赏
举报
回复
反正感觉你这个方式怪怪的
楠轩2009
2019-04-03
打赏
举报
回复
谢谢各位大佬的解答,反向代理这个我知道,配置一下,访问公网ip某个端口,就可以访问内网1433,但是如果有多个比如100个数据库,公网ip端口要再开100个端口来反向代理内网,服务端占用100个端口为其反向代理做为服务,而我云只能开1-2个端口,而且需要专业人员配置,我的想法是用账号,所以要封装mssql通信的报文加头,我头里存储的就是账号信息, mssql客户端和服务端通信,是动态的。只要再后台配置文件配置好就行。
计算机网络课程设计——发送和接收
TCP
数据包
以及发送和捕获ARP
数据包
1.课程设计要求: 发送和接收
TCP
数据包
:
TCP
是一种面向连接的、可靠的传输层协议。
TCP
协议工作在网络层IP协议的基础上。本课程设计的目的是设计一个发送和接收
TCP
数据包
的程序,其功能是填充一个
TCP
数据包
,发送给目的主机,并在目的主机接收此
TCP
数据包
,将数据字段显示在标准输出上。 2.设计原理
TCP
位于IP层之上,应用层之下的传输层。不同主机的应用层之间经常需要可靠的、像管道一样的连接。...
TCP
封装
与数据帧
转发
TCP
封装
与数据帧
转发
TCP
封装
数据帧
转发
TCP
封装
应用层的数据到传输层进行
封装
加
TCP
头部:源端口号、目的端口号(标识上层协议)、seq 、 ack 等等
封装
网络层:加IP头部,Protocol值(6:
TCP
;17: UDP;1:ICMP)标识上层协议、
封装
源IP、目的IP 。目的IP是服务器的地址。 判断源IP和目的IP在不在同一网段。如果在,直接进行数据链路层的
封装
;如果不在,查找本地的路由表,看有没有到达目的网段的路径,若没有,则丢弃。 找MAC地址,查看ARP缓存表里面是否有IP地址对应
TCP
/IP——
TCP
数据包
分析
一.实验目的 学习和掌握
TCP
协议的应用和报文格式 二.实验拓扑 三.实验工具 GNS3和Wireshark抓包分析软件 四.
TCP
协议的
封装
格式 五.
TCP
三次握手实验步骤 1.按照拓扑图,搭建实验环境 2.配置接口IP 1)配置IP地址 PC: SERVER: 3.在SERVER上创建一个用户,用于远程登录 4.开启抓包工具抓取PC的F0/0端口的流量 5.在PC上telnet 12.1.1.2 6.分析
TCP
三次握手
数据包
1)第一次握手
数据包
2)第二次握手
数据包
3)第三次握手
路由器
转发
数据包
的
封装
过程
什么是三层交换 三层交换(也称多层交换技术,或IP交换技术)是相对于传统交换概念而提出的。众所周知,传统的交换技术是在OSI网络标准模型中的第二层——数据链路层进行*作的,而三层交换技术是在网络模型中的第三层实现了
数据包
的高速
转发
。简单地说,三层交换技术就是:二层交换技术+三层
转发
技术。 三层交换技术的出现,解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低...
网络编程——设计一个发送
TCP
数据包
的程序
摘要
TCP
/IP协议族是构建互联网的基石协议。在互联网中,从一台计算机向另外一台计算机传送数据,
数据包
可以通过两种协议传输。其中一种就是传输控制协议(Transmission Control Protocol,
TCP
)。
TCP
能够确保数据的传送,也确保
数据包
以它们正确的顺序传送,是一种提供可靠连接的传送协议。由于Java语言支持基于流的通信,即是用
TCP
协议进行传输,所以本
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章