【计算机网络】IP协议

文章目录

  • TCP与 IP之间的关系
  • IP地址的认识
  • 协议报头格式
    • 1. 报头和有效载荷如何分离?
    • 2. 8位协议
    • 3. 4位版本
    • 4. 8位服务类型
    • 5. 16位总长度
    • 6. 8位生存时间 TTL
  • 网段划分
    • IP地址的划分
  • 子网划分
    • CIDR的提出
    • 如何理解CIDR

TCP与 IP之间的关系

如:假设 你上高中时,班里有个同学叫张三,他的老爹是学校的校长
你感觉每次考试都有考100分的能力
有能力并不意味着百分百一定能做到
有能力指的是有较大概率


若想让张三每次考试 都是 百分百 满分
考了几次,其中有一次考了99,不是满分,张三就去找他老爹,他老爹不满意张三没有考满分
所以跟张三说,单独给你考,直到考到满分
因为他老爹认为张三有很大概率考到满分,所以每次就要保证百分百考到满分

张三与校长父亲组合起来,就能保证每次考试都能考满分
真正参与考试的是张三
校长父亲进行了考试控制,为张三考试提供了策略


IP协议提供一种能力,将数据从主机A 跨网络 送到主机B的能力
IP协议提供的是有较大概率
但是 用户要的百分百能够做到
所以就需要 TCP 和 IP 组合
TCP可以看作是 校长父亲 ,提供传输策略
IP可以看作是 张三,提供真正进行转发报文时的执行

TCP将报文将给IP,IP若出现丢包的情况,则TCP就会重新向上交付

TCP 和 IP 组合 表示 将数据 从主机A 可靠的跨网络 送到主机B

IP地址的认识

如:你要去北京玩,但实际上是去北京的天安门广场 去玩
当你在长春,你可以说去北京玩,但当你到达北京后,就要确认去天安门广场

所以一般要说去哪里玩时,应该先到景点所在的城市,然后再到达景点

IP地址 等于 目标网络 加 目标主机

协议报头格式

1. 报头和有效载荷如何分离?

IP中存在 20位的标准长度
存在 4位首部长度, 表示 整个报头的长度
4位首部长度 的基本单位是4字节

提取报文的前20个字节(前20个字节一定是标准报头)
在提取首部长度字段
根据首部长度字段* 4 减去20字节
若为0,说明没有选项,报文就是标准报头,直接读取有效载荷即可
若不为0,剩下几个字节,就说明有几个字节的选项,整个报文长度 减去 标准报头以及 选项长度
即可获得 有效载荷

2. 8位协议

8位协议 表示 有效载荷是什么报文 即有效载荷向哪一个协议交付

3. 4位版本

IP协议报头中存在4位版本,一般表示为IPV4(以4字节 32个比特位 表示 IP地址用来标识全球唯一的互联网主机)

4. 8位服务类型

如:张三要去考试, 校长父亲要求考满分,同时张三向他父亲询问 这次考试是想卷面最整齐,还是第一个交卷

IP是给TCP提供服务的,当TCP要IP把数据发送时,IP询问TCP 是向尽快把数据交付,还是发送数据时,挑一条不会丢包的路径
提供什么样的服务类型

8位服务类型 对应不同种类的IP的传送策略

其中3位优先权字段被弃用,4位服务类型(TOS)字段 和 1位保留字段(必须置为0)
4位服务类型 分别表示: 最小延时、最大吞吐量、最高可靠性、最小成本

5. 16位总长度

表示 整个报文(报头+有效载荷)的长度


4位首部长度 和 标准20字节长度 可以将一个保文的标准报头和选项分离出
再使用 16位总长度,就可以将报头和有效载荷分离

6. 8位生存时间 TTL


若将数据从主机B送到主机C,当路由器D发生故障时,导致路由器D并没有把数据交给主机C
使路由器D交给路由器I
路由器I 将数据交给 路由器J,路由器J 将数据交给 路由器H,路由器H 将数据交给 路由器C,
最后路由器C 又将数据交给 路由器D,从而造成环路问题

TTL: 该报文,在转发过程中,最多经历的路由器的次数

每经历一次 路由器 ,TTL就减一
当TTL减到0时,表示报文不能再被转发了,若此时没有到达,则该报文直接被丢弃

网段划分

有一天,张三在散步,结果捡到一个钱包,里面有一个学生证,但是上面只能看见一串学号
所以张三只知道钱包上面有学号,只能通过学号来寻找丢失钱包的主人
但是一个人一个人去找效率太低了

钱包上的学号具有唯一标识,一个人一人去问学号,就是在遍历学校的所有人
但一次排除一个人,所以导致效率低下

