第4章-IP基本原理

目录

1. IP协议概述

1.1. 定义

1.2. 功能

1.3. IP网络的结构

1.4. IP头格式

2. IP地址和地址映射

3. IP包转发

4. 其他相关协议介绍


1. IP协议概述

1.1. 定义

        IP协议:IP协议是网际互连协议;

        工作层次:网络层;

        封装:IP头部封装;

        特点:不关心、不保证、不维护;不可靠的、无连接的;

        TCP/IP协议栈(协议堆叠):ARP、RARP、ICMP、IGMP;

1.2. 功能

        1)标识节点和链路-[标记]:分配全局唯一的网络号;

        链路-网段;节点-主机;

        2)寻址和转发-[确定]:路径;

        3)适应各种数据链路-[传递]

        MTU(Maximum Transfer Unit,最大传输单元):最大的IP报文,分片、重组;

        三层的地址到二层地址的映射

        例子:地图、学校找人

1.3. IP网络的结构

        "网段==范围"

        路由器直连PC机

        浪费资源,路由器每个接口都是不同的网段;

1.4. IP头格式

        1、长度

        20~60个字节不等;

        固定+可变;

        字节

        位(bit):是计算机存储的最小单位,"0100-4位";

        位数:计算机能一次处理数据的大小,32位、64位;Windows命令:dxdiag

        字节:计量单位,存储容量,1字节等于8位;例如,字母B;

        2、Versrion | IHL | Type of Service | Total Length

        Versrion:版本号,4或6;("ipconfig");

        IHL:头部长度;

        Type of Service(Tos):优先级,0~63,数字越大,优先级越高;

        场景:广域中的QoS用于流量控制、限制,发送先后顺序、传输率、带宽的大小;

        Total Length:总长度(IP头+数据);

3、Identification | Flags | Fragment Offest

        Identification:标识符,标识分片来自哪一个数据包;

        Flags:标志位;(0是关闭,1是开启)

        1:保留;2:标识数据包是否禁止分片;3:标识数据包是否为最后一个分片;

        Fragment Offset(片偏移):标识某个分片在整个数据包所处的位置或顺序;收发顺序的重组

        补充:

        数据包的分片:一个数据包切分成小数据包,进行分散、重组;传输层,网络层;

        MTU:最大传输单元;接口收发数据支持的单个包的最大长度;

        场景:以太网默认接口MTU1500B;PPPoE默认接口MTU1492B;

        为什么要有MTU?

        数据传输双方之间的协同同步

        4、Time to Live | Protocol | Header Checksum

        Time to Live(生存时间):标识数据包还能再经过几个路由器就已经到达生命的尽头;备注:每经过一个路由器进行减1处理,避免产生环路。("ping")

        Protocol(标识上层协议):封装与解封装,封装传输层头部,IP头部拆掉后是给谁?

        Header Checksum:头部校验和,数据包的差错检测;

        5、Source Address | Destination Address

        源地址、目的地址;

        6、Options | Padding

        Options:可选项;

        Padding(填充项):是4字节的倍数,若不是4的倍数,填充0,达到4个字节的倍数;例如1197就不行

2. IP地址和地址映射

        1、背景引入

        IP地址==门牌号

        IP地址 → 全球唯一 → 专门的机构管理(互联网数字分配机构IANA);

        资源紧缺:ip地址43亿 → 2001年耗尽 → 2022年285亿设备 → 2022年人口80亿;

2、IP地址的概述

        功能:IP寻址,数据包发送给谁?工作在网络层,逻辑地址;

        格式:32位长度,点分十进制(十进制取值范围:0~9)

        组成:网络位+主机位;

        "网络位长度和数字完全一致的地址属于同一网段",例如192.168.1.1 和 192.168.1.2

3、IP地址分类

        A类:大型全国或国际性企业;例如国际物流公司DHL

        B类:大型中型企业,6~65万个主机共享;例如苹果公司

        C类:小型组织、家庭用户、学校;例如机房教室;

        D类:媒体平台;例如直播平台;

        E类:不公开,留给科研机构使用;

        目的:是划分不同的网络规模;

        二分法思维:网络位越长,主机位越短;

