本地操作系统会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。
端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。
不光接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口
参考方法:
1、用netstat查看:
2、lsof
-i:port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
3、nmap端口扫描。
4、文件/etc/services显示的各个服务的端口号:
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……
(1)I/O接口位于CPU和外设之间,是一个连接部件,它一边通过地址线、数据线和控制线与CPU连接,另一边通过数据信息、控制信息和状态信息与外设连接。(2)数据信息、状态信息和控制信息分别放在外设接口的不同寄存器中。这些寄存器被称作端口(port),数据口、状态口和控制口、分别存放数据信息、状态信息和控制信息。CPU可对这些端口(寄存器)进行 ”读“ 和 ”写“ 操作,因此每个端口都有一个 ”地址“ 对应。CPU对这些端口都是可编程的。接口的设置主要是为了解决主机和外设直接的差异问题,实现相互通信。I/O接口分类方法很多,主要有:(1)按数据传送方式分有并行接口和串行接口两种;(2)按数据传送的控制方式分有程序控制接口、程序中断接口、DMA接口三种。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)