NIO蔚来 面试——IP地址你了解多少?

news2024/11/29 2:37:51

目录

前言

1、IP地址

1.1、什么是IP地址

1.2、IP地址的格式

1.2.1、32位二进制数表示IP地址,够用吗?

1.3、IP地址的组成

1.4、为什么会出现IPv6

1.4.1、为什么IPv6还没有大量普及呢?

1.5、子网掩码

1.6、特殊的IP地址

2、路由选择

2.1、工作流程


前言


面试官:给你出一道算法题,一个字符串,请判断是否符合IPv4的一个格式?

Ps:你以为真的是考你算法题吗?当然不是,是考你对IPv4格式的一个理解!

1、IP地址


Ps:本章,凡是提到IP协议,没有特殊说明,默认是指IPv4。

1.1、什么是IP地址

IP地址是互联网协议地址,IP协议提供的一种统一的地址格式,为互联网上每一个网络和每一台主机分配一个逻辑地址,来屏蔽物理地址的差异。

1.2、IP地址的格式

IP地址是一个32位的二进制数字(可以表示42亿9千万个),通常使用"."号分割成4个“8位二进制数”(4个字节),例如:01100100.00000100.00000101.00000110;

一般使用“点分十进制”的方式来表示,即a.b.c.d的形式(a、b、c、d都是0~255之间的十进制整数),例如127.0.0.1。

1.2.1、32位二进制数表示IP地址,够用吗?

在当今网络如此发达的时代当然是不够用的,但是也有相应的解决办法,如下两种办法:

  • 动态分配IP地址:使用动态分配协议(DHCP)动态分配内存地址。
  • NAT:将IP分成了 外网IP 和 内网IP ,只要求 外网IP 不能重复,内网IP 在不同的局域网中是允许重复的(可以用一个外网IP代表一大波内网设备)。

内网IP 和 外网IP 是什么样的?(除了以下格式的内网IP,其他的格式都是外网IP)

 Ps:当前网络的现状——动态分配 + NAT。

1.3、IP地址的组成

IP地址分为两个部分,如下:

  • 网络号:用来标识网段(局域网的身份标识),两个相连的局域网有不同的身份标识。
  • 主机号:用来标识主机,同一个局域网中,主机之间的网络号是相同的,主机号一定不同。

1.4、为什么会出现IPv6

IPv4的地址不够用啊~

对比以下数据:

  • IPv4:4个字节,32位来表示IP地址。
  • IPv6:16个字节,128位表示IP地址。

扩大的数量大概是IPv4的42亿 * 42亿 * 42亿 * 42亿......所以可以说IPv6彻底解决了IPv4地址不够用的问题。

1.4.1、为什么IPv6还没有大量普及呢?

IPv6以及提出很多年了,当前网络现状仍然是NAT + 动态分配,为什么 IPv6 没有大量普及呢?因为 IPv6 和 IPv4 不兼容!

比如现在有一个IPv4的路由器,但是这个路由器已经用来很多年了,想要升级换设备就要花钱!不过相对来说,国内IPv6普及的还是挺好的,70%的宽带已经支持了(但基本都是未开启状态,没开启就意味着还是IPv4的方式来访问)。

1.5、子网掩码

子网掩码 划分出了从哪里到那里是一个 网络号。我们知道IP地址是32位的,特别的,子网掩码格式的IP地址的32位中 左半边是1, 右半边是0(不会01混合),左半边有多少个1就表示IP地址左侧的多少位是网络号。(把子网掩码和IP地址进行按位与运算,得到的结果就是网络号)

1.6、特殊的IP地址

如果一个 IP 地址,主机号为0,此时这个 IP 就表示网络号。192.168.0.0 ,代表当前局域网。

如果一个 IP 地址,主机号为1,此时这个 IP 就表示这个局域网的 “网关”。192.168.0.1,表示局域网的网关(网关的角色一般就是路由器,把守着当前局域网和其他局域网之间的出入口),通常是路由器的 IP。