张三就可以看作报文 ,钱包为目的IP地址,丢失钱包的人可以看作 目标主机
若报文将数据交给目标主机,若在全网中根据目的IP地址一个一个去问,效率也会非常低下


每一个学院都有自己的群,而每一个学院都有自己的院学生会主席,这些院学生会主席之间也有一个群
张三属于计算机学院的学生,计算机学院的编号为10,他属于该学院的210,他的学号为10210
全校没有任何一个同学的学号是一样的
假设捡到的钱包的学号为 12003
张三不打算自己找了,就拍了张照片,并发到计算机学院的群里
计算机院的学生会主席了解每个学号前的数字表示那个学院的,所以就发现丢失钱包的人为化工学院
就把照片 转发到 学生会主席群里,通知对应的化工的学生会主席

此时化工的学生会主席发现就是他们院的同学丢的,就把照片转发到了化工院的群里,通知003号同学

在这个过程中,归还的效率提高了,因为这次不是以个人来寻找的,而是以群为单位来寻找的
查找的本质是排除的过程,选择一个群,就是排除了其他的所有群,查找效率大大提高了


学号 可以看作 IP地址
群 可以看作 子网,院学生会主席 可以看作 路由器
学生会主席群 可以看作公网,丢失钱包的人 可以看作 目标主机
先找到目标子网(群),再找到目标主机


为了 跨网络 更高效的把数据从一台主机送到另一台主机,所以要进行 子网划分 (每个学院都有自己的群)
IP地址 等于 目标网络 加 目标主机
IP地址的构成是子网划分的结果,是为了提高一台主机查找到另一台主机的效率
(因为要在学校里快速的能够进行消息的通知,就需要把每个院都有自己的群,为了更好管理,就要带上学号)

IP地址的划分

IP地址被分为两部分
网络号:保证相互连接的两个网段具有不同的标识
(每一个学院,院号之间彼此之间不能一样,用院号区分不同的学院)

主机号:同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号
(张三、王五是同学,大家都在计算机学院内,但是学号是不同的)

子网划分

根据IP地址,把整个IP地址划分成了五类

由于只有A类的第一个比特位为0,证明是A类
A类网络 最多有 2 ^ 7个网络,每个网络中会有2 ^ 24个主机

B类网络的第一个比特位为1,证明不是A类,第二个比特位为0,证明是B类
B类网络最多有 2 ^ 14个网络,每一个网络中有2 ^ 16个主机

C类网络的第一个比特位为1,证明不是A类,第二个比特位为1,证明不是B类,第三个比特位为0,证明是C类
C类网络最多有 2 ^ 21个网络,每一个网络中有2 ^ 8个主机

若将B类网络申请完了,很难将B类网络中的2 ^ 16个主机用完,并且别人也用不了,就会浪费掉


CIDR的提出

所以就在原有方案的基础上,提出了新的改良方案,称为 CIDR

引入一个额外的子网掩码用于区分网络号和主机号
子网掩码是一个32位的正整数,通常用一串"0"来结尾(左边都是1,右边都是0)
将IP地址与子网掩码 进行 按位与 操作,得到的结果就是网络号
网络号和主机号的划分与这个IP地址是A类、B类还是C类无关

如何理解CIDR

IP地址只有2^32个,所以IP地址是有限的
为了更好理解,所以使用国家为单位划分IP


各个国家的前8位IP地址是不同的

每一个国家都有自己的国际路由器
每个国际路由器会有配置自己直连的国家网络对应的网络号
如:中国 的国际路由器会有配置自己直连的中国网络对应的网络号

为了能够称为全球互联网,所以将大家的国际路由器接入到同一个网络里,称为公网,由全球运营商共同搭建起来的


中国有很多省,其中以吉林省、辽宁省、黑龙江省为例

IP地址前8位表示国家 ,再取6位表示主机,共有32位,后面以 . 代表0


每个省之间都有跨省路由器,搭建公网,由国内运营商构建起来的


以吉林省举例,包含 长春市 吉林市,两者分别有自己的IP地址,并搭建公网


假设长春市有一家互联网公司,对外提供了一个网络服务,美国人想要访问
所以长春的这家公司就要有自己对外的IP地址


将1进制的2位看作1位,就是1字节 即 2.4.4.0/18 (长春市的网络号)
假设长春的这家公司的IP地址 为 2.4.4.23 (属于长春市其中的一家公司,所以有对应的主机号23)


若有个美国人想要访问长春这家公司对应的服务,美国人认为他们国家对应的网络开头为1…
由于2.4.4.23并不是美国的IP,所以就将该IP通过美国的路由器 交付给公网上
通过公网,转发到中国的路由器处

