【网络原理】IP协议

【IP协议结构】

【8位生存时间(TTL)】

一个数据包在网络中最多存活多长时间

假设构造一个IP数据包,目的IP写错了,写成了不存在的IP,若让这样的数据包无限传输,会消耗很多的网络资源

TTL约定了传输时间的上限,达到上限后,数据包会自动被丢弃掉

TTL的单位是**"次数"**,指的是经过路由器转发的次数

发送一个IP数据包时,会有一个初始的TTL的值(32,64,128......),数据包每经过一个路由器转发,TTL就会-1(经过交换机不减),一旦TTL减到0,此时这个数据包会被当前的路由器丢弃掉

【8位协议】

分辨IP数据包中携带的载荷,是哪种传输层协议的数据包

通过这里的不同数值,感知到接下来要把数据交给什么样的协议进行解析

【16位首部检验和】

验证数据在传输中是否出错(只针对首部,IP报头,载荷部分TCP/UDP都有自己的校验和)

【32位原IP地址,32位目的IP地址】

IP数据包中最关键的信息,表明数据从哪里来,到哪里去

IP地址,用来标识网络上的一个设备,期望IP地址是唯一的,但如今可以上网的设备太多,IP不够用

一台电脑上,有几个网卡,就有几个IP,硬件网卡只能有一个,但虚拟网卡却可以虚构出来

【解决IP不够用的问题】

方案一:动态分配IP地址

一个设备上网就分配IP,不上网就先不分配

但这只是权宜之计

方案二:NAT(网络地址转换)

使用一个IP代表一大波设备

------------IP分类------------------------

把IP地址分为两大类

1.内网IP/私网IP**(10.*或172.16-172.31.*或192.168.*)**

2.外网IP/公网IP

要求:公网IP必须唯一,但私网IP允许重复(在不同的局域网中允许重复)


一个设备在上网时,IP数据包中的IP地址,会被NAT设备(通常是路由器)进行自动修改

1.同一个局域网内,主机A访问主机B,不会涉及到NAT机制

2.公网上的设备A,访问公网上的设备B,不会涉及到NAT

3.一个局域网中的主机A访问另一个局域网的主机B,NAT机制中不允许

4.局域网内部设备A,访问公网上的设备B,NAT机制主要针对这个情况生效

局域网内部设备A访问公网上设备B时,会途径具有公网IP的运营商路由器,此时运营商路由器会把A的源IP地址替换为该公网IP

运营商路由器在进行IP替换时,会记录旧IP旧端口和新IP新端口之间的映射关系

方案三:IPv6 【最好的方案】

从根本上解决IP地址不够用的问题

IPv4使用32位4个字节表示IP地址

IPv6使用128位16个字节表示IP地址

因此IPv6的地址空间非常巨大

【IP地址结构】

IP地址是一个32位的整数,左半部分是网络号,右半部分是主机号,如何判断左半部分和右半部分的界限?需要用到**"子网掩码"**

子网掩码也是一个32位的整数,左半部分都是1(二进制形式都是1),右半部分都是0

255.255.255.0通过二进制可以转换为

(也可以缩写为/24,代表有24个1)

因此,该图中IPv4地址,192.168.100是网络号,152是主机号

网络中规定:

同一个局域网中的设备,网络号必须相同,主机号必须不同

两个相邻的局域网,网络号必须不同

在该图这个局域网中,网络号不相同的设备(网络号不是192.168.0)无法上网,网络号相同的设表,如果主机号相同,也无法上网

此外,路由器有两个网络接口,一个LAN口,一个WAN口

相关推荐
上海安当技术10 小时前
固件签名与Secure Boot:安当CAS如何构建汽车固件信任链
网络·汽车·信任链·boot·secure·固件签名·安当cas
上海安当技术11 小时前
诊断接入认证:安当CAS如何堵住汽车网络安全的物理后门
网络·web安全·汽车·access·secure·安当cas·诊断接入认证
ze^011 小时前
【软考信息安全】第2章 网络攻击原理与常用方法
网络·web安全·网络安全
这个DBA有点耶12 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
arbboter12 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
消失的旧时光-194314 小时前
第一篇:Ktor Client 到底是什么?从 Retrofit 迁移理解 Ktor 网络请求架构
网络·架构·retrofit·ktor·dsl
数据知道14 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
江畔柳前堤14 小时前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php
LabVIEW开发15 小时前
LabVIEW 通过以太网控制 Yokogawa WT3000 功率分析仪:tmctl.dll 与原始套接字方案
网络·labview·labview知识·labview功能·labview程序
xiaoxiangsiyan15 小时前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns