IP协议的介绍

    网络层的主要功能是在复杂的网络环境中确定一个合适的路径.网络层的协议主要是IP协议.IP协议头格式如下:

1.4位版本号:指定IP协议的版本,常用的是IPV4,对于IPV4来说,这里的值就是4.

2.4位头部长度,单位也是4个字节,4bit表示的最大数字是15,因此IP头部的最大长度就是60字节

3.8位服务类型:3位优先权字段(已经弃用),4位TOS字段和1位保留字段(必须为1),4位TOS分别为:最小延时,最大吞吐量,最高可靠性,最小成本,这4者相互冲突,只能选择一个.

4.总长度:可以看到表示用16位来表示IP数据报的总长度,说明一个IP数据报的最大位64KB.

5.16位标识:唯一的标识主机发送的报文,如果IP报文在数据链路层被分片了,那么每一片里面的这个id都是相同的.

6.3位标志位:,第一个位保留(目前不用),第二位为1标识禁止分片,这时候如果报文长度超过了MTU,IP模块就会丢弃报文.第三位表示"更多分片",如果进行了分片,如果分片了的话,最后一个分片置为1,其余置为0,类似于一个结束标志.

7.13位分片偏移:是分片相对于原始IP报文开始处的偏移,其实就是在表示当前分片在原始报文中处于那个位置.实际偏移的字节数是这个值*8得到的.因此,除了最后一个报文,其余报文的长度就是8的整数倍.

8.8位生存时间:数据报到达目的地的最大报文跳数,每一经过一个路由都会减一,一直递减到0,还没到达的话就会丢弃.主要是为了防止出现路由循环.

9.8位协议:表示上层协议的类型.

10.16位首部校验和:使用CRC进行校验,来鉴别头部是否损坏.

11.32位源地址和32位目的地址:表示发送端和接收端.

地址管理

1.动态分配

对正在运行的主机分配IP地址.主机处于停止运行状态就不会分配IP地址.

2.NAT网络地址转换

IP地址有内网IP和外网IP

内网IP有下面几种: 10.*     172.16.*-172.31.*        192.168.*

其中,内网IP在不同的局域网中是可以重复的,外网IP是不能重复的.

NAT机制下的几个情况:

1.同一个局域网中,内网IP访问内网IP,是可行的.

2.不同局域网中,内网IP访问内网IP,不可行.

3.外网IP访问外网IP,可行.

4. 外网IP直接访问内网IP.不可行.

5.内网IP访问访问外网IP,可行.     

这是内网IP访问外网IP的简单图示:假定我的电脑要访问某视频网站观看视频.源IP设置为192.168.100.188    源端口设置为2233      目的IP设置为   30.11.11.11   目的端口设置为 4455

   可以看到运营商路由器会对源IP地址进行转换,转换成运营商路由器的公网IP后进行转发.视频网站的服务器在接收到数据之后,会返回数据,其中的目的IP就是运营商路由器的IP,运营商路由器在接收到数据之后,根据记录的转发表更换目的IP和目的端口,把数据转发到我的电脑.这就是NAT机制的基本原理,即内网IP访问外网IP时,会先访问一个外网的路由器,路由器会重新设置源IP和源端口,并且记录下旧的源IP,源端口和新的源IP,源端口的对应关系.在接收到返回的数据之后,根据记录的对应关系,把数据返回到对应的主机.即允许多个内部主机使用同一个公网IP和不同的端口号访问外部网络.通过生成转换表,使多个客户端可以同时与服务器进行通信.当前的网络世界就是通过动态分配和NAT机制来解决IP不够用的问题的.但是这两种方法,还是没有从根本上解决问题,一个外网NAT设备上最多有6万个表项,极端情况下还是会出现不够用的情况.于是就有了IPV6这个版本.

IPV6通过使用更多的字节来表示IP地址,来解决IP地址不够用的问题.IPV6使用128位地址长度,能够提供2^128个地址,数量极其庞大,可以充分满足目前的需求.

   IP地址的基本规则

