计算机网络期末复习笔记(并不犯困版+大白话版)-CSDN博客
前期理解:
网络层作用:将 不同类型的网络 通过IP协议 封装后实现互连,就可以通信了。
主要讲几个内容:
-
核心:IP地址规划 与 路由寻址。
-
协议数据单元 (PDU):分组(包)。
-
服务模式:
互联网采用 数据报服务 (属于"尽最大努力交付"的无连接服务),不保证可靠交付。

-
数据报服务特点(左图):每个分组独立传送,到达目的地后需重组排序。 不保证可靠交付。
-
虚电路服务特点(右图):事先建立逻辑连接,分组沿固定路径传送。 让网络来保证可靠交付。
-

一. 路由器工作模式
-
传统模式:
控制层面(计算路由)与 数据层面(转发分组)集成在同一台路由器中,一起工作->计算速度较慢。
-
SDN模式(软件定义网络):
控制层面 与 数据层面分离,由 远程控制器 集中计算路由并下发转发表,路由器仅负责硬件转发,效率高。
二. 网际层协议
前面我们第六章应用层学了http,ftp和smtp协议
之后我们看了第五章的运输层,对应的有两大协议udp和tcp协议
现在我们进入网际层,也可以说是网络层,学习网际层协议:ip、arp、icmp.....等协议

注意区分:网际协议(ip协议)属于网际层协议。
1. IP协议 (Internet Protocol)
IP协议是TCP/IP协议中重要的协议。
网际层及以上的绝大多数协议产生的数据交给数据链路层之前必须由IP协议来封装。
-
功能:对上层数据进行封装,产生IP数据报。

-
IP数据报结构:由 首部(20字节固定)和 数据 两部分组成。

对应抓包分析:
•第1个字节45:4:IPv4网络;
5:首部长度20字节
•第2个字节00:区分服务
•第3、4字节003C:数据总长度60字节
•第5、6字节d1e2:分组标识
•第7、8字节4000:标志(010:1表示不分片,最后一位0表示是分组中的最后一个分片,第一个0没有意义)+片偏移
•第9字节80:生存周期,
•第10字节01:协议(此处是ICMP协议)
•第11、12字节a58a:首部校验和
•第13-16字节c0a80102:源IP地址192.168.1.2
•第17-20字节c0a80102目的IP地址192.168.1.1

-
分片机制:当IP数据报大小超过链路层MTU(以太网通常为1500字节)时,必须进行分片。
MTU:Maximum Transmission Unit ,即最大传输单元
-
标识 (Identification):同一个数据报的分片标识相同。
-
标志 (Flags):MF=1表示后面还有分片,MF=0表示最后一个分片。
-
片偏移 (Fragment Offset):表示该分片在原数据报中的相对位置,单位为8字节。
例如:下图对三个包的片偏移进行计算(除以8是因为上面提到的,分片的单位是8字节)

-
其他:
网际协议版本
-
IPv6 ->在 IPv6 中,每个地址占 128 位

使用冒号十六进制记法:16位的值用十六进制值表示,各值之间用冒号分隔。
2. ARP (地址解析协议)
通过已知 IP地址 获取目的 MAC地址 。
本地缓存中若无记录,则通过广播发送ARP请求,目的端返回ARP响应。
• 查看本地ARP缓存的命令:arp -a
3. ICMP (网际控制报文协议)
用于 报告差错(如终点不可达、时间超过)和 询问(如Ping测试、Traceroute路径跟踪)。
•Ping
Ø 用来测试两个主机之间的连通性。
Ø 使用了 ICMP 回送请求与回送回答报文。
•Traceroute
Ø 这是UNIX/Linux操作系统中名字。
在 Windows 操作系统中这个命令是 tracert。
用来跟踪一个分组从源点到终点的路径。
Ø 用 IP 数据报中的 TTL 字段 + ICMP 时间超过差错报告报文 + ICMP 终点不可达差错报告报文 ->实现对从源点到终点的路径的跟踪。
三. IP地址与子网划分
1. ip地址
-
IP地址:逻辑地址,32位二进制数,采用点分十进制表示。

-
结构:网络号 (net-id) + 主机号 (host-id)。

