1.OSI七层模型及各层作用
物理层:确保原始数据在各种物理媒体上传输
协议:IEEE802.A、IEEEE802.2 传输数据:bit流 相关设备:光纤、双绞线、中继器、集线器、网线接口
数据链路层:在不可靠的物理介质上提供可靠传输
协议:ARP、MAC、PPP、PDN 传输数据:frame帧 相关设备:网桥、二层交换机
网络层:负责对子网间的数据包进行路由选择
协议:IP、ICMP、ARP、RARP、IGMP 传输数据:packet数据包 相关设备:路由器、三层交换机
传输层:端到端,即主机到主机的层次,将数据分段,并提供端到端的可靠的或不可靠的传输,处理差错控制,流量控制。
协议:TCP、UDP 传输数据:segment数据段 相关设备:四层交换机
会话层:这一层管理主机之间的会话进程,即负责建立、管理、终止进层之间的会话。
协议:SMTP、DNS 传输数据:报文 相关设备:QoS
表示层:这一层主要解决用户信息的语法表示问题,提供格式化的表示和转换数据服务
协议:Telnet、SNMP 传输数据:报文
应用层:为操作系统或网络应用程序访问网络服务的接口
协议:FTP、HTTP、DNS
(图片参考如水印)
2.TCP/IP模型
四层模型:网络接口层、网络层、传输层、应用层
五层模型:物理层、数据链路层、网络层、传输层、应用层
更详细的知识点:TCP/IP五层模型
更详细的知识点:TCP/IP四层模型(里面的协议也需了解,不过后面会有详细总结)
3.ARP地址解析协议(工作在网络层和数据链路层)
参考网址(详细知识):什么是ARP?它是如何进行地址解析的? - 华为
ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的映射关系,一般ARP表项包括动态ARP表项和静态ARP表项。
ARP作用:在局域网中,当主机或其它三层网络设备有数据要发送给另一台主机或三层网络设备时,需要知道对方的网络层地址(即IP地址)。但是仅有IP地址是不够的,因为IP报文必须封装成帧才能通过物理网络发送,因此发送方还需要知道接收方的物理地址(即MAC地址),这就需要一个通过IP地址获取物理地址的协议,以完成从IP地址到MAC地址的映射。地址解析协议ARP即可实现将IP地址解析为MAC地址。
4.MAC层的功能&MAC地址的作用
MAC(Media Access Control,介质访问控制)
MAC层功能:
参考网址:MAC层作用 - 夜雨阑珊 - 博客园
MAC层即媒体介入控制层,属于OSI模型中数据链路层下层子层。它定义了数据帧怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是“先来先服务”的。物理寻址在此处被定义,逻辑拓扑(信号通过物理拓扑的路径)也在此处被定义。线路控制、出错通知(不纠正)、帧的传递顺序和可选择的流量控制也在这一子层实现。
该协议位于OSI七层协议中数据链路层,数据链路层分为上层LLC(逻辑链路控制),和下层的MAC(介质访问控制),MAC主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC(逻辑链路控制)层。
MAC地址作用什么是mac地址 mac地址有什么作用【详细介绍】-太平洋IT百科
MAC(Media Access Control, 介质访问控制),或称为 MAC位址、硬件位址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC位址。因此一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。MAC地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为“编制上唯一的标识符”(Organizationally Unique Identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。一个地址块可以生成2^24个不同的地址。MAC地址实际上就是适配器地址或适配器标识符EUI-48。
比如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始结点出发,从一个结点传递到另一个结点,最终传送到目的结点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。
5.交换机如何学习MAC地址表
参考网址(相当于二层网络拓扑实验练习,建议大家进行实操):交换机MAC地址学习_奋斗小白Ain的博客-CSDN博客_交换机mac地址
当交换机收到某接口的数据帧时,将该数据帧的源mac地址记录到交换机的mac地址表并标明来源接口,下一次收到数据帧时,并通过mac地址表进行转发。
(初始状态下,映射表是空的。现在,主机 A 向 B 发送一个数据帧 FRAME1 。因为映射表中没有地址 B 的记录,交换机便将数据帧广播到其他所有端口。由于交换机是从
Fa0/1
端口收到数据帧的,便知道 A 连接
Fa0/1
端口,而数据帧的源地址就是 A 的地址!此时,交换机可以将 A 的地址和端口
Fa0/1
作为一条记录加入映射表。交换机学习到 A 的地址!接着,主机 B 向 A 回复一个数据帧 FRAME2 。由于映射表中已经存在地址 A 的记录了,因此交换机将数据帧精准转发到端口
Fa0/1
。同理,交换机学习到主机 B 的地址。)
当主机 C 开始发送数据时,交换机同样学到其地址,学习过程完成!
1.泛洪:收到目的mac地址为ff:ff:ff:ff:ff:ff,向同一广播域的接口复制转发(一对所有)
2.转发:从一个接口接收到数据帧后,查看mac地址表,存在目的mac地址,然后一对一接口转发(一对一)
3.丢弃:从一个接口接收到数据帧后,mac地址表不存在对应mac地址或数据帧不合法,丢弃
6.二层交换机与三层交换机(路由表中包含的路由信息)
一些碎知识点:25 张图详解交换机:秒懂二层交换机的 16 个问题 - 知乎
参考网址:图解:二层与三层交换机之间到底有什么区别? - 腾讯云开发者社区-腾讯云
二层交换机:
二层交换机属数据链路层设备,可以将计算机网络系统的各种终端设备连接在一个平台上。二层交换机使用ARP地址解析协议(不遵循路由算法),可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。MAC地址表为二层设备提供了唯一地址,用于标识数据下发的终端设备和节点。
特点:
- 二层交换机可以充当网桥,将计算机网络系统的各种终端设备连接在一个平台上。它们能够非常快速且有效地将数据从LAN 网络的源端传输到目标端。(在二层交换机之前用于二层交换机的设备是透明网桥,它和二层交换机的最大区别就是:透明网桥只有两个端口,而交换机的端口数目远远超过两个。)
- 二层交换机通过从交换机的地址表中学习目的节点的MAC地址,执行交换功能,将数据帧从源端重新排列到目的端。
- MAC地址表为二层设备提供了唯一的地址,用于标识数据下发的终端设备和节点。
- 二层交换机将庞大复杂的 LAN 网络拆分为一个个小的VLAN网络。
- 通过在一个大型的 LAN 网络中配置多个 VLAN,在没有物理连接的情况下,交换变得更快。
应用:
二层交换机用于小型的局域网络,它的快速交换功能(无需物理连接)、多个接入端口和相对便宜的价格为小型网络用户提供了很完善的解决方案。
三层交换机:
三层交换机为带有路由功能的交换机,能够做到一次路由,多次转发。此外,三层交换机可以执行静态路由和动态路由。这意味着三层交换机同时具有MAC地址表和IP路由表,并且还处理VLAN内通信以及不同VLAN之间的数据包路由。三层交换机还包括一些功能,这些功能需要能够理解进入交换机的数据的IP地址信息,例如基于IP地址标记VLAN流量,而不是手动配置端口。三层交换机的功率和安全性得到了提高。
路由:第3层中的源端设备首先查看自己的路由表,路由表中包含了源IP地址、目的IP地址和子网掩码的所有信息。然后,根据它从路由表中收集的信息,将数据包发送到目的地,并可以在不同的LAN、MAN和WAN网络之间进一步传递数据。它遵循最短且安全的路径在终端设备之间传递数据。
特点:
- 执行静态路由,以在不同 VLAN 之间传输数据。
- 以与路由器相同的方式执行动态路由,这种动态路由技术允许交换机执行最佳数据包路由。
- 根据网络的实时场景提供一组多路径来传递数据包。交换机可以选择最可行的路径来路由数据包,目前流行的路由技术包括 RIP 和 OSPF。
- 有能力识别关于流量流向的交换机的相关IP地址信息。
- 能够根据子网划分或 VLAN 流量标记部署 QoS 分类,而不是像二层交换机那样手动配置交换机端口。
- 需要更多的功率来运行,并在交换机之间提供更高带宽的链路,这些链路几乎超过 10Gbits。
- 为数据交换提供高度安全的路径。
应用:
- 被广泛用于数据中心等大型园区。三层交换机具有静态路由和动态路由等特点,且交换速度比路由器快,因此它被用于局域网连接中,用于多个VLAN和LAN网络的互连。
- 三层交换机与多台二层交换机相结合,可以支持更多用户接入网络,无需额外部署三层交换机和更多带宽。如果一个网络平台上的终端用户数量增加,那么无需对网络进行任何增强,就可以轻松地将其容纳在同一个运行场景中。
- 三层交换机可以轻松处理高带宽资源和最终用户应用,它提供了 10Gbits 带宽。
- 三层交换机有能力解除过载的路由器的负担。在广域网场景中,每个三层交换机都有一个主路由器,这样交换机就可以管理所有的本地VLAN路由。
- 通过遵循上述类型的场景,路由器的工作效率将会提高,并且可以专门用于长距离(WAN)连接和数据传输。
- 三层交换机十分智能,可以利用其高带宽处理和管理本地连接的服务器和终端设备的路由和流量控制。因此,公司通常使用三层交换机来连接其监控服务器和子系统NOC中心的主机节点。
三层交换机有路由功能,但不能完全取代路由器,因为基础原理并不相同.
三层交换机从某种意义上来说会比路由器策略转发快的多!
三层交换机能很方便的节约网络资源,防止拥塞现象.
区别:
工作层级不同:二层交换机工作在数据链路层,三层交换机工作在网络层,三层交换机不仅实现了数据包的高速转发,还可以根据不同网络状况达到最优网络性能。
原理不同:二层交换机的原理是当交换机从某个端口收到一个数据包,它会先读取包中的源MAC地址,再去读取包中的目的MAC地址,并在地址表中查找对应的端口,如表中有和目的MAC地址对应的端口,就把数据包直接复制到这个端口上。三层交换机的原理比较简单,就是一次路由多次交换,通俗来说就是第一次进行源到目的的路由,三层交换机会将此数据转到二层,那么下次无论是目的到源还是源到目的都可以进行快速交换。
应用不同:二层交换机主要用于网络接入层和汇聚层,而三层交换机主要用于网络核心层,但是也存在少部分三层交换机用于汇聚层的现象,下图是三层交换机的实际应用实例。
PS:三层交换机与路由器之间的区别:
深入解读路由器、交换机、三层交换机的区别 - 知乎
网络工程师必知:三层交换机与路由器如何选择?它们之间有哪些本质区别?网络技术联盟站-网络技术-网络技术联盟站瑞哥-网络工程师-网络工程网络技术联盟站
7.冲突域与广播域
参考网址:详解广播域和冲突域的区别_WenjieDai的博客-CSDN博客_冲突域和广播域的区别
冲突域(基于物理层):
连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合或以太网上竞争同一带宽的节点集合。
广播域(基于数据链路层):
接收同样广播消息的节点的集合。由于广播域被认为是OSI中的第二层概念,所以像Hub(集线器),交换机等第一,第二层设备连接的节点被认为都是在同一个广播域。而路由器,第三层交换机则可以划分广播域,即可以连接不同的广播域。
区别:
- 广播域可以跨网段,而冲突域只是发生的同一个网段的。以太网中,冲突域是由hub组织的。一个hub就是一个冲突域。交换机的每个端口都是一个冲突域。网段,又叫潜在冲突域。
- 冲突域在同一个冲突域中的每一个节点都能收到所有被发送的帧。广播域在网络中能接收任一设备发出的广播帧的所有设备的集合 。
- 冲突域是基于第一层(物理层),而广播域是机于第二层(数据链路层) 。
- 广播域就是说,如果站点发出一个广播信号后能接收到这个信号的范围,通常来说一个局域网就是一个广播域。(用路由器连接的除外)。冲突域是一个站点向另一个站点发出信号,除目的站点外,有多少站点能收到这个信号,这些站点就构成一个冲突域。
- HUB (集线器)所有端口都在同一个广播域,冲突域内。Swich(交换机)所有端口都在同一个广播域内,而每一个端口就是一个冲突域。
8.VLAN&子网
VLAN:
参考网址:什么是VLAN?VLAN是如何工作的? - 华为
VLAN 基础知识 - 知乎
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。
每个VLAN是一个广播域,VLAN内的主机间可以直接通信,而VLAN间则不能直接互通。这样,广播报文就被限制在一个VLAN内。(减少冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。)
VLAN具备以下优点:
- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
- 增强局域网的安全性:不同VLAN内的报文在传输时相互隔离,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
- 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
VLAN的划分:
根据端口定义;根据MAC地址划分;根据网络层划分:IP组播作为VLAN;基于组合策略划分VLAN;
VLAN接口类型:
现网中属于同一个VLAN的用户可能会被连接在不同的交换机上,且跨越交换机的VLAN可能不止一个,如果需要用户间的互通,就需要交换机间的接口能够同时识别和发送多个VLAN的数据帧。根据接口连接对象以及对收发数据帧处理的不同,当前有VLAN的多种接口类型,以适应不同的连接和组网。
Access接口:Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器)相连,或者不需要区分不同VLAN成员时使用。
在一个VLAN交换网络中,以太网数据帧主要有以下两种形式:
- 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。
- 有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
Access接口大部分情况只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。交换机内部只处理Tagged帧,所以Access接口需要给收到的数据帧添加VLAN Tag,也就必须配置缺省VLAN。配置缺省VLAN后,该Access接口也就加入了该VLAN。
当Access接口收到带有Tag的帧,并且帧中VID与PVID相同时,Access接口也能接收并处理该帧。
在发送带有Tag的帧前,Access接口会剥离Tag。
Trunk接口:Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许属于缺省VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Trunk接口上的缺省VLAN,有的厂商也将它定义为native VLAN。当Trunk接口收到Untagged帧时,会为Untagged帧打上Native VLAN对应的Tag。
Hybrid接口:Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。
Hybrid接口和Trunk接口在很多应用场景下可以通用,但在某些应用场景下,必须使用Hybrid接口。比如在灵活QinQ中,服务提供商网络的多个VLAN的报文在进入用户网络前,需要剥离外层VLAN Tag,此时Trunk接口不能实现该功能,因为Trunk接口只能使该接口缺省VLAN的报文不带VLAN Tag通过。
VLAN使用场景:VLAN间用户的二层隔离;VLAN间用户的三层互访。
子网:(子网掩码、CIDR等知识略)
IP地址可以在逻辑上划分(也称为子网划分)为两个部分:网络号(路由前缀)和主机标识符。属于子网的网络设备在其IP地址中共享公共网络前缀。网络前缀是通过在IP地址和子网掩码(通常为255.255.255.0)之间应用按位与运算来确定的。使用示例地址192.168.5.130,网络前缀(子网)为192.168.5.0,而主机标识符为0.0.0.130。
当源地址和目的地址的网络 前缀不同时,流量将通过路由器在子网之间交换或路由(许多现代交换机还具有路由器功能)。路由器构成子网之间的逻辑和物理边界。
作用:
- 缓解性能问题,因为LAN不能无限扩展。广播过多或帧泛滥到未知的目的地将限制其规模。这两种情况中的任何一种都可能由于使以太网LAN中的单个广播域太大而引起。但是,带宽耗尽(除非它是由广播数据包或帧泛滥引起的)通常无法通过VLAN和子网划分来解决,因为它们不会增加可用带宽量。通常由于缺乏物理连接(服务器上的NIC太少,组中的端口太少,需要提高端口速度等原因而发生这种情况)。第一步是监视网络流量并确定故障点。一旦了解了流量如何在LAN上移动,就可以出于性能原因开始考虑子网划分。
- 限制/控制在第3层或更高层的主机之间移动的流量的需求。如果要控制主机之间的IP(或TCP或UDP等)流量,而不是攻击第2层的问题,则可以考虑子网划分子网,并在子网之间添加具有ACL的防火墙/路由器。
二者区别:
VLAN和子网之间的区别与联系 - &Yhao - 博客园
VLAN是数据链路层(OSI L2)的构造,而子网是网络层(OSI L3)的IP构造,它们解决网络上的不同问题。尽管在VLAN和子网之间创建一对一关系是一种常见的做法,但是它们是独立的第2层和第3层构造,这在设计网络时增加了灵活性。
(该图片摘自什么是VLAN?VLAN是如何工作的? - 华为
9.二层网络拓扑通信过程
数据帧的转发流程如下:
- 根据帧的目的MAC查MAC转发表(即L2FDB),查找相应的出端口。根据现有L2FDB表,报文应该从端口XXX发送出去;
- 如果在L2FDB表中查找不到该目的MAC,则该报文将通过广播的方式向交换机所有端口转发;
- 同时该以太网帧的源MAC将被学习到接收到报文的端口上;
PS: L2FDB表中MAC地址通过老化机制来更新;
在转发的过程中,不会对帧的内容进行修改
10.三层网络拓扑通信过程
跨VLAN的数据经由网关通信,网关不一定是路由器,还可以是三层交换机或插了两块网卡的电脑。
- 先判断对方在不在同一网段,不在。
- PC通过本地路由查找默认网关信息。
- PC通过本地ARP表查找默认网关MAC地址。
- 有默认网关,封装后发送数据包至默认网关/路由器。无默认网关,则通过ARP广播寻址。(此时源IP为本地主机,目的IP为目的主机,源MAC为本地主机,目的MAC为默认网关)
- 由默认网关/路由器进行路由转发,拆掉二层封装。
- 根据目的IP查找路由表,确认下一跳转发路径。(路由信息包括:路由信息类别、目的网段、度量值、下一跳地址、出口)(路由包括直连路由、静态路由、动态路由、默认路由)
- 重新封装数据包MAC地址(此时源MAC为出接口的MAC,目的MAC为下一跳MAC,不知道时发ARP广播包寻址)
- 目的主机收到数据包后应答。
首先,二层交换机借助硬件部分的MAC地址表来定位目标主机。然后从MAC表中学习接收主机的目的地址。之后,三层交换机根据IP地址和子网掩码进行交换和路由,它将明确PC1希望和哪个VLAN网络的目标PC通信。一旦它收集了所有必要的信息,将在它们之间建立链接,并将数据从发送端路由到接收端。这样就完成了不同VLAN间的通信。
11.关于路由
交换机/路由器等三层设备的路由中包含的路由信息:
三层路由知识_NaZhiMiao的博客-CSDN博客_三层路由
18张图带你详解IP路由表七大要素:路由前缀、协议类型、优先级等_网络工程师笔记的博客-CSDN博客_ip路由表
***Destination/Mask:目标网络:你想去往目标地的网络
**Proto:路由来源:要么是通过直连学习到 要么是通过静态或者动态构建出来的
**Pre:优先级:直连是0 OSPF是10和150 静态是60 rip是100 BGP是255
**Cost:度量值(cost):可以理解为花销成本
*Flags:标志位
***NextHop:下一跳:你想要去往目标地的下一站 127.0.0.1表示的是抵达设备自身流量
***Interface:出接口:数据包发送的接口
注意:一般来说 出接口和下一跳在同一个网段
路由选路原则:
路由选路三原则_运维密码的博客-CSDN博客
最长掩码匹配原则;管理性距离(AD)选路原则(越小);度量值(越小)
路由分类及优先级:
路由的分类和优先级 - 知乎
1.直连路由:路由器接口上配置的网段地址会自动出现在路由表中并与接口关联
优点:自动发现,开销小
缺点:只能发现本接口所属网段
2.静态路由:系统管理员手工设置的路由称为静态(static)路由,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络拓扑结构的改变而自动改变。
适用场景:网络规模不大,网络拓扑稳定
优点:配置简单,不占用网络和系统资源,安全
缺点:当一个网络模块故障发生后,静态路由不会自动修正,需网络管理员手工逐条配置,不能自动对网络状态变化做出相应的调整。
一条静态路由配置命令中要有以下几个要素:
- 目的地址:用来标识IP包的目标地址或目标网络
- 网络掩码:和目标地址一起来标识目标网络
- 下一跳IP地址:说明IP包所经由的下一个IP地址
- 接口:说明IP包从哪个接口发出去
- 度量值:相当于路由协议的优先级,值越小,优先级越高
3.动态路由:路由器根据路由选择协议所定义的规则来交换路由信息,并且独立地选择最佳路径
适用场景:网络规模大,网络拓扑复杂
优点:通过路由信息交换生成并维护路由表,简化管理员维护工作。当网络结构发生变化时,可以自动做出调整,优化路由表。
缺点:需占用路由器资源(CPU、内存)和网络带宽资源
分类:
根据作用的范围,路由协议可分为:
- 内部网关协议(Interior Gateway Protocol,简称IGP):在一个自治系统内部运行,常见的IGP协议包括RIP、OSPF和IS-IS。
- 外部网关协议(Exterior Gateway Protocol,简称EGP):运行于不同自治系统之间,BGP是目前最常用的EGP协议。
根据使用的算法,路由协议可分为:
- 距离矢量协议(Distance-Vector):包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector)。
- 链路状态协议(Link-State):包括OSPF和IS-IS。
以上两种算法的主要区别在于发现路由和计算路由的方法。
4.默认路由(缺省路由):是一个路由表条目,用来指明一些在下一跳没有明确地列于路由表中的数据单元该如何转发。对于在路由表中找不到明确路由条目的所有的数据包都将按照缺省路由指定的接口和下一跳地址进行转发。(并不一定都是手工配置的静态路由,有时也可以由动态路由协议产生)
在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0)的路由形式出现。可通过命令Show ip route的输出看它是否被设置。如果报文的目的地址不能与路由表的任何入口项相匹配,那么该报文将选取缺省路由。如果没有缺省路由且报文的目的地址不在路由表中,那么该报文被丢弃的同时,将返回源一个ICMP报文指出该目的地址或网络不可达。缺省路由是否出现在路由表中取决于本地出口状态。使用缺省路由意味着采用适当带宽的链路来替代高带宽的链路以满足大量用户通信的需求。
优点:使用缺省路由可以极大减少路由表条目
缺点:一旦配置不正确可能导致路由环路;可能导致非最佳路由。
12.重要动态路由协议(RIP&OSPF&BGP)
内部网关协议(IGP):
RIP协议详解_TheCarol的博客-CSDN博客_rip
RIP(Routing Information Protocol,路由信息协议):RIP协议基于距离矢量算法(Bellham-Ford)(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。实现简单,开销较小,用于小规模网络。
三个要点:仅与相邻路由器交换信息;交换的是本路由器得全部信息(路由表);按固定时间间隔周期性交换。
工作过程:
- 路由表为空,只知道直接相连的几个网络的距离。
- 和相邻路由器交换并更新路由信息。
- 路由器知道到达本自治系统中的任何一个网络的最短距离以及下一跳地址。
特点:好消息传得快:在自治系统中所有的节点都得到正确的路由选择信息得过程较快;坏消息传得慢 ,要一直循环到跳数达到16时才发现。可能产生路由环路。
OSPF路由协议 - 知乎 OSPF路由协议_百度百科
OSPF协议原理详解_Carry丶的博客-CSDN博客_ospf
OSPF(Open Shortest Path First,开放最短路径优先):基于链路状态的协议。链路:路由器接口;状态:描述接口以及其与邻居路由器之间的关系。以开销作为度量值,收敛速度快,适合在大范围的网络。
工作过程:
- 了解直连网络 LSP在路由器初始启动期间,或路由协议启动过程期间,或在每次拓扑发生更改(包括链路接通和断开)时,或是邻接关系建立,破裂时发送,并不需要定期发送。
- 向邻居发送hello包(邻居指启用了相同链路状态路由协议的其他任何路由器)
- 建立链路状态数据包,
- 将链路状态数据包泛洪给邻居 路由器将其链路状态信息泛洪到路由区域内的其他所有链路状态路由器,他一旦收到来自邻居的LSP,不经过中间计算,立即将这个LSP从除接收该LSP口以外的所有接口发出,此过程在整个路由区域内的所有路由器上形成LSP的泛洪效应。
- 每台路由器使用数据库建立一个完整的拓扑图并计算通向每个目的网络的最佳路径。
网络类型:
点到点连接;广播;非广播多路访问;点到多点;
特点:
适合在大范围的网络:路由的跳数无限制;组播触发式更新:减小干扰;收敛速度快;以开销作为度量值:选路基于带宽因素;可以避免路由环路:在最短路径算法下,收到路由中的链路状态,生成路径,不会产生环路;应用广泛;配置复杂;路由自身的负载分担能力低。
OSPF特殊区域:
ospf 的特殊区域_m0_51828898的博客-CSDN博客
RIP与OSPF区别:
- RIP必须首先运行贝尔曼-福特算法来处理路由更新,然后才将他们发送至其他路由器,而OSPF协议则是再泛洪完成后在计算SPF算法,因此到达收敛的速度比距离矢量路由协议速度要快。
- OSPF的可靠性比RIP高;部署OSPF 的网络扩展性比部署RIP 的网络好。
- OSPF是链路状态路由协议,它是根据网络状态选择路由走向的;RIP是距离矢量路由协议,是计算路由器的个数来选择最短路径的;
- RIP协议一条路由有15跳(网管或路由器)的限制,如果RIP网络路由跨越超过15跳,则认为网络不可到达,而OSPF对跨越路由器的个数没有限制;
- OSPF协议支持可变长度子网掩码,RIP则不支持,这使得RIP协议对当前IP地址的缺乏缺少支持;
- OSPF协议复杂,应用在大型网络;RIP协议简单,在小型网络使用方便;
- RIP协议不是针对网络的实际情况广播路由表,而是定期的广播路由表,这对网络的宽带资源是极大的浪费,特别是对大型的广域网;OSPF协议的路由广播更新只发生在路由状态变化的时候,这样节约了带宽。
外部网关协议(EGP):
BGP基础知识_曹世宏的博客的博客-CSDN博客_bgp 边界网关协议_百度百科
BGP(Border Gateway Protocol,边界网关协议):是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。BGP路由选择协议执行中使用4种分组:打开分组(open)、更新分组(update)、存活分组(keepalive)、通告分组(notification)。
自治系统AS(Autonomous System):AS是指在一个实体管辖下的拥有相同选路策略的IP网络。
BGP用于在不同的自治系统(AS)之间交换路由信息。当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。这个节点可以是一个主机。但通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router)。虽然BGP用于在AS之间传递路由信息,但并不是所有AS之间传递路由信息都需要运行BGP。比如在数据中心上行的连入Internet的出口上,为了避免Internet海量路由对数据中心内部网络的影响,设备采用静态路由代替BGP与外部网络通信。
BGP按照运行方式分为EBGP(External/Exterior BGP)和IBGP(Internal/Interior BGP)。
- EBGP:运行于不同AS之间的BGP称为EBGP。为了防止AS间产生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢弃。
- IBGP:运行于同一AS内部的BGP称为IBGP。为了防止AS内产生环路,BGP设备不将从IBGP对等体学到的路由通告给其他IBGP对等体,并与所有IBGP对等体建立全连接。为了解决IBGP对等体的连接数量太多的问题,BGP设计了路由反射器和BGP联盟。
13.单播/组播/广播对比&IPv6地址包含的类型
什么是组播?组播和单播的区别是什么? - 华为
单播:在同一网络内,两个设备点对点的通信就是单播通信。单播是主机间一对一的通讯模式,网络中的设备根据网络报文中包含的目的地址选择传输路径,将单播报文传送到指定的目的地,只对接收到的数据进行转发,不会进行复制。它能够针对每台主机及时的响应,现在的网页浏览全部都是采用单播模式。
组播:在同一网络可达范围内,一个网络设备与关心其数据的部分设备进行通信就是组播。组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。
单播传输适用于用户稀少的网络,如果用户量较大时,网络将会出现多份相同的流量,会大量占用处理器资源而且非常浪费网络的带宽,而通过组播方式传输,网络中每条链路中仅有一条数据流。组播相比于单播的优势在于相同的报文在每条链路上最多有一份。
广播:在同一网络可达范围内,一个网络设备向本网络内所有设备进行通信就是广播。广播是主机间一对所有的通讯模式,设备会将报文发送到网络中的所有可能接收者。设备简单地将它收到的任何广播报文都复制并转发到除该报文到达的接口外的每个接口。广播处理流程简单,不用选择路径。
IPv6地址包含的类型:
IPv6的地址类型_姜亚轲的博客-CSDN博客_ipv6地址类型
组播、单播、任意播。
14.DHCP协议
什么是DHCP?为什么要用DHCP? - 华为
DHCP(Dynamic Host Configuration Protocol动态主机配置协议):DHCP协议采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,DHCP Server为网络上的每个设备动态分配IP地址、子网掩码、默认网关地址,域名服务器(DNS)地址和其他相关配置参数,以便可以与其他IP网络通信。
在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。DHCP实现的自动化分配IP地址不仅降低了配置和部署设备的时间,同时也降低了发生配置错误的可能性。另外DHCP服务器可以管理多个网段的配置信息,当某个网段的配置发生变化时,管理员只需要更新DHCP服务器上的相关配置即可,实现了集中化管理。
优势:
- 准确的IP配置:IP地址配置参数必须准确,并且在处理“ 192.168.XXX.XXX”之类的输入时,很容易出错。另外印刷错误通常很难解决,使用DHCP服务器可以最大程度地降低这种风险。
- 减少IP地址冲突:每个连接的设备都必须有一个IP地址。但是,每个地址只能使用一次,重复的地址将导致无法连接一个或两个设备的冲突。当手动分配地址时,尤其是在存在大量仅定期连接的端点(例如移动设备)时,可能会发生这种情况。DHCP的使用可确保每个地址仅使用一次。
- IP地址管理的自动化:如果没有DHCP,网络管理员将需要手动分配和撤消地址。跟踪哪个设备具有什么地址可能是徒劳的,因为几乎无法理解设备何时需要访问网络以及何时需要离开网络。DHCP允许将其自动化和集中化,因此网络专业人员可以从一个位置管理所有位置。
- 高效的变更管理:DHCP的使用使更改地址,范围或端点变得非常简单。例如,组织可能希望将其IP寻址方案从一个范围更改为另一个范围。DHCP服务器配置有新信息,该信息将传播到新端点。同样,如果升级并更换了网络设备,则不需要网络配置。
15.TCP/IP三次握手与四次挥手
强推!!强推这个知乎回答!一文搞定TCP UDP - 搜索结果 - 知乎
三次握手:
假设 A 为客户端,B 为服务器端。
首先 B 处于 LISTEN(监听)状态,等待客户的连接请求。
- A 向 B 发送连接请求报文,SYN=1,ACK=0,选择一个初始的序号 x。(客户端发送网络包,服务端收到了。这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。)
- B 收到连接请求报文,如果同意建立连接,则向 A 发送连接确认报文,SYN=1,ACK=1,确认号为 x+1,同时也选择一个初始的序号 y。(服务端发包,客户端收到了。这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。从客户端的视角来看,我接到了服务端发送过来的响应数据包,说明服务端接收到了我在第一次握手时发送的网络包,并且成功发送了响应数据包,这就说明,服务端的接收、发送能力正常。而另一方面,我收到了服务端的响应数据包,说明我第一次发送的网络包成功到达服务端,这样,我自己的发送和接收能力也是正常的。)
- A 收到 B 的连接确认报文后,还要向 B 发出确认,确认号为 y+1,序号为 x+1。(客户端发包,服务端收到了。这样服务端就能得出结论:客户端的接收、发送能力,服务端的发送、接收能力是正常的。第一、二次握手后,服务端并不知道客户端的接收能力以及自己的发送能力是否正常。)
B 收到 A 的确认后,连接建立。
第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开链接。
**四次挥手: **
- 客户端发送一个 FIN 段,并包含一个希望接收者看到的自己当前的序列号 K. 同时还包含一个 ACK 表示确认对方最近一次发过来的数据。
- 服务端将 K 值加 1 作为 ACK 序号值,表明收到了上一个包。这时上层的应用程序会被告知另一端发起了关闭操作,通常这将引起应用程序发起自己的关闭操作。
- 服务端发起自己的 FIN 段,ACK=K+1, Seq=L。
- 客户端确认。进入 TIME-WAIT 状态,等待 2 MSL(最大报文存活时间)后释放连接。ACK=L+1。
为什么四次挥手:TCP双向通道互相独立。TCP半关闭:TCP提供了连接的乙方在结束他的发送后还能接受来自另一端数据的能力,不
16.TCP与UDP(TCP的流量控制与拥塞控制)
** TCP(Transmission Control Protocol,传输控制协议)**
** UDP(User Data Protocol,用户数据报协议)**
- TCP是面向连接的,UDP是无连接的。
- TCP提供可靠的服务,UDP是尽最大努力交付。TCP传送的数据无差错、不丢失、不重复,按序到达。
- TCP只能点到点通信,UDP支持一对一、一对多、多对一和多对多的交互通信。
- TCP面向字节流,UDP面向报文。
- TCP的开销大于UDP,TCP有滑动窗口、拥塞控制和流量控制等问题要考虑。
- TCP的逻辑通信信道是一条全双工的可靠信道,UDP是一条不可靠信道。
TCP的拥塞控制:慢开始、拥塞避免、快重传、快恢复
发送的最初执行慢开始,令 cwnd = 1,发送方只能发送 1 个报文段;当收到确认后,将 cwnd 加倍,因此之后发送方能够发送的报文段数量为:2、4、8 ...
注意到慢开始每个轮次都将 cwnd 加倍,这样会让 cwnd 增长速度非常快,从而使得发送方发送的速度增长速度过快,网络拥塞的可能性也就更高。设置一个慢开始门限 ssthresh,当 cwnd >= ssthresh 时,进入拥塞避免,每个轮次只将 cwnd 加 1。
如果出现了超时,则令 ssthresh = cwnd / 2,然后重新执行慢开始。
在接收方,要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认。例如已经接收到 M1 和 M2,此时收到 M4,应当发送对 M2 的确认。
在发送方,如果收到三个重复确认,那么可以知道下一个报文段丢失,此时执行快重传,立即重传下一个报文段。例如收到三个 M2,则 M3 丢失,立即重传 M3。
在这种情况下,只是丢失个别报文段,而不是网络拥塞。因此执行快恢复,令 ssthresh = cwnd / 2 ,cwnd = ssthresh,注意到此时直接进入拥塞避免。
慢开始和快恢复的快慢指的是 cwnd 的设定值,而不是 cwnd 的增长速率。慢开始 cwnd 设定为 1,而快恢复 cwnd 设定为 ssthresh。
TCP流量控制:滑动窗口机制
TCP协议-TCP的流量控制_yunfan188的博客-CSDN博客_tcp流量控制
- TCP首部中的窗口字段指出了现在运行对方发送的数据量。窗口值是经常动态变化者的。
- TCP 使用滑动窗口机制。发送窗口里面的序号表示允许发送的序号。发送窗口左边的部分表示已发送且已收到了确认应答,而发送窗口右边的部分表示不允许发送。发送窗口右边界的变化有两种情况:一是不动(没有收到新的确认应答);二是前移(收到了新的确认应答)。发送窗口通常是不断向前移动的。
**二者区别: **
- 流量控制是为了解决发送方和接收方速度不同而导致的数据丢失问题,当发送方发送的太快,接收方来不及接受就会导致数据丢失,流量控制用滑动窗口的形式解决问题
- 拥塞控制是为了解决过多的数据注入到网络,导致网络奔溃,超过负荷.当发送方发送数据大量的数据会注入到网络,如果没有限制,网络就会超负荷变卡,拥塞控制的用的是拥塞窗口解决的问题的
17.TCP对应的应用层协议(FTP是重点)
基于TCP或UDP的应用层协议有哪些?——Linux网络编程_博雅勇士的博客-CSDN博客_应用层协议依赖于tcp和udp
** 基于TCP协议的都用C/S模式(客户端/服务器模式)**
** HTTP(HyperText Transfer Protocol 超文本传输协议)**:从Web服务器传输超文本到本地浏览器的传送协议。
FTP(File Transfer Protocol 文件传输协议):用于Internet上控制文件的双向传输。命令与数据分开传送,提高了效率。提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了计算机系统的各种细节,可减少或消除在不同操作系统下处理文件的不兼容性,因而适合于在异构网络中任意计算机之间传送文件。
FTP的服务器进程:一个主进程:负责接收新的请求;若干个从属进程:负责处理单个请求。
两个端口:命令端口(端口号21)负责FTP命令的发送,并接收返回的响应信息。数据端口(端口号20):对于有数据传输的操作,主要显示目录列表、上传、下载文件。
两种模式:
- 被动模式:服务器会返回一个端口号。客户端需要用另开一个Socket来连接这个端口,然后我们可根据操作来发送命令,数据会通过新开的一个端口传输。
- 主动模式:通常客户端会发送一个端口号给服务器,并在这个端口监听。服务器需要连接到客户端开启的这个数据端口,并进行数据的传输。
SMTP(Simple Mail Transfer Protocol 简单邮件传输协议):定义了简单邮件传送协议,用于发送邮件,使用的是25端口。
Telnet(Teletype over the Network 网络电传):一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。
18.UDP对应的应用层协议(DNS是重点)
基于TCP或UDP的应用层协议有哪些?——Linux网络编程_博雅勇士的博客-CSDN博客_应用层协议依赖于tcp和udp
什么是DNS? - 知乎
** DNS(Domain Name Service 域名服务)**:因特网上作为域名和IP地址互相映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机对应的IP地址的过程叫做域名解析(或主机名解析)。使用53号端口。
例如:www.sina.com.cn, 其中最高域名是cn, 表示这台主机在中国。 第二级域名是com, 表示这个主机属于公司机构; 接下来是sina表示这台主机属于新浪网, 最左边的是www,表示该主机是一台web服务器。人们可以很容易的就记住它的域名,而不用他的IP地址。
DNS域名解析过程:
1,在浏览器中输入http://pool.btc.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2,如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3,如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4,如果要查询的域名,不在本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5,如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(http://BTC.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找http://pool.btc.com域服务器,重复上面的动作,进行查询,直至找到http://pool.btc.com主机。
6,如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
TFTP(Trivial File Transfer Protocol 简单文件传输协议):该协议在熟知端口69上使用UDP服务。
SNMP(Simple Network Management Protocol 简单网络管理协议):使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出优势。
NTP(Network Time Protocol 网络时间协议)
18.Web页面请求过程
超详细的"Web页面请求过程"之旅_笨小孩k的博客-CSDN博客
书《计算机网络自顶向下方法(第六版)》第329页也有这个,实在是懒得打啦!改日再打
19.IPv4头部中的TTL
TTL(Time to Live 存活时间):在网络中标识数据包最大存活时间,用来防止路由环路,每经过一台路由器则TTL字段减去1,直到为0,此数据包直接被丢弃。其值最大为255,单位为s。然而现在路由器转发数据包都是用跳数来作为衡量单位。
IPv6的报文头部中有:HL(Hop Limit):跳数限制于IPv4报文中的TTL字段类似,指定了报文可以有效转发的次数,该字段长度为8比特位。报文每经过一个路由器结点,跳数值就减1,当此字段值减到0时,则直接丢弃该报文。
20.NAT协议
网络地址转换协议NAT功能详解及NAT基础知识介绍 - 知乎
nat(网络地址转换)_百度百科
NAT(Network Address Translation 网络地址转换):把主机的本地IP地址(即仅在本专用网内使用的专用地址)转化为公网IP地址。
这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。
功能:
- 宽带分享:这是 NAT 主机的最大功能。
- 安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 客户端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源客户端的 PC 。
21.STP 生成树协议!!
什么是STP?为什么需要STP? - 华为
STP(Spanning Tree Protocol 生成树协议):STP通过将部分冗余链路强制为阻塞状态,其他链路处于转发状态,将环形网络结构修剪成无环路的树形网络结构,可实现消除环路。当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态,恢复恢复网络连通性。
从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。
根桥:对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。在进行根桥的选择时,一般会选择性能高、网络层次高的交换设备作为根桥。根桥会根据网络拓扑的变化而动态变化。
根端口:去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据路径开销判定。在一台设备上所有使能STP的端口中,根路径开销最小者,就是根端口。很显然,在一个运行STP协议的设备上根端口有且只有一个,根桥上没有根端口。
指定端口:对于一台设备而言,即为指定桥向本机转发配置消息的端口;对于一个局域网而言,即为指定桥向本网段转发配置消息的端口。
STP的基本实现过程如下:
- 选择根网桥:网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换BPDU消息,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。根桥上的所有端口都是转发状态。
- 选择根端口:非根桥设备将接收最优配置消息的那个端口定为根端口,根端口也是处于转发状态。(选择依据:到根网桥路径开销最低;最低的发送方网桥ID;最低的端口ID)
- 选择指定端口:设备根据根端口的配置消息和根端口的路径开销,为每个端口计算一个指定端口配置消息,然后将计算出的配置消息与角色待定端口自己的配置消息进行比较。 1. 如果计算出的配置消息更优,则该端口被确定为指定端口,其配置消息也被计算出的配置消息替换,并周期性地向外发送;2. 如果该端口自己的配置消息更优,则不更新该端口的配置消息并将该端口阻塞。该端口将不再转发数据,且只接收不发送配置消息。
其他常考问题:
Linux的一些常用语句
TCP的连接安全(SSL)
5G技术及应用场景
防火墙
DDoS拒绝服务攻击
版权归原作者 Techer_Y 所有, 如有侵权,请联系我们删除。