计算机网络笔记再战——理解几个经典的协议4

news2025/2/6 5:29:45

目录

IP——网际协议

IP地址

1. A类地址

2. B类地址

3. C类地址

4. D类地址(组播地址)

5. E类地址(保留地址)

特殊地址与私有地址

广播地址

IP多播

子网掩码

传统分类与CIDR/VLSM的对比

路由控制

默认路由

主机路由

环回地址

IP包的分发重组

IPv6

地址空间扩展

地址类型

自动配置

报头简化

安全性

服务质量(QoS)

移动性

过渡机制


IP——网际协议

我们终于来到了第一个严肃介绍的IP协议。他是一个经典的网络层协议,他控制了数据链路层在抽象的设备概念中的传递,也就是说,我们现在可以让数据链路层安心的传递,至于具体如何在设备之间如何按照调度流通,是IP层的事情。

我们常说的IP地址就是网络层的地址,到这里,我们使用一个IP地址来标识一个远程的目标:

在互联网内部,我们揭开这团迷雾,就是一系列用来进行转发的路由器设备:

也就是说,我们的数据包实际上就是让路由器进行一系列的转发,根据路由器的指示一步一步的到达目的地的终点!每一个路由器查看的就是包的目的地址,查询我们的路由控制表,来决定一个包到底往哪里去!

需要注意的是——IP是一个无连接的协议,或者说,它并不会跟对面打招呼说“我要传递了”才去传递,这一层次上使用IP协议的设备,对于来到的数据会立马进行转发出去。

IP地址

现在,我们来谈IP地址,对于IPv4地址,一共有32位。虽然现在来看,32位地址远远不够用了,但是我们仍然使用了子网划分办法来对IP地址的作用域进行了一定的约束(比如说看到192大头的肯定就是本地私有网的地址,绝对没办法到公网上流通一个道理)

IPv4地址是有分类的,原本,他们的分类是基于网络规模和用途设计的,分为A、B、C、D、E五类,每类通过地址的前几位比特区分

1. A类地址
  • 范围0.0.0.0127.255.255.255

  • 二进制前缀:第一位为 0(即 0xxxxxxx)。

  • 结构

    • 网络部分:第一个字节(8位),但实际可用网络号为 1.0.0.0126.0.0.0(排除0.x.x.x127.x.x.x保留段)。

    • 主机部分:后三个字节(24位),支持每个网络约1677万台主机((2^{24} - 2))。

  • 默认子网掩码255.0.0.0

  • 用途:适用于超大型网络(如ISP)。

特殊保留地址

  • 127.0.0.0/8:环回地址(如127.0.0.1为本机)。

  • 0.0.0.0:表示默认路由或无效地址。

2. B类地址
  • 范围128.0.0.0191.255.255.255

  • 二进制前缀:前两位为 10(即 10xxxxxx)。

  • 结构

    • 网络部分:前两个字节(16位),实际网络号为 128.0.0.0191.255.0.0,共 (2^{14} = 16384) 个网络。

    • 主机部分:后两个字节(16位),支持每个网络65534台主机((2^{16} - 2))。

  • 默认子网掩码255.255.0.0

  • 用途:适合中型企业或机构。

3. C类地址
  • 范围192.0.0.0223.255.255.255

  • 二进制前缀:前三位为 110(即 110xxxxx)。

  • 结构

    • 网络部分:前三个字节(24位),共 (2^{21} ≈ 209万) 个网络。

    • 主机部分:最后一个字节(8位),支持每个网络254台主机((2^{8} - 2))。

  • 默认子网掩码255.255.255.0

  • 用途:适合小型网络(如家庭或办公室)。

4. D类地址(组播地址)
  • 范围224.0.0.0239.255.255.255

  • 二进制前缀:前四位为 1110(即 1110xxxx)。

  • 用途:用于组播通信(如视频会议、流媒体),不分配给单个设备。

  • 示例

    • 224.0.0.1:所有主机组播地址。

    • 224.0.0.2:所有路由器组播地址。

5. E类地址(保留地址)
  • 范围240.0.0.0255.255.255.255

  • 二进制前缀:前四位为 1111(即 1111xxxx)。

  • 用途:保留用于实验或未来扩展,不用于常规网络。

