计算机网络 | 网络层

计算机网络 | 网络层

网络层是OSI参考模型中的第三层,介于传输层数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X.25协议、综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。


目录

1. 概述

2. 数据交换方式

2.1 电路交换

2.2 报文交换

2.3 分组交换

2.4 分组交换和报文交换的具体计算对比

2.4.1 分组传输的两种传输方式-数据报与虚电路

3. 路由算法和路由协议概述

3.1 RIP协议和距离向量算法

3.1.1 RIP协议概述

3.1.2 如何建立路由表

3.1.3 RIP协议报文格式

3.1.4 RIP协议特点

3.1.5 距离向量算法

3.2 OSPF协议和链路状态算法

3.2.1 OSPF协议概述

3.2.2 OSPF的其他特点

3.2.3 链路状态路由算法

3.2.4 OSPF区域

3.2.5 OSPF分组

3.3 BGP协议

3.3.1 BGP协议简介

3.3.2 BGP协议交换信息的过程

3.3.3 BGP协议报文格式

3.3.4 BGP协议特点

3.3.5 BGP的四种报文

3.4 三种路由协议的比较

4. IP数据报

4.1 IP数据报格式

5. IP

5.1 ipv4地址

5.1.1 ip地址分类

5.1.2 特殊ip地址

5.1.3 私有ip地址

5.2 网络地址转换NAT

5.3 子网划分和子网掩码

5.3.1 为什么需要子网划分

5.3.2 子网掩码

5.4 无分类编制CIDR

5.5 ARP协议

5.6 DHCP协议

5.7 ICMP协议

5.7.1 ICMP协议概述

5.7.2 ICMP差错报告报文

5.7.3 ICMP询问报文

5.7.4 ICMP的应用

6. IPV6

6.1 为什么会有IPV6

6.2 IPV6地址表示形式

6.3 IPV6数据报格式

6.4 IPV4和IPV6的区别

6.5 IPV6基本地址类型

6.6 IPV4和IPV6之间的过渡

7. IP组播(多播)

7.1 什么是组播

7.2 IP组播地址

7.3 硬件组播

7.4 IGMP协议与组播路由选择协议

7.4.1 IGMP协议

7.4.2 组播路由选择协议

8. 移动IP

8.1 移动IP的相关术语

8.2 移动IP通信过程

9. 网络层设备

9.1 路由器

9.1.1 路由器的构造

9.1.2 路由器的输入输出端口构造

9.1.3 集线器,网桥,路由表几层设备比较

9.1.4 路由器的路由表和转发表

10. 本章思维导图

本章常用名词中英文对照


1. 概述

注释:
数据报和分组的关系:将一段比较长的数据报进行切割成一段段之后就得到分组

  1. 功能一,路由选择与分组转发,让数据在路由器之间走最佳路径
  2. 功能二,让不同的设备(手机,电脑,平板等)都能正常连接,通过路由器,异构网络互联
  3. 功能三,拥塞控制见图中解释

开环控制就是在拥塞之前就提前设计解决
闭环控制就是在拥塞时自动调整解决问题

OSI参考模型各层次的传输单元
应用层 报文
传输层报文段
网络层IP数据报,分组(如果IP数据报太大就切割成分组)
数据链路层
物理层比特流

2. 数据交换方式

为什么要进行数据交换?

因为每个节点之间都拉网线太麻烦了也不实际,所以通过大量交换设备互联进行数据交换

数据交换方式:电路交换、报文交换、分组交换(数据报方式、虚电路方式)

2.1 电路交换

常见的例子:打电话
注释:
链路支持多路复用(可参考数据链路层的TDM时分复用等)
特点是独占资源,因为两者建立了连接

2.2 报文交换

注释:报文发送的过程

  1. 源先根据报文加上ip地址,物理地址等,通过物理层发送整个报文
  2. 交换机收到报文之后,先进行存储,等待链路空闲之后进行转发,但是转发的路径不是固定的,是比较随机的
  3. 最后通过许多交换机最终到达目的地

