计算机网络⑧ —— IP地址

IP位于TCP/IP参考模型的第三层,也就是⽹络层
⽹络层的主要作⽤:实现主机与主机之间的通信,也叫点对点通信

问题1:⽹络层(IP)与数据链路层(MAC)有什么关系呢?

  • MAC的作⽤:实现直连的两个设备之间通信。
  • IP的作⽤:负责在没有直连的两个⽹络之间进⾏通信传输
  • 在⽹络数据包传输中,源IP地址和⽬标IP地址在传输过程中是不会变的,只有源MAC地址和⽬标MAC⼀直在变化

1. IP地址的分类

在这里插入图片描述

  • 主机号全为1指定某个网络下的所有主机,用于广播
  • 主机号全为0指定某个网络
  • ⼴播地址⽤于在同⼀个链路中相互连接的主机之间发送数据包。⼴播地址可以分为本地⼴播和直接⼴播两种。
    • 在本⽹络内⼴播的叫做本地⼴播
    • 在不同⽹络之间的⼴播叫做直接⼴播
  • D 类和 E 类地址是没有主机号的,所以不可⽤于主机 IP,D 类常被⽤于多播,E 类是预留的分类,暂时未使⽤
    • 多播地址⽤于将包发送给特定组内的所有主机。由于⼴播⽆法穿透路由,若想给其他⽹段发送同样的包,就可以使⽤可以穿透路由的多播。

2. IP分类的优缺点

  • 优点:可以根据IP地址的前四位来判别IP地址属于哪个类别。简单明了,选路简单。
  • 缺点:地址划分缺少灵活性
    • A、B、C类不能很好的与现实⽹络匹配
    • C 类地址能包含的最⼤主机数量太少了,只有 254 个
    • B 类地址能包含的最⼤主机数量⼜太多了,⼀般的企业基本达不到这个规模

3. CIDR⽆分类地址

  • 32 ⽐特的 IP 地址被划分为两部分,前⾯是⽹络号,后⾯是主机号

  • 表示形式 a.b.c.d/x ,其中 /x 表示前 x 位属于⽹络号, x 的范围是 0 ~ 32 ,这就使得 IP 地址更加具有灵活性

  • 另⼀种划分⽹络号与主机号形式,那就是⼦⽹掩码,掩码的意思就是掩盖掉主机号,剩余的就是⽹络号
    在这里插入图片描述

  • 分离网络号和主机号的作用:

    • 因为两台计算机要通讯,⾸先要判断是否处于同⼀个⼴播域内,即⽹络地址是否相同。
    • 如果⽹络地址相同,表明接受⽅在本⽹络上,那么可以把数据包直接发送到⽬标主机。
    • 路由器寻址⼯作中,也就是通过这样的⽅式来找到对应的⽹络号的,进⽽把数据包转发给对应的⽹络内。
  • 如何进行子网划分:

    • 通过⼦⽹掩码划分出⽹络号和主机号,并且可以划分⼦⽹
    • ⼦⽹划分实际上是将主机地址分为两个部分:⼦⽹⽹络地址和⼦⽹主机地址!
      在这里插入图片描述

4. 公有IP地址与私有IP地址:

  • 私有 IP 地址通常是内部的 IT ⼈员管理,公有 IP 地址是由 ICANN 组织管理,中⽂叫互联⽹名称与数字地址分配机构。

5. IP地址与路由控制:

  • IP地址的⽹络地址这⼀部分是⽤于进⾏路由控制。路由控制表中记录着⽹络地址与下⼀步应该发送⾄路由器的地址。在主机和路由器上都会有各⾃的路由器控制表。
  • 在发送 IP 包时,⾸先要确定 IP 包⾸部中的⽬标地址,再从路由控制表中找到与该地址具有相同⽹络地址的记录,根据该记录将 IP 包转发给相应的下⼀个路由器。
  • 如果路由控制表中存在多条相同⽹络地址的记录,就选择相同位数最多的⽹络地址,也就是最⻓匹配。
  • 注:
    • 环回地址不会流向⽹络,环回地址是在同⼀台计算机上的程序之间进⾏⽹络通信时所使⽤的⼀个默认地址。 计算机使⽤⼀个特殊的 IP 地址 127.0.0.1 作为环回地址
    • 与该地址具有相同意义的是⼀个叫做 localhost 的主机名。使⽤这个 IP 或主机名时,数据包不会流向⽹络