1.网段划分,同一个局域网中的主机按照一定的规则来分配IP地址,如何来表示不同的主机呢?通常把IP地址分成两部分:网络号+主机号.网络号用来标识局域网,主机号用来区分局域网中的不同主机.不同局域网中的主机的主机号可以相同,同一个局域网中的主机号不能相同.局域网和局域网之间,网络号可以相同.但是两个相邻的局域网,网络号不能相同,一旦相邻的局域网网络号相同,局域网内的主机就无法上网.同一个路由器的wan口和lankou就处于不同的局域网.既然IP地址由网络号和主机号构成,那么如何区分哪些是网络号那些是主机号呢?这里就引入了子网掩码,子网掩码是32位的二进制,左半部分全是1,右半部分全是0.与IP地址的每一位相互对应,1表示该位表示网络号,0表示该位表示主机号.  特殊的IP地址:1.主机号全是0:这样的IP地址表示的网段,不应该分配给具体的主机,即使设置给主机,主机也无法上网. 2.主机号全是0:这样的IP表示广播IP,向广播IP上发送数据,此时,就会发送给局域网中的所有设备. 3.127.* :环回IP,127.0.0.1 向这个IP发送数据,就是自己来接收.

2.路由选择

1.主机发送数据包到目的主机:当主机发送数据包时,会首先检查目的主机的IP地址,查看是否和自己在同一个内网,如果在,则主机直接将数据包发送到目的主机的MAC地址.如果发现目的主机和自己不在同一个内网,主机将数据包发送给路由器.

