网络-IP/子网掩码/端口

2024-06-13 12:38
文章标签 ip 网络 端口 子网掩码

本文主要是介绍网络-IP/子网掩码/端口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面有这样一个号码:010-12345678
想必一眼就能看出,这是北京市的一个电话号码,其中010代表北京,12345678代表这个城市的一部电话,也就是说,一个电话号的格式是:区号-电话号

而IP,也是上述的格式,比方说有这样一个IP:172.20.7.126,那么如何区分出哪个是区号,哪个是电话号呢?有两种方式

1.指定区号长度
2.由子网掩码告诉我们哪些是区号

1.指定区号长度
假设我告诉你172.20.7.126前6个数是区号,那么你一定知道172.20.7是区号,但是实际上我不能告诉你前6个是区号,因为172.20.7.126的标准写法是

172.020.007.126

也就是说标准写法不能省略0,省略0的写法只是我们人类更友好的可读,好了,现在我和你说“172.20.7.126的前9位是区号”,那么首先应该将172.20.7.126变成172.020.007.126,然后查9位,得出区号是172.020.007,但是和上面的道理一样,我不能直接告诉你前9位,因为IP协议规定要以IP的二进制方式告诉你,而不是IP的十进制172.020.007,那么下面要把172.020.007转换成二进制

172020007总长度
1010 11000001 01000000 011124

所以现在说法又改成了172.020.007.126前24位是区号,那么这个IP的区号是

172.020.007

但是我们都知道,作为程序员,一般都喜欢从0开始查数,所以说法又改成了172.020.007.126前23位是区号,那么这个IP的区号是

172.020.007

最终,这个IP的标准写法就是:172.020.007.126/23
人们通常写成:172.20.7.126

2.由子网掩码告诉我们哪些是区号,假设我告诉你子网掩码是255.255.255.0(C类IP),IP是172.20.7.126
首先将IP转成二进制:

172020007126
1010 11000001 01000000 01110111 1110

再讲子网掩码转换成二进制:

2552552550
1111 11111111 11111111 11110000 0000

将两个二进制进行&与操作

-172&255020&255007&255126&0
IP1010 11000001 01000000 01110111 1110
掩码1111 11111111 11111111 11110000 0000
与操作结果1010 11000001 01000000 01110000 0000

结果的十进制表示:172.20.7.0
IP协议规定:以0结尾的IP地址,表示的是网段,而172.20.7.0正好是以0结尾,所以这是一个网段,值为172.20.7
综上得知:"区号"是172.20.7

注意:子网掩码可能是任意值(本例是255.255.255.0),具体可搜索【IP的分类】,本文不再赘述

端口
一个端口代表一个程序
0-1024是约定俗成的各种服务,比如80基本都是http,443基本都是https程序,我们自己不要更改
1025-49151:叫注册端口,这些端口用于我们自己程序的绑定
49152-65535:叫动态端口,都是动态分配的,假设我是客户端,现在我和某个服务器建立连接,当建立连接之后,系统会给我分配一个端口,我使用该端口和服务器一直保持通信,此时使用的就是动态端口,如果连接没有断开,则一直使用该端口

这篇关于网络-IP/子网掩码/端口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057324

相关文章

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展