导图
一、网络层功能
注释: 数据报和分组的关系:分组是一段比较长的数据,将它进行切割成一段段之后就得到数据报 功能一就是让数据在路由器之间走最佳的路径 功能二就是让不同的设备(手机,电脑,平板等)都能正常连接 功能三见图中解释 开环控制就是在拥塞之前就提前设计解决 闭环控制就是在拥塞时自动调整解决问题二、数据交换方式
为什么要进行数据交换?因为每个节点之间都拉网线太麻烦了也不实际,所以通过大量交换设备互联进行数据交换
2.1 电路交换
常见的例子:打电话
注释:
链路支持多路复用(可参考数据链路层的TDM等)
特点是独占资源,因为两者建立了连接
2.2 报文交换
注释:报文发送的过程
1.源先根据报文加上ip地址,物理地址等,通过物理层发送
2.交换机收到报文之后,先进行存储,等待链路空闲之后进行转发,但是转发的路径不是固定的,是比较随机的
3.最后通过许多交换机最终到达目的地
2.3 分组交换
分组交换和报文交换基本相同,就是将报文切割之后再进行发送
2.4 分组交换和报文交换的具体计算对比
注释:是怎么计算的?
报文交换:一共三段,每段都需要10000bit/1000bps=10s,三段就是3x10=30s
分组交换:可以分为两段,一个是第一个数据开始发到最后一个数据从源发出,一段是最后一个数据到达目的地。第一段总时间是10000bit/1000bps=10s,第二段总时间是(10/1000)*2=0.02s,所以总时间是10.02s。
理解一下,这里就是报文交换的时候,由于报文没有分割,所以即使先到的数据也不能先发走,只能等到最后一段报文全部到了之后才能一起走,相对于分组交换明显拖慢了前面数据的速度,所以导致报文交换明显慢于分组交换
可以看到分组交换明显快于报文交换,所以我们通常使用分组交换
2.4.1 分组传输的两种方式
三. IP数据报

计算偏移量时记住是以0开始的就行,以每一篇最开始的除以8得到的数值就是偏移量
MF和DF的定义见上图
四. IPV4
4.1 ipv4地址
ipv4地址:全球唯一的表示某一个主机或者路由器接口的编码
4.1.0 ip地址分类
4.1.1 特殊ip地址
4.1.2 私有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地址
4.2 网络地址转换NAT
注释:连接内网和外网,就是找个代理的用它的ip地址与外面收发数据
NAT需要构建NAT转换表,既要存广域网(WAN,外网)也要存局域网(LAN,内网)的ip地址和端口号
注释:连接内网和外网,就是找个代理的用它的ip地址与外面收发数据
NAT需要构建NAT转换表,既要存广域网(WAN,外网)也要存局域网(LAN,内网)的ip地址和端口号
4.3 子网划分和子网掩码
4.3.1 为什么要子网划分?
总结一下,就是ip不够用,所以需要额外整个子网扩展ip
注释:
为什么子网好能全0或者全1:因为CIDR编址(可见下一段)
为什么主机号不能全0或者全1:因为全0代表本网络,全1代表广播分组
4.3.2 子网掩码
子网掩码就是用来和ip地址一起计算子网的地址的
方法就是讲子网掩码逐位写成二进制然后而原来ip地址进行与运算,就可以得到子网ip地址
因为255是11111111,所以如果写着255的话,ip地址和子网ip地址对应的地方的数值就相同
这道题可以看出来,即使子网掩码不同,相同ip地址对应的子网ip地址也可能相同
但是子网掩码不同,划分的子网数目不同
为什么划分的子网数目不同?或者说怎么算划分的子网位数目?
以255.255.192.0为例,255是11111111即八个1,192是11000000即2个1,一共是82+2=18个1,一共有32位地址,所以剩余有32-18=14位
以255.255.224.0为例,255是11111111即八个1,224是11100000即3个1,一共是82+3=19个1,一共有32位地址,所以剩余有32-19=13位
这道题先将255.255.252.0计算出一共有8+8+6=22位网络号位
所以就有32-22=10位主机号位
将180.80.77.55解析,可以知道在77部分某部分开始会用来表示主机号位
77的二进制是0100 1101,因为一共有22位网络号位,所以010011 (此处分开) 01,从这个01开始是主机号位。
所以用来表示子网ip地址的应该是180.80.76(010011 00).xxx PS注意76括号内后两位二进制00
但是本体是发布广播地址,所以主机号全部都要是1
所以应该是180.80.79(010011 11).255(11111111)注意79括号内后两位二进制11
注释:
1.这里特定主机路由就是指找特定的处理这里这个ip地址的路由
2.默认路由会将这个数据报发给另一个路由,直至找到对应的路由,或者TTL耗尽被丢弃
4.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.1 ARP协议
5.2 DHCP协议
5.3 ICMP协议
5.3.1 ICMP协议概述
ICMP,IGMP处于网络层和传输层之间,就是为了更好地转发ip数据报和提高交互成功的几率
5.3.2 ICMP差错报告报文
ICMP差错报告报文如何与IP数据报结合
五种ICMP差错报文
其中源点抑制已废弃不用
四种不发送ICMP差错报文的情况
注释:组播是指由一点到多点,但不是无脑发到所有点,无脑发到所有点的是广播,组播有筛选条件
5.3.3 ICMP询问报文
四种ICMP询问报文
后两种是掩码地址请求和回答报文,路由器询问和通告报文,这两个已经废弃不再使用
5.3.4 ICMP的应用
1.ping命令:测试两个主机之间连通性,使用了ICMP回送请求和回答报文
2.traceroute命令:跟踪一个分组从原点到终点的路径,使用了ICMP时间超过差错报告报文
traceroute命令讲解
六. IPV6
6.1 为什么有ipv6?
就是IPV4地址用完了,从根本上增加ip地址数目,之前讲的NAT和CIDR也只是在IPV4的基础上扩展了IPV4地址数目,治标不治本
6.2 IPV6地址表现形式
6.3 IPV6数据报格式
6.4 IPV4和IPV6的区别
6.5 IP基本地址类型
6.6 IPV4和IPV6之间的过渡
如果是ipv6的数据报到了ipv4,就用ipv4重新封装,把ipv6数据报前面加上ipv4伪装成ipv4数据报继续传输,直至到了ipv6路由再解开ipv4伪装
7 IP组播(多播)
7.1 什么是组播
单播只能一对一,广播必须一对全部,组播就可以是一对全部中的一部分
辅助理解:单播所占资源多
7.2 IP组播地址
7.3 硬件组播
就像全F的mac地址代表广播一样,00-10-5E打头的MAC地址就代表组播
7为什么最大是00-10-5E-7F-FF-FF?因为只有最后23位决定
7.4 IGMP协议与组播路由选择协议
7.4.1 IGMP协议
注释:IGMP只能知道有没有组播组成员,对有几个组播组成员,成员在哪个地方都不知道
7.4.2 组播路由选择协议
八 移动IP
移动IP不等于动态IP(DHCP获得的)
移动IP的可以让用户因为地理原因等等,即使不在内网也可以访问内网的东西