计算机网络——IP协议

前言 

网络层的主要负责地址分配和路由选择,ip负责在网络中进行数据包的路由和传输。

IPv4报文组成(了解)

  1. IPv4首部:IPv4首部包含了用于路由和传输数据的控制信息,其长度为20个字节(固定长度)。

    • 版本(Version):表示使用的IP协议版本,通常为4。如果版本号是6,则ipv6
    • 4位首部长度(Header Length):表示IPv4首部的长度,以4字节为单位。4个比特位表示的数字范围0~15,有选项(0~15)*4
    • 8位服务类型(Type of Service):可以让ip协议切换形态。有1位保留位(必须设置成0),4位tos标志位,3位优先权字段。4位tos分别表示最小延时,最大吞吐量,最高可靠性,最小成本。指定了数据包的优先级和服务质量要求。最小延时:尽可能快的传输数据包以减小传输延时;最大吞吐量表示数据包的传输速率被最大化以提供高效的数据传输。最小成本表示通过降低带宽和资源占用来减少成本。4选一
    • 16位总长度(Total Length):表示整个IP数据报的长度,包括首部和数据部分。ip协议确实存在64kb的限制,但是它自身支持拆包和组包
    • 16位标识(Identification):用于将分片的数据包进行重新组装时的标识。
    • 3位标志(Flags):包括3位,用于指示是否进行数据分片以及分片的位置。3位标志中有1位允许拆包,还有一位表示是否允许拆包。
    • 13位分片偏移(Fragment Offset):指示分片在原始数据报中的位置。
    • 生存时间(Time to Live):表示数据包在网络中可以经过的最大跳数,每经过一个路由器减1。单位次数。如果数据包已经把ttl耗尽了,还没到达就会被丢弃。数据包构造出来的时候,ttl会被设置成一个初始值32,64.....
    • 协议(Protocol):指定了数据部分即载荷使用的上层协议,如TCP、UDP等。
    • 首部校验和(Header Checksum):用于检测IPv4首部在传输过程中的错误。载荷中udp或者TCP都有自己的校验和方法。
    • 源IP地址(Source IP Address):表示数据包的源地址。
    • 目标IP地址(Destination IP Address):表示数据包的目标地址。
  2. 可选字段(Options):IPv4首部中可以包含一些可选字段,用于提供额外的功能或进行特定的处理。可选字段的长度是可变的,因此必须使用首部长度字段来确定首部的结束位置。

  3. 数据部分:数据部分是传输的实际数据,它的长度可以根据需求而变化

IP 地址是一个 32 位的二进制数,2^32=42亿9千万,通常被分割为 4 “8 位二进制数 (也就是 4 个字节),如:
01100100.00000100.00000101.00000110
通常用 点分十进制 的方式来表示,即 a.b.c.d 的形式( a,b,c,d 都是 0~255 之间的十进制整数)。如:
100.4.5.6

地址管理

地址管理描述设备在网络中的那个位置。ip地址是32位整数,2^32=42亿9千万,并不够用。理论上IP地址不能重复。

1. 动态分配;

2. NAT机制(网络地址转换)

 让一个IP地址代表一批设备,NAT技术不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。相当于一个中转站,内部存有映射表。用于将一个网络的IP地址转换成另一个网络的IP地址。NAT通常在路由器上实现,给设备分配·私有地址,当这些内部设备要发送数据到外部主机或者服务器,路由器将私有IP地址转换为公共IP地址,并且使用端口号进行标识,当数据回来的时候,再把共有地址转变为私有地址,私有地址是不能被共有地址直接访问的,以便在私有网络上使用Internet。当数据返回回来,路由器需要结合端口号(区分不同的主机)知道返回给哪个主机,路由器也可以把相同端口号替换成不同的端口号。

   1)内网(局域网)IP 192.168/172.16

在同一个局域网,IP不能重复;不用局域网,IP可以重复

  2)外网(广域网)IP必须唯一

nat机制+动态分配可以用来解决ip不够用的情况,除非局域网内同一时刻访问同一服务器超过了65535,nat可能会不够用。nat是纯软件的方案!因为nat,局域网内部的机制可以主动去访问外网的设备,而外网设备不能主动访问局域网的设备


IPv6

用16字节128位来表示一个IP地址,2^128二进制转十六进制,能够大大缓解IP地址不足的问题。但IPv6并不是IPv4的简单升级版,它们是互不相干的两个协议,彼此并不兼容,目前已经70%升级了。

 ip网段划分

网络号(标识一个局域网)+主机号(局域网中的设备)

