3.7计算机网络(IP数据报格式,IP数据报分片,IPv4)

简介: 🍓IP🍇1.IP数据报格式🍑2.IP数据报分片🥦3.IPv41.分类的IP地址2.网络地址转换NAT

🍓IP


🍇1.IP数据报格式


数据部分是运输层的传输单元,有TCP段,也有UDP段


首部也可称为是IP数据报的头部


IP数据报如果过大的话,我们就会对它进行分片,分割成的小单元就是分组





对于任何一个IP数据报来说,首部的固定部分都是20字节,可变部分也就是可有可无,大部分情况下是没有可变部分的




版本字段有4位


首部长度也是4位 首部长度要乘以4B才是实际的长度


最小十进制取值为5,表示IP数据报首部只有20字节固定部分


最大十进制取值为15,表示IP数据报收宝宝包含20字节固定部分和最大40字节可变部分



填充字段:确保首部长度为4字节的整数倍,使用全0进行填充


总长度:占16比特,表示IP数据报的总长度(首部+数据载荷)


最大取值为65535,以字节为单位


生存时间TTL:


占8比特,最初以秒为单位,最大生存周期为255秒,路由器转发IP数据报的时候,把IP数据报首部中的该字段的值减去IP数据报在本路由器上所耗费的时间,若不为0,就转发,否则就丢弃


现在以"跳数"为单位,路由器转发IP数据报的时候,把IP数据报首部中的该字段的值减1,如果不为0,就转发,否则就丢弃



🍑2.IP数据报分片



MTU指的是链路层的数据帧可以封装数据的上限


以太网的MTU是1500字节


如果我们传送的数据报长度超过了某一个链路的MTU值要怎么办?


这个时候,数据链路层不能把它封装成帧。需要将原来的IP数据报分片为更小的IP数据报,使用分片来解决问题,使用分片的前提是这个IP数据报本身同意进行分片



标识:同一数据报的分片使用同样标识


标志:只有2位有意义x_ _


中间位DF(Don’t Fragment)

DF=1, 禁止分片

DF=0,允许分片

最低位MF(More Fragment)

MF=1,后面还有分片

MF=0,代表最后一片/没有分片

只有DF=1,MF才有意义

片偏移:


指出较长分组分片后,某片在原分组中的相对位置。以8B为单位,除了最后一个分片以外,其他的每个分片长度一定是8B的整数倍



题目要求分片长度不要超过1420B,也就是MTU为1420B,但是这1420B中有20B是要给首部的,剩下的1400B才可以作为分片的数据部分


我们就把数据部分进行切割,尽可能使得分割完的数据部分越大越好



🥦3.IPv4

现实生活中,A要去好朋友B的家里的话,那么他首先就得知道B的地址,这样才可以找到B


同样道理,两台主机A,B要想进行通信的话,他们应该也要知道对方的地址,这样才能进行连接,然后发送信息,信息沿着链路,然后顺着路由器的转发,直到转发到主机上

所以,应该要知道是在哪一个网络,在哪一台主机,IP地址唯一标识网络上的一台主机或者路由器的接口


我们知道每一台主机的IP地址都不一样,为了进行区分,就得对IP地址进行编码,并不是随便分配的


IP编址的历史阶段


分类的IP地址


子网的划分


构成超网(无分类编址方法)


1.分类的IP地址



①对于主机或者路由器来说,IP地址都是32位的二进制代码


②为了提高可读性,一帮在32位的IP地址中每隔8位就插入一个空格(机器中是没有这样的空格的)


③为了便于书写和记忆,我们通常用等效的十进制数字标识,并且在每一段数字之间加上一个小数点,这就是点分十进制表示法







网段个数指的是它可以分配多少个网络号


私有IP地址,也就是说只能用于私有网络或者专用网络,比如说学校的校园网,办公室的网络






2.网络地址转换NAT




路由器对目的地址是私有IP地址的数据报一律而不进行转发


不过私有的IP地址也是可以和外部网络进行通信的,就比如说,你在机房中也是可以用电脑来看电影的,这就说明和外部互连网进行了通信


那么,这个通信过程是怎么完成的呢


这就是接下来要说的网络地址转换NAT




端口号是用来标识某台主机上的具体应用,比如说IP标识到了是哪一台主机,但是主机上有微信,QQ等程序,通过端口才知道具体和哪个程序进行通信,接下来以主机A和主机B进行通信作为例子



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
8月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
597 0
|
9月前
|
机器学习/深度学习 数据采集 传感器
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
283 0
|
10月前
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
346 0
|
7月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
540 10
|
7月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
303 0
|
10月前
|
监控 安全 Go
使用Go语言构建网络IP层安全防护
在Go语言中构建网络IP层安全防护是一项需求明确的任务,考虑到高性能、并发和跨平台的优势,Go是构建此类安全系统的合适选择。通过紧密遵循上述步骤并结合最佳实践,可以构建一个强大的网络防护系统,以保障数字环境的安全完整。
211 12
|
8月前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
437 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
340 10

热门文章

最新文章