ip地址

ip地址默认指ipv4地址,用4个字节表示,转换为点分10进制,可以表达范围0.0.0.0到255.255.255.255的地址,大约为42.95亿个地址。互联网编号分配机构(IANA,Internet Assigned Numbers Authority)负责分配和规划IP地址,以及对TCP/UDP公共服务的端口进行定义。

一个ip地址由两部分组成,网络号和主机号。

ip地址分类

IP定义了五类IP地址:A类、B类、C类、D类和E类:

  • A类地址(0.0.0.0—127.0.0.0):用于少量的大型网络,第一个字节的最高位固定为0,另外7比特可变的网络号可以标识128个网络(0~127),0一般不用,10为私有网络地址(10.0.0.0—10.255.255.255),127用作环回地址。
  • B类地址(128.0.0.0—191.255.0.0):用于中等规模的网络,第一个字节的最高2比特固定为10,另外14比特可变的网络号可以标识\(2^{14}\)=16384个网络。172.16.0.0—172.31.255.255是私有地址。169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
  • C类地址(192.0.0.0—223.255.255.0):用于小规模的网络,第一个字节的最高3比特固定为110,另外21比特可变的网络号可以标识\(2^{21}\)=2097152个网络。192.168.X.X是私有地址。
  • D类地址(224.0.0.0—239.255.255.255):用于组播(multicasting),因此,D类地址又称为组播地址。D类地址的范围为224.0.0.0~239.255.255.255,每个地址对应一个组,发往某一组播地址的数据将被该组中的所有成员接收。D类地址不能分配给主机。
  • E类地址(240.0.0.0—255.255.255.254):为保留地址,可以用于实验目的。

私有ip地址

互联网上的公有ip地址需要向国际互联网信息中心申请注册,那在一般的私有网络中,可以直接分配私有ip地址,私有ip地址在互联网上不是全局唯一的,只能在私网内寻址:

  • A类地址:10.0.0.0--10.255.255.255
  • B类地址:172.16.0.0--172.31.255.255
  • C类地址:192.168.0.0--192.168.255.255

常见的局域网由于容量小,一般选择C类的192.168.0.0作为地址段使用,一些大型企业就需要使用B类甚至A类地址段作为内部网络的地址段。

特殊ip地址

  • 网络地址:主机号全0,表示该网络的网络地址。
  • 直接广播地址:主机号全1,表示该网络的直接广播地址。
  • 受限广播地址:如果一台主机发送的 IP 数据报目标地址为255.255.255.255,则相当于向发送者所在的网络发送子网定向广播。路由器从不转发目的地址为 255.255.255.255 的 IP 数据报。
  • 本网络地址:TCP/IP协议规定,网络号各位全部为“0”时表示的是本网络。无盘工作站启动时没有IP地址,此时采用网络号和主机号都为“0”的本网络本主机地址作为源地址。
  • 环回地址:A类网络地址127.X.X.X被用作环回地址。习惯上采用127.0.0.1作为环回地址,命名为localhost。

网络端口

  • 知名端口(Well-Known Ports):0~1023,在Linux、UNIX平台均需要root权限才能监听这些端口。
  • 注册端口(Registered Ports):BSD使用的监听端口范围是1024到4999。IANA建议49152至65535作为“监听端口”。许多Linux内核使用32768至61000范围。 配置文件 /proc/sys/net/ipv4/ip_local_port_range 有当前系统设定。
  • 动态端口(Dynamic Ports):通常被用来在主动发起连接时随机分配使用,在任何特定的TCP连接外不具有任何意义。除去上述著名端口、监听端口两种端口号,剩下的端口都是备用的动态端口。所以在某些特殊用途的需要主动发起大量连接的服务器上(例如:爬虫、代理), 需要调整 /proc/sys/net/ipv4/ip_local_port_range 的数值,来保留更多的 动态端口以供使用。

