说明:本笔记出自慕课网 @咚咚呛老师 的课程《编程必会基础 计算机网络+操作系统+计算机组成原理》,有兴趣的小伙伴可以移步学习,在此我只是进行了部分笔记的整理,知识也没有很深入,也希望与大家交流。如果想要深度学习计算机网络,推荐书籍:《计算机网络》。接下来会陆续更新。。。
上一节 计算机网络(1)概述:https://blog.csdn.net/Sabrina_cc/article/details/106171134
目录
一、概述
网络层进行数据路由(决定数据在网络的路径)
数据链路层无法解决跨节点传输,因此要交给网络层
二、IP协议详解
1. 虚拟连接网络
![](https://i-blog.csdnimg.cn/blog_migrate/8b827e1531946e4e432664863691b0e0.png)
2. IP协议
MAC地址是唯一的,在数据链路层使用,并且是固定不变的
IP地址是可变的(受网络环境的影响)
IP地址长度为32位,常分为4个8位 (大约有42亿个)
![](https://i-blog.csdnimg.cn/blog_migrate/41d63ba68bd8851ec1221e2234dcd1f0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/39349b9475b6342b137dccd984a7879b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d716379482b09842b04adbe277224054.png)
3. IP协议转发流程
(1)路由表
![](https://i-blog.csdnimg.cn/blog_migrate/797ae44b522ba7a8064dc9a3e6cfaf81.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cb37f1222adfc4c53569cdf369782a5c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/88634acf1f5c8e9a90d6d4f5b705d809.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d9890207912c5ab8ee0f2357fe3635c4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d21137c5c56093903ec4f562145e35c7.png)
三、ARP协议与RARP协议
数据帧转发的四个步骤:
如果不知道目的的IP地址,就需要广播看回应。
1. ARP协议
ARP(Address Resolution Protocol)地址解析协议
把网络层32位的IP地址转化为数据链路层48位的MAC地址
ARP缓存表
2. RARP协议
RARP(Reverse Address Resolution Protocol)逆地址解析协议
3. 通信过程
四、IP地址的子网划分
IP地址长度为32位,常分成4个8位; IP地址常使用点分十进制来表示(0~255.0~255.0~255.0~255)
然而规划和分配IP地址非常麻烦
1. 分类的IP地址
(1)IP地址划分
(2)特殊的主机号
(3)特殊的网络号
![](https://i-blog.csdnimg.cn/blog_migrate/83fdcc30eeccc1fbca7e32f0c30fa07c.png)
2. 划分子网
3. 子网掩码
为了快速判断网络号提出:子网掩码
![](https://i-blog.csdnimg.cn/blog_migrate/c8512610696acb8897c6596af6d49a4e.png)
4. 无分类编址CIDR
CIDR中没有A、B、C类网络号、和子网划分的概念
![](https://i-blog.csdnimg.cn/blog_migrate/4a7980207d466a65db15d541ea3858bd.png)
五、网络地址转化NAT技术
![](https://i-blog.csdnimg.cn/blog_migrate/982620622aaa5a7a1b8704e76040790d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fec9063c58c6f217a44c92244b8778e8.png)
技术思路:把内网的地址以及端口号转换为新的地址与端口号来对外通讯,并且在接收到相关数据之后再把外网地址与端口号映射成为内网的地址以及端口号,这个过程就是地址转换
六、ICMP协议详解
1. 概述
![](https://i-blog.csdnimg.cn/blog_migrate/6c36e7bfbb5a3ebe4857f60afc1fee08.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2d07ee39352f7af6f45648c07838e26e.png)
分为: 差错报告报文、询问报文
2. 应用
(1)ping应用
使用ICMP的询问报文,判断网络是否通畅以及网络质量
Ping回环地址127.0.0.1
(2)Traceroute应用
Traceroute可以探测IP数据报在网络中走过的路径
利用TTL和ICMP终点不可达差错报文
七、网络层路由
![](https://i-blog.csdnimg.cn/blog_migrate/ff7be455725ac01e9bd80c3b1b94ffd4.png)
1. 自治系统AS
2. 距离矢量(DV)算法
算法思想:每个节点根据交换的信息更新自己的节点信息(与其他节点的距离)
3. 内部网关协议--RIP协议
优点:实现简单,开销很小
缺点:限制了网络的规模;故障信息传递慢;更新收敛时间过长
4. 链路状态(LS)协议
LS | RIP |
向所有的路由器发送消息
| 只和相邻路由器交换信息 |
消息描述该路由器与相邻路由器的
链路状态
包括:距离、时延、带宽
| 交换的信息只是跳数 |
只有链路状态发生变化时,才发送更新信息
| 每隔30s交换一次信息 |
5. 内部网关协议 - OSPF协议
OSPF 有五种消息类型:
协议过程
6. 外部网关路由协议BGP协议
![](https://i-blog.csdnimg.cn/blog_migrate/ba7a59d7c9bbc25b1000ce9c1841d944.png)
面试题
1.什么是IP地址,IP地址有什么特征?IP地址和MAC地址有什么区别和联系?IP地址是唯一标记互联网中计算机的标识,IP地址共占用4个字节,使用点分十进制表示。IP地址和MAC地址都是一种标识,IP地址标记网络中的计算机,MAC地址标记网络硬件设备。
2.IP报文由IP头部和IP数据两个部分组成,IP头部一般占用多少个字节?.IP头部一般占用20个字节。
3.IP头部的TTL数据有什么作用?TTL占用一个字节,TTL表示IP数据包在网络中的寿命,当TTL为0时,网络设备将丢弃这个报文。
4.网络层是怎么界定区分一个IP报文的?.IP协议头部有个字段为报文总长度,占用16个比特位,网络层根据这个字段划分报文。
5.路由表是网络层重要的数据结构,路由表有什么作用?路由表存储着目的地址和下一跳地址的映射关系,路由表是网络层可以正常工作的重要数据结构。
6.ARP协议有什么作用?如何清理本机的ARP缓存?ARP协议全称是地址解析协议,即ARP(Address Resolution Protocol)。ARP协议可以将IP地址翻译成物理地址。在Windows系统下使用arp-d命令就可以清楚arp缓存。
7.ARP协议的设计有一定的缺陷,请通过搜索引擎自行搜索了解利用ARP漏洞攻击的方法。
8.IP地址一共4Bytes,32bits,理论上可以表示多少不IP?理论上可以表示2的32次方个IP。
9.为了科学的使用IP地址,早期的科学家把IP地址划分为A、B、C三类IP地址,这些IP地址有什么特点?IP地址可以分为网络号和主机号两个部分,A类地址网络号为8位,主机号为24位;B类地址网络号为16位,主机号为16位;C类地址网络号为24位,主机为8位。
10.A类地址理论上可以有多少个子网,每个子网理论上有多少个主机号?A类地址网络号为8位,其首位为0,故理论上可以表示2的7次方个网络,主机号为24位,每个子网可以有2的24次方个主机。
11.请列举特殊的网络号和特殊的主机号。主机号全0、主机号全1的IP地址为特殊的主机号,不可分配。
12.如何计算一个IP的网络号是什么?使用子网掩码和IP地址进行按位与运算就可得到IP地址对应的网络号。
134.一个网络的掩码是255.255.255.248,请问这个网络可以连接多少台主机?这个网络的主机号只有3位,最多可以表示8个主机,减去全0、全1两个特殊主机号,一共可以连接6台主机。
14.网络地址转换技术(NAT)解决了什么问题?NAT技术解决网络IP地址不够用的问题
15.NAT技术的实现原理。NAT技术在网络设备中通过维护一个映射表,通过映射表可以将外部地址转换为内部地址。
16.ICMP报文和IP报文一样,也是由头部和数据两个部分组成,请简述ICMP报文的头部字段。.ICMP报文的头部字段由三个部分组成,分别是8位类型、8位代码和16位校验和。
17.ICMP报文和IP报文由什么关系?ICMP报文是怎么样传输的。ICMP协议和IP协议虽然同为网络层协议,但是ICMP是不能单独传输的,ICMP报文需要传输时作为IP报文的数据进行传输。
18.网络层路由可以抽象成一个图算法问题,按照网络的大小可以分为内部网关协议和外部网关协议,请列举与网络路由相关的算法。距离矢量算法、Dijkstra(迪杰斯特拉)算法。
19.RIP协议有什么优点和缺点?RIP协议具备着实现简单、开销小等优点,但是RIP协议本身的缺陷限制了网络的规模,并且在RIP协议中坏消息传的慢,更新收敛时间长,这也使得RIP议整体性能较差
20. 请简述OSPF协议的过程,OSPF协议中起到重要的算法是什么算法?Dijkstra(迪杰斯特拉)算法。
21.OSPF协议有什么优点和缺点?OSPF协议解决了RIP协议的问题,对整个网络有一定的“全局观”,但是OSPF协议本身较为复杂,实现开销较大。
22. 网络层有了RIP协议和OSPF协议,为什么还需要BGP协议?BGP协议解决了什么问题?BGP协议全称为边际网关协议,BGP协议是因为计算机网络中人为因素的复杂性而提出的。在实际网络环境中,数据的传输还受到安全等方面的影响。