计算机网络第四部分--网络层

计算机网络笔记网络层

  • 1.概述
  • 2数据交换方式
    • 2.1电路交换
    • 2.2报文交换
    • 2.3分组交换
    • 2.4分组交换和报文交换的具体计算对比
      • 2.4.1分组交换的两种传输方式-数据报与虚电路
  • 3.路由算法和路由协议概述
    • 3.1RIP协议和距离向量算法
      • 3.1.1RIP协议概述
      • 3.1.2如何建立路由表
      • 3.1.3RIP协议报文格式
      • 3.1.4RIP协议特点
      • 3.1.5距离向量算法
    • 3.2OSPF协议和链路状态算法
      • 3.2.1OSPF协议概述
      • 3.2.2OSPF协议的其他特点
      • 3.2.3链路状态路由算法
      • 3.2.4OSPF区域
      • 3.2.5OSPF分组
    • 3.3BGP协议
      • 3.3.1BGP协议简介
      • 3.3.2BGP协议交换信息的过程
      • 3.3.3BGP协议报文格式
      • 3.3.4BGP协议特点
      • 3.3.5BGP的四种报文
    • 3.4三种路由协议的比较
  • 4.IP数据报
    • 4.1IP数据报格式
  • 5.IP
    • 5.1ipv4地址
      • 5.1.1ip地址分类
      • 5.1.2特殊ip地址
      • 5.1.3私有ip地址
    • 5.2网络地址转换NAT
    • 5.3子网划分和子网掩码
      • 5.3.1为什么需要子网划分
      • 5.3.2子网掩码
    • 5.4无分类编址CIDR
    • 5.5ARP协议
    • 5.6DHCP协议
    • 5.7ICMP协议
      • 5.7.1ICMP协议概述
      • 5.7.2ICMP差错报告报文
      • 5.7.3ICMP询问报文
      • 5.7.4ICMP的应用
  • 6.IPV6
    • 6.1为什么会有IPV6
    • 6.2IPV6地址表示形式
    • 6.3IPV6数据报格式
    • 6.4IPV4和IPV6的区别
    • 6.5IPV6基本地址类型
    • 6.6IPV4和IPV6之间的过渡
  • 7.IP组播(多播)
    • 7.1什么是组播
    • 7.2IP组播地址
    • 7.3硬件组播
    • 7.4IGMP协议与组播路由选择协议
      • 7.4.1IGMP协议
      • 7.4.2组播路由选择协议
  • 8.移动IP
    • 8.1移动IP的相关术语
    • 8.2移动IP通信过程
  • 9网络层设备
    • 9.1路由器
      • 9.1.1路由器的构造
      • 9.1.2路由器的输入输出端口构造
      • 9.1.3集线器,网桥,路由表几层设备比较
      • 7.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,三段就是3*10=30s
分组交换:可以分成两段,一个是第一个数据开始发到最后一个数据从源端发出,一段是最后一个数据到达目的地。第一段总时间是10000bit/1000bps=10s,第二段总时间是(10/1000)*2=0.02s,所以总时间是10.02s。
理解一下,这里就是报文交换的时候,由于报文没有分割,所以即使先到的数据也不能先发走,只能等最后一段报文全部到了之后一起才能走,相对于分组交换明显拖慢了前面数据的速度,所以导致报文交换慢于分组交换
可以看到,分组交换明显快于报文交换。所以我们通常使用分组交换

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

综述
计算机网络第四部分--网络层_第1张图片

数据报


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

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

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

3.1RIP协议和距离向量算法

3.1.1RIP协议概述

通过交换信息构建路由表

3.1.2如何建立路由表

3.1.3RIP协议报文格式

3.1.4RIP协议特点

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



3.1.5距离向量算法

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


3.2OSPF协议和链路状态算法

3.2.1OSPF协议概述

3.2.2OSPF协议的其他特点

为什么OSPF协议收敛速度快?因为它只刷新一下链路状态,得知其是否连通,不需要和RIP一样进行对照,而是直接通过Dijilstra算法算出路径
计算机网络第四部分--网络层_第2张图片

3.2.3链路状态路由算法

了解即可

3.2.4OSPF区域

了解即可

3.2.5OSPF分组

了解即可

3.3BGP协议

3.3.1BGP协议简介

3.3.2BGP协议交换信息的过程

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

3.3.3BGP协议报文格式

BGP是应用层协议

3.3.4BGP协议特点

计算机网络第四部分--网络层_第3张图片

3.3.5BGP的四种报文

计算机网络第四部分--网络层_第4张图片

3.4三种路由协议的比较

计算机网络第四部分--网络层_第5张图片

4.IP数据报

4.1IP数据报格式

注释:

名称 注释 大小
版本(Version) ipv4或者ipv6 4位
首部长度IHL 此处数值再乘以4才是真正大小,同时因为IP数据报固定长度为20字节,所以此处最小值为5,即二进制的0101 4位
区分服务DSCP+ECN 希望获得那种服务,用的比较少 8位
总长度 首部+数据的长度,最大为2^16-1=65535 16位
标志 用来表示是否分片和分片是否结束 3三位,但实际有用的只有后两位
片偏移 用来标记分片后,该分片在原来的数据报的位置,以八字节为单位 13位
生存时间 即TTL,每经过一个路由器是TTL会-1,0时自动放弃,根据系统不同默认的TTL不同 8位
协议 用来标记协议的字段值,如TCP,UDP,ICMP等等 8位
首部检验和HeaderChecksum 检验首部的字段是否出错,出错就丢弃此数据报
源地址 发送方ip地址 32位
目的地址 接收方ip地址 32位
可选字段 用来排错安全监测 未知,可在0-40位之间
填充 将数据报对齐成4字节的整数倍,数值全部为0 未知,根据可选字段来定