2.3 分组交换

分组交换和报文交换基本相同,但是将报文切割之后再进行发送

分组:把大的数据报切割成小的数据块,并行发送

缺点:需要分组排序重组

2.4 分组交换和报文交换的具体计算对比

注释:是怎么计算的?
报文交换:一共三段,每段都需要10000bit/1000bps=10s,三段就是3x10=30s
分组交换:可以分为两段,一个是第一个数据开始发到最后一个数据从源发出,一段是最后一个数据到达目的地。第一段总时间是10000bit/1000bps=10s(发送时间),第二段总时间是(10/1000)*2=0.02s(第一个分组的存储转发时间,后面的分组是并行的),所以总时间是10.02s。
理解一下,这里就是报文交换的时候,由于报文没有分割,所以即使先到的数据也不能先发走,只能等到最后一段报文全部到了之后才能一起走,相对于分组交换明显拖慢了前面数据的速度,所以导致报文交换明显慢于分组交换
可以看到分组交换明显快于报文交换,所以我们通常使用分组交换

2.4.1 分组传输的两种传输方式-数据报与虚电路

综述

数据报

虚电路

虚电路分组携带的是虚电路号,不是目的地址

3. 路由算法和路由协议概述

路由算法就是让路由知道收到报文之后下一步怎么走

OSPF(Open Shortest Path First开放式最短路径优先),适合大网络

RIP(Routing Information Protocol,路由信息协议),适合小网络

BGP(Border Gateway Protocol)边界网关协议

IGP内部网关协议(Interior Gateway Protocol)

EGP: 外部网关协议(Exterior Gateway Protocol)


自治系统AS就是多个路由器之间构成的单独的小圈子,圈子内使用自己的协议,圈子和圈子之间用的是BGP协议

网关=路由器

3.1 RIP协议和距离向量算法

3.1.1 RIP协议概述

通过交换信息构建路由表

距离向量,就是跳数,跳到16就表示不可到达

3.1.2 如何建立路由表

3.1.3 RIP协议报文格式

RIP是应用层协议,使用UDP传送数据

一个RIP报文最多包括25个路由,超过的话就需要再传一次

3.1.4 RIP协议特点

就是来回更新路由表,错误信息被覆盖,导致直至达到距离上限强制错误时才可以得知出错

慢收敛



3.1.5 距离向量算法

注释:
为什么改地址?因为图中是从x得到的信息
为什么距离固定+1?因为路由器只从相邻路由器之间获取RIP报文,距离只会是1
为什么下一跳是x就要替换?因为网络环境不断变化,可能这次某个节点挂掉,所以保持最新的
为什么下一跳不是x时有更新和不处理两种手段?因为这样可以提高效率,比原来快就换,比原来慢就保留原来的


3.2 OSPF协议和链路状态算法

3.2.1 OSPF协议概述

3.2.2 OSPF的其他特点

为什么OSPF收敛速度快?因为它只是刷新一下链路状态,得知其是否连通,不需要和RIP一样进行对照,而是直接通过Dijilstra算法来自己算出路径,所以OSPF收敛快

3.2.3 链路状态路由算法

了解即可

3.2.4 OSPF区域

了解即可

3.2.5 OSPF分组

了解即可

OSPF直接用IP数据报传送

是网络层协议还是传输层协议(传输层的数据部分,用IP数据报封装传送)?

3.3 BGP协议

3.3.1 BGP协议简介

3.3.2 BGP协议交换信息的过程

了解即可,只需要知道BGP交换协议里面交换的是一组路径向量


3.3.3 BGP协议报文格式

BGP是应用层协议

3.3.4 BGP协议特点

3.3.5 BGP的四种报文

3.4 三种路由协议的比较


4. IP数据报

4.1 IP数据报格式

注释:

名称注释大小
版本 Versionipv4或者ipv64位
首部长度 IHL单位是4B(此处数值再乘以4才是真正大小)同时因为IP数据报固定长度为20字节,所以此处最小值为5,即二进制的01014位
区分服务 DSCP + ECN希望获得哪种服务,用的比较少8位
总长度 Total Length单位是1B,首部+数据的长度,最大为2^16-1=65535B16位
标识 Identification用来表示是哪一个数据报的分片,不同的分片标识各不相同(同一数据报的分片使用同一标识)16位
标志 Flags用来表示是否分片和分片是否结束。中间位,DF(Don't Fragment)DF=1禁止分片,DF=0允许分片。最低位,MF(More Fragment)MF=1后面“还有分片”,MF=0代表最后一片/没分片3位,但实际有用的只有后两位
片偏移 Fragment Offset单位是8B,用来标记分片之后,该分片在原来的数据报的位置,以8字节为单位13位
生存时间 Time To Live即TTL,没经过一个路由器TTL-1,变成0时自动放弃,根据系统不同默认的TTL不同,防止无法交付的数据报在网络中无限制地绕圈8位
协议 Protocol

用来标记数据部分使用的协议名的字段值,如TCP6(00000110),UDP17(00010001),ICMP等等

协议名ICMPIGMPTCPEGPIGPUDPIPv6ESPOSPF
字段符1268917415089

8位
首部检验和 Header Checksum检验首部的字段是否出错,出错就丢弃此数据报16位 
源地址 Source IP Address发送方ip地址32位
目的地址 Destination IP Address接收方ip地址32位
可选字段 Options用来排错等安全检测未知,可在0-40位之间
填充将数据报对齐成4字节的整数倍,数值全部为0未知,根据可选字段来定

总长度单位:1B

片偏移单位:8B

首部长度单位 :4B

口诀:一种八片首饰

MTU(Maximum Transmission Unit,MTU)最大传送单元,数据链路层帧可封装数据的上限,以太网的MTU是1500字节


计算偏移量时记住是以0开始的就行,以每一篇最开始的除以8得到的数值就是偏移量
MF和DF的定义见上图

5. IP

5.1 ipv4地址

全球唯一的表示某一个主机或者路由器接口的编码

5.1.1 ip地址分类

ip地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口

ip地址::{<网络号,主机号>}

点分十进制

在这里插入图片描述

5.1.2 特殊ip地址

网络号全0,指的是本网范围内的主机自己

主机号全1,广播地址,广播分组;全0,网络地址,表示一个网络

路由器隔离广播域,因此255.255.255.255不可以作为ip源地址

网络号127,数据只在本地主机环回

在这里插入图片描述

5.1.3 私有ip地址

A类网络号:1B;B类网络号:2B;C类网络号:3B

路由器对目的地址是私有IP地址的数据报一律不进行转发

在这里插入图片描述
解释一下
为什么A类最大是126.xxx.xxx.xxx?
因为网络号最开始第一位是0,一共八位,所以二进制表示位0xxxxxxx,最大就是2^7-1=127,因为0.xxx.xxx.xxx是本网主机地址,又因为127.xxx.xxx.xxx是特殊ip地址,环回地址,所以将其去掉,因此是2^7-2=126;主机号减2是因为一个是全0代表网络地址表示网络,第二个是全1代表广播地址
为什么B类最大是191.255.xxx.xxx?
因为网络号最开始第一位是10,一共八位,所以二进制表示位10xxxxxx,最大就是10111111=191,最小就是10000000=128,无特殊ip地址
为什么C类最大是223.255.xxx.xxx?
因为网络号最开始第一位是110,一共八位,所以二进制表示位110xxxxx,最大就是11011111=223,最小就是10000000=192,无特殊ip地址

在这里插入图片描述

5.2 网络地址转换NAT

注释:连接内网和外网,就是找个代理的用它的ip地址与外面收发数据
NAT需要构建NAT转换表,既要存广域网(WAN,外网)也要存局域网(LAN,内网)的ip地址和端口号

发送:(内网源地址,外网目的地址,发送主机端口号),经过NAT路由器,NAT转换表转换,(外网源地址,外网目的地址,路由器端口号)

接收:(外网源地址,外网目的地址,路由器端口号),经过NAT路由器,NAT转换表转换,(内网源地址,外网目的地址,接收主机端口号)
在这里插入图片描述  

5.3 子网划分和子网掩码

5.3.1 为什么需要子网划分

总结一下,就是ip不够用,所以需要额外整个子网扩展ip
在这里插入图片描述
注释:
为什么子网号能全0或者全1:因为CIDR编址(可见下一段)
为什么主机号不能全0或者全1:因为全0代表本网络,全1代表广播分组,不能指派
在这里插入图片描述

5.3.2 子网掩码

子网掩码就是用来和ip地址一起计算子网的地址的

网络号、子网号全写成1,主机号全写成0
方法就是讲子网掩码逐位写成二进制然后而原来ip地址进行与运算,就可以得到子网ip地址
因为255是11111111,所以如果写着255的话,ip地址和子网ip地址对应的地方的数值就相同
在这里插入图片描述
这道题可以看出来,即使子网掩码不同,相同ip地址对应的子网ip地址也可能相同
但是子网掩码不同,划分的子网数目不同,因为主机号不同了
为什么划分的子网数目不同?或者说怎么算划分的子网位数目?
以255.255.192.0为例,255是11111111即八个1,192是11000000即2个1,一共是82+2=18个1,一共有32位地址,所以剩余有32-18=14位
以255.255.224.0为例,255是11111111即八个1,224是11100000即3个1,一共是8
2+3=19个1,一共有32位地址,所以剩余有32-19=13位
在这里插入图片描述
这道题先根据180确定是B类地址,前16位是网络号;根据子网掩码第三段252,确定6位是子网号,因此主机号32-16-6=10位

将255.255.252.0计算出一共有8+8+6=22位网络号位
所以就有32-22=10位主机号位
将180.80.77.55解析,可以知道在77部分某部分开始会用来表示主机号位
77的二进制是0100 1101,因为一共有22位网络号位,所以010011 (此处分开) 01,从这个01开始是主机号位。
所以用来表示子网ip地址的应该是180.80.76(010011 00).xxx PS注意76括号内后两位二进制00
但是本体是发布广播地址,所以主机号全部都要是1
所以应该是180.80.79(010011 11).255(11111111)注意79括号内后两位二进制11
在这里插入图片描述
注释:
1.这里特定主机路由就是指找特定的处理这里这个ip地址的路由
2.默认路由会将这个数据报发给另一个路由,直至找到对应的路由,或者生存时间TTL耗尽被丢弃
在这里插入图片描述

5.4 无分类编址CIDR

Classless Inter-Domain Routing

在这里插入图片描述
使用CIDR可以聚合网络
如图,通过缩短前缀,R1和R2就可以合并在206.1.0.0/16的子网下
但是这样转发表之中就会有多个匹配结果,所以我们使用最长前缀匹配
在这里插入图片描述
最长前缀匹配就是在计算后符合同一子网的时候,选前缀越长的
这道题选B

0.0.0.0默认路由,表示整个因特网。在路由表中没有看到匹配的目的地址网络,看别的路由器有没有到达目标网络,逼不得已才选
在这里插入图片描述
因为本网络是192.168.5.0/24,就是192.168.5.(0000 0000)/24,

将248写成二进制是11111 000,有五个1,所以前五位都可以作为子网的编号,剩下的三位就是主机号,

最大子网个数。子网编号11111,五位,因为用CIDR技术,可以全0和全1,不用减2

每个子网的最大可分配地址个数。剩下的三位是主机号,用来分配子网内剩余的地址了,因为不能全0或者全1,所以还要减2
在这里插入图片描述

5.5 ARP协议

ARP(Address Resolution Protocol)地址解析协议

同一网段内,主机1发送到主机3(IP3与IP1的子网掩码与运算,是同一网段)

主机1的ARP高速缓存里面IP3地址与MAC3的映射,报文,报文段,IP数据报,分组,帧(源MAC1地址、目的MAC3地址),比特流发送

主机1的ARP高速缓存里面没有IP3地址与MAC3的映射,主机1发送广播ARP请求分组,IP3返回单播ARP响应分组携带MAC3,报文,报文段,IP数据报,分组,帧(源MAC1地址、目的MAC3地址),比特流发送

不同网段内,主机1发送到主机5(IP5与IP1的子网掩码与运算,不是同一网段)

主机1的ARP高速缓存里面没有IP5地址与MAC5的映射,因此报文,报文段,IP数据报,分组,帧(源MAC1地址、目的MAC6地址),比特流发送

其中,因为没有MAC5地址,只能查询默认网关(路由器)的MAC6地址,以默认网关为下一跳。得到MAC6地址的方法也是主机1发送广播ARP请求分组,路由器返回单播ARP响应分组

数据的解封装和封装过程,最多去到网络层,源和目的地址不变,物理地址需要改变

IP5与路由器子网掩码相与判断是否在该路由器网段内,直到找到该网段为止

路由器发送广播ARP请求分组,主机5返回单播ARP响应分组携带MAC5地址

ARP协议:完成主机或路由器IP地址到MAC地址的映射(解决下一跳走哪儿的问题),ARP自动执行

在这里插入图片描述
在这里插入图片描述

5.6 DHCP协议

DHCP,Dynamic Host Configuration Protocol(动态主机配置协议)

主机获得IP地址的方法:静态配置、动态配置

静态配置,静态的配置(IP地址、子网掩码、默认网关)

动态配置,DHCP服务器动态分配(IP地址、子网掩码、默认网关) 

发现、提供、请求、确认

DHCP使用客户/服务器方式、通过广播方式交互,通过广播报文

在这里插入图片描述

5.7 ICMP协议

5.7.1 ICMP协议概述

ICMP,IGMP处于网络层和传输层之间,就是为了更好地转发ip数据报和提高交互成功的几率

ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

IGMP协议(Internet Group Management Protocol)Internet 组管理协议,是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间。IGMP协议共有三个版本,即IGMPv1、v2 和v3。
在这里插入图片描述

5.7.2 ICMP差错报告报文

五种ICMP差错报文

其中源点抑制已废弃不用
在这里插入图片描述

ICMP差错报告报文如何与IP数据报结合

在这里插入图片描述

四种不发送ICMP差错报文的情况

注释:组播是指由一点到多点,但不是无脑发到所有点,无脑发到所有点的是广播,组播有筛选条件

在这里插入图片描述

5.7.3 ICMP询问报文

四种ICMP询问报文

后两种是掩码地址请求和回答报文,路由器询问和通告报文,这两个已经废弃不再使用 
在这里插入图片描述

5.7.4 ICMP的应用

1.ping命令:测试两个主机之间连通性,使用了ICMP回送请求和回答报文
2.traceroute命令:跟踪一个分组从原点到终点的路径,使用了ICMP时间超过差错报告报文
traceroute命令讲解

6. IPV6

6.1 为什么会有IPV6

就是IPV4地址用完了,从根本上增加ip地址数目,之前讲的NAT和CIDR也只是在IPV4的基础上扩展了IPV4地址数目,治标不治本

NAT(Network Address Translation,网络地址转换)协议

CIDR(Classless Inter-Domain Routing,无类域间路由选择)
在这里插入图片描述

6.2 IPV6地址表示形式

在这里插入图片描述

6.3 IPV6数据报格式

名称作用位数
版本 Version知名协议版本,此处因为是ipv6所以总是64位
优先级 Traffic Class又来区分数据报的类型和优先级8位
流标签 Flow Label和ipv4标识某个数据报分片不同,这是对于一整个数据报流的标记19位
有效载荷长度 Payload Length指的是扩展首部+数据部分的大小,和ipv4的总长度和首部长度都不同,ipv6的首部长度是固定的40字节16位
下一个首部 Next Header基本首部的下一个首部指的是有效载荷里标记的的扩展首部,有效载荷里的扩展首部再指向有效载荷里标记的的扩展首部,直至最后指向数据8位
跳数限制 Hop Limit基本相当于ipv4当中的TTL,每到一个路由器-1.减到0时丢弃,并返回ICMP时间超过差错报告报文7位
源地址 Source Address发送方ipv6地址128位
目标地址 Destination Address接收方ipv6地址128位
扩展首部扩展首部1,扩展首部2,扩展首部3

在这里插入图片描述

6.4 IPV4和IPV6的区别

在这里插入图片描述

6.5 IPV6基本地址类型

名称作用要求图示
单播一对一通信可做源地址,目的地址
多播一对多通信,以前的广播地址当做覆盖所有主机的多播可做目的地址
任播一对多当中的一个通信,看似一对多,实则一对一(通常是离最近的一台)可做目的地址

6.6 IPV4和IPV6之间的过渡

隧道技术:如果是ipv6的数据报到了ipv4,就用ipv4重新封装,把ipv6数据报前面加上ipv4伪装成ipv4数据报继续传输,直至到了ipv6路由再解开ipv4伪装
在这里插入图片描述

7. IP组播(多播)

7.1 什么是组播

单播只能一对一,广播必须一对全部,组播就可以yi'q是一对全部中的一部分
在这里插入图片描述
辅助理解:单播所占资源多
在这里插入图片描述
组播明显减轻了压力
在这里插入图片描述

7.2 IP组播地址

在这里插入图片描述

7.3 硬件组播

就像全F的mac地址代表广播一样,00-10-5E打头的MAC地址就代表组播
7为什么最大是00-10-5E-7F-FF-FF?因为只有最后23位决定

在这里插入图片描述

7.4 IGMP协议与组播路由选择协议

7.4.1 IGMP协议

注释:IGMP只能知道有没有组播组成员,对有几个组播组成员,成员在哪个地方都不知道
在这里插入图片描述

在这里插入图片描述

7.4.2 组播路由选择协议

有了这个,成员可以自行找到转发组,自行决定参加哪个组播(就像电视机选台一样)
在这里插入图片描述
在这里插入图片描述

8. 移动IP

移动IP不等于动态IP(DHCP获得的)
移动IP的可以让用户因为地理原因等等,即使不在内网也可以访问内网的东西

8.1 移动IP的相关术语

在这里插入图片描述

8.2 移动IP通信过程

在这里插入图片描述
在这里插入图片描述

9. 网络层设备

9.1 路由器

9.1.1 路由器的构造

功能:路由选择(外部)和分组转发(内部)

在这里插入图片描述

9.1.2 路由器的输入输出端口构造

在这里插入图片描述
在这里插入图片描述

9.1.3 集线器,网桥,路由表几层设备比较

在这里插入图片描述

9.1.4 路由器的路由表和转发表

这里实际上就是对前面知识的复习了

路由表,路由选择算法,IGP包括OSPF(IP)和RIP(UDP),EGP包括BGP(TCP)

转发表,由路由表得来
在这里插入图片描述

10. 本章思维导图

在这里插入图片描述

本章常用名词中英文对照

Forwarding table 转发表
Virtual-circuit networks 虚电路网络
Datagram networks 数据报网络
Signaling message 信令报文
Active queue management 主动队列管理
Head-of-the-line 队头
Classless interdomain routing (CIDR) 无类域间路由
Plug-and-play 即插即用
Anycast 任播
Interior gateway protocols 内部网关协议
Routing information Protocol 路由信息协议(RIP)
Open shortest Path First OSPF 开放最短路径优先
Area border routers 区域边界路由器
Circuit Switching 电路转换
Packet Switching 分组交换

OSPF(Open Shortest Path First开放式最短路径优先)

RIP(Routing Information Protocol,路由信息协议)

BGP(Border Gateway Protocol)边界网关协议

IGP内部网关协议(Interior Gateway Protocol)

EGP: 外部网关协议(Exterior Gateway Protocol)

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值