菜鸟问题:“端口”是什么?
比如:
ftp的端口是21
smtp的端口是25
http-80
什么是“端口”?我往21端口送数据包,意味着什么(是以什么样的协议传送的)?这些端口可以改吗?http 、ftp、smtp协议和TCP/IP协议有什么关系?
我是菜鸟不懂这些基本的概念,请指教!
问题点数:50、回复次数:17Top
1 楼camel20(william)回复于 2002-01-30 12:38:55 得分 0
wo up!Top
2 楼wwwunix(木易)回复于 2002-01-30 12:53:00 得分 5
1、socket是由IP和PORT组成的,是tcp/ip通讯的基础。
2、在server端一个port对应一个server程序。例如,你要和21 port送包,则要遵守ftp协议(一般情况下)
3、这些端口可以修改,但一般不改。
4、http、ftp、smtp都是基于tcp/ip协议的。Top
3 楼lutf(minisky)回复于 2002-01-30 12:53:32 得分 5
端口其实就是TCP/UDP一个标志符,你列出的端口号是协议标准规定的,当然你也可以改掉,只是这样别人就不知道你的机器上有这样的服务了(除非进行端口扫描)。Top
4 楼camel20(william)回复于 2002-01-30 12:59:45 得分 0
wwwunix(木易) :
1、socket是由IP和PORT组成的,是tcp/ip通讯的基础。
好像udp也可用于socket.有一些unix下的通讯程序是不是不是通过tcp/ip的(他们通讯的基础是什么)?
2、在server端一个port对应一个server程序。例如,你要和21 port送包,则要遵守ftp协议(一般情况下)http、ftp、smtp都是基于tcp/ip协议的。
我要和21 port送包则遵守ftp协议,而ftp协议中包含了 tcp/ip协议,是吗?Top
5 楼camel20(william)回复于 2002-01-30 13:00:53 得分 0
谢谢各位大哥!请继续指教!Top
6 楼imliuli(bench)回复于 2002-01-30 13:15:46 得分 5
在tcp/ip协议族中,传输层有两个协议:tcp,udp:
tcp的通信面向连接:(源ip地址,port)《----------》(目的ip地址,port)
udp的通信不面向连接:(源IP地址)---------》(目的IP地址,port)
因此可以看出,两台通信设备间的默契,决定了什么是自己敏感的数据在那个端口去提取,当然“著名端口”就是所有通信设备的默契啊!所以你不要乱设啊!
Top
7 楼camel20(william)回复于 2002-01-30 13:38:39 得分 0
有一些unix下的通讯程序是不是不是通过tcp/ip的(他们通讯的基础是什么)?
请介绍一下非tcp/ip的其他协议。Top
8 楼camel20(william)回复于 2002-01-30 13:39:22 得分 0
有一些unix下的通讯程序是不是不是通过tcp/ip的(他们通讯的基础是什么)?
Top
9 楼hedong(电脑动能)回复于 2002-01-30 16:13:46 得分 0
继续。Top
10 楼eleck(坚定信念)回复于 2002-01-30 19:23:03 得分 5
来点通俗的吧,总的来说呢,就是TCP/IP的啦,但是TCP/IP要分家的啦,什么telnet
ftp,http,只类的,那么就给他们一家一个号,http你就80吧,
telnet,你就23吧,呵呵!不知道我的解释对不对,大家别打我呀!
Top
11 楼luckyst(花无缺)回复于 2002-01-30 20:39:42 得分 5
对应用层来说,不同的应用使用不同的端口来区分从下层传来的自己的数据,ftp 21,telnet 23,http 80 dns 53,pop3 110,我是这样理解的,欢迎你来和我讨论Top
12 楼luckyst(花无缺)回复于 2002-01-30 20:49:30 得分 0
当然,也不尽然是应用,象tcp,udp也都是用端口的,严格说应该是“上层协议读取下层协议中自己的数据而区分其他协议的标志”Top
13 楼hedong(电脑动能)回复于 2002-01-31 10:18:14 得分 0
继续。Top
14 楼jedi_knight(jedi knight)回复于 2002-01-31 10:27:18 得分 0
我觉得port可看作是一个设备,就像并口,串口一样。Top
15 楼mywave(青石)回复于 2002-01-31 11:40:29 得分 0
port用个形象的比喻就是
两台机器上的程序通信时,怎样能够彼此找到对方的一个地址
A机器上的a程序要和B机器上的b程序进行通信,于是协议给程序分配了一个port号,这样a才能找到b,通过IP,A能找到B,通过port,a能找到b.
port在硬体上是不存在的,只是在内存上的数据结构Top
16 楼wwwunix(木易)回复于 2002-01-31 12:42:43 得分 5
camel20(石头下的蛋):
1、udp也是tcp/ip协议族中的一部分。
2、我要和21 port送包则遵守ftp协议,而ftp协议中包含了 tcp/ip协议,是吗?
(一般情况下)你要和21 port通讯则遵守ftp协议,ftp协议是基于tcp/ip协议的,但并不包含tcp/ip协议。就好象“2楼是基于1楼建成的,但并不包含1楼”
3、有一些unix下的通讯程序是不是不是通过tcp/ip的(他们通讯的基础是什么)?
他们通讯的基础可能是ipx/spx等非tcp/ip协议。Top
17 楼WizardBear(飞猫_重起机器)回复于 2002-01-31 13:09:49 得分 20
任何结果都是由原因的,端口也不例外,
如果只有ip,没有端口,你会发现,你的机器一个时刻只能使用一种软件,因为,如果众软件都往这个ip送东西,岂不区分不开了?
于是设计者在ip的基础上,增加了端口,不同软件,使用不同的端口,这样,一个ip可以跑很多应用程序,而且,谁也不干扰谁,是不是很爽?
由于端口可以是65536下的任何整数,大家纷纷自己定义,我要跟你通信,我不知道你的端口是啥,你也不知道我的端口是啥,岂不很难交换数据?
于是,一个管理端口的国际组织出现了,它规定了1024以下的端口的各个含义,并公布这些涵义以便大家都能遵守,于是就有了ftp的端口是21;smtp的端口是25;http-80;等等等等。。。
当然,你完全可以不遵守这个协议,比如,你非开一个http-8088端口,这样的直接结果就是所有的浏览器缺省都访问不了你了,呵呵,但你可以通过指定8088端口继续访问。。。
Top