4、特殊的IP地址

        ① 127.X.X.X

        定义:本地环回地址,用于标识本机;

        作用:测试本机操作系统中的TCP/IP协议工作是否正常;

        场景:127.0.0.1/无网卡

        ② 主机位全为0的地址

        定义:是网络地址,用于标识网段;

        例如:

        192.168.1.0是网络地址;

        172.168.1.0不是网络地址;

        ③ 主机位全1的地址(二进制的1)

        定义:本网段广播地址,标识广播范围;

        单播(1对1)、组播(1对多)、多播(1对所有)

        ④ 全网广播:255.255.255.255

        全网广播地址,全部网段的所有人;

        ⑤ 通配地址:0.0.0.0

        通配地址,任意IP地址,条件匹配,可以代表任何一个地址;

        例子:斗地主的癞子;

5、公网和私网地址

        公网地址:可以在互联网上寻址的地址,全球唯一,需要运营商分配(ISP),付费;

        私网地址:局域网内,本地随意使用,无法在互联网上寻址;

        自动私有地址:169.254.X.X;用于网段内部通信,无法出网段;

        补充说明:电脑网卡,IP地址模式设置自动获取,无DHCP服务器,自动寻址失败,产生169.254.X.X;

3. IP包转发

        1、ARP协议

        定义:地址解析协议,把IP地址解析为MAC地址;

        问题:IP数据包通过以太网发送时,链路层不能识别IP地址;

        网络层(32位IP地址)—链路层(48位MAC地址)

        工作机制

        ① 主机A广播请求发送ARP,询问主机B的IP对应的MAC地址;

        ② 主机B以单播响应回复A主机本机MAC地址;

        ③ A主机把B主机的IP地址和MAC地址的映射关系写入ARP缓存表;

        场景:arp -a

2、IP数据转发原理

        知识1:封装,完成3层封装后,进行第2层封装;

        知识2:网关(Geteway):本网段出口的IP地址;

        知识3:路由器:连接不同网段;交换机:数据发送给PC机;

        工作机制:

        ① 检查本机IP和目的IP是否一致;

        ② 处理:

        如果目的IP和本机IP属于同一网段,会直接查询目的IP的Mac地址,进行封装;

        如果目的IP和本机IP不属于同一网段,会查询网关IP地址的Mac地址,由路由器将IP包转发给目的主机,进行封装;

        补充:

        不同网段之间,能直接用ARP请求吗?

        不能,广播不能过路由器,路由器会隔离广播域;

        如果路由器不隔离广播,电脑能上网,所有机器都能收到,广播风暴。

4. 其他相关协议介绍

        1、RARP协议

        逆向ARP:逆向地址解析协议;

        根据本机的MAC地址,查询本机的IP地址;

        场景:早期的网吧 → 无盘工作站

2、ICMP

        定义:互联网控制消息协议

        ping命令:测试网络连通性;

        tracert命令:路由跟踪;"tracert www.baidu.com"

        3、代理ARP

        定义:允许一个设备代理另一个设备响应 ARP 请求,常用于在不同的子网之间转发数据包

        场景:路由器转发数据包、负载均衡、网络安全;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

esp32-idf eclipse 分区表(partition table / NVS)的读写demo

前言: 分区表(Partition Table)和 NVS(Non-Volatile Storage)是 ESP-IDF 中用于存储数据的两种不同机制。 分区表(Partition Table): 分区表定义了将 Flash 存储器划分为不同逻辑分…

深度学习|RCNNFast-RCNN

1.RCNN 2014年提出R-CNN网络,该网络不再使用暴力穷举的方法,而是使用候选区域方法(region proposal method)创建目标检测的区域来完成目标检测的任务,R-CNN是以深度神经网络为基础的目标检测的模型 ,以R-C…

机器学习笔记 - 基于自定义数据集 + 3D CNN进行视频分类

一、简述 这里主要介绍了基于自定义动作识别数据集训练用于视频分类的 3D 卷积神经网络 (CNN) 。3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。 这里的模型主要基于D. Tran 等人2017年的论文“动作识别的时空卷积研究”。 …

react 实现页面状态缓存(keep-alive)

前言: 因为 react、vue都是单页面应用,路由跳转时,就会销毁上一个页面的组件。但是有些项目不想被销毁,想保存状态。 比如:h5项目跳转其他页面返回时,页面状态不丢失。设想一个 页面我滑倒了中间&#xf…

13个常见的 WordPress 块编辑器问题以及如何修复它们

您在使用 WordPress 块编辑器时遇到过错误吗? WordPress 在 2019 年用名为 Gutenberg 的全新内容编辑器取代了旧的经典编辑器。该编辑器使用块在 WordPress 中创建内容。然而,有时,在使用它时可能会遇到恼人的问题。 在本文中,我…

78.网游逆向分析与插件开发-背包的获取-背包类的C++还原与获取物品名称

内容参考于:易道云信息技术研究院VIP课 上一个内容:77.网游逆向分析与插件开发-背包的获取-物品类的C还原-CSDN博客 码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&…

【论文阅读】Augmented Transformer network for MRI brain tumor segmentation

Zhang M, Liu D, Sun Q, et al. Augmented transformer network for MRI brain tumor segmentation[J]. Journal of King Saud University-Computer and Information Sciences, 2024: 101917. [开源] IF 6.9 SCIE JCI 1.58 Q1 计算机科学2区 【核心思想】 本文提出了一种新型…

R语言rvest爬虫如何设置ip代理?

前言 在R语言中使用rvest进行网络爬虫时,可以使用代理服务器来隐藏真实IP地址。有一些R包可以帮助爬虫中设置代理,其中一个常用的包是httr。以下是一个简单的例子,演示如何在rvest中设置IP代理 教程 一、获取代理IP并提取 二、详情设置 l…

[imx6][Linux4.9]IMX6平台 pinctrl子系统

文章目录 1、Pinctrl 子系统1.1、Pinctrl 子系统的作用1.2、设备树中PIN的配置信息1.2、设备树中PIN的配置信息中的复用信息解析1.3、PINCTRL子系统驱动 主控芯片硬件开发板内核版本imx6100ask_imx6ullLinux-4.9.88 1、Pinctrl 子系统 1.1、Pinctrl 子系统的作用 获取设备树…

Oracle Linux 9.3 安装图解

风险告知 本人及本篇博文不为任何人及任何行为的任何风险承担责任,图解仅供参考,请悉知!本次安装图解是在一个全新的演示环境下进行的,演示环境中没有任何有价值的数据,但这并不代表摆在你面前的环境也是如此。生产环境…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-3 线性二次型调节器(LQR)

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-3 线性二次型调节器(LQR) 1. 数学推导2. 案例反洗与代码详解 1. 数学推导 2. 案例反洗与代码详解

力扣移掉k位数字402

Problem: 402. 移掉 K 位数字 给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 示例 1 : 给你一个以字符串表示的非负整数 num 和一个整数 k &…

Java - 单元测试及Junit的使用讲解及练习

目录 🐶2.1 什么是单元测试 🐶2.2 测试分类: 1. 🥙黑盒测试 2. 🥙白盒测试 🐶2.3 Junit介绍 🐶2.4 Junit的基本使用步骤:(默认使用maven创建项目) 1. 🥙pom.xml中引入依赖: 2…

vscode连不上虚拟机,一直密码错误

最近在做毕设,但是vscode使用连接不上虚拟机,我以为是网络配置的问题,一顿查阅没找到原因。 后来查了一下ssh的日志,发现ssh有消息,但是也提示密码错误。 没找到密码配置格式什么的,经查看sshd配置文件发现…

为什么 HTTPS 协议能保障数据传输的安全性?

HTTP 协议 在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念。 HTTP 协议介绍 HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。 HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的 RFC 2616 拆…

基于springboot+vue的甘肃非物质文化网站(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究背景…

FUSEE: A Fully Memory-Disaggregated Key-Value Store——论文泛读

FAST 2023 Paper 元数据论文阅读汇总 问题 分布式内存键值(KV)存储正在采用分离式内存(DM)体系结构以提高资源利用率。然而,现有的DM上的KV存储采用半分离式设计,在DM上存储KV对,但在单个元数…

仓储管理系统——软件工程报告(需求分析)②

需求分析 一、系统概况 仓库管理系统是一种基于互联网对实际仓库的管理平台,旨在提供一个方便、快捷、安全的存取货物和查询商品信息平台。该系统通过在线用户登录查询,可以线上操作线下具体出/入库操作、查询仓库商品信息、提高仓库运作效率&#xff…

C++ 20 Module

头文件包含一直是C/C的传统,它使代码声明与实现分离,但它有一个非常大的问题就是会被重复编译,拖累编译速度。 通常一个标准头文件iostream展开后可能达几十万甚至上百万行。笔者使用下面的示例进行测试,新建一个main.cc&#xf…

每日一题——LeetCode1304.和为零的N个不同整数

方法一 个人方法 n为偶数&#xff0c;只要同时放入一个数的正数和负数&#xff0c;那么和总为0&#xff0c;n是奇数就放入一个0&#xff0c;剩下的当偶数看待 var sumZero function(n) {let res[]if(n%2!0){res.push(0)n--}nn/2for(let i1;i<n;i){res.push(i)res.push(-i…