IP地址组成为:网络号+子网号+主机号

子网掩码

之前我们使用五类划分,当前都是子网掩饰

 在cmd窗口输入ipconfig

无线局域网适配器 WLAN:连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : fe80::be76:c0d0:8d69:c6f8%20IPv4 地址 . . . . . . . . . . . . : 192.168.8.192子网掩码  . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . : 192.168.8.1

其中子网掩码255.255.255.0,这·也是32位整数,左边全是1,右边是0,不会1,0交替出现。

1111 1111 1111 1111 1111 1111 0000 0000,

被标记为1的就是网络号,1的个数根据实际定。

如果一个IP地址的主机号全是0,那他表示网络号。eg:192.168.100.0

如果一个ip地址主机号全是1,那他就是个广播地址。使用UDP socket给这个地址发送udp数据报,此时局域网内所有设备都能收到这个数据报。eg:192.168.100.255

如果以127开头的ip就是环回IP,eg:127.0.0.1就是发送给自己设备的,这个是操作系统提供了一个特殊的虚拟网卡关联到这个ip上。

路由选择

描述ip数据报的转发过程

是 探索式 的过程......

一个网络层数据报,每次到达一个路由器,都会进行一个类似“问路”的操作。每个路由器内部都有一个路由表的数据结构,根据目的IP,去查询路由表,

如果查到了,就按照路由表给定的方向(从哪一个网络接口进行转发),继续转发;

如果没查到,路由表里有一个默认的选项,就是下一跳地址,按照默认的表项继续转发;

IP 地址描述的是 路途总体的起点和终点 ;是给人使用的网络逻辑地址。
MAC 地址描述的是路途上的每一个区间的起点和终点,即 每一跳的起点和终点 ;是给网络硬件设 备使用的网络物理地址

 。

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

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

相关文章

单片机14-17

目录 LCD1602 LCD1602液晶显示屏 直流电机驱动(PWM) LED呼吸灯 直流电机调速 AD/DA(SPI通信) AD模数转换 DA数模转换 红外遥控(外部中断) 红外遥控 红外遥控电机调速 LCD1602 LCD1602液晶显示屏 …

Web 开发 6:Redis 缓存(Flask项目使用Redis并同时部署到Docker详细流程 附项目源码)

大家好!欢迎来到第六篇 Web 开发教程,今天我们将探讨一个非常重要的话题:Redis 缓存。作为一个互联网开发者,你一定知道在处理大量请求时,性能优化是至关重要的。而 Redis 缓存正是帮助我们提升系统性能的利器。Redis …

四川古力未来科技公司抖音小店选品攻略从零到一

随着抖音的日益火爆,抖音小店也应运而生,成为了电商行业的新宠儿。但对于许多新手商家来说,如何从众多的商品中挑选出适合自己店铺的商品,却是一件非常头疼的事情。本文将为你揭秘抖音小店的选品攻略,让你轻松玩转电商…

A股风格因子看板 (2024.01 第10期)

该因子看板跟踪A股风格因子,该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子,用以分析市场风格切换、组合风格暴 露等。 今日为该因子跟踪第10期,指数组合数据截止日2023-12-31,要点如下 近1年A股风格因子检验…

网络安全面试你应该准备什么?

年底,刚过了校招和跳槽的密集阶段,有的同学拿到了心仪的Offer,有的同学却铩羽而归。星球里也有小伙伴提出了这样的问题:安全相关的工作,有没有什么面试技巧呢? 由于安全门类巨大,涉及的技术很多…

Python进阶(1) | 使用VScode写单元测试

Python进阶(1) | 单元测试 2024.01.28 VSCode: 1.85.1 Linux(ubuntu 22.04) 文章目录 Python进阶(1) | 单元测试1. 目的2. Python Profile3. 单元测试框架3.1 什么是单元测试3.2 选一个单元测试框架3.3 编写 Python 单元测试代码3.4 在 VSCode 里发现单元测试3.5 再写一个单元…

【MySQL】补充和navicat的一些简单使用

文章目录 前言在这里插入图片描述 事情起因因为这个articlecount的c是小写了,我想改成大写 一、修改二、navicat的使用步骤1.连接2.建库,建表 三.填写数据总结 前言 事情起因因为这个articlecount的c是小写了,我想改成大写 提示:…

Redis 学习笔记 2:Java 客户端

Redis 学习笔记 2:Java 客户端 常见的 Redis Java 客户端有三种: Jedis,优点是API 风格与 Redis 命令命名保持一致,容易上手,缺点是连接实例是线程不安全的,多线程场景需要用线程池来管理连接。Redisson&…