特殊地址与私有地址
  1. 私有地址(不可在公网路由):

    • A类10.0.0.0/8

    • B类172.16.0.0/12172.16.0.0172.31.255.255

    • C类192.168.0.0/16

  2. 自动配置地址(APIPA):169.254.0.0/16(DHCP失败时使用)。

  3. 受限广播地址255.255.255.255

  4. 网络/广播地址:主机位全0为网络地址,全1为广播地址(如192.168.1.0为网络地址,192.168.1.255为广播地址)。

广播地址

当然,还有一类地址是广播地址,这样的地址是将主机地址部分全部写1,比如说对于B类的172.20子网下,我们会把余下的部分全部置一,得到172.20.255.255,这个地址就是将信息发送到整个子网中的所有设备。

IP多播

IP多播(IP Multicast)是一种网络通信方式,允许一个发送者将数据包同时传输给多个接收者,而不是像单播(Unicast)那样一对一传输,或广播(Broadcast)那样发送给所有设备。多播通过高效利用网络资源,特别适合一对多或多对多的通信场景。

子网掩码

这个技术的提出是基于网络分类的退出而诞生的。我们现在的IP地址是需要两个部分的东西的——一个是IP地址,另一个就是子网掩码!我们需要一个子网掩码来决定哪一些位是主机位

CIDR进一步激进的推广了上面的做法,也就是彻底的取消了网络的分类(这就是为什么偷懒使用AI帮我写了,因为已经几乎不用了),我们使用子网掩码来动态的使用一个IP来隐藏一个巨大的网络(发送到了一个IP,这个IP往往表达一个门关,这个门关接受到信息后转发给内部的路由器再展开检查主机代码)这样的技术就是VLSM。

传统分类与CIDR/VLSM的对比
特性传统分类(A、B、C类)CIDR/VLSM
地址分配固定网络和主机划分灵活的网络和主机划分
掩码长度固定(A类:/8,B类:/16,C类:/24)可变长度(任意前缀长度)
地址利用率低(容易浪费地址)高(根据需求分配)
路由表大小大(无法聚合)小(支持路由聚合)
适用场景早期网络现代网络(IPv4和IPv6)

路由控制

刚刚我们谈到了路由的办法,这里就是一个样例图,说明我们的包是如何传递和转发的。

常见的路由有这些:

默认路由

我们指定一个默认的设备作为未匹配的设备作为标识——比如说代表的就是0.0.0.0/0,也就是一个没有设备的IP,意味着我们实际上没有命中设备

主机路由

也就是让IP地址所有位都参与路由

环回地址

127.0.0.1,这个就是表达自己的IP地址(下次谁说查出来你的IP是127.0.0.1的直接哈哈大笑就完事了)

IP包的分发重组

我们知道通信是异步的,特化的,所以,IP作为一个宏观抽象,就必须介入屏蔽底层的抽象,现在我们的IP包分发都是分为若干带有分片标识的IP包。这里,分片的大小控制就是用了路由MTU发现的功能——也就是说,我们进行对路由器最大可以传递的单位大小进行一个试探。做法是:

  1. 先不分片,直接赌我们的网络可以直接发送一整个包,对于接不住的网络会直接丢弃,发送一个ICMP包返回告知目的地不可达

  2. 然后,逐步依次递减大小的对IP包分片,直到我们的目标设备不发回来目的不可达的ICMP包,我们认为就是最大的MTU(Max Transmit Unit)

  3. 之后,每当出现了目的地不可达的时候,我们进一步分片试探,动态的调整我们的包分片。

IPv6

IPv6(Internet Protocol version 6)是下一代互联网协议,旨在解决IPv4地址耗尽问题,并提供更多的改进和功能。IPv6的设计不仅扩展了地址空间,还引入了许多新的特性,以支持现代互联网的需求。

地址空间扩展

IPv6最显著的改进是其巨大的地址空间。IPv6地址长度为128位,相比IPv4的32位地址,IPv6提供了约3.4×10^38个唯一地址。这一扩展确保了未来几十年甚至更长时间内,互联网设备的增长需求能够得到满足。IPv6地址通常以八组四位十六进制数表示,例如2001:0db8:85a3:0000:0000:8a2e:0370:7334。为了简化表示,前导零可以省略,连续的零组可以用双冒号::代替,但双冒号只能使用一次。

地址类型

IPv6定义了三种主要的地址类型:单播地址、组播地址和任播地址。单播地址用于标识单个接口,数据包会被发送到该接口。组播地址用于标识一组接口,数据包会被发送到该组的所有接口。任播地址也用于标识一组接口,但数据包只会被发送到该组中最近的一个接口。IPv6取消了广播地址,取而代之的是更加灵活的组播地址。

