计算机网络
一、概述、虚拟机网络的三种模式
二、物理层
三、数据链路层
……
五、待续…
四、网络层
1. 网络层提供的两种服务(1)电信网:虚电路服务(2)因特网:数据报服务 2. 网际协议 IP(1)虚拟互联网(2)IP 地址 子网掩码(IPv4)(3)划分子网和构造超网(4)IP 地址与 MAC 硬件地址(ARP RARP)(5)IP 数据报格式(6)IP 转发分组的流程(路由) 3. 网际控制报文协议 ICMP(1)基本概念(2)报文格式(3)报文类型(4)Ping 命令 4. 动态路由选择协议(RIP OSPF BGP)5. IP 组播(IGMP)6. 虚拟专用网 VPN7. 网络地址转换 NAT 和端口地址转换 PAT1. 网络层提供的两种服务
网络层关注的是如何将分组从源端沿着网络路径送达目的端,这时 “ 网络层应该向运输层提供怎样的服务(面向连接还是无连接)” 成为了一个争论。而争论焦点的实质就是:在计算机通信中,可靠交付(顺序控制、差错控制和流量控制等通信功能)应当由谁来负责?是通信子网还是端系统?首先我们就来看一看这两种服务。
(1)电信网:虚电路服务
虚电路表示 一条逻辑上的连接,分组都沿着这条逻辑连接按顺序传送,免去了端系统在顺序控制上的开销,也保证了可靠通信。但是当某个节点发生故障时,就必须重新建立另一条虚电路。
虚电路服务的思路来源于传统电信网,电信网负责保证可靠通信的一切措施,因此电信网的结点交换机复杂而昂贵。
(2)因特网:数据报服务
数据报中的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不需要先建立连接,但要给每个数据报一个完整的地址,每一个分组独立地选择路由进行转发,与其前后的分组无关。当某个节点发生故障时,后续的分组可另选路由,因而提高了可靠性。
尽最大努力交付的好处:
由于传输网络不提供网络的可靠传输服务,这就使网络中的路由器可以做的比较简单,而且价格低廉(与电信网的交换机相比);如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等);采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用;
所以数据报服务的网络层不能保证通信的可靠交付,即所传送的分组可能出错、丢失、重复和失序,应由端系统负责可靠交付。比如快递员在给我们送快递时,快递员不可能每到一个站点就打开包裹查看快递是否完好,这样效率很差。如果快递出了问题,我们是找商家来处理这个问题。
技术的进步使得网络出错的概率已经越来越小了,因而让主机负责端到端的可靠性不但不会给主机增加更多的负担,反而能够使更多的应用在这种简单的网络上运行。因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
虚电路与数据报服务的比较:
2. 网际协议 IP
(1)虚拟互联网
1)网络互连的设备
中间设备又称中间系统或中继系统(relay)
物理层中继系统:转发器(repeater);数据链路层中继系统:网桥或桥接器(bridge);网络层中继系统:路由器(router),由于历史的原因,许多有关 TCP/IP 的文献将网络层使用的路由器的一个接口称为网关,是路由器接口的地址。网关通常都用本网段的第一个或最后一个 IP 地址,以免和其他计算机 IP 冲突。网络层以上的中继系统:网关(gateway)。不同于前面的网关的概念。网关由于复杂,目前使用得较少。
当中继系统是转发器或网桥时,一般不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍是一个网络。
互联网都是指用路由器进行互连的网络
2)网络互连的问题
不同的寻址方案不同的最大分组长度不同的网络接入机制不同的超时控制不同的差错恢复方法不同的状态报告方法不同的路由选择技术不同的用户接入控制不同的服务(面向连接服务和无连接服务)不同的管理与控制方式
3)互连网络与虚拟互连网络
所谓虚拟互联网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用 IP 协议的虚拟互连网络可简称为IP 网。
使用虚拟网络互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。
4)IP 协议简介
网络协议 IP 是 TCP/IP 体系中最主要的协议之一。与 IP 协议配套使用的还有:
地址解析协议 ARP:通过 IP 地址得知其物理地址;逆地址解析协议 RARP:通过主机的硬件地址得知其 IP 地址,这种主机往往是无盘工作站,因此 RARP 协议目前已很少使用了;网络控制报文协议 ICMP:负责网络中的错误处理;网际组管理协议 IGMP:用来在 IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
(2)IP 地址 子网掩码(IPv4)
首先看一个二进制和十进制之间的关系图:
1)IP 层次结构(子网掩码的由来)
层次化 IP 地址将 32 位的 IP 地址分为网络 ID和主机 ID。并将这 32 位地址分为四段,每一段有8位地址,并将 IP 地址分成 5 类,如下图所示。
2)子网掩码(Subnet Mask)又叫网络掩码、地址掩码、子网络遮罩,共 32 位。它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
写法:① 255.255.255.0
② 将上面化成二进制后共 24 个 1,也可写作 192.168.x.x/24
可以通过子网掩码经与运算将主机 ID 清零来判断两台计算机 A、B 是否在同一网段:A 如果要和 B 通信,先将 A、B 十进制 IP 地址和 A 的子网掩码(本地子网掩码)都转化为二进制,A、B 都分别和 A 的子网掩码相与得网络号C、D,C 与 D 比较,如果相同则在同一网段,否则交给网关(路由器)处理。
A类:网络 ID 占第一段后七位。
IP 地址:1.0.0.0 — 127.255.255.255(可用为1— 126,127 为本地软件环回测试本主机的进程之间的通信之用)
默认子网掩码:255.0.0.0
B类:网络 ID 占前两段后14位。
IP 地址:128.0.0.0 — 191.255.255.255
默认子网掩码:255.255.0.0
C类:网络 ID 占前三段后21位。
IP 地址:192.0.0.0 — 223.255.255.255
默认子网掩码:255.255.255.0
D类:不分网络号和主机号,作多播地址
IP 地址:224.0.0.0 — 239.255.255.255
E类:不分网络号和主机号,仅作为搜索、Internet 的实验和开发之用。
IP 地址:240.0.0.0 — 247.255.255.255
3)特殊的几个地址
127.0.0.1(尽管只使用 127.0.0.1 这一个地址,但地址 127.0.0.0 到 127.255.255.255 均予以保留) ——环回地址
是主机用于向自身发送通信的一个特殊地址。同一台主机上的两项服务若使用环回地址而非分配的主机地址,就可以绕开 TCP/IP 协议栈的下层。通过 ping 环回地址,还可以测试本地主机上的 TCP/IP 配置。
169.254.x.x ——Windows 私有地址
一般是 DHCP 服务器无法分配正确的 IP 地址给客户端。
10.0.0.0 —— 10.255.255.255
172.16.0.0 —— 172.31.255.255
192.168.0.0 —— 192.168.255.255 ——私网地址
TCP/IP协议中,在 IP 地址中专门各保留了 A、B、C 三个IP地址区域称为私网地址,或私有地址。不能出现在公网,为内网,供局域网内使用。当局域网通过路由设备与广域网连接时,路由设备会自动将该地址段的信号隔离在局域网内部,因此不比担心所使用的私网IP地址与其他局域网中使用的同一地址段的私网IP地址发生冲突。所以完全可以放心大胆的根据自己需要,选用适当的私网地址段,设置自己内部局域网IP地址。小型企业或家庭网络可以选择192.168.0.0,大中型企业网络可以选择 172.16.0.0 或 10.0.0.0 地址段。
(3)划分子网和构造超网
1)子网划分
①方法:通过定义子网掩码把同一个网段的地址分成不同的子网。
②意义:
节约了 IP 地址。试想如果教室里只有 24 台计算机,给它分配地址,如果不用到子网划分,那么剩下 230 (网络号 .0和广播地址 .255会各占一个)个地址会被浪费掉。这也就是为什么 IPv4 还能撑到现在原因了。限定广播的传播,减少网络流量。因为广播数据报只能在同一网段传播,网络规模减小了。安全性相对提高了。易于维护与管理。
③ C 类子网的划分
等分成两个子网:假想公司有 200 台电脑,在资源不富余的情况下,将它们划分成两个“网段”(实则还在一个网段内)。
将 IP 地址划分成两个等分子网,找到中间的转点 127(0111 1111)和 128(1000 0000)会发现,它们的第 8 位不同,如果能用子网掩码将它们区分就可以把这一个网段划分为两个网段了。
所以,将子网掩码后移一位由 .0 变为 .128,将主机 ID 的第 8 位分给网络 ID,当成网络 ID 使用,这样就可以借助子网掩码来对同一网段进行子网划分了。
划分后:
A 可用地址:.1 ~ .126
子网掩码:255.255.255.128(/25)
B 可用地址:.129 ~ .254
子网掩码:255.255.255.128
等分成四个子网:假想公司 200 台电脑,先将其分成 4 个部门,每个部门 50 台电脑。
转点 0(0000 0000)、64(0100 0000)、128(1000 0000)、192(1100 0000)会发现,它们的第 7、8 位不同,如果能用子网掩码将它们区分就可以把这一个网段划分为四个网段了。
所以,将子网掩码后移两位将主机 ID 的第 7、8 位分给网络 ID,当成网络 ID 使用,就可以划分成 4 个子网了。
划分后:
A 可用地址:.1 ~ .62
子网掩码:255.255.255.192(/26)
B 可用地址:.65 ~ .126
子网掩码:255.255.255.192
C 可用地址:.129 ~ .190
子网掩码:255.255.255.192
D 可用地址:.193 ~ .254
子网掩码:255.255.255.192
等分成八个子网:同上思想,就附一张图吧。
点到点的子网掩码:只用两个 IP 地址,那么等分 6 次之后,第一段可用 IP 地址为 .1 ~ .2,刚好两个。子网掩码后移 6 位,为 255.255.255.252 (/30)
④ B 类子网的划分:将 172.16 网段划分成两个子网
其实和 C 类子网的划分一样:172.16.0.1 ~ 172.16.127.254 和 172.16.128.1 ~ 172.16.255.254
⑤子网划分的规律:子网划分只能依据二次幂关系来划分,而并非随意划分。如 200 台的电脑就不能分成 150+50 台放在同一网段(150>128)。
⑥变长子网:假想老板让你将 200 台电脑分成 100、50、20、10 台四部分,那么依据上面子网划分的规律是可行的,如下图所示:
2)超网
① 基本概念
假想公司有 400 台计算机,可一个网段最多可装 254 台,这时你就需要两个网段,并且由路由器进行数据转发,如下图所示。本来这些计算机物理上在一个网段,还需要路由器转发,效率并不高,于是就诞生了超网。
前面讲了子网的划分,子网就是把一个大网络划分成小网络,而超网就是把小网络合并成大网络。
如何让两个子网的计算机划分在一个网段呢?
② 网络的合并
合并两个 C 类网络:如下图所示,将 IP 地址写成二进制,可以看出 IP 地址前 23 位是相同的,只有 24 位不同。那么将子网掩码向左移 1 位,变为 255.255.254.0,这样经过与运算网络 ID 就一样了,这样两个网段就在一个网段了。
合并四个 C 类网络:将 192.168.0/1/2/3.0 这四个网络合并在一起,同上化成二进制(00 01 10 11)后可以看出,将子网掩码向左移 2 位,变成 255.255.252.0,经过与运算网络 ID 就一样了,这样四个网段就在一个网段了。
③ 合并网络的规律:网络合并只能依据二进制关系来合并,并非随意合并。如 1(01)、2(10)就不能合并。
左移 1 位子网掩码,可以合并 0、1 网络,也可以合并 2、3 / 4、5 / 6、7网络(小的为偶可以合并);左移 2 位子网掩码,可以将连续的 0、1、2、3 / 4、5、6、7 网络合并;左移 3 位子网掩码,可以将 0、1、2、3、4、5、6、7 网络合并
通过上面的子网划分和超网的学习,总的来说:划分子网是取主机号,合并是取网络号。
(4)IP 地址与 MAC 硬件地址(ARP RARP)
1)根本原因(一种猜想)
转自知乎,作者:向往美 原文链接:/answer/53576595【发表于知乎】
我们知道,出于历史的原因,世界上出现了很多的国家和民族,他们都使用不同的语言。
↓
同理,在因特网出现之前就已经有很多的网络出现了,需要注意的是,因特网诞生之初并没有想到自己会成为一个全球性的大网,所以没有针对全球网络的特点进行设计,这就留下了一些短板(比如IP地址不够,协议有漏洞,想想大名鼎鼎的ARP协议漏洞 。因特网成功以后,这些漏洞被IPV6弥补)。
↓
也许”从一开始,因特网就没有想到自己会成为一个世界大网,所以就没有定义得这么复杂。
但也有另一种可能:其实一种网络技术,不一定要“大而全”,从1层到7层全制定,可以只制定其中几层。
↓
经过以上的解释,你就知道为何一定需要MAC地址了:因特网并不存粹,还包括以太网。
因为因特网是第三层协议,是没有根基的“空中楼阁”,需要以太网这样的2层网具体落地实施,而MAC地址又是2层概念,所以MAC地址就这样进入了因特网的体系结构。
2)计算机通信的过程
试想两个不同网段的计算机要相互通信:
首先数据经封装后成数据帧,发给你的交换机,根据 MAC 地址由交换机传给路由器;然后路由器根据目标 IP 地址查找路由表选择合适的接口(记下 MAC 地址)进行转发;这样在网络层根据 IP 地址不断改变 MAC 地址,直到找到目标 IP 地址。
3)IP 地址与 MAC 地址的区别
IP 地址决定了数据包最终要到哪个计算机;而 MAC 地址决定了下一个给谁。
就像快递一样,IP 地址就是发货地和你家,中间的 MAC 地址就是中转站,是一直在变的。
4)ARP & RARP 协议
网络层使用 IP 地址,数据链路层使用 MAC 地址,但不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。所以就需要地址解析协议 ARP和逆地址解析协议 RARP。
(5)IP 数据报格式
一个数据报由首部和数据两部分组成。
首部的前一部分是固定20 字节,是所有 IP 数据报必须具备的。在首部固定部分后面的是一些可选字段,长度可变。如下图:
版本:4bit,指 IP 协议的版本(IPv4,IPv6)。首部长度:4bit,可表示最大数值为 15 个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是 60 字节。区分服务:8bit,用来获得更好地服务。总长度:16bit,指首部和数据总长度。标识:16bit,是一个计数器,用来产生数据报的标识,每产生一个数据包,就增加1.标志:3bit,标志是否有分片。MF=1 表示后面还有分片,MF=0 表示最后一个分片。标志字段中间的一位是 DF,只有当 DF=0 时才允许分片。生存时间:8bit,记为TTL(Time to live),数据报在网络中可通过的路由器的最大值。协议:8bit,表示数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给哪个处理过程。首部检验和:16bit,检查数据报的首部,不检验数据部分。这里不采用 CRC 检验而采用简单的计算方法。源地址、目标地址:各 4bit。可变长部分:用来支持排错、测量以及安全等措施,内容丰富。
(6)IP 转发分组的流程(路由)
路由:通过互联的网络把信息从源地址传输到目的地址的活动。
数据路由:路由器在不同网段转发数据报的活动。
条件:能发送出去,能返回结果(能去能回),沿途的路由器必须知道到目标 / 源网络下一跳(路由的下一个点)给哪个接口。
静态路由:
静态路由是指由用户或网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。
路由器只知道和它直连的两个网络,但不知道其他网络怎么走。想要整个网络相通,就需要手工配置路由信息,将不相邻的其他网络依次给这个路由器配置。一条静态路由条目一般由 3 部分组成:① 目的 IP 地址;② 子网掩码;③ 下一跳(路由的下一个点)。
例如上图想让 PC0 ping 通 PC1,则须给各个路由器加路由条目构成路由表:
① 加上 3、4、5 网段② 加上 1、4、5 网段③ 加上 1、2、5 网段④ 加上 1、2、3 网段
例:给路由器① 配置路由表
ip route 172.16.1.0 255.255.0.0 172.16.0.1
ip route 172.16.2.0 255.255.0.0 172.16.0.1
ip route 192.168.1.0 255.255.255.0 172.16.0.1
默认路由:
路由得查看路由表而决定怎么转发数据包,用静态路由一个个的配置,繁琐易错。如果路由器有个邻居知道怎么前往所有的目的地,可以把路由表匹配的任务交给它,省了很多事,这个邻居就是默认路由。
默认路由是一种特殊的静态路由,指的是当路由表中与包的目的地址之间没有匹配的表项时路由器能够做出的选择。如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃。
默认路由和静态路由的命令格式一样。只是把目的地 IP 和子网掩码改成 0.0.0.0 和 0.0.0.0。匹配 IP 地址时,0 表示通配符(Wildcard),任何值都可以。所以 0.0.0.0 和任何目的地址匹配都会成功,造成默认路由要求的效果。
主机里的默认路由通常被称作默认网关。网关会知道所有的路由。如果一个路由器连接到网关,就可以配置成默认路由,把所有的数据包都转发到网关。
3. 网际控制报文协议 ICMP
(1)基本概念
为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP(Interenet Control Message Protocol)。ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
(2)报文格式
ICMP 报文的前 4 个字节是统一格式,共有三个字段:类型、代码和检验和。接着的 4 个字节的内容与 ICMP 的类型有关。
类型和代码:各8bit,常见组合有 类型8,代码0,表示回显请求(ping request);类型0,代码0,表示回显应答(ping reply);类型11,代码0,表示超时。当然还有很多其他组合,如下图所示。
检验和:16bit,包括数据在内的整个ICMP数据包的检验和,其计算方法和 IP 头部检验和的计算方法一样。
(3)报文类型
ICMP 报文类型有两种:ICMP 差错报告报文和ICMP 询问报文。
差错报告报文有 5 种:
终点不可达:可达分为网络不可达,主机不可达,协议不可达,端口不可达以及源路由失败六种情况。源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源站发送源站抑制报文,使源站知道应当将数据报的发送速率放慢。时间超过:当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源站发送时间超过报文。当目的站在预先规定的时间内不能收到一个数据报的全部数据报片时,就将已收到的数据报片都丢弃,并向源站发送时间超过报文。参数问题:当路由器或目的主机收到的数据报的首部中的字段的值不正确时,就丢弃该数据报,并向源站发送参数问题报文。改变路由(重定向):路由器将改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。
询问报文有 2 种:
回送请求和回答报文时间戳请求和回答报文
差错报告报文的数据字段的内容
所有的 ICMP 差错报告报文中的数据字段都具有同样的格式。将收到的需要进行差错报告 IP 数据报的首部和数据字段的前 8 个字节提取出来,作为 ICMP 报文的数据字段。再加上响应的 ICMP 差错报告报文的 8 个字节,就构成了 ICMP 差错报告报文。提取收到的 IP 数据报的数据字段的前 8 个字节是为了得到运输层的端口号(对于 TCP 和 UDP)以及运输层报文的发送序号(对于 TCP)。
(4)Ping 命令
Ping(Packet Internet Grope),因特网探索器,用于测试网络连接量的程序。Ping 发送一个 ICMP 回声请求消息给目的地并报告是否收到所希望的 ICMP 回声应答。
Ping 指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行 ping 命令抢占你的网络资源,导致系统变慢,网速变慢。严禁 ping 入侵作为大多是防火墙的一个基本功能提高给用户进行选择。
如果你打开浏览器访问网站失败,你可以通过 ping 命令测试到 Internet 的网络连通,可以为你排除网络故障提供线索。
Pathping
使用 ping 能够判断网络通还是不通,比如请求超时,但不能判断什么位置出现的网络故障造成的请求超时。使用 pathping 命令能够跟踪数据包的路径,能够查出故障点,并能够计算路由器转发丢包率和链路丢包率以及延迟,据此能够判断出网络拥塞情况。
4. 动态路由选择协议(RIP OSPF BGP)
自治系统(Autonomous System,AS)
指一组通过统一的路由政策或路由协议互相交换路由信息的网络,是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。一个自治系统有时也被称为是一个路由选择域(Routing Domain)。一个自治系统将会分配一个全局的唯一的16位号码,有时我们把这个号码叫做自治系统号(ASN)。
根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的有 RIP、OSPF;外部网关协议主要用于多个自治域之间的路由选择,常用的是 BGP 和 BGP-4。下面分别进行简要介绍。
内部网关协议(IGP):是在一个自治网络内网关(主机和路由器)间交换路由信息的协议。
RIP(路由信息协议,Routing Information Protocol):
↓
是一种动态路由选择协议的内部网关协议(IGP),用于自治系统(Autonomous System,AS)内的路由信息的传递。RIP 协议基于距离矢量算法,使用" 跳数 “(即 metric)来衡量到达目标地址的路由距离,范围限制在 15 跳之内(16 表示路径无限长)。RIP 通过广播 UDP 报文来交换路由信息。目前这种协议在实际使用中已经较少适用。
↓
路由表更新特性:路由器最初启动时只包含了其直连网络的路由信息,并且其直连网络的 metric 值为1,然后它向周围的其他路由器发出完整路由表的 RIP 请求(该请求报文的” IP 地址"字段为0.0.0.0)。路由器根据接收到的 RIP 应答来更新其路由表,具体方法是添加新的路由表项,并将其 metric 值加1。如果接收到与已有表项的目的地址相同的路由信息,则分下面三种情况分别对待:第一种情况,已有表项的来源端口与新表项的来源端口相同,那么无条件根据最新的路由信息更新其路由表;第二种情况,已有表项与新表项来源于不同的端口,那么比较它们的 metric 值,将 metric 值较小的一个最为自己的路由表项;第三种情况,新旧表项的metric值相等,普遍的处理方法是保留旧的表项。
↓
路由器每 30 秒发送一次自己的路由表进行更新,如果一个路由在180s内未被刷新,则相应的距离就被设定成无穷大,标记其为失效,并从路由表中删除该表项。OSPF(开放式最短路径优先协议,Open Shortest Path First):
↓
是一种动态路由选择协议的内部网关协议(IGP),用于在单一自治系统(Autonomous System,AS)内决策路由。OSPF 也称链路(/接口)状态协议,使用接口的带宽来计算到达目标网络的跳数(metric)。OSPF 直接用 IP 数据报将网络接口状态/链路状态(Link-State,LSA)传送给某一区域的所有路由来建立链路状态数据库(Link-State Database),生成最短路径树,每个 OSPF 路由器使用这些最短路径构造路由表。
↓
邻居:OSPF 只有邻接状态才会交换 LSA,路由器会将链路状态数据库中所有的内容毫不保留地发给所有邻居,要想在 OSPF 路由器之间交换 LSA,必须先形成 OSPF 邻居,OSPF邻居靠发送 Hello 包来建立和维护,Hello 包会在启动了 OSPF 的接口上周期性发送,在不同的网络中,发送 Hello 包的间隔也会不同,当超过 4 倍的 Hello 时间,也就是 Dead 时间过后还没有收到邻居的 Hello 包,邻居关系将被断开。
↓
邻居将收到的链路状态全部放入链路状态数据库,邻居再发给自己的所有邻居,并且在传递过程中,绝对不会有任何更改。通过这样的过程,最终,网络中所有的OSPF路由器都拥有网络中所有的链路状态,并且所有路由器的链路状态应该能描绘出相同的网络拓朴。
↓
OSPF区域:因为 OSPF 路由器之间会将所有的 LSA 相互交换,毫不保留,当网络规模达到一定程度时,LSA 将形成一个庞大的数据库,势必会给 OSPF 计算带来巨大的压力;为了能够降低 OSPF 计算的复杂程度,缓存计算压力,OSPF 采用分区域计算,将网络中所有 OSP F路由器划分成不同的区域,每个区域负责各自区域精确的 LSA 传递与路由计算,然后再将一个区域的 LSA 简化和汇总之后转发到另外一个区域,这样一来,在区域内部,拥有网络精确的 LSA,而在不同区域,则传递简化的 LSA。区域的划分为了能够尽量设计成无环网络,所以采用了 Hub-Spoke 的拓朴架构,也就是采用核心与分支的拓朴。路由器之间必须配置在相同的 OSPF 区域,否则无法形成邻居。
↓
OSPF之间交换链路状态,而不像 RIP 直接交换路由表。交换路由表,就等于直接给人看线路图,可见OSPF的智能算法,比距离矢量协议对网络有更精确的认知。
外部网关协议(EGP):用于多个自治域之间的路由选择。
BGP(边界网关协议,Border Gateway Protocol):
↓
是一种动态路由选择协议的外部网关协议(EGP),是运行于不同自治系统的路由器之间交换路由信息的协议,可以实现自治系统间无环路的域间路由,BGP 较新版本是 BGP-4。BGP 只能是力求寻找能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP 发言人”
管理距离(AD):
路由协议是用管理距离(AD)值来确定优先级的。AD 值的范围是 0~255。AD 值越小,则优先级越高。优先级从高到低是:直连>静态>动态。以思科路由器为例:
直连的接口:0静态路由:1EIGRP:5BGP(外部):20EIGRP(内部):90OSPF:110RIP:120EGP:140EIGRP(外部):170IBGP(内部):200
5. IP 组播(IGMP)
网际组管理协议 IGMP(Internet Group Management Protocol):用来在接收者主机和与其直接相邻的组播路由器之间建立和维护组播组成员关系。IGMP 通过在接收者主机和组播路由器之间交互 IGMP 报文实现组成员管理功能,IGMP 报文封装在IP报文中。
6. 虚拟专用网 VPN
(1)虚拟专用网络 VPN(Virtual Private Network):可以把它理解成虚拟的企业内部专线。它可以通过特殊的加密的通讯协议在连接在 Internet 上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路。VPN 可通过服务器、硬件、软件等多种方式实现。VPN 具有成本低,易于使用的特点。
VPN 服务器和客户机之间的通讯数据都进行了加密处理。有了数据加密,就可以认为数据是在一条专用的数据链路上进行安全传输,就如同专门架设了一个专用网络一样。因此 VPN 称为虚拟专用网络,其实质上就是利用加密技术在公网上封装出一个数据通讯隧道。
(2)技术:VPN 主要采用了隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技术。
(3)功能:在公用网络上建立专用网络,进行加密通讯。
(4)栗子
在外访问企业内网资源:如果你在外地,你可以通过连接你们公司的 VPN 服务器来访问内网资源。就好比你在内网中加了一台电脑。加速器原理:一种是 VPN,一种是代理服务器,这里说 VPN。客户端通过加速服务器自动选择速度最快的服务器,将电信加速到网通,或将网通加速到电信… …拨号连接到 VPN 服务器并获取一个虚拟 IP 地址,通过修改路由表的方式,将指定进程的网络访问路由到虚拟 IP 上,而其余地址仍经过原默认路由途径访问。FanQiang原理:有些国外网站是打不开的。就可以用 VPN 软件,先将数据进行加密,再将数据报传到另一服务器上进行解密,就可以访问网站了。返回数据时同样操作。
(5)意义
使用 VPN 可降低成本——通过公用网来建立 VPN,就可以节省大量的通信费用,而不必投入大量的人力和物力去安装和维护 WAN(广域网)设备和远程访问设备。传输数据安全可靠——虚拟专用网产品均采用加密及身份验证等安全技术,保证连接用户的可靠性及传输数据的安全和保密性。连接方便灵活——用户如果想与合作伙伴联网,如果没有虚拟专用网,双方的信息技术部门就必须协商如何在双方之间建立租用线路或帧中继线路,有了虚拟专用网之后,只需双方配置安全连接信息即可。完全控制——虚拟专用网使用户可以利用 ISP 的设施和服务,同时又完全掌握着自己网络的控制权。用户只利用 ISP 提供的网络资源,对于其它的安全设置、网络管理变化可由自己管理。在企业内部也可以自己建立虚拟专用网。
(6)VPN 隧道协议
PPTP(点到点隧道协议):是一种用于让远程用户拨号连接到本地的 ISP,通过因特网安全远程访问公司资源的新型技术。它能将 PPP(点到点协议)帧封装成 IP 数据包,以便能够在基于 IP 的互联网上进行传输。PPTP 使用 TCP(传输控制协议)连接的创建、维护与终止隧道,并使用 GRE(通用路由封装)将 PPP 帧封装成隧道数据。被封装后的 PP P帧的有效载荷可以被加密或者压缩或者同时被加密与压缩。L2TP 协议:L2TP 是 PPTP 与 L2F(第二层转发)的一种综合,是由思科公司所推出的一种技术。IPSec 协议:是一个标准的第三层安全协议,它是在隧道外面再封装,保证了在传输过程中的安全。IPSec 的主要特征在于它可以对所有 IP 级的通信进行加密。
7. 网络地址转换 NAT 和端口地址转换 PAT
(1)网络地址转换 NAT(Network Addredd Translation):属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型 Internet 接入方式和各种类型的网络中。NAT 不仅完美地解决了 lP 地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
(2)作用
NAT 的作用是把内网的私有地址,转化成外网的公有地址。使得内部网络上的(被设置为私有IP地址的)主机可以访问 Internet。
(3)工作流程
如下图,私网内的客户端的网关设置为 NAT 主机地址,当客户端上网时,私网地址就会由 NAT 转换为公网地址访问 Internet,当返回数据时,再由 NAT 将公网地址转回私网地址。
需要注意的是,使用 NAT 技术时,私网内机器可以访问外网,而外网不可以访问私网内机器。
(4)种类
NAT 可以分为 Basic NAT 和 PAT:
Basic NAT只转化 IP,不映射端口。PAT除了转化 IP,还做端口映射,可以一对多可复用转换,将多个内部地址同时映射到外部地址。
NAT 还可以分为静态 NAT 和动态 NAT:
静态 NAT是一对一,一个内网地址对应一个公网地址。动态 NAT是一对多,多个内网地址对应一个公网地址。但不能达到内部网多台主机共用同一个公网地址访问外部网络的目的,只有这个公网地址空闲时任何一个其他私网地址才可以和其转换,所以在实际应用中很少采用这种方式。
(5)端口地址转换 PAT(Port Address Translation):PAT可以看做是NAT的一部分。考虑一种情形,就是只有一个 Public IP,而内部有多个 Private IP,这个时候 NAT 就要通过映射 UDP 和 TCP 端口号来跟踪记录不同的会话,比如用户 A、B、C 同时访问 Internet,则 NAT 路由器会将用户 A、B、C 访问分别映射到1088、1098、23100(举例而已,实际上是动态的),此时实际上就是PAT了,如下图所示:
由上面推论,PAT 理论上可以同时支持 (65535 - 1024)= 64511 个连接会话。但实际使用中由于设备性能和物理连接特性是不能达到的,CISCO 的路由器 NAT 功能中每个 Public IP 最多能有效地支持大约 4000 个会话。
(6)NAT 与 PAT 的区别
PAT 与 动态 NAT 不同,PAT 将内部连接映射到外部网络中的一个单独的 IP 地址上,同时在该地址上加上一个由 NAT 设备选定的 TCP 端口号,这样就可以同时将多个内网地址映射成公网地址。
NAT 将私网 IP 映射成公网 IP,而 PAT 将私网 IP+端口号映射成公网 IP+端口号,当然其他的用户也可以映射到相同的IP上,最后通过端口号来区分。
NAT 能确保每个用户有一个专有 IP,而 PAT 就只能保证用户有一个专有端口。
【计算机网络 系列笔记】四 网络层(非专业都知道【IP地址 子网掩码 路由 V*N NAT】了 你呢?)