IP协议格式、IP地址管理、路由选择

news2024/9/28 19:17:58

目录

一、IP协议格式

 16位总长度

ip协议针对传输层的UCP协议或者TCP协议,进行传输的时候,需不需要进行分片传输(拆包传输)

如何进行分片  和  组合分片

8位生存时间:

8位协议、16位校验和、32位源端口、32位目的端口

二、IP地址管理

网络号和主机号

​编辑

2.1 早期分配方式

A类:  0  7位网络号 24位主机号

B类 :  10 14位的网络号  16位的主机号                                                               

C类: 110  21位网络号   8位的主机号

特殊ip地址  :

2.2  CIDR方式 :

 例题 一:

  例题 二:

私网ip

三、路由选择

背景知识:

 1、认识 WAN/LAN口 

2、路由查找规则

选择路的前提是,要知道都有哪些路

 2.1  规则


一、IP协议格式

 16位总长度

在数据链路层传输的数据大小有一个限制:MTU

 理论上单个ip数据包最大是65536字节,但是数据链路层给网络层提了要求说单个数据不能超过1500字节,这直接就导致超过1500字节的数据包就要进行拆包

ip协议针对传输层的UCP协议或者TCP协议,进行传输的时候,需不需要进行分片传输(拆包传输)

首先我们要知道:  要不要分片,取决于     数据的大小 + ip协议头部之后, 是否超过MTU

 IP协议是不可靠的,一个分片在网络中丢失的话,这整个数据就相当于是丢掉了,

因为TCP为了保证可靠,他就在数据上保证了不会分片,这样就不用因一个分片丢掉,就重传所有数据(这是很痛苦的)

如何进行分片  和  组合分片

分片:

组合分片

8位生存时间:

8位协议、16位校验和、32位源端口、32位目的端口

 8位协议:标识传输层使用什么协议的

                  目的:  在接收方解析IP协议的时候,就知道这个数据要交给传输层的哪一个协议

16位校验和:校验IP协议在传输过程当中是否失真

32位:  源IP地址

32位:  目的IP地址

二、IP地址管理

网络号和主机号

2.1 早期分配方式

A类:  0  7位网络号 24位主机号

    

B类 :  10 14位的网络号  16位的主机号                                                               

 

C类: 110  21位网络号   8位的主机号

 

特殊ip地址  :

127.0.0.1  :本地回环地址(自己),通常是用于测试本地网络协议栈的

0.0.0.0     : 代表所有网卡地址,服务端bind函数调用的时候,0.0.0.0,绑定当前机器的所有网卡

2.2  CIDR方式 :

1、引入了子网掩码,用子网掩码标识ip地址当中,网络号范围  和  主机号范围

2、子网掩码的本质:uint32_t的整数

        要求:必须从最高的比特位到低位的某个比特位之前全为1,才是有效的子网掩码

网络号 = ip地址  &  子网掩码

 最大的主机号 =   ~(子网掩码)

 例题 一:

ip地址为 42.192.83.143 子网掩码为255.255.255.0
问题1 : 请问该子网的的网络号是多少?该子网拥有多少个主机?
问题2 :如果要将该网络划分为4个子网, 请问每个子网拥有多少个主机号, 每个子网的网络号是多少?

  例题 二:

私网ip

1、私网ip不具备访问互联网的效力(数据包当中的源ip或者目的ip为私网ip,则该条数据包不会在网络当中传输),不能访问互联网

2、私网ip在三个段

 3、私网ip存在的意义

私网IP可以在不同的子网当中进行复用,可以使用私网ip构建私网网络,缓解IP地址枯竭的问题

三、路由选择

背景知识:

1、网络数据在网络当中传输的时候,传输的路径不是一开始就确定好的

2、一定是到达某个路由器(转发设备)之后,由路由器再选择一个合适的路径

3、下一个路由器的转发负载到底大不大

我们将每一次设备的选择路径,称之为路由选择

 1、认识 WAN/LAN口 

WAN口:连接上级路由器

LAN口:用来组建当中路由器的子网

 

2、路由查找规则

路由查找就是通过目的IP查找去往下一个主机的路由(确定方案),怎么选择有数据链路层实施(具体实施)

