第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 请求,常用于在不同的子网之间转发数据包

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

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

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

相关文章

dubbo:服务暴露

节点角色说明: Provider:暴露服务的服务提供方。 Consumer::调用远程服务的服务消费方。 Registry:服务注册与发现的注册中心。 Monitor:统计服务的调用次调和调用时间的监控中心。 Container:服务运行容器。 调用关系说明: 0.服务容器负责启动&#xff…

js之执行上下文和作用域

定义 变量和函数的上下文决定了它们可以访问那些数据,以及它们的行为 每个上下文都有一个关联的变量对象,而这个上下文中定义的所有变量和函数都在存在于这个变量对象之上 上下文再其所以代码都执行完毕之后会被销毁,包括定义在它上面的所有…

研究生开题报告撰写:文言一心VSChatgpt3.5

文言一心 问:我是一名研二学生,请帮我生成一份研究生毕设开题答辩ppt框架。 答:好的,以下是一份研究生毕设开题答辩PPT的框架,供您参考: 幻灯片1:封面页 标题:研究生毕设开题答辩…

大数据学习之Flink、10分钟了解Flink的核心组件以及它们的工作原理

第一章、Flink的容错机制 第二章、Flink核心组件和工作原理 第三章、Flink的恢复策略 第四章、Flink容错机制的注意事项 第五章、Flink的容错机制与其他框架的容错机制相比较 目录 第二章、Flink核心组件和工作原理 Ⅰ、核心组件 1. Checkpoint组件: 2. Sav…

HTML+JavaScript-03

JavaScript函数 定义函数的格式 JavaScript 函数是通过 function 关键词定义的。 function sum(a, b){//函数体return a b;//返回值为a、b的和 }函数的调用 调用函数时直接书写函数名即可 function show(){alert("函数show被调用"); } show();函数的相互调用 …

使用Docker部署Apache Superset结合内网穿透实现远程访问本地服务

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透,实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…

PSEUDO-LIDAR++:自动驾驶中 3D 目标检测的精确深度

论文地址:PSEUDO-LIDAR: ACCURATE DEPTH FOR 3D OBJECT DETECTION IN AUTONOMOUS DRIVING 论文代码:https://github.com/mileyan/Pseudo_Lidar_V2 摘要 3D 检测汽车和行人等物体在自动驾驶中发挥着不可或缺的作用。现有方法很大程度上依赖昂贵的激光雷…

ChatGPT Claude Bard 生成式 AI 免责声明

ChatGPT Claude Bard 生成式 AI 免责声明 ChatGPT can make mistakes. Consider checking important information.Claude.ai is in beta release and may display incorrect or harmful informationBard may display inaccurate info, including about people, so double-check…

华为数通方向HCIP-DataCom H12-831题库(判断题:81-100)

第81题 基本QinQ能根据业务种类选择外层Tag封装的方式 正确 错误 答案: 错误 解析: 基本QinQ是基于端口方式实现的,不能根据业务种类选择外层TAG封装的方式。 第82题 display interface GE0/0/0-次,发现Total Error计数(该接口物理层的错误报文总数目)不是此时可以断定当前…

【Spring Boot 3】【Redis】集成Redisson

【Spring Boot 3】【Redis】集成Redisson 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花…

CentOS7 开启防火墙及开放指定端口

CentOS7 开启防火墙及开放指定端口 查看防火墙状态systemctl status firewalld启动防火墙systemctl start firewalld停止防火墙systemctl stop firewalld查看防火墙已经开放的端口firewall-cmd --list-port添加开放指定防火墙firewall-cmd --zonepublic --add-port这里是需要开…

登录页面(附源码)

特色&#xff1a; 点击登录之后卡片翻转效果 话不多说&#xff0c;看展示。 还在等什么&#xff0c;赶快白嫖起来吧 HTML文件 <div id"window" style"display: none"><div class"page page-front"><div class"page-content&…

一些 AI 机构

文章目录 OpenAITHUDMMetaAITIIStability AINousResearch OpenAI hf : https://huggingface.co/openai 官网&#xff1a;https://openai.com THUDM 清华大学 KEG 和 THUDM 团队 Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University hf : https://h…

SCCB接口

文章目录 概述引脚传输时序起始/结束信号三线模式两线模式 传输周期3阶段写传输周期2阶段写传输周期2阶段读传输周期阶段一 ID Address阶段二 子地址/读数据阶段三 写数据 SCCB与IIC区别未完待续(还有代码&#xff09;... 概述 SCCB&#xff08;Serial Camera Control Bus&…

ElementUI简介以及相关操作

ElementUI是一套基于Vue.js的桌面端组件库&#xff0c;提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。以下是ElementUI的简介以及相关操作&#xff1a; 简介&#xff1a;ElementUI是一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端组件库&#xff…

aspose-cells-20.7.jar 去除水印及次数限制

1.使用 jd-gui.exe 反编译查看&#xff0c;直接搜索 License 1.修改 public static boolean isLicenseSet() {return (a ! null);}改成 public static boolean isLicenseSet() {return true;}2.修改 public void setLicense(InputStream stream) {Document document null;if (…

【EI会议征稿通知】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)

2024年第四届人工智能、自动化与高性能计算国际会议&#xff08;AIAHPC 2024&#xff09; 2024 4th International Conference on Artificial Intelligence, Automation and High Performance Computing 2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于20…

SpringMVC:拦截器

一般我们会做一些统一的操作这个时候我们需要使用springmvc提供的拦截器&#xff0c;例如token的验证&#xff0c;字段必填的操作&#xff0c;接口超时判断&#xff0c;签名验证&#xff0c;字段加密等操作&#xff0c;所以我们需要了解执行先后顺序。 我们来简单介绍下实现过程…

第6章-路由器、交换机及其操作系统介绍

目录 1. 路由器与交换机的作用与特点 1.1. 路由器 1.2. 交换机 1.3. 路由交换 2. H3C路由器与交换机介绍 3. H3C网络设备操作系统Comware 1. 路由器与交换机的作用与特点 1.1. 路由器 1、定义&#xff1a;路由器&#xff08;Router&#xff09;是连接两个或多个网络的硬…

穿越Flink的时间隧道:解锁实时数据之窗,掌握流处理之巅

目录 Flink中的时间和窗口 1时间语义 1.1Flink中的时间语义 1.1.1处理时间 1.1.2事件时间 1.2那种时间语义更重要 2 水位线 2.1 事件时间和窗口 2.2 什么是水位线 2.3 如何生成水位线 2.3.1使用WatermarkGenerator 2.3.2使用SourceFunction 2.4 水位线的传递 2.5 水位…