端口是什么意思?大虾请指点!

端口是什么意思?大虾请指点!,第1张

其实网上讲的端口协议端口,是协议软在传输数据的时候为了区别不同的服务程序而用的一个标志罢了,我们来看看协议端口的作用,我们叫的协议指TCP/IP协议,端口应是应用软件下传输层的一个概念,也是协议中的传输层和应用层进行数据传输的通道,端口是一个抽象的概念,并不存在真正意义上的一个口子,很明确的说端口是一样标志,协议软件在处理网络上的数据时要分析这个报文中的端口号是那个端口,当然协议软件是通过端口来区分各应用程序的,也就是说协议软件是通过端口号才知道这些数据是给谁的,有人会问IP层有没有端口呢?你要这样设计当然没办法,其实根本没必要这么做,因为IP层分析报文,通常是查看报头的上层协议类型(如TCP,UDP)等,来分别交给谁来处理,看起来这个过程也有点像传输层和应用层中的端口来传输和区别数据,只是人们不这么叫,因为作为协议软件来说,通常我们把它看成一个总体,也就说虽然TCP/IP中包含很多协议,可是他们都属于TCP/IP簇。从设计角度来说不管是里面的其它协议,开发时就以全部实现了,而传输层到应用层不是这样,协议软件是定义了一些端口来给应用程序,通常那些应用程序也不是固定不变的,有时我们要运行一个网络程序、有的要运行二个程序、而有的要运行更多的应用程序,这意味道开一或二或更多的端口,每一个网络服务程序最少得有一个端口,而这个端口搬到编程上去时就成了套接字,也就是:“IP+端口”就叫一个套接字,那么端口在内存中是什么样的呢?是不是要占一定的内存空间呢?
这个问题从书面上来回答是很容易的,因为端口是一种抽象,自然就没有什么内存空间的问题,实际上端口是一个存取报文的队列,当传输层处理数据时分析到报头,看他是属于那个端口,然后把不同端口的数据分别存于不同的一个内存块,或者叫做缓冲区,反正是一个内存空间,这个空间存有各应用程序各自所有的数据,而没有其它的应用程序的数据,就象我们一个学校的信箱是一样的,如处面来的信,学校通常是放到信箱里,如三班是12号信箱,二班是13号信箱,自然我们班要信就可以从对应于自己班的信箱中取出来就是了。那么这个信箱就好比端口一样。当然了我们要知道那个信箱是我们班的,自然由学校分配或自己申请了以及双方协议,协议中的端口也是这样,应用程序在运行前,也就是进入内存前并不知道自己是用那个端口,但是他知道要那个端口,也就是说他想要这个端口,给不给还是协议软件的事了,如果协议软件愿意那自然而然这个服务程序就用这个端口和下层传输层打交道了,如果不给通常是有别的程序先用上了。怎么办,用其它的端口吧。
在网络应用程序中我们常还会碰到FTP这个应用程序,方到协议上来说这就是FTP协议,问题是当我们用FTP应用程序下载时有时会下载一个,有时会下载多个程序或文件,问题是此时同一样程序怎么能区别是那个数据属于那个文件的呢?人们常会这样想,当用FTP下载时,程序会打开两个进程,如果自己的IP为2021031021,对方的IP,也就是我们要下载程序的地方的服务器的IP为2021031124,我们通常会这样想,数据端口也20,控制端口是21,当然21号端口是为了传输控制命令了,以控制数据的传输,20端口是数据端口,进过这个端口来传输数据文件了,问题是两个文件同时下载时,进程怎么区别,也就是FTP应用程序怎么知道网络上传过来的数据是属于那个文件的呢?因为端口是唯一标志这些数据属于谁的。所以用20号端口同时来传输两个文件的数据肯定是不可以的,其实我们别忘了20号端口只是默认端口,实际上下载时用不用这个端口要看协议软件和FTP怎么来决定了,通常下载时两个文件的数据传输并不是用同一个端口,FTP通常会暂时用一个空闲的端口来传输数据,数据有三个文件同时传输会再暂时占用另一个空闲端口。
这是FTP的性质,可是对于我们最常用到的80端口,也就是WEB服务端口,是不是WEB服务也(>服务器地址:
服务器地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。
服务器端口:
随着计算机网络技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入/输出接口)已不能满足网络通信的要求,TCP/IP协议作为网络通信的标准协议就解决了这个通信难题。TCP/IP协议集成到 *** 作系统的内核中,这就相当于在 *** 作系统中引入了一种新的输入/输出接口技术,因为在TCP/IP协议中引入了一种称之为"Socket(套接字)"应用程序接口。有了这样一种接口技术,一台计算机就可以通过软件的方式与任何一台具有Socket接口的计算机进行通信。端口在计算机编程上也就是"Socket接口"。
一台服务器为什么可以同时是Web服务器,也可以是FTP服务器,还可以是邮件服务器等,其中一个很重要的原因是各种服务采用不同的端口分别提供不同的服务,比如:通常TCP/IP协议规定Web采用80号端口,FTP采用21号端口等,而邮件服务器是采用25号端口。这样,通过不同端口,计算机就可以与外界进行互不干扰的通信。
据专家们分析,服务器端口数最大可以有65535个,但是实际上常用的端口才几十个,由此可以看出未定义的端口相当多。这是那么多黑客程序都可以采用某种方法,定义出一个特殊的端口来达到入侵的目的的原因所在。为了定义出这个端口,就要依靠某种程序在计算机启动之前自动加载到内存,强行控制计算机打开那个特殊的端口。这个程序就是"后门"程序,这些后门程序就是常说的木马程序。简单的说,这些木马程序在入侵前是先通过某种手段在一台个人计算机中植入一个程序,打开某个(些)特定的端口,俗称"后门"(BackDoor),使这台计算机变成一台开放性极高(用户拥有极高权限)的FTP服务器,然后从后门就可以达到侵入的目的。

网民们上网的时候经常会见到“端口”这个概念。那么,什么是端口,它在网络中又有什么意义呢?

让我先从因特网提供的一些常见的服务说起。

说到服务,我们首先要明白“连接”和“无连接”的概念。最简单的例子莫过于打电话和写信。两个人
如果要通电话,得首先建立连接--即拨号,等待应答后才能相互传递信息,最后还要释放连接--即挂电话。
写信就没有那么复杂了,地址姓名填好以后直接往邮筒一扔,收信人就能收到。

因特网上最流行的协议是TCP/IP协议,需要说明的是,TCP/IP协议在网络层是无连接的(数据包只管往
网上发,如何传输和到达以及是否到达由网络设备来管理)。而我们一旦谈“端口”,就已经到了传输层。
协议里面低于1024的端口都有确切的定义,它们对应着因特网上常见的一些服务。这些常见的服务可以划分
为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。

使用TCP端口常见的有:
ftp:定义了文件传输协议,使用21端口。
常说某某主机开了 ftp服务便是文件传输服务。下载文件,上传主页,都要用到ftp服务。
telnet:你上BBS吗?以前的BBS是纯字符界面的,支持BBS的服务器将
23端口 打开,对外提供服务。其实Telnet的真正意思是远程登陆:用户可以
以自己的身份远程连接到主机上。
smtp:定义了简单邮件传送协议。现在很多邮件服务器都用的是这个协议,
用于发送邮件。服务器开放的是25端口。
>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13387667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存