1、从一个点到另外一个点需要选择合适的路径,这叫路由(探路)

2、数据链路层负责相邻设备之间的传播,数据链路层负责由主机A到路由器A(赶路)

选择路的前提是,要知道都有哪些路

路由表保存了多条路由(多条路)

 2.1  规则

 例子:

 IP数据包的传输过程也和问路一样.
          当IP数据包,到达路由器时,路由器会先查看目的IP;
                        路由器将拿到的数据进行分用, 获取到了目的IP

路由器决定这个数据包是能直接发送给目标主机,还是需要发送给下一个路由器:依次反复,一直到达目标IP地址:

 

现在已经知道要走那条路由了,怎么走的工作就交给了数据链路层

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

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

相关文章

Agilent E4982A、Keysight E4982A、LCR 表,1 MHz 至 3 GHz

Agilent E4982A、Keysight E4982A、HP E4982A LCR 表,1 MHz 至 3 GHz 产品概览 KEYSIGHT E4982A(安捷伦) Keysight E4982A LCR 表为需要高频(1 MHz 至 3 GHz)阻抗测试的无源元件制造行业提供一流的性能&#xff0c…

Redis实战11-实现优惠券秒杀下单

本篇,咱们来实现优惠券秒杀下单功能。通过本篇学习,我们将会有如下收获: 1:优惠券领券业务逻辑; 2:分析在高并发情况下,出现超卖问题产生的原因; 3:解决超卖问题两种方…

快速排序算法原理 Quicksort —— 图解(精讲) JAVA

快速排序是 Java 中 sort 函数主要的排序方法&#xff0c;所以今天要对快速排序法这种重要算法的详细原理进行分析。 思路&#xff1a;首先快速排序之所以高效一部分原因是利用了离散数学中的传递性。 例如 1 < 2 且 2 < 3 所以可以推出 1 < 3。在快速排序的过程中巧…

C++——C++11 第一篇

目录 统一的列表初始化 &#xff5b;&#xff5d;初始化 decltype ​编辑 nullptr STL中一些变化 右值引用和移动语义 左值引用和右值引用 总结 左值引用优缺点 右值引用&#xff08;将亡值&#xff09; 拷贝赋值和移动赋值 万能引用|完美转发 移动构造和移动赋值注意…

C#操作字符串方法 [万余字总结 · 详细]

C#操作字符串方法总结C#常用字符串函数大全C#常用字符串操作方法C#操作字符串方法总结C#常用字符串函数大全 Compare 比较字符串的内容&#xff0c;考虑文化背景(场所)&#xff0c;确定某些字符是否相等 CompareOrdinal 与Compare一样&#xff0c;但不考虑文化背景 Format 格…

5.3 BGP路由黑洞

5.2.3实验3:BGP路由黑洞 1. 实验目的 熟悉BGP路由黑洞的应用场景掌握BGP水平分割的配置方法2. 实验拓扑 实验拓扑如图5-3所示: 图5-3:BGP路由黑洞 3. 实验步骤 配置IP地址 R1的配置 <Huawei>syst

前端开发常用案例(一)

前端开发常用案例1.实现三角形百度热榜样式分页效果小米商城自动轮播图效果二级下拉菜单效果时间轴效果展示音乐排行榜效果鼠标移入文字加载动画鼠标悬停缩放效果1.实现三角形 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

CCNP350-401学习笔记(51-100题)

51、Which statement about a fabric access point is true?A. It is in local mode and must be connected directly to the fabric edge switch. B. It is in local mode and must be connected directly to the fabric border node C. It is in FlexConnect mode and must …

LVGL开发教程:二、ESP-IDF 使用CmakeList管理自己的文件以及文件夹

本文需要已经安装了Vscode+IDF插件没有安装的请提前安装一下,IDF插件为乐鑫的插件不需要翻墙。需要环境搭建请看下面链接。 环境搭建: VScode+platformIO和Vscode+ESP-IDF两种开发环境搭建 项目例程下载地址: IDF-CmakeTes,密码:8888 另外,由于你和我的路径不一致,下载的工…

富足金字塔:人的努力是为了扩大选择的范围

