IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络---网络层 -> 正文阅读

[网络协议]计算机网络---网络层

在TCP/IP四层模型中,网络层属于第二层。网络层的主要作用就是负责数据的跨网络传输,网络层最主要的协议是IP协议,一个重要的设备就是路由器负责数据的转发和路由的选择。

1、IP概述

如下图,主机A、B、C、D之间通过多个路由器连接。主机B要将数据跨网络发送给主机C,首先需要知道主机B的IP地址(源IP地址)和主机C的IP地址(目的IP地址),再将数据发送个路由器F,路由器F根据源IP和目的IP选择合适的路径将数据转发出去,最终到达主机C。

通过上面的例子,可以发现网络层数据的跨网络传输离不开IP地址。IP地址可以标识一台主机,路由器通过IP地址选择路径将数据从源主机发送到目标主机,路由器能够争取的根据IP地址将数据转发IP地址就必须具有唯一性,即在网络中IP地址必须能够唯一标识一台主机。

路由器:路由器是网络层的重要设备,路由器连接了两个或两个以上的网络,路由器通过IP地址选择数据的传输路径并将数据转发到下一个网络中,在实现数据的跨网络传输中起到重要的作用。同时,路由器还有分割冲突域的作用(了解)。

2、IP协议报头格式

通过IP进行通信时,需要在数据前面加上IP首部信息(如下图)。IP首部中包含着用于IP协议进行发包控制时所有的必要信息。

?IP协议报头格式如下:

  • 版本:4位,表示标识IP首部的版本号(IPV4的版本号为4)。
  • 首部长度:4位,表示IP首部的长度,单位是4字节(1行的长度)。IP首部最大长度为(2^4-1)*4 = 60字节。
  • ?区分服务:8位,表明服务质量(很少用)。
  • 总长度:16位,IP数据报的总长度,包含报头长度。IP数据报的最大长度为(2^16-1) = 65535字节。
  • 标识:16位,与IP数据报的分片有关。
  • 标志位:3位,与IP数据报的分片有关。从左到右,第一位保留(填0),第二位标识是否进行分片(0表示分片,1表示不分片),第三位表示是否为最后一个分片(0表示是最后一个分片,1表示不是)。
  • 片偏移:13位,与IP数据报分片有关,表示的是某一分片相对于第一个分片的偏移的字节数,第一个片的偏移为0,用来目的主机收到数据后对数据的重组。
  • 生存时间:8位,数据在网络中的存留时间,每经过一个路由器数据的生存时间就会-1,当生存时间为0时会直接将该数据丢弃。
  • 协议:8位,表示IP包的上层传输层的协议编号。
  • 首部校验和:16位,校验IP数据报的首部,确保IP数据报不被破坏。
  • 源地址:32位,数据发送端的IP地址。
  • 目标地址:32位,数据接收端的IP地址。
  • 可选项:长度可变,通常只在实验或者检测时使用。

3、IP数据报分片

?受数据链路层MTU的影响,网络层IP数据报在传输时不得不切分成符合数据链层MTU大小的数据进行发送。

在IP数据报协议的头部,有一个16位的标识字段,同一个IP数据报经过分片得到的众多小的UIP数据报它们的16位标识是相同的。路由器收到数据后,根据16位标识确定这些分片是同一个数据报,在一同转发给目标主机。

同时,在IP数据报的头部还有13位的片偏移,标识的是分片后的数据报相对于第一个数据报的偏移字节数,第一个分片的偏移量为0.目标主机接收到所有分片后,可以根据片偏移的大小对数据报重新组合,得到完整的数据报,在发交给目标主机的传输层处理。

?

4、网段划分

IP地址由32个比特位构成的,每个字节使用.分割的标识网络内唯一一台主机的地址,IP地址可以分为网络号和主机号两部分。

网络号:唯一标识某一网段。

主机号:唯一标识同一网段内的一台主机。

?同一网段内的IP地址的网络号是相同的,如果该网段中新添加一台主机,只需要在该网段内为该主机分配一个未被使用的主机号即可。

为了方便IP地址的管理,把所有的IP地址分为如下五类:

缺陷:通过分类可以看出,ABC类网络的最多主机个数分别为2^24 2^16 2^8个,对于A类网络IP数量非常大,使用场景较少,大多数高校、企业都会选择B类网络。这就导致,A类网络中的IP地址被浪费,大量使用B类网络导致B类网络不足的问题。

?针对这种情况,提出了一种新的方案:

  • 引入一个子网掩码来区分网络号和主机号
  • 将IP地址与子网掩码按位与得到的就是网络号
  • 对于一个网络号占24位的IP地址来说,子网掩码为255.255.255.0
  • 网络号和主机号的划分与IP地址属于ABC类中的哪一类无关。

5、特殊IP地址

在网络中,除了可以分配给主机的IP地址外,还将一些IP地址设置为特殊用途的IP地址,特殊的IP地址不能分配给主机使用。

局域网:主机号为0,就表示这个局域网。

广播地址:主机号为全1的地址

本机回环:127.0.0.1

6、IP地址不足问题

?我们所说的IP地址,通常指的是IPV4地址,IPV4地址用32个比特位表示,理论上所能够表示的主机个数为2^32个,除去一些特殊的IPIPV4所能使用的IP地址是远不足2^32个的。在现在的网络中,这些IP地址是远远不够的。

解决IP地址不足问题的三种方案:

  • 给接入网络的主机动态分配IP地址,减少IP的使用。
  • NAT技术(公网IP和私网IP的转化)
  • IPV6,使用16字节128位来表示IP地址,IPV4和IPV6并不兼容,至今并未普及。

7、公网IP和私网IP

公网IP:简单理解公网IP就是指接入到网络中的IP地址,具有全网唯一性。

私网IP:局域网中的IP地址,在所在网段内具有唯一性。(在某一范围内有效)

同一网段内的通信,使用私网IP即可,而跨网段的通信需要使用公网IP。私网IP在网段内唯一,在网段之间可以是重复的,这样能缓解IP不足问题。

8、IP地址和路由控制

?网络层的主要作用就是将负责数据的跨网路传输,其中重要的设备就是路由器,那么路由器是如何将数据跨网络传输的呢?

如下图,将数据从IP地址为10.1.1.30的主机发送到10.1.2.10的主机,首先要将数据发送到路由器1.路由器中保存着一张路由表,路由表中存储的是路径信息(从该路由器能够到达的下一个路由器的IP地址)。路由器1收到数据后,查询路由表将数据转发给路由器3,路由器3在根据目的IP地址将数据转发给该网段下的主机B。?

9、NAT技术

NAT技术是解决IPV4地址不足的重要手段,也是路由器的一个重要功能。

NAT技术能够将私网IP在通信时转换为公网IP。

NAT技术原理:

  • 客户端A通过私有IP将数据发送到服务器端
  • 首先,客户端需要将包含目的IP的数据发送给路由器,在由路由器进行转发。
  • 路由器接收到数据后,会将私有IP转化成公网IP再将数据转发出去,通过公网IP进行数据的发送。?
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章           查看所有文章
加:2021-07-24 00:12:12  更:2021-07-24 00:12:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 22:07:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码