各位:我想做一个网关服务器用于消息的转发,请问如何实施?

虎叔 2001-03-09 10:36:00
主要是用于tcp和udp包的转发,现在我很想知道,网关的原理。
我看啦一些资料,还是莫名其妙。比如网关可能是一个路由器或者用于应用层协议的转换工作的服务器等等。那么任何一台client发送的消息什么情况下会由网关来处理,而client又是怎么知道网关不能处理该请求等等!
比如:我将我的网关设置为某一个IP地址,那么我的机器发送的消息在局域网内找不到目的地址,那我的机器是否就是会和网关server 建立连接?

我对网络不是很了解,请大虾出手!
...全文
360 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
geanxue 2001-10-10
  • 打赏
  • 举报
回复
请大家关注:http://www.csdn.net/expert/Topic/298/298099.shtm
7 2001-10-09
  • 打赏
  • 举报
回复
to jacka(见见) 
我想用NAT实现局域网的透明代理
NAT需要转发client发送的包,我的问题是:NAT怎么收到client的包? 用什么语句?
jacka 2001-10-09
  • 打赏
  • 举报
回复
我想你们谈的网关也就是路由器了,
client在发包的时候,根据IP目的地址判断对方是否在本地网,如果不是,就把包发给网关,由网关转发出去,即路由出去。client在发这样的包的时候,物理地址会是网关的物理地址,这样网关才能收到,网关根据包的IP地址判断该包是给自己的还是需要路由的,给自己的自然往上层协议层送,否则路由。有关NAT的问题前面已有很多讨论,可以往前找找。
7 2001-10-09
  • 打赏
  • 举报
回复
to Kevin_qing(Kevin) 
"client并不是直接和网关建立连接的,只是所有需要出去的ip包都是由网关转发 "

网关是如何得到这些ip包的? 是在网关处拦截这些ip包么?

我还是不太明白啊.........

以http为例:
像非透明的代理,在客户端设置好网关和应用软件的代理服务ip及端口(eg:5000)就行了.然后就可以在网关处listen 5000端口,accept,recv..........转发.........

而用NAT实现代理,只在客户端设置网关.在网关listen什么端口? 如果是要拦截的话,拦截的是socket还是别的? 客户端的connect的结果是什么?

谢谢!
门吹西风 2001-10-09
  • 打赏
  • 举报
回复
在IP的首部有上层协议的类型啊!通过它就找的到是UDP还是TCP啦!
7 2001-10-08
  • 打赏
  • 举报
回复
up
zcq111 2001-10-08
  • 打赏
  • 举报
回复
你如何判断内部信息是以udp,还是tcp发过来的?
tpProgramer 2001-10-08
  • 打赏
  • 举报
回复
gz
虎叔 2001-09-01
  • 打赏
  • 举报
回复
xfchina(半桶水):
应用层如何获得这个Socket?
Kevin_qing 2001-07-17
  • 打赏
  • 举报
回复
client并不是直接和网关建立连接的,只是所有需要出去的ip包都是由网关转发
xfchina 2001-07-16
  • 打赏
  • 举报
回复
先说udp实现:内部信息发过来,你记住ip地址,然后指定一个发送端口发送到,内部信息要去的地方,外部信息会反馈到这个端口来,然后可以找到这个端口对应的ip,发回去...

tcp:内部信息跟网关连接,你获得这个socket,并且创建一个socket,发送到指定的外部地址,外部信息回来,根据内外socket对应表,发回内部socket.
虎叔 2001-07-13
  • 打赏
  • 举报
回复
由分都不要?
虎叔 2001-03-09
  • 打赏
  • 举报
回复
Kevin_qing(Kevin):
为什么不说话?
Kevin_qing 2001-03-09
  • 打赏
  • 举报
回复
Kevin_qing 2001-03-09
  • 打赏
  • 举报
回复

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