人的努力是为了扩大选择的范围&#xff0c;这是熵减的另一种表述。富足金字塔代表着人生的三重境界。第一层是温饱。人需要食物、水、住所。第二层是品质。能源、ICT、教育带来更有品质的生活&#xff0c;如智能门锁、智能马桶、扫地机、洗碗机、洗衣烘衣机。第三层是梦想。包括…

netty群聊系统

1设计思路&#xff1a;启动一个服务端&#xff0c;多个客户端第一个客户端启动时&#xff0c;会告诉服务器上线了第二个客户端启动时&#xff0c;告诉服务器上线&#xff0c;并且通知第一个启动的客户端第三个客户端启动时&#xff0c;告诉服务器上线&#xff0c;并且通知第一个…

应用上架小技能:2.1 蓝牙权限使用说明和5.1.1权限使用说明

文章目录 引言I Guideline 2.1 - Information NeededII Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage引言 App是用来蓝牙进行打印小票,需要提供演示视频摄像头、位置和蓝牙的使用场景需要在应用配置文件Info.plist进行说明。uniapp权限说明配置界面 I G…

利尔达在北交所上市:总市值突破29亿元,叶文光为董事长

2月17日&#xff0c;利尔达科技集团股份有限公司&#xff08;下称“利尔达”&#xff0c;BJ:832149&#xff09;在北京证券交易所上市。本次上市&#xff0c;利尔达的发行价格为5.00元/股&#xff0c;发行数量为1980万股&#xff0c;发行市盈率为12.29倍&#xff0c;募资总额为…

2023情人节正经性生活调研报告

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2023年1月份热门报告合集ChatGPT的发展历程、原理、技术架构及未来方向2023年&#xff0c;如何科学制定年度规划&#xff1f;《底层逻辑》高清配图今天给大家带来丁香医生最新…

Java Number Math 类,超详细整理,适合新手入门

目录 一、什么是Java Number类&#xff1f; 二、Java Number类提供了哪些基本的数字操作&#xff1f; 三、什么是包装类&#xff1f; 所有的包装类都是抽象类 Number 的子类。 四、什么是Java Math 类 Test类案例&#xff1a;&#xff08;Math.PI 表示一个圆的周长与直径…

代码随想录【Day17】| 513. 找树左下角的值、112. 路径总和、构造二叉树(前+中,中+后)

513. 找树左下角的值 题目链接 题目描述&#xff1a; 给定一个二叉树&#xff0c;在树的最后一行找到最左边的值。 示例 1: 示例2&#xff1a; 难点&#xff1a; 递归法 思路&#xff1a; 这题要找 最底层最左边 很容易就想到层序遍历 递归法的话&#xff0c;有点复杂…

Cosmos NDP编程框架(easyNDP)说明文档

Cosmos NDP编程框架(easyNDP)说明 更新时间&#xff1a;2023-2-17 作者&#xff1a;Gary 一.简介 本文档主要用于说明本简易NDP框架——easyNDP framework的架构、开发新应用以及使用的方法。 在开始前&#xff0c;有一个概念需要提前说明&#xff0c;文档中的块这个概念&…

YOLO-V5 系列算法和代码解析(八)—— 模型移植

文章目录工程目标芯片参数查阅官方文档基本流程Python 版工具链安装RKNPU2的编译以及使用方法移植自己训练的模型工程目标 将自己训练的目标检测模型【YOLO-V5s】移植到瑞芯微【356X】芯片平台&#xff0c;使用C推理&#xff0c;最终得到预期的结果。 芯片参数 芯片参数介绍…

IOS 自动化测试环境搭建

购买MacPDD 比TB JD 便宜500&#xff0c;下单安装homebrew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装npm cnpmbrew install node; npm install -g cnpm --registryhttps://registry.npm.taobao.org;安装类似Andro…

Windows平台使用gdb连接qemu虚拟机上的系统

先安装MinGW&#xff1b; 除了gcc、g&#xff0c;把gdb也选上&#xff1b;可能选第一个就可以了&#xff0c;不清楚把后面几个也选上&#xff1b; 安装完成看一下gcc, g&#xff0c;gdb&#xff0c;编译工具和调试器都有了&#xff1b; 把bin目录加到环境变量&#xff1b; 看一…