自动配置

IPv6引入了无状态地址自动配置(SLAAC),允许设备在没有DHCP服务器的情况下自动配置自己的IPv6地址。设备通过接收路由器发送的路由器通告(RA)消息,结合自己的接口标识符(通常基于MAC地址),生成全球唯一的IPv6地址。此外,IPv6也支持有状态地址配置(DHCPv6),适用于需要更精确控制地址分配的场景。

报头简化

IPv6的报头结构相比IPv4更加简洁和高效。IPv6报头固定为40字节,包含8个字段,而IPv4报头长度可变,包含13个字段。IPv6报头的简化减少了路由器处理数据包的开销,提高了转发效率。此外,IPv6将可选字段移到了扩展报头中,使得路由器在处理数据包时只需查看基本报头,进一步提高了性能。

安全性

IPv6在设计时考虑了安全性,IPsec(Internet Protocol Security)成为IPv6的强制组成部分。IPsec提供了数据加密、认证和完整性保护,确保通信的安全性和隐私性。虽然IPsec也可以在IPv4中使用,但在IPv6中它是内置的,更容易部署和使用。

服务质量(QoS)

IPv6引入了流量类别和流标签字段,支持更好的服务质量(QoS)管理。流量类别字段用于标识数据包的优先级,流标签字段用于标识特定流的数据包,使得网络设备能够对不同类型的流量进行区别处理,确保关键应用的低延迟和高带宽需求。

移动性

IPv6对移动设备的支持更加友好。移动IPv6(MIPv6)允许设备在改变网络连接点时保持持续的IP连接,而无需中断正在进行的通信。这对于移动互联网和物联网设备尤为重要,确保了无缝的网络体验。

过渡机制

由于IPv6与IPv4不兼容,过渡期间需要采用多种机制确保两种协议的共存和互通。常见的过渡技术包括双栈(Dual Stack)、隧道(Tunneling)和协议转换(NAT64)。双栈允许设备同时运行IPv4和IPv6协议栈,隧道技术将IPv6数据包封装在IPv4数据包中传输,NAT64则允许IPv6设备与IPv4设备通信。

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

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

相关文章

Java CountDownLatch 用法和源码解析

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…

两种文件类型(pdf/图片)打印A4半张纸方法

环境:windows10、Adobe Reader XI v11.0.23 Pdf: 1.把内容由横排变为纵排: 2.点击打印按钮: 3.选择打印页范围和多页: 4.内容打印在纸张上部 图片: 1.右键图片点击打印: 2.选择打印类型: 3.打印配置&am…

Vue3状态管理: Pinia使用技巧与最佳实践

Vue3状态管理: Pinia使用技巧与最佳实践 随着Web应用复杂度的提升,前端状态管理变得愈发重要。而在Vue3中,Pinia作为一种全新的状态管理工具,为我们提供了更加灵活和强大的状态管理解决方案。本文将从Pinia的基本概念入手,深入探讨…

stm32点灯 GPIO的输出模式

