风云小站 » 『 求助专区 』 » 怎么才能判断一个端口是tcp端口还是udp端口哪?
本页主题: 怎么才能判断一个端口是tcp端口还是udp端口哪? 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

host
级别: 初级会员


精华: 0
发帖: 386
威望: 292 点
风云币: 3326 元
专家分: 0 分
在线时间:54(小时)
注册时间:2007-05-01
最后登录:2008-03-08

 怎么才能判断一个端口是tcp端口还是udp端口哪?

例如有一些不太知名的端口,怎么才能判断哪??
顶端 Posted: 2007-05-20 12:13 | [楼 主]
heroyb
风云墙第二帅哥(第一是我小弟)
助人为乐奖 技术专家奖 特殊贡献奖
级别: 风云元老


精华: 2
发帖: 2509
威望: 2066 点
风云币: 302 元
专家分: 96 分
在线时间:892(小时)
注册时间:2006-08-22
最后登录:2018-05-17

 

有TCP也会有UDP,二者不冲突。转两个帖子:

TCP和UDP由于应用范围不一样,导致它们对端口机制的使用上有一定区别,有的很明显,有的很细微。

端口用16bit来表示。

两者的共同点在于:
1. 都有一些保留的指定端口。虽然TCP和UDP的端口号是独立的,但是
设计者仍然倾向于对TCP和UDP提供相同的端口号,如果它们能在这个端口
上都能提供相同的服务功能。如linux下的time端口。
2. 都可以动态分配端口。当应用程序要求进行tcp/udp通信时,和操作
系统协商,也许还要和对方协商,然后也许要动态分配一个端口号,也许
使用保留的静态端口。

UDP在一个端口上一般只能有一个应用程序,否则的话,凡是在这个
端口上的应用程序在对数据包进行分析以前也许无法知道哪个UDP包
是送给自己的。当然这在某一些场合,这也是可以被利用的。

而TCP是用两个端点来识别连接,即用(aaa.bbb.ccc.ddd, port1)和
(eee.fff.ggg.hhh, port2)来标识一个连接,所以无论在什么时候
某一个TCP端口都可以被多个连接共享,可以有多个应用程序在上面
监听。

建议你看看《用tcp/ip进行网际互联(第一卷)》中的UDP和TCP。
有比较详细的说明,尽管没有进行很显式的对比。

还记得我们上次讲的TCP/IP协议吗?除了第二层的IP协议外,相信大家最“喜闻乐见”的就是处于传输层的TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据包协议)!在即时通信、防火墙等常用软件中,你不难找到它们的身影,那么,这两个协议到底有何作用,又有何区别呢?

实际上,在上次的文章中,我们曾经讲过它们的作用。“当IP包通过路由将数据传输到目的地时,会根据TCP或UDP包头中的源端口和目的端口信息,请求和获取不同的应用。”也就是说,不管TCP还是UDP,都含有网络服务必须的源端口和目的端口信息,以建立和实现网络传输服务。这时,你的疑问就来了:既然都用于传输,为何要搞两个不同的协议呢?这就需要从网络中不同服务的需求来谈起。

在网络中,有些服务,如HTTP、FTP等,对数据的可靠性要求较高,在使用这些服务时,必须保证数据包能够完整无误的送达;而另外一些服务,如DNS、即时聊天工具等,并不需要这么高的可靠性,高效率和实时性才是它们所关心的。根据这两种服务不同的需求,也就诞生了面向连接的TCP协议,以及面向无连接的UDP协议。

这里的连接(Connection)和无连接(Connectionless)是网络传输中常用的术语,它们的关系可以用一个形象地比喻来说明,就是打电话和写信。

打电话时,一个人首先必须拨号(发出连接请求),等待对方响应,接听电话(建立了连接)后,才能够相互传递信息。通话完成后,还需要挂断电话(断开连接),才算完成了整个通话过程。写信则不同,你只需填写好收信人的地址信息,然后将信投入邮局,就算完成了任务。此时,邮局会根据收信人的地址信息,将信件送达指定目的地。

我们可以看到,这两者之间有很大不同。打电话时,通话双方必须建立一个连接,才能够传递信息。连接也保证了信息传递的可靠性,因此,面向连接的协议必然是可靠的。无连接就没有这么多讲究,它不管对方是否有响应,是否有回馈,只管将信息发送出去。就像信件一旦进了邮箱,在它到达目的地之前,你没法追踪这封信的下落;接收者即使收到了信件,也不会通知你信件何时到达。在整个通讯过程中,没有任何保障。因此我们常说,面向无连接的协议也是不可靠的。当然,邮局会尽力将右键送到目的地,99%的情况信件会安全到达,但在少数情况下也有例外。

面向连接的协议比面向无连接的协议在可靠性上有着显著的优势,但建立连接前必须等待接收方响应,传输信息过程中必须确认信息是否传到,断开连接时需要发出响应信号等,无形中加大了面向连接协议的资源开销。具体到TCP和UDP协议来说,除了源端口和目的端口,TCP还包括序号、确认信号、数据偏移、控制标志(通常说的URG、ACK、PSH、RST、SYN、FIN)、窗口、校验和、紧急指针、选项等信息,UDP则只包含长度和校验和信息。UDP数据报比TCP小许多,这意味着更小的负载和更有效的使用带宽。许多即时聊天软件采用UDP协议,与此有莫大的关系。
顶端 Posted: 2007-05-20 12:19 | 1 楼
帖子浏览记录 版块浏览记录
风云小站 » 『 求助专区 』
感谢,曾经的版主
Total 0.008288(s) query 7, Time now is:01-01 13:55, Gzip enabled 渝ICP备20004412号-1

Powered by PHPWind v6.3.2 Certificate Code © 2003-07 PHPWind.com Corporation
Skin by Chen Bo