计算机网络篇- 网络层

网络层

两类信息 :

1.转发源主机和目的主机之间所传送的数据。

2.传送路由信息。

网际协议IP

间接交付 :需要经过一个或者几个路由器转发(也就是说通信双方不在同一网络)。

直接交付 : 不需要通过路由器的转发(在同一网络)。

跳 :一次分组转发

下一跳 : 下一次转发,通常用于指下一次转发所到达的路由器。

IP地址编址方式

分类

由两部分组成,网络号和主机号,其中不同分类具有不同的网络号长度,并且是固定的。

IP 地址 ::= {< 网络号 >, < 主机号 >}
在这里插入图片描述

无分类编址CIDR(无分类域间路由选择)

IP地址 ::={<网络前缀>,<主机号>}

网络前缀的位数不固定

采用斜线记法(CIDR记法)

网络前缀 :用于指明网络。

地址块 : 网络前缀相同的连续IP地址组成的一个块。

地址掩码 (子网掩码):用于计算出网络地址

方法:把二进制IP地址与掩码进行按位AND运算即可得到网络地址

特殊的CIDR地址块 :

1 、网络前缀位数为零且主机号也全为0 用于默认路由

2、前缀n=31 主机号为0和1,用于点对点链路。

3、 前缀=32,无主机号,用于主机路由。

路由聚合 : 在路由器的转发表中利用较大的CIDR块代替许多较小的CIDR块。

IP地址的特点

1、每一个IP地址都由网络前缀和主机号组成。

2、IP地址是标志一台主机(或路由器)和一条链路的接口。也就是说如果一台主机同时连接在不同网络上 那么它将具有多个不同的IP地址。这种主机称为多归属主机。

3、一个网络是指具有相同网络前缀的主机的集合。不同网络前缀的局域网必须由路由器连接(通过转发器或交换机连接的不同局域网仍属于一个网络)。

4、互联网平等的对待每一个IP地址。

地址解析协议ARP

作用 :用于解决同一个局域网上主机或者路由器IP地址到MAC地址的映射问题。

原理 :在主机上设有一个ARP高速缓存,在里面存储一个保存了本局域网各主机IP地址到MAC地址的映射表。该映射表是动态更新的。

实际网络的链路上是利用MAC地址进行数据帧传输的

如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组,主机 B 收到该请求后会发送 ARP 响应分组(单播)给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射。

IP数据报格式

版本 : 有 4(IPv4)和 6(IPv6)两个值;

首部长度 : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为固定部分长度为 20 字节,因此该值最小为 5。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。

区分服务 : 用来获得更好的服务,一般情况下不使用。

总长度 : 包括首部长度和数据部分长度。

生存时间 :TTL,它的存在是为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL 为 0 时就丢弃数据报。

协议 :指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。

首部检验和 :因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。

不采用CRC冗余算法,而是发送方将首部 分为若干个16位字的序列并将检验字段置零。利用反码算术运算把所有16位字相加后将得到的和的反码写入检验和的字段。接收方再将首部的所有16位字再使用反码算术运算相加一次。将得到的和取反码,若首部未发生改变则结果必为零。

标识 : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。

标志 :标志的最低一位为MF, MF=1标识后面还有分片数据报。MF表示这是数据报最后一个分片。标志的中间一位记为DF,意思是不能分片。只有DF为0时才允许分片。

片偏移 : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。

目的地址 :接收IP数据报的主机地址。

源地址 :发送IP数据报的主机地址。

IP层转发分组的过程

基于终点的转发 :分组在互联网上传送和转发是基于分组首部中的目的地址的。

最长前缀匹配 :在采用CIDR编制时,如果一个分组在转发表中可以找到多个匹配的前缀,那么应当选择前缀最长的一个作为匹配的前缀。

主机路由 :对特定目的的主机的IP地址专门指明的一个路由。可使网络管理人员更方便地控制网络和测试网络。

默认路由 :不管分组的最终目的网络在哪里,都由指定的路由器R来处理。

利用二叉线索查找转发表 :IP地址从左到右的比特值决定了从根节点逐层向下层延伸的路径。这里的路径采用的是该IP地址在该转发表中唯一的前n位 称为唯一前缀。

这里需要注意的是唯一前缀路径并不一定是网络前缀,所以在匹配唯一前缀后还需要将该叶子节点中的网络前缀和与子网掩码AND运算后得出的目的网络前缀进行匹配。

网际控制报文协议ICMP

ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。

ICMP差错报文:

1、终点不可达类型 : 当路由器或主机不能交付数据报时就向源点发送终点不可达报文。

2、时间超过类型 :当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。