如果一个 IP 地址,主机号全为 1(八个二进制位全为1),此时这个 IP 表示广播 IP。

127.*开头,都是 “回环IP”,典型的就是127.0.0.1;

2、路由选择


路由选择是“启发式”的过程类似于“问路”(就像地图导航一样,能够在两点之间规划一个路线)。

2.1、工作流程

a)网络数据包到达路由器的时候,路由器自身就有一个“路由表”数据结构(路由表就是这个路由器认识的路);

一个路由器无法认识到网络的全貌,但是可以认识附近的一部分。

b)如果过当前的目的 IP 路由器认识,就会给出一个明确的路线;

如果当前的目的 IP 路由器不认识,路由器就会把数据包转发给一个“更见多识广”的路由器。

c)也有可能问了一大圈最后没有找到目的地,例如 IP 地址不存在(或者不可达)。


 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序 之 云开发

一、概念1. 传统开发模式2. 新开发模式 ( 云开发模式 )3. 传统、云开发的模式对比4. 传统、云开发的项目流程对比5. 云开发的定位1. 个人的项目或者想法,不想开发服务器,直接使用云开发2. 某些公司的小程序项目是使用云开发的,但是不多&#…

Python自动化测试之登录脚本

登录脚本环境准备1、安装selenium模块2、安装浏览器驱动器代码1、登录代码2、xpath定位元素标签环境准备 前提已经安装好python、pycharm,配置了对应的环境变量。 1、安装selenium模块 文件–>设置—>项目:script---->python解释器---->s…

Spring自动装配的底层逻辑

Spring是如何自动装配Bean的?看源码一些自己的理解,如有错漏,请指正 使用Spring之前我们要先去web.xml中设置一下Spring的配置文件,在Spring的配置文件中,是通过component-scan扫描器去扫描base-package底下所有的类装…

【基础算法】哈希表(拉链法)

🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…

【C++的OpenCV】第四课-OpenCV图像常用操作(一):Mat对象深化学习、灰度、ROI

我们开始图像处理的基本操作的了解一、图像对象本身的加深学习1.1 Mat对象和ROI1.1.1 创建一个明确的Mat对象1.1.2 感兴趣的区域ROI二、图像的灰度处理2.1 概念2.2 cvtColor()函数2.3 示例一、图像对象本身的加深学习 1.1 Mat对象和ROI 这是一个技术经验的浅尝,所以…

什么是 CSAT?这份客户满意度流程指南请查收

什么是 CSAT?如何计算我的客户满意度分数?大中型公司应该熟悉这些术语。以下文章旨在教您有关客户满意度流程的所有内容 - 基本的CSAT概念、创建CSAT调查的好处、如何创建CSAT调查。配图来源: SaleSmartly(ss客服) 一、什么是 CSAT&#xff1…

算法笔记(十二)—— Manacher算法(回文子串)

计算字符串内的最大回文子串,常用的暴力扩散在应对长度为偶数的回文时会遇到一些问题。 Manacher基础:对字符串进行填充,在字符串开头结尾以及字符间填充‘#’,以来应对偶数回文时的问题。(这是采用暴力扩再除2&#x…

[黑马程序员SSM框架教程]03 spring核心概念

IOC/DI 书写现状:耦合度偏高 如图:传统书写代码左边业务层需要new一个对象进行业务实现。当数据层优化代码BookDaoImpl2就需要动业务层代码重新修改new的对象。导致代码耦合度偏高。 解决办法:使用对象,不要主动new对象&#xff…

kubernetes traefik ingress 安装部署以及使用和注意点

1、简介 Traefik 是一款 open-source 边缘路由器,可让您轻松地发布服务. 它接收来自您的系统请求,并找出负责处理它们的后端服务组件。 traefik 与众不同在于它能够自动发现适合您服务的配置。 当 Traefik 检查您的基础设施时,它会发现相关信…