例题:

答:6个网段.
路由器的每一个接口连接一个网段;
每一个网段中IP地址的网络号(net-id)是一样的,不同网段网络号不一样。
•地址分类:

-
特殊地址:

-
网络地址:主机号全为0。
-
广播地址:主机号全为1。
-
环回地址:127.0.0.1。
-
私有地址:用于内网,不可在互联网上直接路由。
-
-
子网掩码:用于区分网络号和主机号。
计算公式:
(IP地址) AND (子网掩码) = 网络地址。 -
CIDR (无分类编址) :使用"网络前缀"代替分类地址,采用斜线记法(如
/24)。•例如: 220.78.168.0/24, /24表示在地址220.78.168.0中有24位网络前缀,它的掩码是 24 个连续的 1。
•例题:写出192.168.10.1/22所在网络的子网掩码、网络地址、广播地址、可使用地址的范围。
子网掩码:255.255.252.0 网络地址:192.168.8.0
广播地址:192.168.11.255
可使用地址范围:192.168.8.1-192.168.11.254
2. 子网划分
划分子网的基本思路:
从主机号中借用若干位作为子网号,而主机号也就相应减少了若干位。
不改变 IP 地址原来的网络号。
IP地址专题
例题1:

例题二:
•公司申请到了一个网段201.1.1.0/24,现需要给公司4个部门分配IP地址,这四个部门网络独立的,人员都是50人,作为公司的网管人员,如何规划公司的IP地址?
答案:
4个部门所需要的主机IP地址一样,这种情况下可以采用定长子网划分进行IP地址规划。
4个部门,需要从主机位借2位作为子网号,来区分4个子网,借位后,网络前缀由24变为了26.同时主机位数变成了6,每个子网可以有62个IP地址可用,满足4个部门的需求。
IP地址规划如下:
部门A子网号SS取00,则网络地址为201.1.1.0/26
部门B子网号SS取01,则网络地址为201.1.1.64/26
部门C子网号SS取10,则网络地址为201.1.1.128/26
部门D子网号SS取11,则网络地址为201.1.1.192/26
•如果这4个部门的计算机数量不一样,A部门85台电脑,B部门55台电脑,C部门和D部门各30台电脑,这种情况下IP地址该怎么划分呢?

答案:
4个部门所需要的主机IP地址不一样,这种情况下可以采用可变长子网掩码的方式进行分配,从需要最多IP地址的部门开始分配。
A部门需要IP地址最多,先考虑A部门。
A需要85个IP地址,那么主机位至少要7位,根据已知条件,子网号只能借1位;
其次考虑B部门,需要55个IP地址,主机位至少要6位,子网号最多可以借2位;
C和D部门需要30个IP地址,主机位至少要5位,子网号最多可以借3位
l问题: 已经知道了一个机器(主机或路由器)的 IP 地址,如何找出其相应的 MAC 地址?
•ARP (Address Resolution Protocol ) 作用:从IP 地址解析出 MAC 地址。
四. 路由选择协议

-
静态路由:手工配置,不自动更新。
-
动态路由:
-
RIP协议 :基于距离向量,以"跳数"为度量,最大跳数16表示不可达,适用于小规模网络。
RIP 认为一个好的路由是它到达目的网络所经过的路由器的数目最少,即"距离短"。
"距离"也称为"跳数"(hop count),一个路由器到直连网络的距离定义为 1,到非直连网络的距离定义为所经过的路由器数加 1。
-
OSPF协议 :基于链路状态,使用Dijkstra算法计算最短路径,适用于中大规模网络。
根据最短路径树,生成路由表
-
-
转发原则 :最长前缀匹配,即在转发表中选择前缀匹配位数最多的一项。
-
路由聚合:
假设路由表中存在以下两条具体的明细路由:
-
172.16.1.0/24
-
172.16.2.0/24
这两个地址的前 22 位是相同的。通过路由聚合,可以将这两条路由合并为一条汇总路由:
- 172.16.0.0/22
这样,路由器在路由表中只需存储一条 172.16.0.0/22 的记录,即可覆盖上述两个子网的所有目的地。
例如:

-
五. 网络地址转换 (NAT)
NAT 路由器做什么? 它扮演了"翻译官"的角色,负责在私网地址和公网地址之间进行双向的地址翻译。
-
目的:
•解决IPv4地址资源紧张的问题
•保留的私有地址可以在不同网络中重复使用(对于我们每一个人都有可能用相同的内网号 198.168.1.5 去访问 百度服务器外网 10.x.x.x ),实现私有地址与全球IP地址的映射。
-
机制:在NAT路由器上,离开内网时替换源地址(私转公),进入内网时替换目的地址(公转私)。
举例:
假设你的电脑(内网 IP 为 192.168.1.5)要访问百度(公网 IP 假设为 110.x.x.x),连接在这一家公司的 NAT 路由器上(出口公网 IP 为 202.1.1.1)。
1. 离开内网时(私有转公有)
你的电脑发出的数据包,源地址是 192.168.1.5(私有地址)。
-
问题:这个私有地址在公网上是无效的,百度无法回传数据给你。
-
操作:数据包经过 NAT 路由器时,路由器会把源地址从
192.168.1.5强行修改为自己的公网 IP202.1.1.1。 -
记录:路由器在自己的内存中记下一笔:
刚才 192.168.1.5 发出的请求,我把它伪装成了 202.1.1.1。
2. 进入内网时(公有转私有)
百度收到请求后回传数据,目标是 202.1.1.1(你的路由器)。
-
问题:路由器收到包后,它不知道这数据包原本是给内网哪台电脑的。
-
操作:路由器查阅刚才的记录,发现原来是给
192.168.1.5的。于是,它把目标地址从202.1.1.1重新修改回192.168.1.5。 -
转发:数据包被精准投递给你的电脑。
总结:
- 为什么可以重复使用私有地址? 因为 NAT 路由器在边界把它们"隔离"了。哪怕另一家公司也用
192.168.1.5,它们被 NAT 转换后的公网 IP 是不同的,互联网看到的只是202.1.1.1和203.2.2.2,互不干扰。
七. 虚拟专用网 VPN (Virtual Private Network)
如果说 NAT 是为了解决"怎么上网(私有公有的转换)"的问题,那 VPN 就是为了解决"怎么安全地进入另一个私有内网"的问题。
VPN 通过在公网之上"挖"出一条逻辑隧道,让你的电脑能够无视地理距离,直接和目标内网进行内网通信。
利用 公用互联网 作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网 VPN。
•如果专用网不同网点之间的通信必须经过公用互联网,但又有保密的要求,那么所有通过互联网传送的数据都必须加密。
•必须为每一个场所购买专门的硬件和软件,并进行配置,使每一个场所的 VPN 系统都知道其他场所的地址。
举例:
假设你的电脑(内网 A,IP 为 192.168.1.5)需要访问公司总部服务器(内网 B,IP 为 10.0.0.10)。因为它们属于不同的内网,且中间隔着不可信的公共互联网,所以需要 VPN 隧道。
1. 离开源内网时(封装与加密)
你的电脑发出的数据包,目标地址是 10.0.0.10(内网 B 的地址)。
-
问题:公共互联网上的路由器不认识这个内网地址,数据包会被直接丢弃,且传输过程极易被窃听。
-
操作(隧道建立) :数据包进入你电脑上的 VPN 客户端后,客户端会做两件事:
-
加密
-
封装 :在加密数据包外面包上一层"新信封",信封上的目标地址改为公司总部的 VPN 网关公网 IP (假设为
210.1.1.1)。
-
-
结果 :在公共互联网眼中,这个数据包看起来只是你要发往
210.1.1.1的普通信息。
2. 进入目标内网时(解封装与转发)
公司总部的 VPN 网关收到数据包。
-
操作:
-
检查与解密:网关确认这是来自合法客户端的数据,利用密钥去掉外层封装,解密出里面的原始数据包。
-
还原 :网关看到了原始的目标地址
10.0.0.10,将其直接发送给对应的内网服务器。
-
-
回传路径:反之,总部服务器回传数据时,网关也会执行同样的封装和加密操作,通过隧道发给你的电脑。