一文搞懂设计模式—策略模式

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 文章目录 使用场景策略模式实现策略模式的优缺点策略模式优化使用Map取消 Context 类策略枚举解决策略类膨胀SpringBoot中的策略模式 总结 在软件开发中,经常会…

pcl应用八叉树实例

pcl应用八叉树实例 文章目录 pcl应用八叉树实例1、基本概念2、基于八叉树的空间划分及搜索操作2.1、关键函数说明2.1.2 OctreePointCloudSearch 类2.1.2 voxelSearch 函数 3、无序点云数据集的空间变化检测 1、基本概念 八叉树结构通过循环递归的划分方法对大小为2 n ∗ 2 n ∗…

C++面试宝典第25题:阶乘末尾零的个数

题目 给定一个整数n,返回n!(n的阶乘)结果尾数中零的个数。 示例 1: 输入:3 输出:0 解释:3! = 6,尾数中没有零。 示例 2: 输入:5 输出:1 解释:5! = 120,尾数中有1个零。 解析 这道题主要考察应聘者对于数学问题的分析和理解能力,以及在多个解决方案中,寻求最优…

elementUI的el-select传递item对象或其他参数的2种方法

方法1 :value“item” 绑定对象 只要:value绑定item对象就可以 value-key"value" 必须是item里的一个属性&#xff0c;绑定值为对象类型时必填 <el-select v-model"value" placeholder"请选择" value-key"value" change"cha…

(蓝桥杯每日一题)求最长回文串

问题描述 给出一个长度为 n 的小写字符串&#xff0c;求一个最长的子串 S&#xff0c;满足SXY,X&#xff0c;Y>1&#xff0c;且X,Y 均为回文串。 输入格式 输入包括一行: 第一行是一个长度为 n 的小写字符串。 输出格式 输出包括一行&#xff1a; 一行一个整数&#xff0c;表…

Material Components for Android助你打造精美App

Material Components for Android助你打造精美App 简介 Material Components for Android (MDC-Android) 是帮助开发者执行 Material Design 的工具。由谷歌的核心工程师和用户体验设计师团队开发&#xff0c;这些组件使得开发者可以可靠地开发工作流来构建美观且功能齐全的 …

期权定价模型系列[9]SABR模型

1.简介 SABR模型是由 Hagan在 2002年提出的一种随机波动率模型&#xff0c;在抛弃了原始的BSM 模型中对于波动率为某一常数的假定&#xff0c;假设隐含波动率同样是符合几何布朗运动的&#xff0c;并且将隐含波动率设定为标的价格和合约行权价的函数&#xff0c;结合了隐含波动…

12.5内存操作流(血干JAVA系列)

12.5内存操作流 12.5内存操作流ByteArraylnputStream类的主要方法ByteArrayOutputStream 类的主要方法【例12.33】使用内存操作流完成一个大写字母转换为小写字母的程序 12.5内存操作流 在 流 的 操 作 中 除 了 进 行 文 件 的 输 入 与 输 出 操 作 之 外 &#xff0c; 也 可…

flask初体验

1、定义 Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。 中文官网 2、初步上手 1、安装flask pip3 install flask 2、创建flask应用 # -*- coding = utf-8 -*- # @Time : 2024/1/28 23:02 # @Author: Frank # @File: main.py…

说说你对vue的mixin的理解,有什么应用场景

mixin是什么 Vue中的mixin 局部混入全局混入注意事项: 使用场景源码分析Vue 的几种类型的合并策略 替换型合并型队列性叠加型小结 此文章&#xff0c;来源于印客学院的资料&#xff0c;这里只是分享&#xff0c;便于查漏补缺。 mixin是什么 Mixin 是 面向对象程序设计语言中…

回归预测 | MATLAB实现PSO-GRNN粒子群优化广义回归神经网络多输入单输出预测(含优化前后预测可视化)

回归预测 | MATLAB实现PSO-GRNN粒子群优化广义回归神经网络多输入单输出预测 目录 回归预测 | MATLAB实现PSO-GRNN粒子群优化广义回归神经网络多输入单输出预测预测效果基本介绍程序设计参考资料预测效果 <

爬虫基础-计算机网络协议

一个数据的传输 这些设备的数据转发是通过协议来完成的&#xff0c;整个互联网可以说是完全由网络协议来维持的 不同的协议分工不同&#xff0c;比如ip协议确保了ip寻址&#xff0c;tcp协议确保了数据完整性 IP地址和URL ip地址 整个网络传输可以比作快递&#xff0c;数据就…