Redisson实现分布式锁

目录Redisson简介Redisson实现分布式锁步骤引入依赖application.ymlRedisson 配置类Redisson分布式锁实现Redisson简介 Redis 是最流行的 NoSQL 数据库解决方案之一,而 Java 是世界上最流行(注意,没有说“最好”)的编程语言之一。…

Matthew Ball:十多年后AR/VR为何依然发展缓慢?

2010年,Magic Leap和微软就开始研发AR技术,直到2012年Oculus才成立,AR/VR经过了13年左右的时间,虽然受到越来越多人关注,但发展依然缓慢。VR的主要应用场景还是游戏,但VR游戏只是游戏市场的一个分支&#x…

第七章.深度学习

第七章.深度学习 7.1 深度学习 深度学习是加深了层的深度神经网络。 1.加深层的好处 1).可以减少网络的参数数量 5*5的卷积运算示例: 重复两次3*3的卷积层示例: 图像说明: ①.一次5 * 5的卷积运算的区域可以由两次3 * 3的卷积运算抵消&a…

服务端开发Java之备战秋招面试篇1

在这个面试造火箭工作拧螺丝的时代背景下,感觉不是很好,不过还好也是拿到了还行的offer,准备去实习了,接下来就是边实习边准备秋招了,这半年把(技术栈八股文面经算法题项目)吃透,希望…

打破数据孤岛,Apache Doris 助力纵腾集团快速构建流批一体数仓架构|最佳实践

福建纵腾网络有限公司(简称“纵腾集团”)成立于 2009 年, 以“全球跨境电商基础设施服务商”为企业定位,聚焦跨境仓储与物流, 为全球跨境电商商户、出口贸易企业、出海品牌商提供海外仓储、商业专线物流、定制化物流等…

【C++】vector 模拟实现

vectorvector 容器vector 基本使用vector 定义库中各类接口的使用迭代器容量相关接口元素访问相关接口元素修改相关接口模拟实现 vector前期准备构造与析构赋值运算符重载迭代器相关容量相关元素访问相关元素的修改相关二维数组的创建对于自定义类型数据的测试vector 容器 C S…

Python实战之小说下载神器(二)整本小说下载:看小说不用这个程序,我实在替你感到可惜*(小说爱好者必备)

前言 这次的是一个系列内容给大家讲解一下何一步一步实现一个完整的实战项目案例系列之小说下载神器(二)(GUI界面化程序) 单章小说下载保存数据——整本小说下载 你有看小说“中毒”的经历嘛?小编多多少少还是爱看小说…

基于react+nodejs+mysql开发用户中心,用于项管理加入的项目的用户认证

基于reactnodejsmysql开发用户中心,用于项管理加入的项目的用户认证用户中心功能介绍页面截图后端采用架构user表projects表project_user表仓库地址用户中心功能介绍 用户中心项目,用于统一管理用户信息、登录、注册、鉴权等 功能如下: 用…

[qiankun]实战问题汇总

[qiankun]实战问题汇总ERROR SyntaxError: Cannot use import statement outside a module问题分析解决方案子应用命名问题问题分析解决方案jsonpFunction详细错误信息问题分析解决方案微应用的注册问题Uncaught Error: application cli5-beta6-test-name died in status LOADI…

2月,真的不要跳槽。

新年已经过去,马上就到金三银四跳槽季了,一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。 在此展示一套学习笔记 / 面试手册,年后跳槽的朋友可以好好刷一刷,还是挺有必…

Zebec官方辟谣“我们与Protradex没有任何关系”

近日,流支付协议Zebec Protocol在其官方推特上,发表了一个辟谣澄清声明。该条推特推文表示,“Zebec 与 Protradex 没有任何关系或产生关联。他们( Protradex )声称Zebec 生态正在支持他们,但这是错误的。随…