5.IP

5.1ipv4地址

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

5.1.1ip地址分类

5.1.2特殊ip地址

5.1.3私有ip地址


解释一下
为什么A类最大是126.xxx.xxx.xxx?
因为网络号最开始第一位是0,一共八位,所以二进制表示0xxxxxxx,最大就是2^7=123,但是127是特殊ip地址,所以将其去掉
为什么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地址和端口号

5.3子网划分和子网掩码

5.3.1为什么需要子网划分

总结一下,就是ip不够用,所以需要额外整个子网扩展ip

注释:为什么子网号能全0或者全1:因为CIDR编址(可见下一段)
为什么主机号不能全0或者全1:因为全0表示本网络,全1表示广播分组

5.3.2子网掩码

子网掩码就是用来和ip地址一起计算子网的地址的
方法就是讲子网逐位写成二进制然后与原来ip地址进行运算,就可以得到ip地址
因为255是11111111,所以如果写成255的话,ip地址和子网ip地址对应的地方,数值就相同


这道题可以看出,即是子网掩码不同,相同ip地址对应的子网地址,也可能相同
但是子网掩码不同,划分的子网数目不同
为什么划分的子网数目不同?或者说怎算划分子网位数?
以255.255.192.0位例,255是11111111即八个1,192是11000000即2个1,一共是8x2+2=18个1,一共有32位地址,所以剩余有32-18=14位
以255.255.224.0为例,255是11111111即八个1,224是11100000即3个1,一共是8x2+3=19个1,一共有32位地址,所以有32-19=13位

这道题现将255.255.252.0计算出一共有8+8+6=22位网络号位,所有就有32-22=10位主机号位
将180.80.77.55解析,可以知道在77部分开始会用来表示主机位
77的二进制是01001101,因为一共有22位网络号位,所以010011(此处分来)01,从这个01开始是主机号位
所以用来表示子网ip地址的应该是180.80.76(01001100).xxxPS注意76括号内后两位二进制00但是是本体发布广播地址,所以主机号全都是要是1
所以,应该是180.80.79(01001111).255(11111111)注意括号内后两位二进制11

注释:
1.这里特定主机路由就是找特定的处理这里这个ip地址的路由
2.默认路由会将这个数据报发给另一个路由,直至找到对应的路由,或者TTL耗尽被丢弃

5.4无分类编址CIDR


使用CIDR可以聚合网络
如图,通过缩短前缀,R1和R2就可以合并在206.1.0.0/16的子网下
但是这样转发表之中就会有多个匹配结果,所以我们要使用最长前缀匹配

最长前缀匹配就是在计算后符合同一子网的时候选前缀越长的
这道题选B

因为本网络是192.168.5.0/24,就是192.1668.5.(00000000),将248写成二进制是11111000,有五个1,所以前五位都可以作为子网的编号,剩下的三位就是用来分配子网内剩余的地址了,因为不能全0或者全1,所以还要减2

5.5ARP协议


5.6DHCP协议

5.7ICMP协议

5.7.1ICMP协议概述

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

5.7.2ICMP差错报告报文

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

五种ICMP差错报文
其中源点抑制已废弃不用

四种不发送ICMP差错报文的情况
注释:组播是指一点到多点,但不是无脑发到所有点,无脑发到所有点的是广播,组播有筛选条件

5.7.3ICMP询问报文

四种ICMP询问报文
后两种是掩码地址请求和回答报文,路由器询问和通告报文,这两个已经废弃不用

5.7.4ICMP的应用

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

6.IPV6

6.1为什么会有IPV6

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

6.2IPV6地址表示形式

6.3IPV6数据报格式

名称 作用 位数
版本 指明协议版本此处是ipv6所以总是6 4位
优先级 用来区分数据包的类型和优先级 8位
留标签 和ipv4标识某个数据报分片不同,这是对于一整个数据报流的标记 19位
有效载荷长度 指的是扩展首部+数据部分的大小,和ipv4的总长度和首部长度都不同,ipv6的首部长度是固定的40字节 16位
下一个首部 基本首部的下一个首部指的是有效载荷李标记的的扩展首部,有效载荷里的扩展首部再指向有效载荷标记的扩展首部,直至最后指向数据 8位
调数限制 基本相当于ipv4当中的TTL,每到一个路由器-1,减到0时丢弃 7位
源地址 发送发Ipv6地址 128位
目标地址 就收方ipv6地址 128位

6.4IPV4和IPV6的区别

6.5IPV6基本地址类型

名称 作用 要求
单播 一对一通信 可做源地址,目的地址
多播 一对多通信,以前的广播地址当做覆盖所有主机的多播 可做目的地址
任播 一对多当中的一个通信,看似一对多,实则一对一 可做目的地址

6.6IPV4和IPV6之间的过渡

7.IP组播(多播)

7.1什么是组播

单播只能一对一,广播必须一对全部,组播就可以是一对全部中的一部分

辅助理解:单播所占资源多

组播明显减轻了压力

7.2IP组播地址

7.3硬件组播

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

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

7.4.1IGMP协议

注释: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集线器,网桥,路由表几层设备比较

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

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

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 分组交换
参考资料
2019 王道考研 计算机网络

你可能感兴趣的:(网络层学习,计算机网络)