网络层 IP协议(1)

简介: 网络层 IP协议(1)

前置知识

主机:配有IP地址,但是不进行路由控制的设备

路由器:既配置了IP地址,又能进行路由控制的设备节点:主机和路由器的总称

IP协议主要完成的任务就是

地址管理和路由选择

地址管理:使用一套地址体系,将网络设备的地址描述出来

路由选择:一个数据报如何从源地址到目的地址

IP协议头格式

下面开始解释这里的含义

1.4位版本号

这里表示的是IP地址使用的是IPv4还是IPv6的地址

2.4位首部长度

这里就是和TCP报头一样,表示的是IP报头也是可变长的 (同样单位是4字节)

0-15 代表这里最大长度仍然是60字节

3.8位服务类型(TOS)

分别是三位优先权字段(已弃用),一位保留位和四位TOS字段

这里的四个字段分别表示 最小延时 最大吞吐量 最高可靠性(相对TCP的可靠性还是有差距,意思位相对的最高可靠性)  最小成本

这里相对不同的应用场景会使用不同的服务,像ftp这样的程序使用最大吞吐量比较重要

4.16位总长度

表示了IP数据报整体占用多少个字节

这里就并不是64KB的限制了,因为IP协议包含了拆包组包的功能

比如说一个相对大的TCP包这里分三个IP数据包装

到对端就会按照顺序组包

5.16位标识 3位标志 13位片偏移

之所以把它们放在一起说是因为它们彼此是有联系的,

在数据较大的情况下分包就会用到这三个表示

16位标识:表示几个IP数据包是同一个数据拆分而成

3位标志:一位标志着数据是否分包,一位标志着结束的标志,一位则作为保留位

13位片偏移:排序的依据,标志着分块的变量在原报文中的位置

6.8位生存时间(TTL)

表示着报文在传输过程中的最大生存时间,这里的时间并不是真正的时间,衡量单位是"次",就是一个报文在网络传输中传输了多少次还没有到达目的地址那么就将其丢弃,常见的生存时间为32/64次

为啥这么少的次数就能达到对方??

因为其增长的速度是指数级别的增长

7.8位协议

表示上层协议的类型,也就是传输层使用什么协议

TCP/UDP/KCP???

8.16位首部检验和  和之前一样,检验报文传输过程中是否发生了比特翻转

9.32位源地址和目标地址

表示发送方和接收方的地址

10.选项  和之前一样可有可无

如何管理IP地址

最早是使用IPv4地址来描述一个IP地址的

IPv4地址本质上是一个32位整数

为了方便表示,我们使用点分十进制的方式来表示

例如 192.168.1.1

通过三个点来讲32位分成四个部分,每个部分取值范围分别为0-255

总共能表示一个42亿左右大小的数字

实际上现在全球使用网络的终端设备远远超过了42亿,给每个人分配一个网络地址都不够

所以我们提出了如下的解决方案

1. 动态分配IP地址(治标不治本)

全世界的设备也不可能同一时刻上网,利用现有空闲的IP地址

2.使用Nat机制(网络地址映射) 仍然治标不治本

常用方案

这个机制将IP地址分为两个大类 私网IP 公网IP

私网IP

 10.*       192.168.*     172.16 - 172.31.*

其余的是公网IP

要求公网上的设备使用公网IP  

局域网之间使用私网IP,只需要保证局域网之间的内部IP不重复即可,不同的局域网之间的IP允许重复

由于上述的设定,就有一些限制

1.公网设备相互访问,没有限制

2.局域网内设备相互访问,没有限制

3.局域网设备访问其他局域网设备,不允许访问

4.局域网设备访问公网设备,就需要对局域网设备进行IP地址转换

5.公网设备访问局域网设备是不允许主动访问的

试想下面一个场景

我的电脑访问一下服务器,

此时源ip就是 192.168.2.10

目的IP就是1.2.3.4

一般路由器会带有两个地址

WAN口地址 :可能是局域网IP也可能是公网IP 这里假设为5.6.7.8

LAN口地址:往往是局域网IP

这里想从这个路由器发起转发,这里源IP就变成了5.6.7.8,目的IP不变

不是每个路由器都会替换

数据包到达服务器的时候,服务器感受到的IP就是5.6.7.8

进行了上述替换本质上就是一个公网IP能对应多个设备,就起到了节省IP的效果

此时主机abc三个想与外界访问都只能通过路由器

'

此时这个NAT机制使得发出去的数据的源ip替换了,那么服务器怎么找到替换前的IP呢??

试想一个这样的场景

此时在转换的时候路由器就会保存一个路由表来记录替换前的ip和替换后的ip

此时服务器发送报文的时候,如果找到对应的表项的时候,就可以转发回去了

'

如果同一个局域网多个设备访问一个服务器,形式还会更复杂

保存的就是

替换前ip  替换后ip 服务器ip 源端口  目的端口

192.168.1.10 5.6.7.8  1.2.3.4 9090   10000

192.168.1.20 5.6.7.8  1.2.3.4   9090  20000

这就区分了两者

IP报头 + TCP 报头 + 应用层数据包

就可以让路由器收到响应后看传输层的目的端口来比对一下

万一局域网中的两个设备端口也相同??

此时路由器也会对端口号进行映射

将端口也进行替换,假设两个端口号都是10000

就会将两个进行替换 也许是 10001 10002

所以路由器也会修改传输层的报头

总结:

大部分情况下,访问的服务器不同,此时使用端口号就能区分

少数情况下,访问的是相同的服务器,此时就可以映射不同的端口来区分

3.IPv6策略(根本解决问题)

将IP地址从32位增加成了128位

相当于变成了2^128 个地址

"给每粒沙子都分配一个地址"

迟迟没有完全落地  因为所有的硬件设备都得换,而且对体验提升不大

但是中国已经覆盖到70%,虽然使用率一般,但是防止了美国在IP地址上的垄断操作

避免美国直接给你断网

今天的分享就到这里,待续.....


相关文章
|
3月前
|
负载均衡 网络协议 网络性能优化
动态IP代理技术详解及网络性能优化
动态IP代理技术通过灵活更换IP地址,广泛应用于数据采集、网络安全测试等领域。本文详细解析其工作原理,涵盖HTTP、SOCKS代理及代理池的实现方法,并提供代码示例。同时探讨配置动态代理IP后如何通过智能调度、负载均衡、优化协议选择等方式提升网络性能,确保高效稳定的网络访问。
379 2
|
22天前
|
安全 网络安全 UED
为何长效代理静态IP是网络管理的关键要素
在信息化时代,静态长效IP代理对网络管理至关重要。它能提升网络服务质量,确保远程办公、视频会议等应用的稳定性和连续性;减少延迟和网络拥堵,加快数据传输;提高网络安全,便于设置访问权限,防止未授权访问。91HTTP高质量代理IP服务商助力高效信息获取。
46 23
|
14天前
|
人工智能 自然语言处理 决策智能
智能体竟能自行组建通信网络,还能自创协议提升通信效率
《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
27 6
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
51 11
|
3月前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
3月前
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
3月前
|
数据采集 安全 搜索推荐
HTTP代理IP纯净度 提升用户网络体验的核心竞争力
随着互联网发展,使用HTTP动态代理IP的需求日益增加。高纯净度的代理IP在隐私与安全、网络体验和业务运营方面至关重要。它能保护用户信息、提高数据安全性、确保访问速度和连接稳定,并提升业务效率与信誉度。
65 2
|
3月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
199 3
|
4月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
102 11
|
4月前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
118 3

热门文章

最新文章