目录 1.选择RCC时钟 2.SYS 选择调试模式 SW 3.GPIO 配置 4.时钟树配置( 默认不变)HSI 高速内部时钟8Mhz 5.项目配置 6.代码 延时1s循环LED亮灭 1.选择RCC时钟 2.SYS 选择调试模式 SW 3.GPIO 配置 4.时钟树配置( 默认不变&#xff09…

腾讯会议win7二维码展示不出来

问题:win64更新后二维码展示不出来,手机等登陆都不行 安装所在位置创建文档命名TBSDEBUG并去掉后缀

swift 专题三 swift 规范一

一、Swift编码命名规范 对类、结构体、枚举和协议等类型的命名应该采用大驼峰法,如 SplitViewController。 文件名采用大驼峰法,如BlockOperation.swift。 对于扩展文件,有时扩展定义在一个独立的文件中,用“原始类型名 扩展名…

WPS计算机二级•幻灯片放映与会议

听说这是目录哦 放映PPT时常用的快捷技巧🥬设置放映模式🥕演讲备注的添加和隐藏🫚在PPT中插入附件并放映时打开🫛隐藏幻灯片 不被放映和打印🍄‍🟫演讲计时模式🥦能量站😚 放映PPT时…

FBX SDK的使用:基础知识

Windows环境配置 FBX SDK安装后,目录下有三个文件夹: include 头文件lib 编译的二进制库,根据你项目的配置去包含相应的库samples 官方使用案列 动态链接 libfbxsdk.dll, libfbxsdk.lib是动态库,需要在配置属性->C/C->预…

计算机网络笔记再战——理解几个经典的协议6——TCP与UDP

目录 先说端口号 TCP 使用序号保证顺序性和应答来保证有效性 超时重传机制 TCP窗口机制 UDP 路由协议 协议分类:IGP和EGP 几个经典的路由算法 RIP OSPF 链路状态数据库(LSDB) LSA(Link State Advertisement&#xff0…

【技海登峰】Kafka漫谈系列(二)Kafka高可用副本的数据同步与选主机制

【技海登峰】Kafka漫谈系列(二)Kafka高可用副本的数据同步与选主机制 一. 数据同步 在之前的学习中有了副本Replica的概念,解决了数据备份的问题。我们还需要面临一个设计难题即:如何处理分区中Leader与Follwer节点数据同步不匹配问题所带来的风险,这也是保证数据高可用的…

电商用户画像数据可视化分析

电商用户画像数据可视化分析 作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论&am…

Vue3.5常用特性整理

Vue3.5 发布已近半年&#xff0c;抽空整理下常用的新增/改动特性 响应式 Props 解构 Vue3.5 中 Props 正式支持解构了&#xff0c;并添加了响应式跟踪 设置默认值 使用 JavaScript 原生的默认值语法声明 props 默认值 以前 const props withDefaults(defineProps<{ co…

2024年12月 Scratch 图形化(一级)真题解析 中国电子学会全国青少年软件编程等级考试

202412 Scratch 图形化&#xff08;一级&#xff09;真题解析 中国电子学会全国青少年软件编程等级考试 一、单选题(共25题&#xff0c;共50分) 第 1 题 点击下列哪个按钮&#xff0c;可以将红框处的程序放大&#xff1f;&#xff08; &#xff09; A. B. C. D. 标…

游戏引擎学习第87天

当直接使用内存时&#xff0c;可能会发生一些奇怪的事情 在直接操作内存时&#xff0c;一些意外的情况可能会发生。由于内存实际上只是一个大块的空间&#xff0c;开发者可以完全控制它&#xff0c;而不像高级语言那样必须遵守许多规则&#xff0c;因此很容易发生错误。在一个…

【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR

文章目录 指令格式&#xff08;重点&#xff09;1. 立即数2. 寄存器位移 一、数据传送指令1. MOV指令2. MVN指令3. LDR指令 二、数据计算指令1. ADD指令1. SUB指令1. MUL指令 三、位运算指令1. AND指令2. ORR指令3. EOR指令4. BIC指令 四、比较指令五、跳转指令1. B/BL指令2. l…

Qt展厅播放器/多媒体播放器/中控播放器/帧同步播放器/硬解播放器/监控播放器

一、前言说明 音视频开发除了应用在安防监控、视频网站、各种流媒体app开发之外&#xff0c;还有一个小众的市场&#xff0c;那就是多媒体展厅场景&#xff0c;这个场景目前处于垄断地位的软件是HirenderS3&#xff0c;做的非常早而且非常全面&#xff0c;都是通用的需求&…

html中的表格属性以及合并操作

表格用table定义&#xff0c;标签标题用caption标签定义&#xff1b;用tr定义表格的若干行&#xff1b;用td定义若干个单元格&#xff1b;&#xff08;当单元格是表头时&#xff0c;用th标签定义&#xff09;&#xff08;th标签会略粗于td标签&#xff09; table的整体外观取决…

html的字符实体和颜色表示

在HTML中&#xff0c;颜色可以通过以下几种方式表示&#xff0c;以下是具体的示例&#xff1a; 1. 十六进制颜色代码 十六进制颜色代码以#开头&#xff0c;后面跟随6个字符&#xff0c;每两个字符分别表示红色、绿色和蓝色的强度。例如&#xff1a; • #FF0000&#xff1a;纯红…

unordered_map/set的哈希封装

【C笔记】unordered_map/set的哈希封装 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】unordered_map/set的哈希封装前言一. 源码及框架分析二.迭代器三.operator[]四.使用哈希表封装unordered_map/set后言 前言 哈…

idea中git的简单使用

提交&#xff0c;推送直接合并 合到哪个分支就到先切到哪个分支