网络协议与 IP 编址

news2024/9/25 3:23:36

网络协议与 IP 编址

之前大概了解过了网络的一些基础概念,见文章: 网络基础概念。

之前简单了解OSI模型分层:

TCP/IP模型OSI模型TCP/IP对等模型
应用层
应用层表示层应用层
会话层
主机到主机层传输层传输层
因特网层网络层网络层
网络接入层数据链路层数据链路层
物理层物理层

在分层模型中,传输层、网络层、数据链路层方便有自己进行区分的通信方式。 TCP/IP协议栈定义的标准协议:

应用层Telnet(23)、FTP(20,21)、TFTP(60udp)、SNMP(25)、HTTP(80)、SMTP、DNS(53)、DHCP
传输层TCP、UDP
网络层ICMP、IGMP、IP
数据链路层PPPOE、Ethernet、PPP
物理层

分层中每层PDU协议数据单元都添加了对应的报文头部进行标识。网络层中添加逻辑地址(IP地址)进行封装。 网络层主要的协议包括:IP 协议,ICMP 协议,IPX

IP 协议

IP 协议:Internet Protocol 因特网协议,定义并阐述了 IP 报文的格式。有 IPV4 和 IPV6 两个版本,现在逐渐在从 V4-V6 版本迭代。IP 协议为网络层设备提供逻辑地址,负责数据表的寻址和转发。 OSI数据 IPV4报文格式

IP 头部字段信息:

  • Version:版本
  • header length:头部的长度,如果不带 OPTION 字段为 20,最长 60
  • type of service:服务类型。只有在有 QoS 差分服务要求时,这个字段才起作用
  • total length:整个 IP 数据包的长度
  • identification:标识某个数据包的标识符
  • flags:标记位,记录是否分片
  • fragment offset:包偏移量,确定分片的长度,默认接口 MTU1500
  • TTL:生存时间(255/128),每经过一个三层设备减少 1,用于防环
  • protocal:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个进程处理。
  • header checksum:首部检验和
  • source ip address:数据包源地址
  • destination ip address:数据包目的地址
  • options:可选字段
  • padding:可变,填充字段
数据字段解析
数据字段解析
报文数据
报文数据

IP 地址

IP地址结构

用于在网络中标识一个节点,用于 IP 报文寻址。

采用点分十进制标识,一个 IP 地址有 32bit(4 字节),1Byte(字节)=8bit,刚好IP地址为32个二进制位数,每8为为一个字节(byte),因此为4字节。

二进制:二进制(binary)是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。左侧为高位,右侧为地位。

IP地址表示法
IP地址表示法

地址由网络部分和主机部分构成,网络部分标识同一个网络,主机部分用于区分网络内不同主机,可以分配终端使用。 IP地址结构

子网掩码,区分网络部分与主机部分,网络位全部置为1。

网络号:一个网络范围,即同一个网络。二进制主机位全部置 0 就是网络位。

主机位:具体范围里面的具体节点,属于网络号里的一个主机。

广播地址:一个网络主机位全部置 1,为广播地址,不能分配使用。 广播地址

IP 地址分类: 地址分类

主机数量:2^N

可用主机数量:2^N -2

私有地址:

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

特殊地址: 特殊地址

IPV4 VS IPV6 版本对比

子网划分

假设有一个C类网段地址:192.168.10.0;默认情况下,网络掩码为24位,包括24位网络位,8位主机位。 子网划分

划分子网1 从上面我们指定一个网络地址包括网络位和主机位,地址分ABC类,都有默认掩码,将网络位固定,主机位的个数就是这个网段的可用数量;通过将网络位增加,可以增加网段,但是网段内主机数量减少实现子网划分。这个可以简单理解为原来一个网络有256个IP,可以划分为2个128小的网段,除去网络号全0和全1。

子网划分要多多练习才能熟练掌握或者通过子网计算工具。

从主机位借位。

可用子网数量:2^N ,N 为借位数

可变长子网掩码,VLSM (Variable Length Subnet Mask)

ICMP:因特网消息控制协议

Internet 控制消息协议 ICMP (Internet Control Message Protocol)是 IP 协议的辅助协议。 通常用于在两台网络设备间进行状态检测,判断主机间网络状态,会返回不同的状态值。

ICMP协议
ICMP协议

总结:

这次复习了上次的网络基础概念,网络分层模型以及各层对应的报文头部,在网络层是使用IP协议,通过逻辑地址进行区分不同主机的。

因为计算机只认识0和1,为了便于人们使用点分十进制表示,每8个bit为一个字节(byte),因此IP地址最大为255,最小为0。

IP地址常用被划分为A、B、C类,IP地址由网络位和主机位组成,IP地址必须要通过逻辑地址和子网掩码才能唯一确定一个IP。网络地址位全部置位1表示掩码,主机位全置位1表示广播地址。

可以通过减少或增加网络位和主机位实现子网划分,VLSM可变长子网掩码。

ICMP协议,通过ICMP来测试网络主机的连接情况。

本文由 mdnice 多平台发布

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

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

相关文章

ERPNext SQL 注入漏洞复现

0x01 产品简介 ERPNext 是一套开源的企业资源计划系统。 0x02 漏洞概述 ERPNext 系统frappe.model.db_query.get_list 文件 filters 参数存在 SQL 注入漏洞,攻击者除了可以利用 SQL 注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至在高权…

【深度学习】回归模型相关重要知识点总结

回归分析为许多机器学习算法提供了坚实的基础。在这篇文章中,我们将总结 10 个重要的回归问题和5个重要的回归问题的评价指标。 一、线性回归的假设是什么 线性回归有四个假设: 线性:自变量(x)和因变量(y&…

[STM32-1.点灯大师上线】

学习了江协科技的前4课,除了打开套件的第一秒是开心的,后面的时间都是在骂娘。因为51的基础已经几乎忘干净,c语言已经还给谭浩强,模电数电还有点底子,硬着头皮上吧。 本篇主要是讲述学习点灯的过程和疑惑解释。 1.工…

【杂】解决关于mean(0)理解错误引发的程序bug

一、环境和解释器要一起配置好 invalid syntax 发生你在终端激活了一个环境,但 VSCode 依然使用之前的解释器的情况。 解释器设置影响了 VSCode 中运行 Python 脚本、调试、代码补全等功能的行为。VSCode 会根据你选择的解释器来执行这些操作。 二、关于mean&#x…

在OSPF中使用基本ACL过滤路由信息示例

1、ACL的基本原理。 ACL由一系列规则组成,通过将报文与ACL规则进行匹配,设备可以过滤出特定的报文。设备支持软件ACL和硬件ACL两种实现方式。 2、ACL的组成。 ACL名称:通过名称来标识ACL,就像用域名代替IP地址一样,更…

2023-2024-1-高级语言程序设计-第2次月考函数题

6-1-1 调用函数求分段函数 编写函数fun计算下列分段函数的值&#xff1a; 。 函数接口定义&#xff1a; float fun(float x); 其中 x 是用户传入的参数。 函数须返回分段函数的计算结果。 裁判测试程序样例&#xff1a; #include <stdio.h> #include <math.h> …

06 数仓平台MaxWell

Maxwell简介 Maxwell是由Zendesk公司开源&#xff0c;用 Java 编写的MySQL变更数据抓取软件&#xff0c;能实时监控 MySQL数据库的CRUD操作将变更数据以 json 格式发送给 Kafka等平台。 Maxwell输出数据格式 Maxwell 原理 Maxwell工作原理是实时读取MySQL数据库的二进制日志…

Windows 10安装FFmpeg详细教程

Windows 10安装FFmpeg详细教程 0. 背景 在搭建之前的项目环境时&#xff0c;需要安装ffmpeg&#xff0c;在此记录下过程 1. 官网下载 点击进入官网&#xff1a;ffmpeg&#xff0c;官网地址&#xff1a;https://ffmpeg.org/download.html 如图所示&#xff0c;点击Windows图标…

【Windows】永久屏蔽系统更新

永久关闭电脑更新服务 操作思路&#xff1a; 第一步 winR 输入 services.msc 回车 进入服务管理窗口第二步 进入窗口后 找到 w 开头的文件夹 并找到Windows Update 双击打开 Windows Update 将启动类型&#xff08;E&#xff09; 改为禁用 上方的 “常规” “登录” “恢…

MATLAB学习QPSK之QPSK_MOD_DEMOD_SALIMup分析

学习的背景说明 因为在学习5G物理层&#xff0c;一直很忙&#xff0c;没有时间。最近稍有一点空闲&#xff0c;所以&#xff0c;学习一下算法。 QPSK的算法&#xff0c;虽然说我没有完全学透&#xff0c;大致还是懂的。只能一直没时间用MATLAB来研究一下。 然后看到这个实例&…

fastapi框架可以自动生成接口文档

安装FastAPI pip install fastapi test1.py from fastapi import FastAPIapp FastAPI()app.get("/") def read_root():return {"Hello": "World"}app.get("/items/{item_id}") def read_item(item_id: int, q: str None):#路由处理…

01-应用扩展和架构演进

文章目录 前言一、项目扩展二、架构演进总结 前言 随着项目从使用者范围到用户体积的不断扩大&#xff0c;最原始的单体项目已经无法很好地支撑现代项目所需的要求。因此&#xff0c;项目的架构也随之不断演进。本文将介绍架构的演进过程&#xff0c;初步了解微服务架构。 一…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之linux存储管理(3)》(19)

《Linux操作系统原理分析之linux存储管理&#xff08;3&#xff09;》&#xff08;19&#xff09; 6 Linux存储管理6.4 Linux 的分段和分页结构6.4.1Linux 的分段结构6.4.2 Linux 的三级分页结构6.4.3 内核页表和进程页表 6 Linux存储管理 6.4 Linux 的分段和分页结构 本节主…

【滑动窗口】LeetCode2953:统计完全子字符串

作者推荐 [二分查找]LeetCode2040:两个有序数组的第 K 小乘积 本题其它解法 【离散差分】LeetCode2953:统计完全子字符串 题目 给你一个字符串 word 和一个整数 k 。 如果 word 的一个子字符串 s 满足以下条件&#xff0c;我们称它是 完全字符串&#xff1a; s 中每个字符…

014 OpenCV canny边缘检测

一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、canny原理 OpenCV中的Canny边缘检测算法是一种基于图像处理的计算机视觉技术&#xff0c;主要用于检测图像中的边缘。Canny边缘检测算法的原理是通过计算图像中像素点之间的梯度值来…

导入JDBC元数据到Apache Atlas

前言 前期实现了导入MySQL元数据到Apache Atlas, 由于是初步版本&#xff0c;且功能参照Atlas Hive Hook&#xff0c;实现的不够完美 本期对功能进行改进&#xff0c;实现了导入多种关系型数据库元数据到Apache Atlas 数据库schema与catalog 按照SQL标准的解释&#xff0c;…

【Latex笔记】标题页

整体结构 模板结构如下&#xff1a; \documentclass{book} % 导言区&#xff0c;加载宏包和各项设置&#xff0c;包括参考文献、索引等 \usepackage{makeidx} % 调用makeidx 宏包&#xff0c;用来处理索引 \makeindex % 开启索引的收集 \bibliographystyle{plain} % 指定参考…

OpenCV-Python:图像卷积操作

目录 1.图像卷积定义 2.图像卷积实现步骤 3.卷积函数 4.卷积知识考点 5.代码操作及演示 1.图像卷积定义 图像卷积是图像处理中的一种常用操作&#xff0c;主要用于图像的平滑、锐化、边缘检测等任务。它可以通过滑动一个卷积核&#xff08;也称为滤波器&#xff09;在图像…

【C/PTA —— 14.结构体1(课内实践)】

C/PTA —— 14.结构体1&#xff08;课内实践&#xff09; 6-1 计算两个复数之积6-2 结构体数组中查找指定编号人员6-3 综合成绩6-4 结构体数组按总分排序 6-1 计算两个复数之积 struct complex multiply(struct complex x, struct complex y) {struct complex product;product.…

Shopify二次开发之三:liquid语法学习(Tags)

目录 Tags 变量声明 assign capture decrement increment 条件语句 if else unless case HTML form表单生成 style Iteration (遍历) for else break continue cycle paginate Theme &#xff08;主题&#xff09; render渲染一个snippet&#xff0c;可…