6. IP分片与重组

  • 每种数据链路的最⼤传输单元 MTU 都是不相同的,因为每个不同类型的数据链路的使⽤⽬的不同。
    • 最常⻅数据链路是以太⽹,它的 MTU 是 1500 字节
  • 当 IP 数据包⼤⼩⼤于 MTU 时, IP 数据包就会被分⽚。 经过分⽚之后的 IP 数据报在被重组的时候,只能由⽬标主机进⾏,路由器是不会进⾏重组的。
  • 在分⽚传输中,⼀旦某个分⽚丢失,则会造成整个 IP 数据报作废,所以 TCP 引⼊了 MSS 也就是在 TCP 层进⾏分⽚不由 IP 层分⽚,对于 UDP 我们尽量不要发送⼀个⼤于 MTU 的数据报⽂

7. IPv6

  • 更多的地址,更好的安全性和扩展性,但IPV4和IPV6不能兼容

  • 特点:

    • 可分配地址变多
    • IPv6 可⾃动配置,即使没有 DHCP 服务器也可以实现⾃动分配IP地址
    • 简化了⾸部结构,减轻了路由器负荷,提⾼了传输的性能
    • IPv6 有应对伪造 IP 地址的⽹络安全功能以及防⽌线路窃听的功能,⼤⼤提升了安全性
  • 标识方法:![[1709170422983.png]]

  • 结构:![[1709170908211.png]]

  • IPV6单播地址类型:

    • 对于⼀对⼀通信的 IPv6 地址,主要划分了三类单播地址,每类地址的有效范围都不同。
    • 在同⼀链路单播通信,不经过路由器,可以使⽤链路本地单播地址,IPv4 没有此类型
    • 在内⽹⾥单播通信,可以使⽤唯⼀本地地址,相当于 IPv4 的私有 IP
    • 在互联⽹通信,可以使⽤全局单播地址,相当于 IPv4 的公有 IP
  • IPV4⾸部与IPV6⾸部:在这里插入图片描述在这里插入图片描述

    • 取消了⾸部校验和字段:因为在数据链路层和传输层都会校验,因此 IPv6 直接取消了 IP 的校验
    • 取消了分⽚/重新组装相关字段:分⽚与重组是耗时的过程,IPv6 不允许在中间路由器进⾏分⽚与重组,这种操作只能在源与⽬标主机,这将⼤⼤提⾼了路由器转发的速度
    • 取消选项字段:选项字段不再是标准 IP ⾸部的⼀部分了,但它并没有消失,⽽是可能出现在 IPv6 ⾸部中的下⼀个⾸部指出的位置上。删除该选项字段使的 IPv6 的⾸部成为固定⻓度的 40 字节。

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

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

相关文章

Stable diffusion(四)

训练自己的Lora 【DataSet】【Lora trainer】【SD Lora trainer】 前置的知识 batch size:模型一次性处理几张图片。一次性多处理图片,模型能够综合捕捉多张图片的特征,最终的成品效果可能会好。但是处理多个batch size也意味着更大的显存…

Arduino智能家居

文章目录 一、接线框图1、下载fritzing 二、Arduino IDE 下载三、实现代码 一、接线框图 1、下载fritzing https://github.com/fritzing/fritzing-app/releases打开的软件界面如下: 二、Arduino IDE 下载 官网地址 P.S. 如果upload代码过程中出现cant open de…

【boost_search搜索引擎】1.获取数据源

boost搜索引擎 1、项目介绍2、获取数据源 1、项目介绍 boost_search项目和百度那种不一样,百度是全站搜索,而boost_search是一个站内搜索。而项目的宏观上实现思路就如同图上的思路。 2、获取数据源 我们要实现一个站内搜索,我们就要有这…

SpringBoot配置JWT拦截器

目录 1.背景介绍 2.前提工作 3.具体代码 (1)相关依赖 (2)相关配置文件 (3)JwtUtils类 (4)准备好登录逻辑代码(Dao、Service、Controller) &#xff0…

MySQL B树 和B+数据的区别

MySQL B树 和B数据的区别 树分类:二叉树完全二叉树满二叉树堆红黑树 B树B树 首先我们搞清楚数据结构中的 树这个概念 树 分类: 二叉树 限定每个节点的子节点最多只有2个子节点,且有左右之分。完全二叉树 满二叉树 堆 红黑树 B树 B树 …

初识 Redis 浅谈分布式

目 录 一.认识 Redis二.浅谈分布式单机架构分布式是什么数据库分离和负载均衡理解负载均衡数据库读写分离引入缓存数据库分库分表引入微服务 三.概念补充四.分布式小结 一.认识 Redis 在 Redis 官网我们可以看到介绍 翻译过来就是:数以百万计的开发人员用作缓存、…

图解Kafka架构学习笔记(三)

准备Kafka环境 这里推荐使用Docker Compose快速搭建一套本地开发环境。 以下docker-compose.yml文件用来搭建一套单节点zookeeper和单节点kafka环境,并且在8080端口提供kafka-ui管理界面。 version: 2.1services:zoo1:image: confluentinc/cp-zookeeper:7.3.2hos…

【Flask】Flask数据模型关系

数据模型关系 一对多 如上所示,一个作者关联多个文章,暂时认定,一篇文章只能有一个作者。 作者以及文章的类定义如下所示: class Author(db.Model):id db.Column(db.Integer, primary_keyTrue)name db.Column(db.String(128)…

实现登录拦截功能

1.4、实现登录拦截功能 温馨小贴士:tomcat的运行原理 当用户发起请求时,会访问我们像tomcat注册的端口,任何程序想要运行,都需要有一个线程对当前端口号进行监听,tomcat也不例外,当监听线程知道用户想要和…

Django之Celery篇(三)

一、任务交给Celery Django任务交给Celery的方法和普通使用Celery任务的调用基本无区别,只是将执行代码的放到到View视图中 而获取结果,往往并不能把结果和第1次请求一起响应,若想获取结果是通过第2次请求获取结果 代码如下: from django.http import HttpResponsefrom …

蓝桥杯2019年第十届省赛真题-组队

一、题目 组队 题目描述 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容。每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少? &#xff…

nodejs+vue高校社团管理小程序的设计与实现python-flask-django-php

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低学校的运营人员成本,实现了高校社团管理的标准化、制度化、程序化的管理,有效地防止了高校社团管理的随意管理,提高了信息的处理速度和精确度,能够及时、准…

【LVGL-使用GUI Guider 拖拽式设计LVGL】

LVGL-使用GUI Guider 拖拽式设计LVGL ■ SDL2-简介■ PC模拟器:SDL2■ 编译工具链(MinGW CMake)■ 一个IDE,SDL可以配合以下IDE使用 ■ GUI Guider-简介■ GUI Guider-下载安装■ GUI Guider-使用■ 创建工程■ 切换成中文显示■…

阿里云2核4G服务器优惠价格,轻量165元1年,ECS 199元一年

阿里云2核4G服务器优惠价格,轻量165元1年,ECS 199元一年。2024年腾讯云服务器优惠价格表,一张表整理阿里云服务器最新报价,阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单&#xff0…

Redis技术学习|实战项目记录|商户缓存

学习资料声明 黑马程序员的Redis学习视频:黑马程序员Redis入门到实战教程 需要用到的知识:linux(推荐韩顺平老师的教程,学到p30,创建好虚拟机和简单的几个命令就好。)SSM。SpringBoot。 还用到了MybatisPl…

SpringBoot+Mysql实现的旅游景点酒店平台系统源码+运行教程+开发文档(参考论文)【猿来入此】优秀学员作品

今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的旅游景点酒店预约管理系统,主要实现了 除脚手架功能以外下面是系统的功能: 前台普通用户:注册、登录、首页、景点列表(预约)、酒店列表&#…

MySQL-4.数据类型

数据库与编程不太一样,它会更加的珍惜字节空间,需考虑所定义字段的大小和所定义字段的实际使用(有无符号)。 4.1 数值类型 4.1.1 整型 数据类型字节数无符号数的取值范围有符号数的取值范围TINYINT10~255-128~127SMALLINT20~655…

数学建模体育建模和经济建模国防科大版

目录 6.体育中的数学建模 7.经济学问题中的数学建模 7.1.实物交换模型 7.2.边际效应 7.3.最佳消费选择模型 6.体育中的数学建模 体育科学的研究中,也有大量的数学建模问题,例如:棒球的最佳击球点问题、滑板滑雪赛道的设计、越野自行车比…

基于Google云原生工程师的kubernetes最佳实践(三)

目录 三、集群管理 利用node affinity、taint等机制管理node 通过pod affinity/anti-affinity机制将pod分配到合适的node Node分级管理 从Qos角度将Pod分级 用namespace隔离不同的环境和用户 配置RBAC权限控制 1. 遵循最小权限原则 2. 使用 Role 和 ClusterRole 分离权…

STM32使用滴答定时器实现delayms

在STM32上使用SysTick实现jiffies(时间戳)并且实现delay_ms 代码实现: volatile uint32_t jiffies 0; // 用于记录系统运行的jiffies数 void SysTick_Handler(void) {/* 每次SysTick中断,jiffies增加 */jiffies; }uint32_t tick…