网络层
网络层概述
主要功能
在全局范畴为主机之间的通信进行选路,选路的结果反映为分组交换机(设备)上的转发表 (控制层面)
分组交换机(设备)上的网络层根据转发表以及分组头部信息,将分组向适当链路进行转发(数据层面)
对于面向连接的网络层服务,提供连接建立的功能
分组交换机分类
交换机:
- 连接不同pc端,连接到同一个局域网中
路由器:
- 连接不同网段
- 转换网络地址,私网和公网的转换
根据链路层首部信息进行转发的——链路层节点交换机
根据网络层首部信息进行转发的——路由器
虚电路和数据报网络
面向连接的服务——虚电路,需事先握手
面向无连接的服务——数据报,无需握手
路由器工作原理
最长前缀匹配:查找给定目标地址的转发表项时,请使用与目标地址匹配的最长地址前缀
交换结构
路由器的拥塞问题
缓冲区大小
分组调度策略
尾部丢弃:丢弃到达的数据包
优先级:按优先级丢弃/删除
随机:随机丢弃/移除
ip数据报的分片和重组
网络链路具有 MTU (最大传输单位)属性——是由链路层最大帧的限制决定的
- 不同类型的链路有不同的MTU值
大的IP数据报在网络中会被分成小的分片
一个数据报变成了几个数据报
重组只在目的主机进行
数据报头部的标识、标志以及片偏移字段用于目的主机对接收的分片进行重组
- 每个小的分片都需要包含头部信息
- 标志:1为未结束,0为结束(分片)
- 片偏移量:每个分片在整个报文中的位置,偏移以8字节为单位,所以需要除以8
ipv4地址概述
分类编址
习题:
\(\color{red}{注意解析3}\)
\(\color{red}{0.0.0.0只能作为源地址}\)
划分子网
子网划分的方法:从主机号中借用一部分位数作为子网号
子网掩码:通过在网络号的子网号相应的位置全置1,主机号相应的位置全置0,即可得到子网掩码
CIDR
构造超网
CIDR编址格式
IP地址 ::= {<网络前缀>, <主机号>}
斜线记法:192.168.0.1/24
简写记法:10.0.0.0/10 10/10
ip数据报的发送和转发过程
广播地址路由器不转发
CIDR路由表
使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。
应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配。
获得ip地址
手工配置
DHCP: 动态主机配置协议:从服务器上动态获取IP地址
- 工作在应用层
- 使用UDP协议工作
- DHCP有3个端口
- 67和68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口
- 546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的
ICMP协议
NAT
动机: 本地网络只要使用一个IP地址就可以和外部网络相连 :
不需要从 ISP处获得大批IP地址: 所有设备可以使用同一个 IP地址
可以在不通知外部网络的情况下改变内网主机的IP地址
即使改变了ISP也无须改变内网主机的IP地址
内网主机对外网主机而言是不可见的、不可寻址的。(这也算是一项安全措施).
三种地址转换方式
静态NAT:一个本地地址对应一个全球地址
动态NAT:一个全球地址对应多个本地地址
端口NAT:一个本地地址的端口对应到一个全球地址的端口
选路算法
路由信息协议RIP
RIP路由器更新规则
RIP协议中,距离16表示不可达
坏消息传的慢
开放最短路优先OSPF
外部网关协议BGP
因特网上的AS间路由——BGP4
因特网的规模太大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。自治系统之间的路由选择必须考虑有关策略
BGP 为每个AS提供一种手段,以处理
- eBGP: 从相邻AS获取子网可达性信息
- iBGP: 向该AS内部的所有路由器传播这些可达性信息
基于该可达性信息和AS策略,决定到达子网的“好”路由
- 边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由
BGP会话:两个BGP路由器间通过半永久的TCP连接来交换BGP消息