华为HCIA课堂笔记第四章 网络层协议与IP编址

2024-01-07 08:52

本文主要是介绍华为HCIA课堂笔记第四章 网络层协议与IP编址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第四章  网络层协议与IP编址

4.1 IP报文格式

版本(version):表示该IP协议的版本号,取值0100即4,为IPV4

头部长度:表示IP协议头部长度(不固定长度:20B固定,0-40B不固定)

服务类型:ToS字段,区分服务字段。该字段主要用于Qos(服务质量)

总长度:IP头部与数据部分之和

标识(Identifier):用于数据包分和重组,分片后的多个IP报文如果标识相同,则表明这些报文原来于同一个分片前的报文。

标志位:

  1. DF比特位:不分片位,置1表示该报文不可以进行分片
  2. MF比特位:
      • 置位0,该分片报文是最后一个分片报文。
      • 置位1,则表示该分片报文后还有其他的分片报文。

片偏移字段:用于重组报文,重组时分片报文中的该字段值表示分片报文携带的数据部分起点距离原始报文起点的距离。

TTL值:用于防环,取值范围0-255。三层设备收到报文后,如果IP地址不是自己的,转发该报文,转发时,将TTL值减1,每一个三层设备都如此进行,最终TTL将为0,设备收到TTL值为0的报文,直接丢弃不进行转发。

协议字段:用于标识上层协议的,以下为上层协议与该字段取值关系:

  1. TCP:取值6
  2. UDP:取值17
  3. IGMP(因特网管理协议):取值为2
  4. ICMP(英特网控制消息协议):取值为1

头部校验和:用于头部校验

源IP地址:报文的来源

目的IP地址:报文要去的目的

Option字段:可变长字段(0-40B),携带可选的功能字段。

Padding字段:如果携带Option字段,则通过Padding字段将IP头部填充到4B整数倍。

总结:IP头部由固定部分和不固定部分组成,固定部分长度20B,不固定部分是Option部分,长度是0-40B,即IP报文头部最短是20B,最长是60B。

4.2 IP地址

4.2.1 IP地址表示方式

IP地址有32bit,采用点分10进制表示,每8bit位一个小组,使用“.”号分开,每个小组的二进制换算成10进制,例如192.168.10.1

比如:1100 0000 10101000 0000 1010 0000 0001

1100 0000-1010 1000-0000 1010-0000 0001=192.168.10.1

