20210724
恋词强化2 | 计网C4
目录
恋词强化2
计网C4
网络层。最(zui)有(nan)趣的一章,加油。md!
这一章知识点比较复杂而且相对来说可能比较难,先在脑里面形成知识框架吧,别乱了
4.1 网络层功能概述
- 网络层主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报
- 功能1:路由选择与分组转发
- 异构网络互联
- 拥塞控制。若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态,因此一定要采取这种措施,缓解这种拥塞(开环控制,闭环控制)。
拥塞控制是一个全局性的问题,即整个网络负载过重。与流量控制不同,流量控制是指发送方的发送速率太快,接收方要告诉发送方要慢点发。
4.2 IP 数据包格式
- IP 数据包分为两部分,首部(头部) + 数据部分(不是网络层的重点),首部分为固定部分(一定要有)和可变部分(可有可无)
- 固定部分长度固定为20字节(1字节=8比特)
- 版本字段4位(IPv4/IPv6)IPversion的意思
- 首部长度4位,可以表示16个十进制数0~15。单位是 4B,最小为5
- 填充字段的意义上把首部长度填充为4字节的整数倍
- 总长度=首部+数据,单位是1B
- 生存时间TTL:IP分组的保质期,经过一个路由器-1,变成0则丢弃。设置TTL的意义是防止无法交付的数据报在网络中兜圈子
- TCP所对应的协议字段值为6(牛牛牛),UDP所对应的协议字段值为17(遗弃)
- 可选字段,用来支持排错、测量以及安全等措施
4.3 IP 数据片分报
- 数据链路层的 MTU 严格地限制着 IP 数据包的长度
- IP 首部中的标志位有3位,但只有后2比特有意义。
- 中间位:DF。DF=1,禁止分片;DF=0,允许分片
- 最低位:MF。MF=1,后面“还有分片”;MF=0,代表最后一片/没分片
- 也就是只有 DF=0 即允许分片的时候,MF才有意义
- 片偏移:来确定片应该放在原始 IP 数据报的哪个位置
- 一种8片的首饰
4.4 IPv4 地址
- A类地址可用的网络数为$2^7-2$,减2的原因是
- 网络号字段全为0的 IP 地址是保留地址,即本网络
- 网络号为127的IP地址是环回自检地址
- B类地址可用网络数为$2^14-1$,减1的原因是128.0这个网络号是不可指派的(即网络号全为0)
- C类地址可用网络数为$2^21-1$,减1的原因是192.0.0这个网络号是不可指派的(即网络号全为0)
- ABC类地址的最大主机数都减2,一个是网络号全一,是广播分组;一个是全为0,即本网络
4.5 网络地址转换
网络地址转换(NAT)是指通过专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址。它使得整个专用网只需要一个全球IP地址就可以与因特网联通。
! 比如一个宿舍办理了 2 Mbit/s 的电信宽带,那么这个宿舍就获得了一个全球IP地址(比如说是 138.76.29.7),而宿舍内4台主机使用私有地址(如192.168.0.0网段)。宿舍的网关路由器应该开启NAT功能,并且某时刻路由器上的NAT转换表如下表。
那么,当路由器从LAN端口收到源IP及源端口号为192.168.0.2:2233的数据报时,就将其映射为138.76.29.7:5001,然后从WAN端口发送到因特网上,以此类推。这需要一个全球地址,就可以让多台主机同时访问因特网。
WAN 端 | LAN 端 |
---|---|
138.76.29.7:5001 | 792.168.0.2:2233 |
138.76.29.7:5060 | 192.168.0.3:1234 |
... | ... |
4.6 子网划分和子网掩码
一个问题:在不划分子网时,既然没有子网,为什么还要使用子网掩码?
这就是为了更便于查找路由表。现在互联网的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。默认子网掩码中1的位置和IP地址中的网络号字段 net -id正好相对应。因此,若用默认子网掩码和某个不划分子网的IP地址逐位相“与”(AND),就应当能够得出该IP地址的网络地址来。这样做可以不用查找该地址的类别位就能知道这是哪一类的IP地址。
做几道例题就差不多,记住几个重要的进制转换特殊数。
那么使用子网掩码时路由器的分组转发算法:
- 提取目的IP地址
- 判断是否直接交付
- 特定主机路由
- 检测路由表中有无路径
- 默认路由为 0.0.0.0
- 丢弃,报告转发分组出错
4.7 无分类编址 CIDR
划分子网虽然在一定程度上提高了IP地址空间的利用,但是在2011年,整个IPv4的地址空间最终被消耗殆尽。为了解决这个问题,提出了无分类编址的方法。
无分类编址又称无分类域间路由选择CIDR(读音“sider”),CIDR将32位IP地址划分为前后两个部分,前面的部分称为网络前缀或简称为前缀,用来指明网络,后面的部分则用来指明主机。
IP地址:{<前缀部分>,<主机号>}
- CIDR消除了传统的A类、B类和C类地址以及划分子网的概念。
- CIDR还使用“斜线记法”,或称为CIDR记法,即在IP地址后面加上“/”,然后写上网络前缀所占的位数。如
128.14.35.7/20
。 - 为了方便路由选择,CIDR使用32位地址掩码。地址掩码由一串1和一串0组成,而1的个数就是网络前缀的长度。如上图所示,斜线记法中,斜线后的数字就是地址掩码中1的个数。所以CIDR融合了子网地址和子网掩码,方便子网的划分。
路由聚合(构成超网)
将多个子网聚合成一个较大子网,叫做构成超网,或路由聚合。
方法:将网络前缀缩短。
例如网络1:203.1.0.0/17和网络2:206.1.128.0/17,可以将这两个子网聚合成一个更大的子网206.1.0.0/16,如下图所示。
路由聚合最大的优点就是大大提高路由效率。
最长前缀匹配
考虑上图这种情况,如果网络3同样满足上面的超网前缀,但是它不再R2所连接的网络内,如果此时一个数据报的地址为206.1.1.1/17,可以知道这个数据报是要发送给网络3的某台主机,如果仅仅使用图中的路由表会导致数据报送错了地方,所以,需要为路由转发表中添加网络3的网络地址。
添加了网络3的IP地址后,在路由转发表中这两个表项都满足目的地址的前缀,这时路由器该如何选择呢?路由器会从匹配结果中选择具有最长的网络前缀的路由——最长前缀匹配。这是因为前缀越长,地址块越小,路由越具体。如上图中,206.1.1.0./17网络前缀有17位,并且都能够匹配17位,另一个网络前缀只有16位,只能匹配前16位,所以会选择下一跳地址为R3。
4.8 ARP 协议
4.9 DHCP 协议
动态主机配置协议。
配置IP后一般不能变,配置一个服务端的机器还可以,但如果是客户端的机器呢?
我抱着一台笔记本电脑在公司里走来走去,或者白天来晚上走,每次使用都要配置IP地址,那可怎么办?还有人事、行政等非技术人员,如果公司所有的电脑都需要IT人员配置,肯定忙不过来啊。
需要有一个自动配置的协议,即动态主机配置协议(Dynamic Host Configuration Protocol),简称DHCP
那网管就轻松多了。只需要配置一段共享的IP地址
每一台新接入的机器都通过DHCP协议,来这个共享的IP地址里申请,然后自动配置好就可
等用完了,还回去,这样其他的机器也能用。
数据中心里面的服务器,IP一旦配置好,基本不会变
这就相当于买房自己装修。DHCP的方式就相当于租房。你不用装修,都是帮你配置好的。你暂时用一下,用完退租就可以了。**
这篇文章写的不错 DHCP & IP的"孽缘"
4.10 ICMP 协议
ICMP和IGMP协议处于网络层和传输层中间的协议,起一个桥梁的作用,更加有效地转发IP数据报和提高交付成功的机会。
对于出错的报文在网络层丢弃掉之后,要发送一个ICMP差错报告报文,有五种类型
- 终点不可达。即无法交付
- 源点抑制。即拥塞丢数据
- 时间超过。即TTL=0
- 参数问题。即首部字段有问题
- 改变路由(重定向)。即可通过更好的路由
4.11 IPv6
CIDR 和 NAT 技术只是延缓了 IPv4 消耗殆尽的时间,这是一种治标不治本的方法。因此,使用 IPv6 从根本上解决地址耗尽的问题。
IPv6 和 IPv4区别如下:
4.12 路由算法与路由协议概述
4.13 RIP协议与距离向量算法
- 距离向量算法
- 对地址为X的相邻路由器发来的RIP报文,全部修改,把下一跳字段中的地址改为X,并把所有距离+1
- 对原来路由表没有的目的网络,整条更新进去
- 对原来路由表有的网络,且下一跳地址是X,不用判断距离,就更新最新的
- 对原来路由表有的网络,但下一跳地址不是X,就要判断距离,选择比原来路由表距离小的进行更新
做完下面的例题就一目了然了
4.14 OSPF协议与链路状态算法
4.15 BGP协议 & 三种路由协议比较
- BGP发言人
- BGP报文时通过TCP传送的
BGP的特点
- BGP支持CIDR,因此 BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
- 在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
4.16 IP组播
4.17 移动IP
- 移动结点
- 本地代理
- 外部代理
- 主地址
- 转交地址
4.18 网络层设备
今天真tm累。