当前位置: 首页 > article >正文

网络原理一> ip协议相关特性

目录

  • 概述:
  • IP协议结构属性理解:
      • 4位版本:
      • 4位部首长度:
      • 8位服务类型:
      • 16位总长度字节数:
      • 8位生存时间:
      • 8位协议:
      • 16位部首检验和:
      • 32位源IP地址和32位目的IP地址:
  • IP地址不够用的解决方法:
      • 一.动态分配IP地址:
      • 二.NAT机制(当前最主要的方式):
  • IP地址组成:

概述:

IP协议和TCP协议复杂长度差不多,这里可以大概理解一下

IP协议属于网络层的协议,主要功能有两个
1.路由选择:在两个通信节点之间,规划出一条合理的路径
2.地址管理使用IP地址这样的概念,标识网络上某个设备的位置

IP协议结构属性理解:

这里是引用

4位版本:

开发阶段IPV4,和IPV6是当下主要使用的版本
IPv4使用,4个字节最为IP地址
IPv6使用16个字节作为IP地址

4位部首长度:

IP协议报头有选项,所以是边长的结构, 4位部首长度单位是4字节,能表示的最大值为二进制的“1111”就是十进制的15,所以IP协议头部最大长度为15*4=60字节

8位服务类型:

可以让IP协议切换工作状态,在这里插入图片描述

16位总长度字节数:

**包括了IP数据报,报头+载荷的总长度,因为是16位,总长度就是2的16次方减一,就是64KB;但是在实际应用中受数据链路层的MTU限制,数据超过规定MTU,就会把数据包拆成多个IP数据包进行组装

触发后的拆包组包操作是这样的:
16位标识:把把拆出来的包,标记为相同的标识,再把相同标识的数据包组合到一起


3位标志位:描述了其中一个标志位,是否触发了拆包操作,还有一个标志位描述当前数据包是否是最后一个


13位片偏移:描述了组包的先后顺序,偏移小的放到偏移大的前面在这里插入图片描述

注意:面试如果让你设计:怎样让UDP传输超过64KB的数据?就可以根据上面的:16位标识,3位标志位,13位片偏移来设计

8位生存时间:

一个IP数据包,能在网络上传输的最大时间:
IP数据包每经过一次路由转发,TTL值就减一,TTL减到0就表示这个数据包传播到目的地的,被丢弃

8位协议:

标识传输层使用什么协议,在网络层调用下一层分用时候,把数据包交给传输层时,这个时候8位协议就起到区分的效果,效果和应用层的端口号有异曲同工之妙
在这里插入图片描述

16位部首检验和:

IP协议里面一般传输,UDP或者TCP协议时候就,这个两协议的校验和进行检验,不知道校验和的参考上一篇文章–>点击

32位源IP地址和32位目的IP地址:

IP地址最关键的部分,IP地址本质通过32位整数来表示,但是由于32位整数不方便阅读,就用点分十进制表示了–>三个点分出四个部分如下:每个部分范围0~255在这里插入图片描述

这里有个为问题?32位IP地址只够表示42亿9千万的数据,现在肯定不够的,一下我们说明一下解决方式。

IP地址不够用的解决方法:

一.动态分配IP地址:

使用就分配,不使用就不分配

二.NAT机制(当前最主要的方式):

我们知道:公网IP又叫外围IP,私网IP又叫内网IP;公网IP是唯一的不允许重复,同一局域网私网IP不可以重复


NAT机制具体就是网络地址转换,总结就是用一个外网IP,对应一堆内外设备来使用
如图:在这里插入图片描述

IP地址组成:

IP地址由网络号+主机号组成在这里插入图片描述
特殊的IP:主机号为全1为广播,局域网中主机号不能设为0; 网络号127开头用于本机环回测试


http://www.kler.cn/a/532448.html

相关文章:

  • Shell基础:中括号的使用
  • pytorch图神经网络处理图结构数据
  • Java 大视界 -- Java 大数据在智能医疗影像诊断中的应用(72)
  • 【B站保姆级视频教程:Jetson配置YOLOv11环境(六)PyTorchTorchvision安装】
  • 联想拯救者Y9000P IRX8 2023 (82WK) 原厂Win11 家庭中文版系统 带一键还原功能 安装教程
  • 全栈开发:使用.NET Core WebAPI构建前后端分离的核心技巧(一)
  • Windows图形界面(GUI)-QT-C/C++ - QT Frame
  • Vue整合Axios
  • 【C语言】球球大作战游戏
  • Kubernetes 中 BGP 与二层网络的较量:究竟孰轻孰重?
  • Swoole有哪些优点
  • 2025 网络安全学习路线 非常详细 推荐学习
  • 系统思考与心智模式
  • 圆上取点(例题)
  • 4 前端前置技术(中):node.js环境
  • 解决open-webui报错Couldn‘t find ffmpeg or avconv
  • Redis常见命令
  • Android 使用ExpandableListView时,需要注意哪些细节
  • 2.5学习记录
  • 什么是数据库代理
  • 从通讯工具到 AI 助理,AI手机如何发展?
  • Jupyter Lab的使用
  • 2.4学习总结
  • 数据结构之时间复杂度与空间复杂度
  • 【Envi遥感图像处理】009:envi5.6设置中文界面的方法
  • 数据库开发常识(10.6)——SQL性能判断标准及索引误区(1)