网络层 详解,网络层功能,网络层协议,网络层设备。
「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》
本章重点
- 掌握网络层的协议及工作原理
- 掌握网络层的物理设备
网络层
- 一、IP协议
- 1)数据传输
- 2)数据分片
- 二、ICMP协议
- 三、DHCP协议
- 四、RIP协议
- 五、OSPF协议
- 1)工作原理
- 2)工作过程
- 六、网络层设备
- 1)路由器
网络层负责 「端到端」的数据传输,端到端指的是源端到目的端。
数据链路层只能在相邻节点之间传递数据,而网络层可以在「不相邻」的节点之间传递数据,无论中间有多少个机器,网络层都能将将数据从源设备传递到目的设备,而网络层传输数据的核心,就是IP协议。
接下来,我们来了解一下,IP协议是怎么传输数据的。
一、IP协议
IP协议是一种不可靠的端到端数据包「传输服务」,主要实现两个功能:数据传输和数据分片。
1)数据传输
数据传输功能依赖于「IP地址」,IP协议规定IP地址的格式为32位二进制,分为A、B、C、D、E五类:
- A类(1~127):1.0.0.1 ~ 127.255.255.254
- B类(128~191):128.0.0.1 ~ 191.255.255.254
- C类(192~233):192.0.0.1 ~ 233.255.255.254
- D类(224~239):224.0.0.0 ~ 239.255.255.255
- E类(240~225):240.0.0.0 ~ 255.255.255.254
2)数据分片
当传输的数据超过帧的「最大值」时,IP协议会将数据「分割」,放到多个数据帧中传输,传输完成时,再将数据「重组」。
详细资料请参考我的另一篇文章:IP协议详解
二、ICMP协议
ICMP协议是IP的一个组成部分,负责传递「控制信息」,它只负责「检错」而不负责「纠错」。
ICMP协议根据 Type 和 Code 这两个字段来标明传输的情况,以此来控制数据的传输。比如 Type=0,Code=0,代表传输正常;Type=3,Code=3,则意味着端口不可达。
详细资料请看考我的另一篇文章:ICMP协议详解
IP协议定义了IP的格式和使用规则,而电脑具体使用哪个IP地址,你得自己配,DHCP刚好可以帮我们实现分配IP的工作。
三、DHCP协议
DHCP也叫动态主机配置协议,负责「管理和分配IP」。
工作流程分为四步:
- DHCP Discover:客户端广播发现报文,寻找网络内的DHCP服务器。
- DHCP Offer:DHCP服务器发送提供报文,给客户端提供IP地址。
- DHCP Request :客户端广播请求报文,使用指定服务器提供的IP地址。
- DHCP ACK:DHCP服务器发送确认报文,告知IP地址的租期。
详细资料请参考我的另一篇文章:DHCP协议详解
IP协议根据IP地址将数据传输到目的地址,通往目的地址的路线有很多,我们需要选择一条最优的路线,也就是路由选择,而RIP刚好可以帮我们实现这个功能。
四、RIP协议
RIP全称(Routing Information Protocol),中文叫路由信息协议,使用「距离矢量算法」,根据跳数来判断到达目标的「最佳路径」。
每一个路由器都维护一张「路由表」,路由表提供自己到达其他所有路由器的跳数,以及下一跳的路由器。
「跳数」就是到达目标路由器需要经过的路由器的个数,每经过一个路由器,跳数就加1,跳数大于 15 时,判定网络不可达。
路由器每隔30秒广播一次更新信息,并根据其他路由器响应的更新报文修改路由表。
每个路由器都有独立的「计时器」,以此来减小同时广播的几率。
路由表中的每条路由都有一个「超时定时器」,如果超过180秒没有收到路由的更新信息,则判定该路由无效。
对于判定无效的路由,会开启「清除定时器」,如果超过120秒还没有收到路由的更新信息,就从路由表中删除这条路由。
由于最大跳数的限制,RIP只适合小型网络,应用较少,为了适应大型的网络,人们在RIP协议的基础上,研究出了OSPF协议。
五、OSPF协议
OSPF(Open Shortest Path First)根据链路状态选择最短路径。
1)工作原理
OSPF的工作原理很简单:相邻的路由器发送hello报文确定邻居关系,邻居路由器互相交换链路状态,然后使用最短路径算法计算出路由表。
2)工作过程
OSPF协议的工作过程分为三个阶段:邻居发现、链路交换 和 路由计算。
1)「邻居发现阶段」:当路由器初始化或者网络结构发生变化时,相邻的路由器之间发送hello报文,将通信正常的路由器保存到邻居表。
2)「链路交换阶段」:路由器和邻居路由器交换链路状态、并更新到自己的链路状态数据库,邻居再和邻居的邻居交换链路状态,交换到最后,每一个路由器都会获得全网的链路状态。
3)「路由计算阶段」:路由器根据链路状态数据库,使用最短路径算法,计算出各自的OSPF路由表;然后从所有OSPF路由表中选出最优的路径,放到全局路由器。
六、网络层设备
网络中的设备根据IP地址进行通信,IP地址由网络地址和主机地址两部分组成,网络地址不同的两个IP处于两个网段,不同的网段之间不可以直接通信;
而路由器的多个端口可以连接「多个网段」,每个端口的IP地址的网段与所连接的网段一致,从而使数据在不同的网段之间传输。
1)路由器
路由器用来链接多个不同协议的网络,根据路由算法把数据包按照最佳路线传送到目的地址。
路由器内部有一个「路由表」,表里有目的IP地址对应的「下一跳」地址和接口,表里的这些内容是路由选择协议算出来的,比如RIP协议和OSPF协议。
路由表的执行逻辑是,让数据不断的接近目标地址,这个下一跳可能是转发地址,也可能就是目标地址,就像发快递要经过很多个中转站一样。
网络层 详解,网络层功能,网络层协议,网络层设备。相关推荐
- 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议
4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...
- UICC 之 USIM 详解全系列——UICC协议层结构
本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G算力网络技术标准研究. UICC 之 USIM 详解全系列--UICC协议层结构 ...
- 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议---读书笔记
<TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议---读书笔记 1.引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站, ...
- 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》读书笔记
<TCP/IP详解卷1:协议>读书笔记 - QingLiXueShi - 博客园 https://www.cnblogs.com/mengwang024/p/4425834.html &l ...
- 肺功能曲线图怎么看_肺功能报告单怎么看 专家详解肺功能报告单?
肺功能报告单怎么看 专家详解肺功能报告单?专家指出:一般来讲,一份肺功能报告应提示以下内容:1.有无通气功能障碍,2.区分阻塞性.限制性.混合性通气功能障碍,3.肺功能不全分级;必要时还有手术风险评估 ...
- 《TCP IP 详解卷1:协议》阅读笔记 - 第十章
阅读须知:笔记为阅读<TCP IP 详解卷1:协议>后摘抄的一些知识点,其间也有加入一些根据英文原版的自己翻译和结合网上知识后的理解,所以有些段落之间并不能够串联上或者知识点与书上略有差别 ...
- OSI七层模型详解物理层、数据链路层、网络层、传输层.....应用层协议
OSI七层模型详解(物理层.数据链路层.网络层.传输层.....应用层协议与硬件) OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型 ...
- 计算机网络(四)网络层详解
目录 第四章 网络层与网络互连技术 4.1 分类的IP地址 4.2 ARP 4.3 IP数据报格式 4.4 ICMP 4.5 划分子网 4.6 构造超网 4.7 路由器 4.8 RIP 4.9 OSP ...
最新文章
- openssl常用用法
- dmesg显示内核环缓冲区
- xhan/qqbot试用
- android opengl es 纹理 不同设备 白色,android – OpenGL ES 2.0纹理没有在某些设备上显示...
- 从C语言的角度重构数据结构系列(二)-如何衡量一个算法的优劣?
- optee3.14.0 qemu_v8的环境搭建篇
- web前端技术分享:使用react实现简易路由
- PHP算法按数组某一字段进行排序
- python的pygame游戏开始结束信息_从0开始学python第14.8节-pygame射击游戏(一)
- POJ 3164 Command Network (最小树形图)
- linux内核3.6版本及以下的bug引发的故障--cpu使用率100%
- 我理解Docker的过程2
- foreach和IEnumerable+yield和IEnumerator
- android 多选项实现
- iOS OC与JS交互(WebView监听事件)
- java在线支付---01_在线支付功能的演示与概述
- C#获取%AppData%路径的方法
- C程序设计--VC++6.0的使用(常用快捷键)
- 简单的整人代码(你是猪,文章末附带文件)
- 计算机共享文件输入网络密码是什么,Win7共享文件时需要输入网络密码怎么办?...
热门文章
- HTML5-Drog和Drag
- matlab语法 axis on,matlabaxis
- 电商平台微服Dubbox实战,实现高并发抢购
- 小说php 站点源码下载,PTCMS小说站源码
- windows上双开微信代码
- 服务器03系统 关wmi,win10系统WMI服务器怎么关闭
- 计算机应用基础精品课程申报表,“大学计算机基础”校级精品课程组积极申报2020年山西省精品共享课程...
- linux远程摄像头,通过Web远程浏览Mini6410上的摄像头
- PG in not in系列方案比较
- LSB 算法matlab改进版,将二值图嵌入多张灰度图像中