【Linux通识】之端口到底是个什么?

端口的本质是计算机上的一小块内存!

端口的概念

在Linux系统(以及其他所有支持网络通信的操作系统)中,端口(Port)可以理解为计算机在网络上与外界沟通的虚拟通道或门牌号码。当我们谈论网络通信时,端口是一个抽象的概念,它帮助操作系统区分不同类型的网络服务或应用之间的数据流量。

在这里插入图片描述

打个比方,想象一台计算机是一栋有很多房间的大楼,大楼有不同的门,每个门都有一个独特的门牌号。网络端口就像这些门牌号,每个门对应着大楼内的一个特定房间(即一个应用程序或服务)。当数据包(相当于快递)通过网络到达这栋大楼时,它会根据目标端口号(门牌号)找到相应的房间进行交付。

在这里插入图片描述

端口的功能

端口是计算机网络服务的身份标识。例如,Web服务器通常监听80端口(HTTP)或443端口(HTTPS),邮件服务器监听25端口(SMTP)等。

端口22:这是SSH(Secure Shell)服务的标准端口,它的普及得益于Linus Torvalds本人对安全性的重视。SSH允许用户进行安全的远程登录和命令执行,Torvalds在其发展初期就推动了SSH在Linux社区的广泛使用。

端口80和443:这两个端口分别对应HTTP和HTTPS协议,是互联网浏览的核心。

一个系统上的不同服务可以通过监听不同的端口来同时运行,从而允许多个服务共享同一个IP地址。

端口的分类

具体而言,在TCP/IP协议模型中,端口是一个16位的无符号整数,范围从0到65535。这些端口分为三类:

  1. 公认端口(Well-Known Ports):0-1023,这部分端口由IANA(互联网号码分配机构)管理和分配,用于重要的公共服务,例如HTTP服务使用80端口,FTP服务使用21端口,SSH服务使用22端口等。

  2. 注册端口(Registered Ports):1024-49151,这部分端口供用户自定义服务使用,尽管不如公认端口那样有名,但仍有一定的约定俗成用途。

  3. 动态或私有端口(Dynamic or Private Ports):49152-65535,这部分端口主要由操作系统临时分配给那些需要短暂通信的应用程序,例如当你启动一个新的网络连接或服务时。

端口管理

在Linux中,可以通过防火墙(如iptables)来管理端口的开放、关闭以及访问控制,以确保系统的安全性和可控性。

关于端口小故事

神秘的0端口

端口0实际上不是一个常规的服务端口,它在TCP/IP协议中被保留,不能被应用程序绑定。在某些早期的Unix实现中,端口0曾被用于诊断和调试目的,但它不是一个有效的通信端口。
在这里插入图片描述

动态端口的随机性

Linux内核在分配临时(动态)端口时,遵循一定的随机性原则,以防止恶意预测和攻击。这意味着当一个应用程序请求一个临时端口时,操作系统不会总是从某个固定范围的高位或低位开始分配。

总结

一个网络连接是由IP地址加上端口号来唯一标识的,这种组合被称为套接字(Socket)。通过这种方式,不同的服务可以在同一台计算机上同时运行而不混淆彼此的通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/442075.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【教程】Github环境配置新手指南(超详细)

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 文章目录 一、Github初始设置(一)登入Github(二)新建仓库 二、本地Git配置&am…

在Leaflet中使用Turf.js生成范围多边形的两种实现方式

目录 前言 一、场景需求 1、Leaflet.js的不足 2、Turf.js 二、原始数据展示 1、点位数据展示 2、定义样式 3、定位数据初始化 三、Turfjs中bbox生成 1、官网讲解 2、轨迹bbox生成 四、Turfjs生成外包多边形 1、官网例子 2、凸多边形生成 总结 前言 在一些共享出…

机器学习--循环神经网路(RNN)2

在这篇文章中,我们介绍一下其他的RNN。 一.深层RNN 循环神经网络的架构是可以任意设计的,之前提到的 RNN 只有一个隐藏层,但 RNN 也可以是深层的。比如把 xt 丢进去之后,它可以通过一个隐藏层,再通过第二个隐藏层&am…

三  超级数据查看器   讲解稿    主界面和系统功能介绍

三 超级数据查看器 讲解稿 主界面和系统功能介绍 APP百度下载地址 下载地址4 ​讲解稿全文: 大家好。 今天我们讲解一下,超级数据查看器主界面。 首先,我们打开超级数据查看器。 打开之后,进入的第一个界面就是主界面。这个页面由三…

网络编程---网络编程入门、UDP通信程序、TCP通信程序

1.网络编程入门 1.网络编程概述 网络编程: 在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据传输 计算机网络: 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来&#…

docker安装ES、LogStash、Kibana

文章目录 一、安装Elasticsearch1. 安装Elasticsearch2. 安装IK分词器3. elasticsearch-head 监控的插件4. 配置跨域 二、安装LogStash三、安装kibana四、SpringBoot集成LogStash,将日志输出到ES中五、 启动项目,监控项目运行 提示:以下是本篇…

ABAP接口部分-C#调用RFC

目录 ABAP接口部分-C#调用RFC创建表结构创建RFC函数创建C#项目引用SAP .Net Connector包绘制窗口的控件最终布局代码 项目配置报错SAP.Middleware.Connector.RfcDestinationManager报错SAP.Middleware.Connector.RfcLoginexception报错SAP.Middleware.Connector.RfcInvalidStat…

Docker基础教程 - 8 镜像仓库

更好的阅读体验:点这里 ( www.doubibiji.com ) 8 镜像仓库 在安装 Docker 的时候,默认使用的是 DockerHub,后来为了提升速度,配置的镜像仓库是使用阿里云的镜像仓库,拉取的是别人制作的镜像&…

第五十三回 入云龙斗法破高廉 黑旋风下井救柴进-AI训练数据处理和读取

罗真人教了公孙胜五雷天罡正法,并让他记住“逢幽而止,遇汴而环”八个字。三人辞别了罗真人,戴宗先回去报信,李逵和公孙胜结伴而行。 走了三天,来到了武冈镇,李逵碰到一个铁匠,叫金钱豹子汤隆&a…

[Flutter get_cli] 配置 sub_folder:false报错

flutter get_cli 配置 get_cli:sub_folder:false报错如下 Because getx_cli_learn01 depends on get_cli from unknown source "sub_folder", version solving failed. 原因是在 pubspec.yaml文件中, get_cli:sub_folder:false要和 dependencies: xxx dev_depe…

【node版本问题】运行项目报错 PostCSS received undefined instead of CSS string

最近该项目没有做任何修改,今天运行突然跑不起来报错了 PostCSS received undefined instead of CSS string 【原因】突然想起来期间有换过 node 版本为 16.17.1 【解决】将 node 版本换回之前的 14.18.0 就可以了

突然发现一个很炸裂的平台!

平时小孟会开发很多的项目,很多项目不仅开发的功能比较齐全,而且效果比较炸裂。 今天给大家介绍一个我常用的平台,因含低代码平台,开发相当的快。 1,什么是低代码 低代码包括两种,一种低代码,…

正则表达式 || 遇到字符串里面有() 就在括号后面换行

<template><div class"vertical-layout"><header><h1>testPage</h1><p>(1)第一行内容xxxxxxxxx&#xff08;2&#xff09;第二行内容xxxxxxx(3)第三行内容</p></header><main><el-button click"goToO…

IPsec

在FW5和FW3之间建立一条IPSEC通道,保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 最后测试&#xff1a;

xpath和lxml类库

数据提取之xpath 学习目标 了解 html和xml的区别掌握 xpath获取节点属性的方法掌握 xpath获取文本的方法掌握 xpath查找特定节点的方法 1. 为什么要学习xpath和lxml lxml是一款高性能的 Python HTML/XML 解析器&#xff0c;我们可以利用XPath&#xff0c;来快速的定位特定元…

linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)

CSDN 成就一亿技术人&#xff01; 作者主页&#xff1a;点击&#xff01; Linux专栏&#xff1a;点击&#xff01; CSDN 成就一亿技术人&#xff01; 前言———— Samba 是一个开源软件套件&#xff0c;可为 SMB/CIFS 客户端&#xff08;包括 Windows&#xff09;提供文件…

为什么选择Copilot for Microsoft365而不是Copilot Pro

最近很多小伙伴都用上了copilot&#xff0c;开始感受copilot在生产力工具中发挥的作用与带来的提升。 询问比较多的就是商业企业版的Copilot for Microsoft 365和个人家庭版的Copilot Pro有什么区别&#xff1f; 这篇文章一定会让你在两者之间选择最合适你的那个。 一、价格…

网络安全学习路线,入门到入坟,史上最全网络安全学习路线整理

很多小伙伴在网上搜索网络安全时&#xff0c;会出来网络安全工程师这样一个职位&#xff0c;它的范围很广&#xff0c;只要是与网络安全挂钩的技术人员都算网络安全工程师&#xff0c;一些小伙伴就有疑问了&#xff0c;网络安全现在真的很火吗&#xff1f; 那么寒哥就带大家看…

LCR 164. 破解闯关密码

解题思路&#xff1a; 贪心 class Solution {public String crackPassword(int[] password) {String[] strs new String[password.length];for(int i 0; i < password.length; i)strs[i] String.valueOf(password[i]);Arrays.sort(strs, (x, y) -> (x y).compareTo(…

c++ 哨兵线性搜索

顾名思义&#xff0c;哨兵线性搜索是线性搜索的一种&#xff0c;与传统线性搜索相比&#xff0c;比较次数减少了。在传统的线性搜索中&#xff0c;仅进行N次比较&#xff0c;而在哨兵线性搜索中&#xff0c;哨兵值用于避免任何越界比较&#xff0c;但没有专门针对正在搜索的元素…