172.16.20.1=(128+32+8+4).16.(16+4.1=10101100000100000001010000000001

范围:0.0.0.0-255.255.255.255

4.2.2 IP地址的构成

IP地址:32bit中分为两个部分:一个部分为网络位,一个部分为主机位

  1. 网络位:用来标识一个网络,两个IP地址的网络位不相同,则认为两个地址不在同一个网段。
  2. 主机位:主机位一个网络内的不同主机。

掩码:32bit,由连续的1和连续的0组成。用于区分IP地址的主机位和网络位。

表示方式:

  1. 点分十进制:255.255.255.0
  2. 前缀长度表示方式:掩码中1的个数(网络位的长度)10进制值。

IP地址:192.168.10.1/24       //IP地址为192.168.10.1,掩码为24(255.255.255.0)

4.2.3 IP地址的分类

分为5个类型:

A类地址范围:0.0.0.0-127.255.255.255  掩码8(255.0.0.0)

B类地址范围:128.0.0.0-191.255.255.255 掩码16(255.255.0.0)

C类地址范围:192.0.0.0-223.255.255.255 掩码24 (255.255.255.0)

D类地址范围:224.0.0.0-239.255.255.255 用于组播

E类地址范围:240.0.0.0-255.255.255.255 用于IPV4研究

特殊地址:

0.0.0.0地址:可以表示所有的网络,也可以表示设备接口未配置地址,不能作为设备的有效地址是:

127.0.0.0-127.255.255.255地址:表示环回地址,网卡本身,如果发送报文的目的地址是该地址范围,则报文不会发送出网卡,会从网卡的出口环回到设备上。用于测试使用。

169.254.0.0-169.254.255.255地址:动态获取地址失败后,为自己的网卡配置的用于临时通信的地址。

255.255.255.255地址:有限广播地址

私网地址:企业或者园区网内部使用的IP地址,所有不同的企业都可以使用,不可以用于连接互联网,只能通过公网地址访问互联网。A,B,C三类中各取一端作为私网地址。公网地址:A,B,C类地址中除私网地址和特殊地址以外的地址,必须有唯一性。

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

4.2.4地址的类型

1、网络地址:通过网络地址来表示一个网段(网络),主机位全为0IP地址为网络地址,表示该网络本身。比如:192.168.10.0/24用于标识该192.168.10.0网络本身。

2、可用主机地址:网段中可以配置到接口上的单播地址(不包含该网段的网络地址和广播地址的地址),例如192.168.10.1/24-192.168.10.254/24为可用地址。可用地址数2^n-2,n为主机位数。

3、广播地址:主机位全为1IP地址为广播地址,用于代表该网段中所有的主机。例如 192.168.10.255/24 代表该192.168.10.0/24网络中的所有主机地址。一旦网段内的主机收到目的地址为该地址的报文,则认为报文是给自己的,必须处理。

192.168.10.10/24该IP地址所属的网段:

1100 0000 10101000 0000 1010 0000 1010= 192.168.10.10   IP地址

1100 0000 10101000 0000 1010 0000 0000=192.168.10.0该网络地址:主机位全0,网络位与该IP地址相同,才是该IP地址所属网段

1100 0000 10101000 0000 1010 0110 0100=192.168.10.100

1100 0000 10101000 0000 1010 1111 1111广播地址:192.168.10.255

1100 0000 10101000 0000 1010 0000 0000   网络地址,该网段最小的地址

1100 0000 10101000 0000 1010 1111 1111   广播地址,该网段中最大的地址

192.168.10.1-192.168.10.254 可用地址

4.3 子网划分

  1. 所有广播域内的主机的IP地址必须在同一个网段
  2. 如果不在同一个网段,需要将报文发送给网关设备,要配置网关地址

通过对一个大的网段的网络位向主机位借位,达成将大的网络分割成多个小的网络,被借的位置,为子网位。

例如:192.168.10.0/24       借一位,形成两个子网(修改下笔记)

1100 0000 1010 1000 0000 1010  00000000     192.168.10.0/24 原来的网络地址

1111 11111 1111 1111 1111 1111  00000000      255.255.255.0

1100 0000 1010 1000 0000 1010  11111111      192.168.10.255 原有广播地址

1100 0000 1010 1000 0000 1010  0 0000000     借位后,可用主机数2^n-2=126

1111 11111 1111 1111 1111 1111  1 0000000      新掩码 255.255.255.128

第一个网段:25

1100 0000 1010 1000 0000 1010  0 0000000    网络地址:192.168.10.0  /25

1100 0000 1010 1000 0000 1010  0 1111111     广播地址:192.168.10.127  /25

第二个网段:25

1100 0000 1010 1000 0000 1010  1 0000000    网络地址:192.168.10.128/25

1100 0000 1010 1000 0000 1010  1 1111111     广播地址:192.168.10.255/25

如果借两位,形成四个子网

1100 0000 1010 1000 0000 1010  00 000000     192.168.10.0/24   256个地址

1100 0000 1010 1000 0000 1010  00 000000     192.168.10.0/26   网络1

1100 0000 1010 1000 0000 1010  00 111111     192.168.10.63/26

1100 0000 1010 1000 0000 1010  01 000000     192.168.10.64/26  网络2

1100 0000 1010 1000 0000 1010  01 111111      192.168.10.127/26

1100 0000 1010 1000 0000 1010  10 000000      192.168.10.128/26 网络3

1100 0000 1010 1000 0000 1010  11 000000       192.168.10.192/26网络4

1100 0000 1010 1000 0000 1010  11 000001        192.168.10.193/26  IP地址

1100 0000 1010 1000 0000 1010  11 111111       192.168.10.255 广播地址

子网划分,通过网络位向主机位借位m位实现,子网的数量等于2^m个,m借的位数;每个子网中包含的地址数量2^n个(地址块),n为主机位数   掩码32-n

4.4 ICMP协议

封装在IP头部后,Protocol协议字段取值为1,表示上层协议是ICMP协议,两个应用:

Ping:通过发送ICMP Echo request报文到目的地,目的地收到后回复ICMP Echo replay报文,确定目的地是否可达。

Tracert:可以探测报文发送的沿途节点路径。

本地发送TTL从1开始递增的UDP报文到目的地,沿途设备收到之后TTL若超时,则回复ICMP Type为11的,Code为0的TTL超时报错报文。本地收到后显示回复设备的IP地址。当TTL值增加到一定的程度,沿途设备都没有超时,报文发送给了目的端,则目的端会因为UDP报文中的端口没有开启,而回复一个端口不可达的报文。从而本端知道报文已到达目的地。从而本端设备上显示出完整的报文转发路径。

ICMP报文的Type和Code字段:

重定向:同一个广播域中,当网关设备收到报文之后查找路由表发现需要重新将报文从收包接口转发出去,会出发发送ICMP重定向报文,通知主机直接将报文发送给真正的下一个设备。

这篇关于华为HCIA课堂笔记第四章 网络层协议与IP编址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579391

相关文章

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Java对接MQTT协议的完整实现示例代码

《Java对接MQTT协议的完整实现示例代码》MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,:本文主要介绍Ja... 目录前言前置依赖1. MQTT配置类代码解析1.1 MQTT客户端工厂1.2 MQTT消息订阅适配器1.

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源