说起端口,对于网络编程的人来说已经很熟系了,我原来以为我也很熟悉,可是当我深入了解的时候,计算机系统中的端口不仅仅是一个入口,可能很多人会说端口是“计算机与外界交流的出口”,其实我很好奇为什么是“出口”,这个端口到底是做何用的?
下面是java中会用到端口的一段代码:
ServerSocket server = new ServerSocket(8000);
然后客户端发起连接请求socket:
Socket socket = new Socket(ip,8000);
Socket中的端口参数我最初的理解是:服务器端开启了一扇"门",然后客户端去请求这扇“门”,如果是开着的,那么我们“拉条线”,用这跟“线”进行通讯。可是我每次想关于这个“门”在计算机中是如何表示的,我们如何通过这根线进行通讯的时候我就不求甚解,觉得就是那样的一个“出口”。上完课回来翻了翻书(深入理解计算机系统),知道了为什么会有端口的说法:
cpu使用一种存储器映射的技术向io设备发送命令,每一个io外部设备在内存中都会有它自己的门牌映射,外部设备会监听该地址的值的变化,比如某一个磁盘控制器被映射到0&a0地址,当cpu发送命令到改地址时,改地址所存储的值变化导致存储器总线开始传递信号给磁盘控制器,该控制器将信号转换为特定的命令从而到达读写;
我们就知道了端口是外部设备与cpu通信的桥梁,当我们进行网络套接字连接请求的时候,外部设备(网络适配器)会有很多的映射(因为网络通信的协议规定了很多不同的端口),当网络适配器接收到了来自外部的命令请求如创建套接字,这样请求信号就会通过io总线传递到内存中的某一个地址(8000),如果该地址中存在等到连接请求的信号,那么就返回一个成功的应答请求从而建立连接。
端口是一个存放与外部通信相关命令,数据,标识的地址,存于内存中。
分享到:
相关推荐
4. **MAC-port绑定**:一些网络设备支持MAC-port绑定功能,用以限制特定MAC地址只能在特定端口上通信。攻击者可能尝试绕过这种安全机制,以便在不受限制的端口上进行活动。 5. **ARP欺骗**:与MAC-port攻击相关的另...
从提供的压缩包文件中,我们可以看到一个名为"free-serial-port-monitor.exe"的可执行文件,这便是该软件的主程序。双击运行后,界面简洁明了,操作起来非常直观。软件支持多种操作系统,包括Windows XP到Windows 10...
压缩包子文件的文件名"protobuf-csharp-port-master"表明这是一个Git仓库的主分支,通常包含源代码、文档、构建脚本和其他资源。"master"是Git中的默认分支名,代表了项目的主线开发。 接下来,我们将深入探讨...
使用MTK Multi-Port Download Tool需要一定的专业知识,包括对手机硬件和软件的理解。在使用前,确保设备电量充足,并正确连接到电脑。通常,需要进入设备的特殊下载模式(如Fastboot模式或DFU模式),然后通过工具...
1. **RH_ISP_Multi-Port_Programmer.pdf**:这很可能是Artery ISP多端口编程器的用户手册或操作指南。用户可以通过阅读这份PDF文档来了解如何连接编程器,如何配置软件,以及如何正确地对Artery设备进行编程和调试。...
《AISG天线端口颜色编码v3.1》标准详细解读 AISG(Antenna Interface Standards Group)是一个致力于制定天线接口标准的组织,其发布的《AISG天线端口颜色编码v3.1》是通信行业中一个重要的规范。此标准主要规定了...
本文将围绕“free-serial-port-monitor”这一免费串口监控工具进行详细阐述,帮助读者理解其功能、使用方法以及在实际操作中的应用。 首先,"free-serial-port-monitor"是一款专为串口调试设计的实用工具,它支持...
"前端开源库-happn-tcp-port-used"是一个专门为前端开发者设计的开源库,它利用Node.js的特性来检测TCP端口的使用情况。在深入探讨这个库之前,我们先理解一下TCP端口和其在计算机网络中的作用。 TCP(Transmission...
《多线程与网络编程:理解“threaded-syn-port-scanner-2.0”工具》 在IT领域,端口扫描是网络安全和系统管理的重要技术之一,它可以帮助我们了解网络上服务的状态和开放的端口。"threaded-syn-port-scanner-2.0....
本文将深入探讨“ScanPort”这款用MFC(Microsoft Foundation Classes)实现的端口扫描工具,以及其背后的原理和技术知识。 首先,我们要理解什么是端口。在TCP/IP协议中,端口是通信的逻辑接口,每个服务都会绑定...
本文将深入探讨“Comm-Port-Test.zip_personal”这个实用程序,帮助用户了解如何检查个人电脑的通信端口功能,确保其正常运行。 首先,我们要明确通信端口的作用。通信端口是电脑硬件的一部分,允许外部设备如...
本文将深入探讨虚拟串口的概念、工作原理,并通过“virtual-serial-port-kit”这一工具,讲解如何在实际操作中运用虚拟串口。 虚拟串口,顾名思义,是指通过软件手段模拟出物理串口的行为,使得应用程序能够如同...
标题中的"PIC--port-init.zip.rar_PIC_PIC PORT_PORT PIC_pic单片机PORT"表明这是一个关于PIC单片机端口初始化的压缩包文件,包含了有关PIC单片机的PORT接口的知识。描述提到"A端口的一些经验",意味着内容可能涉及A...
开源项目“mlesniak-port-scanner”是一个用Go语言编写的简单并行端口扫描器。这个工具的主要目标是快速有效地探测网络上指定主机的开放端口,这对于网络安全审计、系统管理员进行网络排查以及理解网络拓扑结构具有...
"MTK_SmartPhone_Multi-port" 指的可能是MediaTek为智能手机设计的一种多端口下载工具或者固件更新方案。这个工具可能支持多种连接方式,如USB、Wi-Fi等,以帮助用户或开发者进行固件升级、故障排除或者数据恢复。 ...
二、理解Port-Security 1.Port-Security安全地址:secure MAC address Port-Security安全地址是交换机端口安全的核心概念。安全地址可以限制交换机端口下的最大MAC数量,或者限定交换机端口下的特定MAC,从而限制...
总的来说,"arb.rar_arb_dual-port RAM vhdl"提供了一个学习和理解双端口RAM仲裁逻辑的实例,通过对"arb.vhd"文件的分析和仿真,我们可以深入了解双端口RAM的工作原理以及VHDL在硬件设计中的应用。
标题中的"driver-for-USB-to-serial-port.rar"表明这是一个针对USB到串行端口转换器的驱动程序压缩包,适用于Windows操作系统。在现代计算机中,串行端口(COM端口)虽然逐渐减少,但在某些旧设备或特定应用中仍被...