【计算机网络-哈工大】---学习笔记(中)---(二)网络层、IP协议、DHCP、NAT、ICMP、路由算法、路由协议、RIP\OSRF\BGP

2 网络层

2.1 网络层服务

  • 网络层不再是端到端的服务,在每一个网络设备(例如路由器)都需要运行网络协议;
  • 路由器也将拆分网络层的数据报,进行下一步的路由和转发;

image-20220711154144440

  • 1、网络层核心功能-转发和路由
  • 路由器根据数据报,将数据报转发到正确输出端口;
  • 每个路由器要维护一个转发表;

image-20220711154754648

  • 2、网络层核心功能-连接建立

image-20220711154929092

  • 网络层连接:两个主机之间(路径上所有路由器等网络设备参与其中);
  • 传输层连接:两个应用进程之间(对中间网络设备透明);
  • 3、网络层服务模型
  • Internet的网络服务就是尽力而为服务;
  • ATM在网络层提供四种服务,分别是CBR\VBR\ABR\UBR;

image-20220711155149144

  • 提供两种网络层服务模型
    • 无连接服务(不预先确定路径,不同分组不同路径,—数据报网络)
    • 连接服务(路径实现确定,相同路径,—虚电路网络)

image-20220711155802831

2.1.1 连接服务-虚电路网络

  • 网络层是主机到主机(网络核心),传输层是端系统到端系统的;
  • 1、连接服务与无连接服务

image-20220711160135725

  • 2、虚电路(Virutal circuits)

image-20220711160415754

  • 分组交换但是,建立连接,并且占用全部带宽;

image-20220711160651912

  • 携带相同虚电路标识的(VCID)就会沿着相同的路径(每一个路由器都需要建立维护)进行传输;
  • 3、VC的具体实现

image-20220711161144723

  • 由于每一段链路的带宽不同,可以提供的虚电路的数量不同,因此每一条虚电路不是全局统一的一个编号,而是沿路每段链路一个编号;
  • 因此需要转发表记录经过的每条虚电路;
  • 4、VC转发表

image-20220711161338581

  • 5、虚电路信令协议(signaling protocols)

image-20220711162050568

2.1.2 无连接服务-数据报网络

  • Internet网络中,采用的是数据报网络(无连接);
  • 1、数据报网络
  • 每个分组都要携带目的地址;

image-20220711162328399

  • 如果路由算法,更新可能会导致相同目的地址的分组走不同的路径;
  • 2、数据报转发表
  • 记录所有的IP地址是不可能的,因此转发表记录的是目的地址范围;

image-20220711162556869
image-20220711162611913
image-20220711162712894

  • 3、最长前缀匹配优先
    image-20220711162858280
  • 4、数据报网络 vs 虚电路网络
    image-20220711163100757

2.2 IP协议

2.2.1 IP数据报

  • 1、Internet网络层

image-20220711182753350

  • 2、IP数据报(分组)格式

image-20220711182907315

  • 版本号字段占4位:IP协议的版本号;4 -> IPv4;6 -> IPv6;
  • 首部长度字段占4位:IP分组首部长度;(4bit的话最大15),但是视为4字节为单位;
    • 例如:5->IP首部长度为20(5*4)字节;
  • 服务类型(TOS)字段占8位:指示期望获得哪种类型的服务
    • 1998年改名为区分服务;
    • 只有在网络提供区分服务(DiffServ)时使用;
    • 一般情况下并不使用,通常IP分组的该字段(第2字节)的值为00H;
  • image-20220711184613706
  • image-20220711184703025
  • image-20220711184802640
  • image-20220711184910357
  • image-20220711184916643
  • image-20220711184941681
  • image-20220711190039221

2.2.2 IP数据报分片

  • 1、最大传输单元(MTU)

image-20220711190251093

  • 2、IP分片与重组

image-20220711190555970

  • 路由器只管分,不管装,都是统一在目的地进行重组;
  • IP首部需要有字段来标识分片以及确定分片相对顺序;

image-20220711190605301

  • image-20220711190653398
  • image-20220711191033387
  • 说明前面分片的数据大小就是8字节为单位;
  • 3、IP分片过程
    image-20220711191545166
  • 一个最大分片可封装的数据,向下取整后乘以8,因为片偏移量是8的倍数;
  • 总片数是向上取整;(尽可能分最大片);
    image-20220711192124300
  • 4、例子
    image-20220711192200493

2.2.3 IP编址(addressing)

  • 1、IP地址

image-20220711192451825

  • IP编址是针对于实现网络层功能的,交换机不在网络层而在链路层是不编址的,主要是对路由器和端系统进行IP编址;

image-20220711192815059

  • IP地址每8bit为一组,转换为十进制表示;
  • 随意分配IP地址,会给路由转发表造成不能承受的负担;
  • 2、IP子网(Subnets)
    image-20220711193822118

image-20220711193937613

2.2.4 有类IP地址

  • 采用二分法(一共32位);