将2.4.4.23与 中国的子网掩码 0000 0010 按位与 得到网络号 2.0.0.0,证明是中国的


将2.4.4.23与吉林省的子网掩码 按位与 得到网络号是 2.4.0.0 ,而吉林省是2.4开头的, 证明是吉林省的
将2.4.4.23与长春市的子网掩码 按位与 得到网络号是 2.4.4.0 ,而长春市是2.4.4开头的,证明是长春市的

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

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

相关文章

前后台分离开发 YAPI平台 前端工程化之Vue-cli

目录 YAPI介绍前端工程化之Vue-cli前端工程化简介前端工程化入门——Vue-cli环境准备Vue项目简介创建Vue项目vue项目目录结构介绍vue项目运行方法 Vue项目开发流程 前后台混合开发这种开发模式有如下缺点: 沟通成本高:后台人员发现前端有问题&#xff0…

每天几道Java面试题:IO流(第五天)

目录 第五幕 、第一场)街边 友情提醒 背面试题很枯燥,加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第五幕 、 第一场)街边 【衣衫褴褛老者,保洁阿姨,面试者老王】 衣衫褴褛老…

第三天:实现网络编程基于tcp/udp协议在Ubuntu与gec6818开发板之间双向通信

互联网地址 每一台设备接入互联网后,都会举报一个唯一的地址编号 IP地址 INTERNET地址 internet地址 :它是协议上的一个逻辑地址 目前来说,我们主要的IP地址有两类 IPV4 IPV6 IPV4 其实就是使用一个32bit整数作为IP IPV6 其实就是使用一…

LabVIEW开发基于物联网的多功能功率分析仪

LabVIEW开发基于物联网的多功能功率分析仪 根据技术规则,电气元件网络中的单个被创建为在标称正弦波振动制造频率下运行。失真顺序的电流和电压波与正弦波不同,它们或多或少地扭曲成形状。它是由交流网络中非线性组件的存在引起的,例如静态转…

无人机“长坡”上,谁是滚出“厚雪球”的长期主义者?

“股神”巴菲特,曾提出过“长坡厚雪”的理论: 人生就像滚雪球,重要的是发现很湿的雪和很长的坡。 运用到企业经营上,“长坡”指的是企业所布局的领域发展潜力足、空间大;而“湿雪”,指的是企业竞争力强、…

Dokcer搭建Apache Guacamole堡垒机

一、什么是堡垒机 “堡垒机” 这个词通常指的是 “堡垒机器”(Bastion Host)的简称。堡垒机是一种计算机系统或网络设备,用于增强计算机网络的安全性。它在网络中充当一个重要的安全关口,通过限制对内部网络的访问,帮…

网站有反爬机制就爬不了数据?那是你不会【反】反爬

目录 前言 一、什么是代理IP 二、使用代理IP反反爬 1.获取代理IP 2.设置代理IP 3.验证代理IP 4.设置代理池 5.定时更新代理IP 三、反反爬案例 1.分析目标网站 2.爬取目标网站 四、总结 前言 爬虫技术的不断发展,使得许多网站都采取了反爬机制&#xff…

C++真的是 C加加

📝个人主页:夏目浅石. 📌博客专栏:C的故事 🏠学习社区:夏目友人帐. 文章目录 前言Ⅰ. 函数重载0x00 重载规则0x01 函数重载的原理名字修饰 Ⅱ. 引用0x00 引用的概念0x01 引用和指针区分0x03 引用的本质0x04…

数据结构-----串(String)详解

目录 前言 1.串的定义 相关类型 2.串的储存结构 顺序储存表示 堆分配储存表示 块链储存表示 3.串的操作方式 4.串的匹配算法 (1)BF算法 过程原理 代码实现(C/C) 算法分析 (2)KMP算法 过程…

2023-09-18 LeetCode每日一题(打家劫舍 III)

2023-09-18每日一题 一、题目编号 337. 打家劫舍 III二、题目链接 点击跳转到题目位置 三、题目描述 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦…

RS485以及MODBUS学习

学习目的: 1、什么是485? 2、485如何通信? 3、如何使用熟能生巧? RS485是一种四总线通信,分别是VCC、GND、485_A、485_B。两根负责通信,两根负责进行供电。 RS485通信 硬件层:解决的是数据传输问…

01Redis的安装和开机自启的配置

安装Redis 单机安装Redis 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包(此处选择的Linux版本的CentOS 7) Windows版直接下载对应版本的.zip压缩包解压即可使用 第一步: Redis是基于C语言编写的,因此首先需要…