ip地址和网络端口总结的更多相关文章

  1. iptables只允许指定ip地址访问指定端口

    首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清除预设表filter中使用者自定链中的规则 其次,设置只允许指定ip地址访问指定端口 ...

  2. linux下通过iptables只允许指定ip地址访问指定端口的设置方法

    这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的 ...

  3. win10 安装虚拟机提示 主IP地址显示网络信息不可用

    问题:在虚拟机详情下面显示 主ip地址:网络信息不可用 解决办法: 先root用户[root@dfhf~]#cd ..[root@dfhf/]#cd /etc/sysconfig/network-sc ...

  4. 2-4-搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: •DHCP服务器工作原理 •使用DHCP为局域网中的机器分配IP地址 •使用DHCP为服务器分配固定IP地址 •ntpdate加计划任务同步服务器时间 ---------------- ...

  5. 搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: DHCP服务器工作原理 使用DHCP为局域网中的机器分配IP地址 使用DHCP为服务器分配固定IP地址 ntpdate加计划任务同步服务器时间   实验环境: 服务端:xuegod63 ...

  6. ip地址的网络配置

    记录一下linux下的网络配置 3.执行命令(通过ifconfig查一下网卡): vi /etc/sysconfig/network-scripts/ifcfg-eth2 注:按字母a,代表插入. 编 ...

  7. IP地址及网络常识

    一.IP 互联网网络协议(internret protocol address ,IP),IP地址是IP协议提供的一种统一的标准化的地址格式,它会为互联网中的每个网络和每台主机备提供一个逻辑地址,来区 ...

  8. Linux 学习之路 --------ip地址虚拟网络

    // ifconfig 查看IP地址 网络信息   我的IP  39.161.136.25 ①     为网卡临时配置IP地址 ifconfig eth0 39.161.136.5 (netmask ...

  9. C# — 动态获取本地IP地址及可用端口

    1.在VS中动态获取本地IP地址,代码如下: 2.获取本机的可用端口以及已使用的端口:

随机推荐

  1. 出现jupyter notebook password or token提示需要token的处理方法

    很多朋友不知道下面的情况怎么处理,我给大家介绍一个方法! 出现这种情况很简单用下面这个地址就能进去了 (注意是你自己的 不是我这个)

  2. 10行实现最短路算法——Dijkstra

    今天是算法数据结构专题的第34篇文章,我们来继续聊聊最短路算法. 在上一篇文章当中我们讲解了bellman-ford算法和spfa算法,其中spfa算法是我个人比较常用的算法,比赛当中几乎没有用过其他 ...

  3. (python)生产者消费者模型

    生产者消费者模型当中有两大类重要的角色,一个是生产者(负责造数据的任务),另一个是消费者(接收造出来的数据进行进一步的操作). 为什么要使用生产者消费者模型? 在并发编程中,如果生产者处理速度很快,而 ...

  4. 10.深入k8s:调度的优先级及抢占机制源码分析

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 源码版本是1.19 上一篇我们将了获取node成功的情况,如果是一个优先pod获取nod ...

  5. Mysql主从分离与双机热备超详细配置

    一.概述 本例是在Windows环境,基于一台已经安装好的Mysql57,在本机安装第二台Mysql57服务. 读完本篇内容,你可以了解到Mysql的主从分离与双机热备的知识,以及配置期间问题的解决方 ...

  6. oracle之复杂查询之一:多表连接技术

    复杂查询之一:多表连接技术 7.1 简单查询的解析方法: 全表扫描:指针从第一条记录开始,依次逐行处理,直到最后一条记录结束: 横向选择+纵向投影=结果集 7.2 多表连接 交叉连接(笛卡尔积) 非等 ...

  7. (专题四)05 matlab视角处理

    方位角 视角 子图一 子图二,视点设置在图形的正上方 子图三,视点设置在图形侧面时的效果 子图四,十点设置在图形斜下方的效果 \circ用于输出符号° view函数的其他用法 视点在笛卡尔坐标中的位置 ...

  8. Shell学习(一)认识Shell

    一.啥是Shell Shell : 一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell脚本 :  一种为 shell 编写的 ...

  9. GIT学习与GIEE(码云体验)

    GIT 是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 ...

  10. 微服务电商项目发布重大更新,打造Spring Cloud最佳实践!

    Spring Cloud实战电商项目mall-swarm地址:转发+关注 私信我获取地址 系统架构图   系统架构图 项目组织结构 mall├── mall-common-- 工具类及通用代码模块├─ ...