image-20220711194954380

  • DE类就不区分主机号,就是一组主机,只作为目的地址;
  • 以下分类都是对于ABC类的(有些特殊地址);
  • 1、特殊IP地址

image-20220711195238574

  • 2、私有(Private)IP地址

image-20220711195718573

2.2.5 IP子网划分与子网掩码

  • 1、子网划分

image-20220711200035340
image-20220711200257844

  • 2、子网掩码
    image-20220711200416411

image-20220711200830054

  • 子网掩码,借用主机号的前两位Bit划分为4个子网,128+64=192;
  • 3、子网掩码的应用

image-20220711201421166

  • 可分配地址范围去掉主机域全0和主机域全1的IP地址;
  • 4、一个C类网络划分子网举例

image-20220711201611146

  • 当划分子网时,会造成头尾两个IP地址不能表示主机,前面红色是每个子网的子网地址,绿色是每个子网的网络地址;
  • 划分子网会有一定IP地址损失,但是性能提升;

2.2.6 CIDR与路由聚合

  • 子网地址+子网掩码可以准确描述一个子网;
  • 1、CIDR

image-20220712113125297

/26表示网络前缀长度是26;

image-20220712113409879

  • CIDR提高地址的利用效率;
  • 更大作用在于提高路由效率(将多个子网合并为较大的子网);
  • 路由聚合
  • 2、路由聚合

image-20220712113524349

  • 路由表大大简化;
    image-20220712113840038
  • 左侧小子网应该是连续的,且是2的次方倍数,
  • 但是,有一个组织1,历史原因,有单独的子网在别的地方,如下方就会增加一个最长前缀匹配优先原则,避免路由黑洞的问题;

2.3 DHCP(动态主机配置协议)

  • 主机如何获取IP地址?
    image-20220712114607908
  • 默认网关:这个子网的数据报要离开子网的时候,应该送往的接口地址
  • 图中所示的路由器接口就是这个子网的默认网关;

image-20220712114837524

  • 1、动态主机配置协议(DHCP)

image-20220712115028165

  • 2、DHCP工作示例

image-20220712115612974

  • 0.0.0.0表示本机IP地址;255.255.255.255是广播地址;
  • 第一次主机发出的广播(发现报文),所有主机都可以接收到,但是只有DHCP服务器才会进行响应(提供报文);
    • 为该主机分配IP地址;
    • yladdr就是DHCP服务器给该主机分配的IP地址;
    • 这个提供报文也是通过广播地址发出去的;
  • 第二次主机发出的仍然是广播,也是告知其他的DHCP服务器已经跟现在的这个链接上了;(请求报文);
  • 在DHCP服务器第二次回应之后,就确认绑定该IP地址的了;

image-20220712115706041

image-20220712115724086

  • IP分配是有使用时间限制的;

2.4 网络地址转换(NAT)

  • IPv4可用于公共网络的IP地址已经分配殆尽,因此是有主机使用私有地址,这些私有地址需要通过网络地址转换NAT来进入公共互联网;

image-20220712120823985
image-20220712121158332
image-20220712121306115

  • 1、NAT转换过程

image-20220712121417827

image-20220712121430018
image-20220712121444916
image-20220712121459276

  • 2、NAT存在问题
  • 端口号是16bit,最多可以支持60,000多并行连接
    image-20220712121747159
  • 3、NAT穿透问题

image-20220712121928276
image-20220712122315425
image-20220712122504597

2.5 互联网控制报文协议(ICMP)

  • IP协议如果发生错误,就会丢弃该分组,同时通过ICMP向主机发送差错报告;

image-20220712135118461

  • 1、ICMP报文

image-20220712135134174

  • 2、例外情况

image-20220712135553382

  • 3、ICMP报文的格式
  • ICMP报文也是要封装到IP数据报中传输的;

image-20220712135654828

  • ICMP的头部共8个字节,前4个字节是相同(类型、代码、检验和);
  • 4、ICMP差错报告报文数据

image-20220712140038346

  • 5、ICMP的应用举例:Traceroute
  • 利用一个不存在的端口号,进行短期的路径探测;

image-20220712140308988

2.6 IPv6简介

  • 1、IPv6:动机

image-20220712140851510

  • IPv4的首部长度一般是20字节,但有可选项,所以理论上不确定;
  • 路由器只需要处理基本首部,而不需要管选项中的扩展首部;
  • 2、IPv6数据报格式

image-20220712141118168

  • "流"从一个特定主机发出到一个目的主机的一系列数据报;
  • 3、其他改变 vs IPv4

image-20220712141434460

  • 4、IPv6地址表示形式
  • 一共是8组16进制数;冒号:连接;

image-20220712141911651

  • URL为了防止发生歧义,用[]之后再+端口号;
  • 5、IPv6基本地址类型

image-20220712142151935

  • 6、IPv4向IPv6过渡
    image-20220712142243217
  • 7、隧道(tunneling)
    image-20220712142321018
    image-20220712142331372

2.7 路由算法

2.7.1 路由与转发

  • 路由算法(协议)求解确定去往目的地网络的最佳路径;

