计算机网络-网络层
2021 年 01 月 08 日 192 2490 字 暂无评论

01.概述

  • 主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
  • 网络层传输单位是数据报
  • 功能一:路由选择与分组转发
  • 功能二:异构网络互联
  • 功能三:拥塞控制

02.数据交换方式

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

2.1 电路交换

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

2.2 报文交换

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

2.3 分组交换

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

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

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

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

  • 数据报

  • 虚电路

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

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

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

04.IP数据报

4.1 IP数据报格式

4.2 IP数据报分片

  • 计算偏移量时记住是以0开始的就行,以每一篇最开始的除以8得到的数值就是偏移量。
  • 最低位MF表示后面还有没有分片。
  • 中间位DF表示是否允许分片。

05.IP

5.1 ipv4地址

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

5.1.1 ip地址分类

5.1.2 特殊ip地址

5.1.3 私有ip地址

  • 为什么A类最大是126.xxx.xxx.xxx?

    • 因为网络号最开始第一位是0,一共八位,所以二进制表示位0xxxxxxx,最大就是2^7-1=127,但是因为127.xxx.xxx.xxx是特殊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。
  • 分类的ip地址的弱点

    • ip地址空间利用率有时很低。
    • 两级ip地址不够灵活。

  • 为什么子网号能全0或者全1:因为CIDR编址。
  • 为什么主机号不能全0或者全1:因为全0代表本网络,全1代表广播分组。

5.3.2 子网掩码

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

  • 子网掩码不同,相同ip地址对应的子网ip地址也可能相同。
  • 但是子网掩码不同,划分的子网数目不同。

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

5.4 无分类编制CIDR

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

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

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

5.5 ARP协议

  • 由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。
  • ARP协议:完成主机或路由器IP地址到MAC地址的映射。(解决下一跳走哪的问题
  • ARP协议使用过程

    • 检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组同一局域网中所有主机都能收到该请求。目的主机收到请求后会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)。
  • ARP协议4种典型情况

    • 主机A发给本网络上的主机B:用ARP找到主机B的硬件地址;
    • 主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址;
    • 路由器发给本网络的主机A:用ARP找到主机A的硬件地址;
    • 路由器发给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。

5.6 DHCP协议

5.7 ICMP协议

5.7.1 ICMP协议概述

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

5.7.2 ICMP差错报告报文

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

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

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

5.7.3 ICMP询问报文

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

5.7.4 ICMP的应用

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

06.IPv6

6.1 为什么会有IPv6

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

6.2 IPv6地址表示形式

6.3 IPv6数据报格式

6.4 IPv4和IPv6的区别

  • IPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。
  • IPv6将IPv4的校验和字段彻底移除,以减小每跳处理时间。
  • IPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。
  • IPv6支持即插即用(即自动配置),不需要DHCP协议。
  • IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍。
  • IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
  • ICMPv6:附加报文类型“分组过大”。
  • IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
  • IPv6取消了协议字段,改成下一个首部字段。
  • IPv6取消了总长度字段,改用有效载荷长度字段。
  • IPv6取消了服务类型字段。

6.5 IPv6基本地址类型

6.6 IPv4和IPv6之间的过渡

  • 如果是ipv6的数据报到了ipv4,就用ipv4重新封装,把ipv6数据报前面加上ipv4伪装成ipv4数据报继续传输,直至到了ipv6路由再解开ipv4伪装。

07.IP组播(多播)

7.1 什么是组播

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

  • 单播所占资源多

7.2 IP组播地址

7.3 硬件组播

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

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

7.4.1 IGMP协议

  • 注释:IGMP只能知道有没有组播组成员,对有几个组播组成员,成员在哪个地方都不知道。

7.4.2 组播路由选择协议

  • 成员可以自行找到转发组,自行决定参加哪个组播(就像电视机选台一样)。

08.移动IP

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

8.1 移动IP的相关术语

8.2 移动IP通信过程

09.网络层设备

9.1 路由器

9.1.1 路由器的构造

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

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

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


版权属于:zfh

本文链接:http://zfhblog.com/index.php/archives/194/



评论已关闭