2.路由器转发数据包:路由器收到主机发来的数据包之后,检查数据包的目的IP地址,查看路由表,按照最长前缀匹配原则进行匹配.路由器会查找路由表中与目的IP地址匹配的最长前缀.如果找到匹配的路由条目,路由器将数据包发送到对应的下一跳地址或出接口.如果没有找到匹配的路由条目,路由器会根据默认路由进行转发,即一个指向外部网络的网关.数据包一般会经过多个路由器的转发,才会到达目的主机,每个路由器都会重复上述的查找和转发过程.直到数据包最终到达目标网络.每次转发时,数据包的IP头部信息保持不变,MAC地址会随着每`跳转发而改变.
 

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

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

相关文章

Linux环境上传本地文件安装mysql

windows下载本地文件包,找到文件所在目录 scp 文件名 root192.168.xx.xx:/opt输入ssh密码,成功上传到服务器! //docker拉取镜像 cd /opt && docker load -i 文件名docker run -it -d --restartalways --namemysql5 -p 3106:3306 -v …

Java操作RabbitMQ

文章目录 Spring集成RabbitMQ1. AMQP&SpringAMQP2. SpringBoot集成RabbitMQ3. 模型work模型 4.交换机Fanout交换机Direct交换机Topic交换机 5.声明式队列和交换机基于API声明基于注解声明 6.消息转换器 Spring集成RabbitMQ 1. AMQP&SpringAMQP AMQP(高级消…

MySQL的多表查询

我们之前在讲解SQL语句的时候,讲解了DQL语句,也就是数据查询语句,但是之前讲解的查询都是单表查询,而本章节我们要学习的则是多表查询操作,主要从以下几个方面进行讲解。 5.1 多表关系 项目开发中,在进行…

微软Copilot与向量数据库:智能化办公的技术架构与实现路径

作为大禹智库的向量数据库高级研究员王帅旭,我在向量数据库和AI应用领域深耕30余年,亲历了向量数据库从学术概念到产业核心基础设施的演进历程。今天,我将从专业视角剖析微软Copilot背后的向量数据库技术支撑,并分享如何利用Mlivus Cloud等现代向量数据库构建类似的智能办公…

AI-人工智能-实现将静态图片和视频合成为类似iPhone的Live Photo(动态照片)效果

实现将静态图片和视频合成为类似iPhone的Live Photo(动态照片)效果 可以使用Python结合OpenCV和图像处理库来完成 技术说明 Live Photo原理:iPhone的Live Photo实际上是3秒的MOV视频一张高分辨率JPEG格式选择: .mov是最兼容的格…

数据结构之排序

目录 排序的概念及引用 排序的概念 常见的排序算法 常见排序算法的实现 插入排序 1.直接插入排序: 2.希尔排序( 缩小增量排序 ) 选择排序 直接选择排序 堆排序 交换排序 冒泡排序 快速排序 1)Hoare版 2)挖坑法 3)…

从“泛读”到“精读”:合合信息文档解析如何让大模型更懂复杂文档?

从“泛读”到“精读”:合合信息文档解析如何让大模型更懂复杂文档? 一、引言:破解文档“理解力”瓶颈二、核心功能:合合信息的“破局”亮点功能亮点1:复杂图表的高精度解析图表解析:为大模型装上精准“标尺…

NoSQL 数据库的适用场景与局限性分析

NoSQL(Not Only SQL)数据库是一类非关系型数据库,通过灵活的数据模型和分布式架构解决传统关系型数据库在扩展性、性能和数据多样性上的瓶颈。以下从技术特性、适用场景、不适用场景及行业实践展开分析: 一、NoSQL数据库的核心技术特性 四大数据模型 文档型:以JSON/BSON格…

Pycharm(七):几个简单案例

一.剪刀石头布 需求:和电脑玩剪刀石头布游戏 考察点:1.随机数;2.判断语句 import random # numrandom.randint(1,3) # print(num) # print(**30) #1.录入玩家手势 playerint(input(请输入手势:(1.剪刀 2.石头 3&…

Reactive编程:什么是Reactive编程?Reactive编程思想

文章目录 **1. Reactive编程概述****1.1 什么是Reactive编程?****1.1.1 Reactive编程的定义****1.1.2 Reactive编程的历史****1.1.3 Reactive编程的应用场景****1.1.4 Reactive编程的优势** **1.2 Reactive编程的核心思想****1.2.1 响应式(Reactive&…

【数学建模】动态规划算法(Dynamic Programming,简称DP)详解与应用

动态规划算法详解与应用 文章目录 动态规划算法详解与应用引言动态规划的基本概念动态规划的设计步骤经典动态规划问题1. 斐波那契数列2. 背包问题3. 最长公共子序列(LCS) 动态规划的优化技巧动态规划的应用领域总结 引言 动态规划(Dynamic Programming,简称DP)是一…

Linux基础之软硬链接

参考链接:https://baijiahao.baidu.com/s?id1770724291436944734&wfrspider&forpc 一、定义 1.硬链接(Hard Link) 硬链接是指多个文件名指向同一个物理文件的链接关系。它们在文件系统中具有相同的inode号(索引节点号…

python每日十题(13)

一般把计算机完成一条指令所花费的时间称为一个指令周期。指令周期越短,指令执行就越快。本题答案为D选项。 顺序程序具有顺序性、封闭性和可再现性的特点,使得程序设计者能够控制程序执行的过程(包括执行顺序、执行时间),对程序执…

0328-内存图2

是否正确待定: Perso类 package com.qc.内存图2;public class Perso {public int age;public String name;public static int flag;public void m1() {}public static void m2() {}Overridepublic String toString() {return "Perso [age" age "…

Java 开发中的 AI 黑科技:如何用 AI 工具自动生成 Spring Boot 项目脚手架?

在 Java 开发领域,搭建 Spring Boot 项目脚手架是一项耗时且繁琐的工作。传统方式下,开发者需要手动配置各种依赖、编写基础代码,过程中稍有疏忽就可能导致配置错误,影响开发进度。如今,随着 AI 技术的迅猛发展&#x…

一文详解k8s体系架构知识

0.云原生 1.k8s概念 1. k8s集群的两种管理角色 Master:集群控制节点,负责具体命令的执行过程。master节点通常会占用一股独立的服务器(高可用部署建议用3台服务器),是整个集群的首脑。 Master节点一组关键进程&#xf…

ubuntu下docker 安装 graylog 6.1

下载docker compose相关仓库 https://github.com/Graylog2/docker-compose 按readme所述,拷贝.env.example并重命名 .env 按.env中的说明创建密码和密钥 创建GRAYLOG_PASSWORD_SECRET 用: pwgen -N 1 -s 96 创建GRAYLOG_ROOT_PASSWORD_SHA2 用: echo -n yourpa…

创新驱动 智领未来丨中威电子全景展示高速公路数字化创新成果

在数字经济与新型基础设施建设深度融合的背景下,中国智慧交通产业正迎来前所未有的发展机遇。3月27日,第27届中国高速公路信息化大会暨技术产品博览会在青岛市红岛国际会议展览中心盛大开幕。作为高速公路信息化领域的创新先锋,中威电子&…

计算机期刊征稿 | 计算机-网络系统:物联网系统架构、物联网使能技术、物联网通信和网络协议、物联网服务和应用以及物联网的社会影响

IEEE Internet of Things Journal 学科领域: 计算机-网络系统 期刊类型: SCI/SSCI/AHCI 收录数据库: SCI(SCIE),EI ISSN: 2327-4662 中科院: 1区 影响因子: 8.2 JCR: Q1 IEEE Internet…

springBoot统一响应类型3.3版本

前言: 通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往…