image-20220713140720053

  • 1、网络抽象:图

image-20220713140852876

  • 2、图抽象:费用(Costs)

image-20220713141239474

  • 3、路由算法分类

image-20220713141652118

2.7.2 链路状态路由算法

  • 1、Dijkstra算法

image-20220713142458878

image-20220713142710085

  • 2、Dijkstra算法:例1

image-20220713143219699

  • 3、Dijkstra算法:例2

image-20220713143249375

image-20220713143325437

  • 4、Dijkstra算法:讨论

image-20220713143528809

  • 由于动态更新,有可能有一个数据报从B刚到D,结果路径改变,有传回B,来回反复,形成震荡;最终形成TTL变成0,分组被丢弃;

2.7.3 距离向量路由算法

  • 不需要全局信息,知道局部信息就行路由选择;(迭代)

image-20220713143905133

  • 1、Bellman-Ford举例

image-20220713144224641

  • 2、距离向量路由算法

image-20220713144421028

  • 不是一起迭代更新,异步迭代;

image-20220713144638372

  • 3、距离向量路由算法:举例
    image-20220713145146171
    image-20220713145200906

  • 4、距离向量DV:链路费用变化

image-20220713150421102
5、距离向量DV:无穷计数问题

  • 以y和z到达x的距离。注意并没有直接变成60,因为根据之前的递推式,z到达x为5,那么min就会选择为y达到x的最小距离为5+1=6;来回反复很多次;
  • 如果有环路,会出现无穷计数的问题;

image-20220713151027345

  • 解决方案如下:
  • 1、毒性逆转

image-20220713152248174

  • 2、定义最大度量

image-20220713152541876

2.7.4 层次路由

  • 一种路由策略;

image-20220713154018170

  • 1、层次路由

image-20220713154018170

  • 网关路由器就是连接交换不同AS之间的路由信息;
  • 分为内部路由和AS之间的路由;
  • 2、互连的AS

image-20220713154457041

  • 2、自治系统间(Inter-AS)路由任务
    image-20220713154641948

  • 3、路由器1d的转发表设置

image-20220713154821712

  • 4、在多AS间选择
    image-20220713154934506

image-20220713155025744

  • Internet网络就是采用层次路由的方式;

2.8 Internet网络中的路由协议

  • 采用层次路由的方式;

2.8.1 RIP协议(距离向量路由)

  • 1、AS内部路由

image-20220713161321333

  • 2、RIP协议

image-20220713161537137

  • 3、RIP:举例
  • 这里都是字母表示,实际中是IP地址+掩码;

image-20220713161807065

  • 4、RIP:链路失效、恢复

image-20220713162145737

  • 设置为16还是小网络,RIP更多适用于小型网络;
  • 5、RIP路由表的处理
  • 应用层进程实现的协议;是根据功能划分层,路由是网络层功能,因此是网络层协议;

image-20220713162319913

  • 路由器运行由应用层进程实现的RIP协议,那也会运行有UDP/TCP运输层协议,但是网络参考模型中,路由器只到网络层,因为上面层次的协议也是为了完成网络层的功能;路由器本身并不是端系统到端系统的;

2.8.2 OSPF协议(链路状态路由)

  • OSPF(Open Shortest Path First)开放:公共可用
  • 链路状态路由算法;

image-20220714114731779

  • 直接封装到IP数据报,没有经过TCP协议;
  • 1、OSPF优点(RIP不具备)

image-20220714115246940

  • 2、分层的OSPF

image-20220714115246940

image-20220714120341070

  • 区边界路由器同时是一个区域的路由器也是主干网络的路由器;

image-20220714120701148

image-20220714120744357

2.8.3 BGP(边界网关协议)

  • RIP协议是距离向量路由算法,OSPF协议是链路状态路由算法;
  • Internet是采用层次化路由,而BGP就是AS(自治系统间)的路由协议
  • Border Gateway Protocol,BGP,标准域间路由协议;
  • 1、Internet AS间路由协议:BGP

image-20220714121402759

  • 2、BGP基础

image-20220714121754084

  • BGP协议也通过应用层协议TCP进行实现;

image-20220715120647330

  • 尽可能的进行路由聚合;
  • 3、BGP基础:分发路径信息
    image-20220715120854928

  • 4、路径属性与BGP路由(route)

AS:自治系统

image-20220715121100595

  • 就像AS2下一个其他网络,有2c和2b两个方式,这个AS路径是相同的,但是下一跳的端口就不同,指示了具体走那一条链路;
  • 5、BGP路由选择
  • BGP协议是Interet中层次路由自治系统间的路由协议;

image-20220715121714834

  • 6、BGP路由选择策略

image-20220715121934634

image-20220715122215545

  • 提供商网络只为其客户x提供相关路径;
  • 7、为什么采用不同的AS内与AS间路由协议?
  • intra-AS,AS内的路由,纯计算最优策略,不需要考虑很多因素;
  • inter-AS就需要控制如何被路由,谁路由的问题;

image-20220715122528455

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值