3、参数问题类型 :当路由器或目的主机收到的数据报的首部中有的字段的值不正确时就丢弃该数据报

4、改变路由类型 :路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。

应用 :利用时间超过报文可追踪报文到达终点经过的路由信息。

ICMP询问报文 :

1、回送请求或回送回答 :ICMP回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。

2、时间戳请求或时间戳回答: ICMP时间戳报文发出之后,就能接收到对方回应的ICMP时间戳回答报文,用来计算往返时延。

应用 :PING 用来测试两台主机的连通性。

IPV6

IPV6仍支持无连接的传送,但将协议数据单元PDU称为分组,而不是IPv4的数据报。

取消了检验和字段

具有扩展首部,但不属于其基本首部。

IPv4到IPv6的过渡 :由于整个过渡不可能统一在某一时间点完成,所以在过渡期 同时存在IPv4和IPv6 这样就存在兼容问题。为了解决整个问题 我们有以下解决方案 :

1、采用双协议栈 也就是说在主机上同时安装IPv4和IPv6两种协议 但是这种方法是不高效且代价太大。

2、利用隧道技术 也就是在由IPv6协议栈传送到IPv6协议栈的中间增加隧道(处于IPv4网络环境),隧道两端是双协议栈主机,在进入隧道前将IPv6封装在IPv4的数据部分 伪装成IPv4进行传输,到达隧道另一端时再将数据部分交给IPv6协议栈。

互联网的路由选择协议

内部网关协议IGP(域内路由选择) :即在一个自治系统内进行路由选择的协议。

RIP

基于距离向量的路由选择协议。

适用小型互联网

特点 :

1、仅和相邻路由器进行交换信息

2、路由器交换的信息是当前本路由所知道的全部信息,即自己现在的路由表。

3、按固定的时间间隔交换路由信息

4、好消息传播的快,坏消息传播的慢

5、定期交换信息,每个RIP报文最多携带25个路由,其余的再做为一个RIP发送。

距离向量算法:接收到地址为X的相邻路由器发来的RIP报文时,先将跳数+1,然后将下一跳地址设置为X,目的地址net不变。表示经过我到达net的距离为 跳数+1 下一跳地址为X 。然后查询自己的路由表如果发现没有终点为net的路由项,则将该项写入到自己的路由表,反之则对比跳数,跳数少的保留。

OSPF(开放最短路径优先)

基于链路状态协议构建一个链路状态数据库 也就是一个全网(本自治系统)的拓扑结构图。

特点 :

1、向本自治系统中所有路由发送信息。

2、发送的信息就是与相邻的所有路由器的链路状态,但这只是路由器知道的部分信息。

3、当链路发生变化或每隔一段时间,路由器向所有路由器利用洪泛法发送链路状态信息。

4、利用链路状态数据库构造出路由表。

5、为了能够在大型自治系统中使用,而性能更高,OSPF引入区域,并且按层次划分为主干区域和区域,每个区域中的路由器又分为区域边界路由器和区域内部路由器。主干区域用于连接其它各区域,区域边界路由进行区域间的路由信息交换,也就是说区域内部路由器只知道本区域的路由信息。并且在主干区域中还存在一个自治系统边界路由器,用于自治系统间的信息交换。

6、OSPF允许管理员给每条路由指派不同的代价(费用、距离、时延、带宽)。

7、负载均衡 。将通信量分配给多个代价相同的网络路径。

8、具有鉴别功能,只保留可信赖的状态信息。

9、支持可变长度的子网划分和无分类CIDR。

10、每个链路状态都带上一个序号 (32位) ,序号越大状态越新。

10、相邻路由器每隔10秒进行一次问候用于确认相邻路由器可达。若40秒没有收到相邻路由器的问候则表示该路由器不可达应立即修改数据库,并重新计算路由表。

分组类型 :

问候分组 :用来发现和维持邻站的可达性。

数据库描述分组 :向邻站给出自己的链路数据库的所有链路状态项目的摘要信息。

链路状态请求分组 :向对方请求发送某些链路状态信息的具体信息。

链路状态更新分组 :用洪泛法对全网更新链路状态。

链路状态确认分组 :对链路更新分组的确认。

OSPF让每一个路由器利用数据库描述分组向相邻的路由器交换本数据库中已有的链路状态摘要信息,然后利用状态请求分组向相邻路由器请求自己缺少的某些链路状态项目的具体信息。并且只要有一个路由器的链路状态发生变化,该路由器就要使用链路状态更新分组,利用洪泛法向全网更新链路。

外部网关协议EGP(域间路由选择):即自治系统之间的路由选择协议。

BGP特点

BGP采用路径向量路由选择协议

BGP 只能寻找一条比较好的路由,而不是最佳路由。

