免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lkjxing
打印 上一主题 下一主题

TCP发送端口如何选择? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-04-08 16:54 |只看该作者
具体情况具体分析看应用吧,我以前就遇到过有那种对安全要求高的客户,防火墙除了指定端口全部双向都关闭的,如果你的程序运行在那种环境就需要固定了。

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
12 [报告]
发表于 2009-04-08 17:03 |只看该作者
我考虑的是源端口固定会不会冲突。

1、如果我的这个端口已经被其他程序占用了(源随机选择的程序),会如何?
2、如果我开了2个这样的客户端,会如何?

论坛徽章:
0
13 [报告]
发表于 2009-04-08 17:25 |只看该作者
如果采用了 CS 结构,就不让一台pc运行两个client程序进程,

端口冲突吗。。。源IP,源端口- 目的IP,目的端口 成了一个session,只要这个条件不冲突应该不会有影响吧。

没看过实际的程序是怎么跑的,,,只是瞎分析的。

论坛徽章:
0
14 [报告]
发表于 2009-04-08 17:29 |只看该作者
不懂得深邃啊

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
15 [报告]
发表于 2009-04-08 17:33 |只看该作者
原帖由 kentchoi 于 2009-4-8 17:25 发表
如果采用了 CS 结构,就不让一台pc运行两个client程序进程,

端口冲突吗。。。源IP,源端口- 目的IP,目的端口 成了一个session,只要这个条件不冲突应该不会有影响吧。



没看过实际的程序是怎么跑的,,, ...



对于客户端来说通常一个端口不能二用,尽管其他一些参数(目的IP,目的端口)不同。不过这要看代码实现了。

对操作系统来说更不允许一个端口同时被2个进程监听的。这个是绝对的。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之水原三星
日期:2015-06-02 16:34:202015年亚冠纪念徽章
日期:2015-10-19 18:13:37程序设计版块每日发帖之星
日期:2015-11-08 06:20:00
16 [报告]
发表于 2009-04-08 17:38 |只看该作者
原帖由 ssffzz1 于 2009-4-8 17:03 发表
我考虑的是源端口固定会不会冲突。

1、如果我的这个端口已经被其他程序占用了(源随机选择的程序),会如何?
2、如果我开了2个这样的客户端,会如何?


TCP/IP 是四(五)元组

源IP:源端口  <--->  目标IP:目标端口


>1、如果我的这个端口已经被其他程序占用了(源随机选择的程序),会如何?
App A 1.1.1.1:1234 <----------> 1.1.1.2:80
App B 1.1.1.1:1234 <----------> 1.1.1.3:80 //没有问题
App B 1.1.1.1:1234 <----------> 1.1.1.2:80 //不能连接

>2、如果我开了2个这样的客户端,会如何?
只用一个能建立到服务端的连接

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
17 [报告]
发表于 2009-04-08 17:45 |只看该作者
我说的1 ,是说这个端口被别的程序占用了。而不是你的这个客户端程序。

15楼我已经写过了。

论坛徽章:
0
18 [报告]
发表于 2009-04-08 20:03 |只看该作者
OK,在不考虑并发的情况下,我想知道如果固定端口的话对安全性有无益处?

论坛徽章:
0
19 [报告]
发表于 2009-04-08 23:56 |只看该作者

回复 #16 xinglp 的帖子

不对,一个port被占用后,别的进程就不能再用这个port了,跟你的对方ip没有关系

12楼讲的问题肯定是存在的,用固定端口,肯定就只能开一个client(其实也可以开多个client,每个client只在发送数据的时候打开port,用完就释放,这样可以轮流用)
但是,一般这种固定port的做法肯定是在对安全要求非常严格的环境下使用的,那么我们可以认为,在这种严格的环境中,不可能有什么乱七八糟的进程,正好一不小心就恰好占用了你的port,所以不用担心这个问题
如果实在不行,还有个做法,比如说,第一个client使用10000 port,第二个进程发现10000 port被使用了,就用10001 port,第三个client发现,10000和10001都被使用了,就用10002...
然后,防火墙把10000-10005 port都打开,这样就可以同时开5个client

论坛徽章:
0
20 [报告]
发表于 2009-04-09 00:04 |只看该作者

回复 #18 lkjxing 的帖子

对安全当然是有益处的
但固定port主要是为了应对防火墙双向关闭
不过,一般来说防火墙都是单向关闭的,除非是对安全要求非常高
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP