网络协议与 IP 编址

网络协议与 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.mzph.cn/news/210029.shtml

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

相关文章

C语言数组(下)

我希望各位可以在思考之后去看本期练习,并且在观看之后独立编写一遍,以加深理解,巩固知识点。 练习一:编写代码,演⽰多个字符从两端移动,向中间汇聚 我们依旧先上代码 //编写代码,演⽰多个字…

数据库Delete的多种用法

数据库的Delete操作是用来删除数据库中的数据记录的,它是数据库操作中的一种重要操作,能够帮助用户删除不需要的数据,以便保持数据库的整洁和高效。在使用Delete操作时,需要注意确保操作的准确性和安全性,以免误删重要…

基于 Gin 的 HTTP 中间人代理 Demo

前面实现的代理对于 HTTPS 流量是进行盲转的,也就是说直接在 TCP 连接上传输 TLS 流量,但是我们无法查看或者修改它的内容。当然了,通常来说这也是不必要的。不过对于某些场景下还是有必要的,例如使用 Fiddler 进行抓包或者监控其…

触想嵌入式工业一体机在智能垃圾分类站的应用

1、行业发展背景 根据住建部给出的目标,到2025年前,全国地级及以上城市要基本建成垃圾分类处理系统。随着垃圾分类政策在全国强制落地,终端执行层面面临的最迫切问题是垃圾分类的准确性与社会参与意愿,而这两点与垃圾分类操作的简…

CNN发展史脉络 概述图整理

CNN发展史脉络概述图整理,学习心得,供参考,错误请批评指正。 相关论文: LeNet:Handwritten Digit Recognition with a Back-Propagation Network; Gradient-Based Learning Applied to Document Recogniti…

Python 中的数学运算(Python Math)

更多资料获取 📚 个人网站:ipengtao.com Python中的math模块是数学运算的重要工具,提供了丰富的数学函数和常数。本文将深入探讨math模块的功能和用法,使您能够更好地利用Python进行数学运算。 Python的math模块是一个强大的工具…

C51--OLED

GME12864-12 OLED写入指令数据: 1、start()开始 2、slave address 存积地址:011110 xx 写入:b 0111 1000 (0x78)(R / W位置为0时,表示写入) 3、ACK 4、cotro…

操作系统———磁盘调度算法模拟

实验目的 磁盘是可供多个进程共享的设备,当有多个进程都要求访问磁盘是,应采用一种最佳调度算法,以使各进程对磁盘的平均访问时间最小。目前最成用的磁盘调度算法有先来先服务(FCFS),最短寻道时间优先&…

Spring Boot的配置文件

配置文件的作用 整个项目中所有重要的数据都是在配置文件中配置,如数据库的连接信息,项目的启动端口,用于发现和定位问题的普通日志和异常日志等等。配置文件可以分为两类 系统使用的配置文件(系统配置文件)&#xf…

JS基础源码之手写模拟new

JS基础源码之手写模拟new 手写模拟new初步实现最终实现 手写模拟new new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一。 我们先看看new实现了哪些功能: function Person (name,age){this.name name;this.age age;this.habit Games;…

开发猿的平平淡淡周末---2023/12/9

上周回顾 完成了遗留的开发任务,基本全部完成进一步了解了系统当时设计的原理熟悉了代码的重构 2023.12.9 天气晴 温度适宜 前言 小伙伴们大家好,时间很快,又来到了周末,也是一个平平淡淡的周末。上周只更了一篇博客...原…

渗透测试 | 渗透测试之信息收集

渗透测试(penetration test,pentest)是实施安全评估(即审计)的具体手段。 渗透测试可能是单独进行的一项工作,也可能是常规研发生命周期(例如,Microsoft SDLC)里 IT 安全…

Unicode编码解码

一、Unicode概述 Unicode是一种字符编码标准,旨在解决不同字符集之间的兼容性问题。它为全球所有语言提供了一种统一的编码方式,使得各种字符能够在计算机系统中正确显示和处理。Unicode字符集包含了世界上几乎所有的字符,包括中文字符、英文…

算法Day23 简单吃饭(0-1背包)

简单吃饭(0-1背包) Description Input Output Sample 代码 import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int total scanner.nextInt(…

高项备考葵花宝典-项目进度管理输入、输出、工具和技术(中,很详细考试必过)

项目进度管理的目标是使项目按时完成。有效的进度管理是项目管理成功的关键之一,进度问题在项目生命周期内引起的冲突最多。 小型项目中,定义活动、排列活动顺序、估算活动持续时间及制定进度模型形成进度计划等过程的联系非常密切,可以视为一…

情深不必纠缠

那一年,男孩女孩在万千人中相遇了。多年后女人的一封邮件,让男人与女人的灵魂相遇了。他们无缘夫妻,却发现彼此是灵魂的陪伴。不能携手相守,却懂得彼此的心灵。 有一天,女人告诉男人要回家了,问男人心里会不…

VMware安装Ubuntu20.04并使用Xshell连接虚拟机

文章目录 虚拟机环境准备重置虚拟网络适配器属性(可选)配置NAT模式的静态IP创建虚拟机虚拟机安装配置 Xshell连接虚拟机 虚拟机环境准备 VMware WorkStation Pro 17.5:https://customerconnect.vmware.com/cn/downloads/details?downloadGr…

网上下载的pdf文件,为什么不能复制文字?

不知道大家有没有到过这种情况?在网上下载的PDF文件打开之后,发现选中文字之后无法复制。甚至其他功能也都无法使用,这是怎么回事?该怎么办? 当我们发现文件打开之后,编辑功能无法使用,很可能是…

AlexNet

概念 过拟合:根本原因是特征维度过多,模型假设过于复杂,参数过多,训练数据过少,噪声过多,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。 过度的拟合了训练数据,而没有考虑到…

29、卷积 - 参数 padding 的作用

在卷积过程中,Padding(填充)是一个关键的概念,它对于保留输入信息和有效地处理边缘信息至关重要。 1、Padding是什么? Padding 指的是在输入图像的周围添加额外的像素值,用来以扩大输入图像的尺寸,这些额外填充的像素值通常设置为零,卷积操作在这个填充后的输入图像上…