<计算机网络自顶向下> Internet Protocol(未完成)

互联网中的网络层

IP数据报格式

  • ver: 四个比特的版本号(IPV4 0100, IPV6 0110)

  • headlen:head的长度(头部长度字段(IHL)指定了头部的长度,以32位字(4字节)为单位计算。这个字段的值乘以4就是头部的实际长度,因为每个值代表4个字节。所以,如果IHL字段的值为5,那么头部长度就是5 * 4 = 20字节,IP数据包头部最小长度是20所以这个headlen字段最小的值是5)

  • flgs字段是分片用的

  • upper layer: (该字段是8位长,就是protocol字段,它指示了数据部分所使用的上层协议类型。以下是一些常见协议类型的数值表示:1表示ICMP(Internet控制消息协议);6表示TCP(传输控制协议);17表示UDP(用户数据报协议))

  • 这里的Internet checksum是头部的校验和

  • Option:比如说有些option就是记录下途中每个路由器的地址

IP分片和重组(Fragmentation & Reassembly)

  • 网络链路有MTU(最大传输单元,是包括头部的)——链路层帧所携带的最大数据长度
    • 不同的链路类型
    • 不同的MTU
  • 大的IP数据报在网络上被分片(“fragmented”)
    • 一个数据报被封为若干个小的数据报(每个小的数据报必须都要加上头部)
      • 相同的ID
      • 不同的偏移量(以八个字节为单位偏移量)
      • 最后一个分片的fragflag标记为0,反之为1
    • “重组”旨在最终的目标主机进行(要是每个路由器都充足的话就太忙了)
    • 胖分组加入中间有分片没到就全扔了
    • IP头部的信息被用于表示,排序相关分片

IP编址

  • IP地址:32位标识,对主机或者路由器的接口编址(是标识接口点的而不是标识主机)
  • 接口:主机/路由器和物理链路的连接处
    • 路由器通常多个接口
    • 主机也有可能多个接口
    • IP地址和每个接口相关联
  • 一个IP地址和一个接口相关联

子网(Subnet) 

  • IP地址:
    • 子网部分(高位bits)
    • 主机部分(低位bits)
  • 什么是子网
    • 一个子网内的节点(主机或路由器)它们的IP地址的高位部分相同,这些节点构成的网络的一部分叫做子网(条件一:前缀一样)
    • 无需路由器介入,子网内个主机可以在物理上相互直接到达(条件二:分组收发不需要路由器,一跳可达,可借助交换机)
    • 把纯子网的所有信息聚集为一条向外发送,可以减少在广域网范围路由表表项的数量,减小传输和计算路由信息的代价(所以说路由表的单位实际上是网络而不是IP地址)

  • 判断子网数量 (看"孤岛”): 把路由器连线断开看分区比如下图就是六个子网

IP地址分类

  • 单播地址(我->你)
    • A类:地址的最高位为0,第一个字节的其他7个比特代表网络号,后面三个字节的24比特代表主机号(一共有126个网络因为2^7-2,不要全0的网络和全1的网络,这是IP地址的约定,每个网络2^24-2个主机)
    • B类:最高地址为10,前面两个字节剩余部分代表网络号,后面两个字节代表主机号
    • C类:最高地址为110,前面三个字节剩余部分代表网络号,后面一个字节代表主机号
  • 主播地址(我->所有)
    • D类:最高地址为1110,后面就是主播地址(主播组成员)
  • 预留地址
    • E类:最高地址为11110

  •  一些约定
    • 回路地址:就是自己的地址(也叫测试地址,因为通常用于本地测试,诊断和通信,不涉及真实的网络通信)

  •  内网(专用)IP地址
    • 专用地址:地址空间的一部分供专用地址使用
    • 永远不会被当做公用地址来分配,不会与公用地址重复
      • 只在局部网络中有意义,区分不同的设备
    • 路由器不对目标地址是专用地址的分组进行转发
    • 举例来说,一个公司内部网络可以使用192.168.0.0/24的地址范围,例如192.168.1.0到192.168.1.255之间的IP地址,来连接其内部设备,比如电脑、打印机、服务器等。这些地址只在公司内部可用,不会被互联网路由器转发
    • 专用地址范围

  •  无类地址:按需分配IP地址
    • 因为是按需分配所以无法直接通过用IP地址在路由表查询,需要使用CIDR

CIDR:Class InterDomain Routing(无类域间路由)

  • 子网部分可以在任何位置
  • 地址格式:a.b.c.d/x,其中x是地址中子网号的长度(为1说明是网络号,为1为主机号)取与即可

  • 转发表和转发算法:
    • 目标子网号
    • 子网掩码
    • 下一跳
    • 端口
  • 步骤
    • 取出目标IP
    • 和每个表项子网掩码做个与(就可以把网络号取出来)
    • 取出来判断和目标子网号是否一样,要是不一样接着往下找
    • 一样的话表项就找到了
    • 只有最后一跳目标主机的主机号才有用

  • 这里再次详细叙述一下一次数据报从源主机到目标主机的过程 :某路由器从某个端口收到数据报,匹配表项,知道从哪个端口放出去,下一跳的IP地址是什么,找到IP地址相对应的网卡MAC地址(根据ARP协议,这还是匹配IP地址和MAC号的协议),然后重新解封装封装继续转发,直到最后一跳,到达目标网络,交给目标主机(只有最后一条需要用到主机号)

 如何获得IP地址

  • 自动分配IP地址
    • 系统管理员将地址配置在一个文件中
    • 上网必备的四个信息
      • IP地址(Internet Protocol Address)

      • 子网掩码(Subnet Mask):两种表示方式

      • 默认网关(Default Gateway):是一个设备(通常是路由器)的IP地址,用于将数据包发送到其他网络。当一个设备需要发送数据到不在同一子网内的目标时,它将数据包发送到默认网关,由默认网关来负责将数据包转发到正确的目标。

      • DNS服务器(Domain Name System Server)

    • DHCP:Dynamic Host Configuration Protocol 从服务器中动态获得一个IP地址
  • 手动分配IP地址
    • 非最大ISP就请求大网给你分配小网
    • 最大ISP找ICANN分配IP地址(Internet Corporation for Assigned Names and Numbers)

Dynamic Host Configuration Protocol(动态主机配置协议)

  • 目标:允许主机在加入网络的时候,动态的从服务器哪里获取IP地址
    • 可以更新对主机再用IP地址的租用期-租期快到了
    • 重新启动时,允许重新使用以前用过的IP地址
    • 支持移动用户加入到该网络(短期在网)
  • DHCP工作概况

层次编址:路由聚集(route aggregation)

  • 第一个路由器:当一个数据包被发送到一个目的地时,首先它需要知道它要去的第一个路由器,也就是数据包的第一个下一跳。

    通常情况下,源设备(发送数据包的设备)已经配置了默认网关(Default Gateway)。默认网关是一个设备的IP地址,用于指示发送到其他网络的数据包应该发送到哪个路由器。首先查路由表如果发现不是自己网络范围的所以要发到默认网关。源设备将数据包发送到默认网关,然后默认网关将根据自己的路由表将数据包发送到适当的下一跳。

  • 下一跳:路由器在转发数据包时选择的下一个路由器或者目的地设备的地址
  •  层次编制是指路由协议在路由信息传播时采用分层的方法。在分层编制中,路由信息首先传播到特定的节点,然后再传播到更广泛的节点,最终到达整个网络。这种分层的方法有助于减少路由信息的传播量和路由器之间的通信开销,提高了路由信息的有效传播效率。(路由器允许一定的空洞就是没必要全部都收到了再发出去)
  • 层次编制允许路由信息的有效广播,某一子网前缀的分组全部整合发到路由器以后再根据路由表查询最长匹配的下一跳发到下一个地点

 层次编址:特殊路由信息(more specific routes)

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

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

相关文章

可替换XC6206P332MR的润石超低功耗LDO RS3221-3.3YF3助力智能门锁设计,精度低至1%

润石科技的RS3221,可满足超低功耗,在智能门锁设计时,兼容替换TOREX的XC6206P332MR,具体请参考图1参数对比: 图1:RS3221-3.3YF3与XC6206P332MR电性能参数对比 通过上表可知, 1、 RS3221-3.3YF3…

家政服务小程序:家政行业的数字化转型

随着大众生活水平的提高,以及老龄化的加速,家政服务已经成为了大众生活中不可或缺的一部分。目前,我国家政服务市场的规模在持续扩大,发展前景一片大好。在日益提升的家政需求下,大众对家政服务的种类也逐渐多样。 为…

【ARMv9 DSU-120 系列 4.1 -- Utility bus 详细介绍 2】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 ARM DSU-120DSU-120 Utiity BusCluster and core PPUPPU寄存器的访问性PPU寄存器的作用系统组件基地址ARM DSU-120 DSU-120 Utiity Bus 在ARMv9架构中,DSU-120(Dynamic Shared Unit 120)是一个关键组件,用于管理核…

炒股自动化:券商官方,散户可用,查询订单状态API如何用?

券商官方的接口,个人账户可申请,入金门槛低,接入文档完善,技术支持好的,经过我们筛选后,只有一家符合 会编程,有基础,只是需要API接口的朋友不用看这些,不会写程序的朋友…

全球乙烯丙烯酸共聚物(EAA)市场现状及产业发展趋势分析2024

乙烯丙烯酸共聚物(EAA)是丙烯酸的乙酯。它是一种具有特殊气味的无色液体。EAA具有很好的附着力和密封性能、特殊的硬度、柔韧性。 据GIR (Global Info Research)调研,按收入计,2023年全球乙烯丙烯酸共聚物(EAA&#xf…

现实与虚幻:人工智能的迷惑瞬间

在当今社会,随着人工智能技术的迅速发展和普及,越来越多的公司纷纷推出自己的AI大模型,各类应用也开始内置AI玩法,如抖音的AI特效等。然而,随之而来的是人们在使用过程中频繁遇到的让人怀疑的问题,引发了对…

stm32智能小车前进,后退,左转,右转,停止

本文代码使用 HAL 库。 文章目录 前言一、电机模块介绍二、原理图分析三、电机驱动小车运动原理1. **小车前进,后退,停止**2,小车左转,右转3,左自旋,右自旋 四,cubeMX 配置五,代码模…

DeFi 基础知识:去中心化金融及其运作方式

文章目录 一、金融的演变:从传统到去中心化二、了解价值主张:为什么选择 DeFi?三、DeFi 基础知识:区块链和智能合约3.1 权力下放:权力归于人民3.2 无需信任的系统和点对点交易3.3 公开透明的账本:区块链的作…

基础款:Dockerfile 文件

# bash复制代码# 使用 Node.js 16 作为基础镜像 # 指定一个已经存在的镜像作为模版,第一条必须是from FROM node:16# 将当前工作目录设置为/app # WORKDIR /app# 方法一:用dockerfile命令:进行下载打包文件 # 将 package.json 和 package-loc…

机器人系统开发ros2-基础实践02-自定义一个机器人动作aciton服务端和客户端(c++ 实现)

aciton 是 ROS 中异步通信的一种形式。 操作客户端向操作服务器发送目标请求。 动作服务器将目标反馈和结果发送给动作客户端。 先决条件: 将需要上一个 教程创建操作action_tutorials_interfaces中定义的包和接口。Fibonacci.action 步骤1: 1.1 创建…

MySQL recursive 递归

MySQL 从最内的select开始执行,但是同一个select clause可以在查询的结果上继续查询。 SELECT menu_id,parent_id,(SELECT m1.parent_id FROM sys_menu AS m1 WHERE m1.menu_idm.parent_id) FROM sys_menu AS m WHERE m.menu_id 89 方案1.通过recursive递归 使用…

吴恩达2022机器学习专项课程(一) 6.2 逻辑回归第三周课后实验:Lab2逻辑回归

问题预览/关键词 逻辑回归预测分类创建逻辑回归算法Sigmoid函数Sigmoid函数的表示sigmoid输出的结果Numpy计算指数的方法实验python实现sigmoid函数打印输入的z值和sigmoid计算的值可视化z值和sigmoid的值添加更多数据,使用逻辑回归可以正常预测分类![在这里插入图片…

IP地址的地理位置如何确定?

IP地址的地理位置确定是一个复杂且多步骤的过程,它依赖于多种技术和数据源来实现。下面将详细解释IP地址地理位置是如何被确定的。 首先,我们需要了解IP地址的基本结构。IP地址由一串数字组成,用于标识网络中的设备。这些数字实际上代表了设…

ESP32-S3如何用socket通信

实验目的: 通过 Socket 编程实现 pyWiFi-ESP32-S3 与电脑服务器助手建立连接,相互收 发数据。 首先先来简单了解一下Socket 我们先来看看网络层级模型图,这是构成网络通信的基础: 我们看看 TCP/IP 模型的传输层和应用层&…

SpringBoot + Vue实现Github第三方登录

前言:毕业设计终于好了,希望能有空多写几篇 1. 获取Github账号的Client ID和Client secrets 首先点击这个链接进入Github的OAuth Apps页面,页面展示如下: 之后我们可以创建一个新的apps: 填写资料: 创建之后就可以获…

WhatsApp解封方法和防封技巧分享,内附解封话术!

WhatsApp 已成为外贸人员不可或缺的沟通工具,它不仅加速了全球范围内的客户沟通,还提供了一个方便快捷的社交媒体营销平台。然而,面对WhatsApp账号被封的问题,许多外贸人常常感到束手无策。本文旨在分享有效的WhatsApp解封方法&am…

大宋咨询(深圳第三方绩效评估)谈关于消费者满意度研究的概念

消费者满意度研究是一种评估消费者对于特定产品、服务或购物体验的满意程度的方法。它旨在了解消费者在购买和使用过程中的感受、意见和反馈,从而衡量企业的产品、服务质量以及顾客关系管理的效果。消费者满意度研究对于企业了解消费者需求、改进产品和服务&#xf…

使用Selenium爬取目标网站被识别的解决之法

在进行网络数据抓取和爬取时,Selenium是一个常用的工具,它可以模拟人类用户的行为,自动化地操作浏览器进行页面的访问和数据的提取。然而,随着网站对爬虫的检测能力不断提升,很多爬虫程序在运行过程中经常会遭遇被目标…

[DEMO]给两个字符串取交集的词语

要求:2个英文字符串中,取相同的大于等于4个字母的词组 比如: 字符串1:" xingMeiLingabcdef WorldHello", 字符串2:"mnjqlup WorldLingLing xingMeiLingHello" 获取交接: [xingMeiLing…

Faiss:高效相似性搜索与聚类的利器

Faiss 是一个针对大规模向量集合的相似性搜索库,由 Facebook AI Research 开发。它提供了一系列高效的算法和数据结构,用于加速向量之间的相似性搜索,特别是在大规模数据集上。本文将介绍 Faiss 的原理、核心功能以及如何在实际项目中使用它。…