BGP路由

在一个自治系统AS中有两种路由器  分别为**边界路由器**和**内部路由器**,一个AS至少有一个边界路由器和相邻的AS的边界路由器直接相连。当边界路由器接收到BGP路由后,再转发给本AS中的内部路由器。

eBGP :不同AS之间两个对等端之间的BGP连接。

两个边界路由进行通信时,必须建立TCP连接(半永久性,也就是说交换完信息后仍保持连接),两个边界路由器的连接也叫eBGP

iBGP :同一AS间不同对等端的BGP连接。

两个内部路由器进行通信,需要建立iBGP连接(全连通,即两个路由器没有物理连接,但它们之间也有iBGP连接。)

在这里插入图片描述

前缀即BGP路由终点(子网前缀)

BGP属性一般有AS-PATH(自治系统路径):也就是BGP路由经过的AS 、NEXT-TOP(下一跳) :也就是BGP路由的起点

例:

当R2接收到 BGP路由(X,AS1,R1)时,会(通过iBGP)转发给其内部路由器。当内部路由器R4接收到该BGP路由时 会将路由R1→X转变为R2→R1→X,然后由内部网关协议进行从R4到R2的最佳路由选择形成转发表。之后当R4接收到要发送到X的信息时,R4会通过该最佳路由将该消息先交给R2,再由R2转发给R1,然后再由R1转发到X。

三种不同的AS

末梢AS 、穿越AS 、对等AS。

BGP路由选择

  • 本地偏好LOCAL-PREF 值最高

  • 选择AS跳数最少的路由

  • 使用热土豆算法 :当本地偏好值一样,AS跳数也相同,那么就采用热土豆算法,也就是让分组的转发次数最少离开本AS

  • 选择路由器BGP标识符的数值最小的路由

BGP的四种报文

  • OPEN 报文 ,用来与BGP连接对等端建立关系。

  • UPDATE 报文 ,用来通告某一路由信息,以及列出要撤销的路由。

  • KEEPALIVE 报文,用来周期性地验证与对等端的连接性。

  • NOTIFICATION 报文,用来发送检测到的错误。

路由器的构成

路由器从功能上可以划分为:路由选择(控制层面)和分组转发(数据层面)。

分组转发结构由三个部分组成:交换结构、一组输入端口和一组输出端口。

路由器分组转发流程
  • 从数据报的首部提取目的主机的 IP 地址 D,得到目的网络地址 N。

  • 若 N 就是与此路由器直接相连的某个网络地址,则进行直接交付;

  • 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给表中所指明的下一跳路由器;

  • 若路由表中有到达网络 N 的路由,则把数据报传送给路由表中所指明的下一跳路由器;

  • 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;

  • 报告转发分组出错

虚拟专用网VPN

由于 IP 地址的紧缺,一个机构能申请到的 IP 地址数往往远小于本机构所拥有的主机数。并且一个机构并不需要把所有的主机接入到外部的互联网中,机构内的计算机可以使用仅在本机构有效的 IP 地址(专用地址)。

有三个专用地址块:

  • 10.0.0.0 ~ 10.255.255.255

  • 172.16.0.0 ~ 172.31.255.255

  • 192.168.0.0 ~ 192.168.255.255

VPN 使用公用的互联网作为本机构各专用网之间的通信载体。专用指机构内的主机只与本机构内的其它主机通信;虚拟指好像是,而实际上并不是,它有经过公用的互联网。

下图中,场所 A 和 B 的通信经过互联网,如果场所 A 的主机 X 要和另一个场所 B 的主机 Y 通信,IP 数据报的源地址是 10.1.0.1,目的地址是 10.2.0.3。数据报先发送到与互联网相连的路由器 R1,R1 对内部数据进行加密,然后重新加上数据报的首部,源地址是路由器 R1 的全球地址 125.1.2.3,目的地址是路由器 R2 的全球地址 194.4.5.6。路由器 R2 收到数据报后将数据部分进行解密,恢复原来的数据报,此时目的地址为 10.2.0.3,就交付给 Y。

网络地址转换 NAT

专用网内部的主机使用本地 IP 地址又想和互联网上的主机通信时,可以使用 NAT 来将本地 IP 转换为全球 IP。

在以前,NAT 将本地 IP 和全球 IP 一一对应,这种方式下拥有 n 个全球 IP 地址的专用网内最多只可以同时有 n 台主机接入互联网。为了更有效地利用全球 IP 地址,现在常用的 NAT 转换表把传输层的端口号也用上了,使得多个专用网内部的主机共用一个全球 IP 地址。使用端口号的 NAT 也叫做网络地址与端口转换 NAPT。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值