1 / 21
文档名称:

端口协议号入门.doc

格式:doc   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

端口协议号入门.doc

上传人:yzhlyb 2016/6/13 文件大小:0 KB

下载得到文件列表

端口协议号入门.doc

相关文档

文档介绍

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