欢迎来到天天文库
浏览记录
ID:39122268
大小:29.50 KB
页数:5页
时间:2019-06-25
《端口详解-操作系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、端口详解 计算机"端口"是英文port的译义,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。 在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。
2、 那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:256×256)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(256×256)。 在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据包顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,
3、那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。 本地操作系统会给那些有需求的进程分配协议端口(protocolport,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。 端口其实就是队,操作系统为各个进程分配了不
4、同的队,数据包按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。 不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接受方能顺利的回传数据包到这个端口。 端口详解2 在开始讲什么是端口之前,我们先来聊一聊什么是port呢?常常在网络上听说『我的主机开了多少的port,会不会被入侵呀!?』或者是说『开那个port会比较安全?又,我的服务应该对应什么port呀!?』呵呵!
5、很神奇吧!怎么一部主机上面有这么多的奇怪的port呢?这个port有什么作用呢?! 由于每种网络的服务功能都不相同,因此有必要将不同的封包送给不同的服务来处理,所以啰,当你的主机同时开启了FTP与WWW服务的时候,那么别人送来的资料封包,就会依照TCP上面的port号码来给FTP这个服务或者是WWW这个服务来处理,当然就不会搞乱啰!(注:嘿嘿!有些很少接触到网络的朋友,常常会问说:『咦!为什么你的计算机同时有FTP、WWW、E-Mail这么多服务,但是人家传资料过来,你的计算机怎么知道如何判断?计算机真的都不会误
6、判吗?!』现在知道为什么了吗?!对啦!就是因为port不同嘛!你可以这样想啦,有一天,你要去银行存钱,那个银行就可以想成是『主机』,然后,银行当然不可能只有一种业务,里头就有相当多的窗口,那么你一进大门的时候,在门口的服务人员就会问你说:『嗨!你好呀!你要做些什么事?』你跟他说:『我要存钱呀!』,服务员接着就会告诉你:『喝!那么请前往三号窗口!那边的人员会帮您服务!』这个时候你总该不会往其它的窗口跑吧?!""这些窗口就可以想成是『port』啰!所以啦!每一种服务都有特定的port在监听!您无须担心计算机会误判的问题呦
7、!) ·每一个TCP联机都必须由一端(通常为client)发起请求这个port通常是随机选择大于1024以上的port号来进行!其TCP封包会将(且只将)SYN旗标设定起来!这是整个联机的第一个封包; ·如果另一端(通常为Server)接受这个请求的话(当然啰,特殊的服务需要以特殊的port来进行,例如FTP的port21),则会向请求端送回整个联机的第二个封包!其上除了SYN旗标之外同时还将ACK旗标也设定起来,并同时时在本机端建立资源以待联机之需; ·然后,请求端获得服务端第一个响应封包之后,必须再响
8、应对方一个确认封包,此时封包只带ACK旗标(事实上,后继联机中的所有封包都必须带有ACK旗标); ·只有当服务端收到请求端的确认(ACK)封包(也就是整个联机的第三个封包)之后,两端的联机才能正式建立。这就是所谓的TCP联机的'三段式交握(Three-WayHandshake)'的原理。 经过三向交握之后,呵呵!你的client端的po
此文档下载收益归作者所有