计算机网络——IP协议

news2024/11/18 15:44:45

前言 

网络层的主要负责地址分配和路由选择,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%20
   IPv4 地址 . . . . . . . . . . . . : 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.coloradmin.cn/o/1417682.html

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

相关文章

leetcode26. 删除有序数组中的重复项

题目 题目 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &…

前端——JavaScript

目录 文章目录 前言 一. JavaScript基础 1.JavaScript基本结构 2. JavaScript 执行过程 3. JavaScript 引入方式 二. JavaScript 语法 1.数据类型 2.变量 2.1 var 关键字定义变量 2.2 let 关键字定义变量 2.3 var 与 let 的区别 3.字符串 3.1定义字符串 3.2 字…

Python爬虫解析库安装

解析库的安装 抓取网页代码之后,下一步就是从网页中提取信息。提取信息的方式有多种多样,可以使用正则来提取,但是写起来相对比较烦琐。这里还有许多强大的解析库,如 lxml、Beautiful Soup、pyquery 等。此外,还提供了…

除了Adobe之外,还有什么方法可以将Excel转为PDF?

前言 Java是一种广泛使用的编程语言,它在企业级应用开发中发挥着重要作用。而在实际的开发过程中,我们常常需要处理各种数据格式转换的需求。今天小编为大家介绍下如何使用葡萄城公司的的Java API 组件GrapeCity Documents for Excel(以下简…

数据结构(一)------顺序表

文章目录 前言一、什么是顺序表二、实现顺序表1.静态顺序表2.动态顺序表总结 前言 制作不易!三连支持一下呗!!! 从今天起我们将会进入数据结构的学习! 我们先来了解 什么是数据结构 数据结构是计算机存储、组织数…

2023年算法OOA-CNN-BiLSTM-ATTENTION回归预测(matlab)

OOA-CNN-BiLSTM-Attention鲸鱼算法优化卷积-长短期记忆神经网络结合注意力机制的数据回归预测 Matlab语言。 鱼鹰优化算法(Osprey optimization algorithm,OOA)由Mohammad Dehghani 和 Pavel Trojovsk于2023年提出,其模拟鱼鹰的捕…

go语言函数进阶

1.变量作用域 全局变量 全局变量是定义在函数外部的变量,它在程序整个运行周期内都有效。 在函数中可以访问到全局变量。 package mainimport "fmt"//定义全局变量num var num int64 10func testGlobalVar() {fmt.Printf("num%d\n", num) /…

汽车网络安全dos, someip

汽车Cyber Security入门之DoS 攻防 - 知乎 3、SOME/IP-TP 近年来火热地谈论下一代EE架构和SOA的时候,总离不开SOME/IP这个进程间通讯协议。在许多应用场景中,需要通过UDP传输大型的SOME/IP有效载荷。鉴于在以太网上传输数据包的大小限制,SO…

多维时序 | Matlab实现DBO-BiLSTM蜣螂算法优化双向长短期记忆神经网络多变量时间序列预测

多维时序 | Matlab实现DBO-BiLSTM蜣螂算法优化双向长短期记忆神经网络多变量时间序列预测 目录 多维时序 | Matlab实现DBO-BiLSTM蜣螂算法优化双向长短期记忆神经网络多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现DBO-BiLSTM多变量时间序…

Matlab|【完全复现】基于价值认同的需求侧电能共享分布式交易策略

目录 1 主要内容 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序完全复现《基于价值认同的需求侧电能共享分布式交易策略》,针对电能共享市场的交易机制进行研究,提出了基于价值认同的需求侧电能共享分布式交易策略,旨在降低电力市…

面经基础版案例(路由,请求渲染,传参,组件缓存)

文章目录 1.案例效果分析2.配置一级路由(首页,详情)3.配置二级路由4.导航高亮效果5.首页的请求渲染6.传参(查询参数 $ 动态路由)7.详情页渲染8.组件缓存kepp-alive9.总结 1.案例效果分析 2.配置一级路由(首…

实战 | OpenCV+OCR实现弧形文字识别实例(详细步骤 + 源码)

导 读 本文主要介绍基于OpenCV+OCR实现弧形文字识别实例,并给详细步骤和代码。源码在文末。 背景介绍 测试图如下,目标是正确识别图中的字符。图片来源: https://www.51halcon.com/forum.php?mod=viewthread&tid=6712 同样,论坛中已经给出了Halcon实现代码,…

web应用课——(第二讲:CSS)

目录 一、实战项目一:Acwing名片 二、实战项目二:Bilibili名片 三、样式定义方式 四、选择器 五、颜色 六、文本 七、字体 八、背景 九、边框 十、元素展示格式 十一、内边距与外边距 十二、盒子模型 十三、位置 十四、浮动 十五、flex布…

老代码为啥如此设计,我是如何解决编译失败的?

周末翻出三年前的杰作“jpy”,专为人工智能开发的dsl语言,不仅编译无法通过,而且一连串的疑问映入眼帘。这…这…这些文件/内容都是干啥的啊,为什么如此设计? 技术千万条,专研第一条,自嗨无笔记…

Lombok的详细教程

什么是lombok Lombok是一个Java库,它通过提供一组注释来简化Java类的开发。使用Lombok,开发人员可以通过在类或字段上添加注释来自动生成通用的方法,如getter、setter、equals、hashCode等。这样可以减少冗余的样板代码,提高开发效…

2024 年最佳 PDF 编辑器榜单:PDF 编辑的首选

您可能经常遇到或使用 PDF 文件 - 它们在现代跨平台世界中无处不在。大多数时候,在查看 PDF 时,您可以使用免费软件来阅读或评论这些文件。但如果您还需要编辑它们怎么办?这就是 PDF 编辑器的用武之地。 最好的 PDF 编辑器允许您编辑、创建、…

Bytebase 签约 Aptive,助力北美商住害虫控制服务领导者构建统一数据库操作平台

在数字化快速发展时代,有效的规范数据库管理对企业安全运营至关重要。近日,数据库 DevOps 团队协同管理工具 Bytebase 签约北美商住害虫控制服务的领导者 Aptive Environmental,旨在全面优化 Aptive Environmental 的数据库操作管理&#xff…

数据结构与算法教程,数据结构C语言版教程!(第六部分、数据结构树,树存储结构详解)四

第六部分、数据结构树,树存储结构详解 数据结构的树存储结构,常用于存储逻辑关系为 "一对多" 的数据。 树存储结构中,最常用的还是二叉树,本章就二叉树的存储结构、二叉树的前序、中序、后序以及层次遍历、线索二叉树、…

第一节课,用户管理--后端初始化,项目调通。二次翻工

一、代码下载 网址: 用户管理第一节课,阿里生成代码包-CSDN博客 二、项目步骤,参考从 网址: 一、第一节课,用户管理--后端初始化,项目调通-CSDN博客 从这里开始跟随 (一)、跟随…

eclipse用gerrit提交失败

1.gerrit简介 Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底…