做企业网站的步骤,长沙seo服务,模具在线设计平台,太仓建设银行网站IPv4地址
IPv4地址通常以“点分十进制”形式书写#xff0c;即四个0-255之间的十进制数#xff0c;各数之间用英文句点#xff08;.#xff09;分隔#xff0c;例如#xff1a;192.0.2.1。总共32位的地址空间可以表示大约42亿个不同的地址。
IPv4地址结构包括#xff…IPv4地址
IPv4地址通常以“点分十进制”形式书写即四个0-255之间的十进制数各数之间用英文句点.分隔例如192.0.2.1。总共32位的地址空间可以表示大约42亿个不同的地址。
IPv4地址结构包括
网络部分这部分地址标识设备所在的网络。
主机部分这部分地址则用来区分同一网络中的不同设备
子网掩码
在IPv4中子网掩码通过“1”和“0”的组合来标识IP地址中的网络部分“1”对应的部分为网络位“0”对应的部分为主机位。例如子网掩码是255.255.255.0这意味着IP地址的前24位被指定为网络部分后8位用于标识该网络内的主机。配子网掩码的目的就是让计算机在和其他终端通信的时候来确定两台机器是否在同一个网络内。
MAC地址
MAC地址是一种硬件地址也称为物理地址或以太网地址。它是唯一的由设备制造商在生产时写入到每个网络接口卡NIC中用作识别局域网LAN中的每一台主机或设备。MAC地址长度为48位通常表示为12个十六进制数例如00:14:22:01:23:45。主要作用是在数据链路层第二层Layer 2进行帧的传输同一局域网内的设备通过MAC地址直接通信。
MAC地址和IPv4是计算机网络中两种不同层次的地址标识它们分别用于不同的网络通信目的。MAC地址与硬件相关联主要用于本地网络内设备之间的直接通讯而IPv4地址则用于全球范围的因特网上它不受硬件限制能够实现跨网络的数据包传输。在实际网络通信过程中ARP协议负责将IP地址映射到MAC地址以便在局域网内部署数据帧。
网关
对于一个本地网络而言其内部设备通常通过交换机进行通信但如果要访问外部网络例如互联网上的Google、Baidu等服务器就需要经过网关这个网关通常是路由器的一个接口。
网关作用在一个局域网中路由器的一个接口被配置为该网络的默认网关所有发往非本网络的目的地的数据包都会先被发送到这个网关。网关负责将这些数据包正确地转发到其他网络同时也能接收来自外部网络的数据包并将其转发给本网络内的目的主机。
寻址与路由当本地网络中的主机尝试访问外部网络资源时它会把数据包的目标IP地址设置为所需的外部网络地址并通过默认网关即路由器发送出去。路由器则依据自身的路由表信息将数据包转发至正确的下一跳设备直到最终送达目标网络。
因此可以将网关理解为不同网络间数据传输的重要枢纽而路由器是实现这一功能的关键网络设备之一。
广播域ARP协议、VLAN、冲突域
广播域
指一组能够接收并处理同一广播帧的设备集合。在一个广播域内任何一台设备发送一个广播帧时这个帧会被所有其他设备接收和处理广播报文一般采用 ARP 协议进行广播。
一个 MAC 地址全为 1 的地址 FF-FF-FF-FF-FF-FF 就是广播地址所有节点都会把目的地址处理为广播地址的数据帧这个数据帧能到达的整个访问范围就称为二层广播域也就是广播域。 正常来说通过广播地址就可以访问到同一个网络中所有的设备广播域的目的就是要让同一个网络中的所有设备都能收到报文。二层交换机做的就是把广播帧转发给除源端口之外的其他端口所以二层交换机不能够隔离广播。
广播风暴 广播风暴是指在一个广播域内由于网络设备接收到一个广播帧后会将它转发给所有其他接口导致广播信息在短时间内大量复制和传播占用大量的网络带宽。当广播帧无限制地循环发送时会形成一种“雪崩效应”使得正常的业务数据传输无法进行严重时甚至可以造成整个网络瘫痪。
ARP协议
ARPAddress Resolution Protocol地址解析协议是用来将 IP 地址解析为 MAC 地址的协议。 ARP 协议位于网络参考模型中的第二层也就是数据链路层要想准确无误的找到一台设备就必须要知道它的 MAC 地址但是在实际的网络中我们一般都是去通过 IP 地址去访问相应的设备因为 IP 地址是一个逻辑地址可以屏蔽物理地址的差异。
简单来说就是两台 PC 之间需要通信一般都只知道对方的 IP 地址而不知道对方的 MAC 地址所以想要去访问另外一台主机就需要通过 ARP 协议把 IP 地址转换为我们目标主机的 MAC 地址这样就可以找到对应的目标主机了。
VLAN
VLAN是一种在逻辑上划分和隔离网络的方法。它不依赖于物理位置而是根据管理策略对连接到同一交换机或跨越多个交换机的设备进行分组每个组形成一个独立的逻辑子网。
想要解决广播风暴就需要切割广播域。可以通过路由器来切割广播域使得ARP广播请求不能广播到每一个主机。
如下图两个交换机连接的主机从属同一个广播域。 在中间加一个路由器从而切割了广播域。 路由器成本比较高利用路由器进行隔离广播是不现实的所以引入了虚拟局域网技术VLAN。
在这里虚拟技术虚拟的是设备与物理位置其实本质上就是划分资源、灵活调用资源的一种新逻辑。像OS中将进程运行划分时间片CPU只运行时间片那么长的时间从而在多个进程间来回切换实现多进程并发执行灵活利用CPU资源。我们将多个局域网统一成一个大的局域网将这个大的局域网划分成不同的VLan这个Vlan可以切割广播域。 如上图1、2、3楼各分配一个交换机各代表一个局域网局域网内可实现各自的广播通信。现在将1、2、3楼的交换机统一连接到一个交换机上那么这个时候广播通信可以在全部主机上执行也就是网段1、2、3实现全广播了这个时候我划分 VLAN1 和 VLAN2 VLAN1中的主机广播就不会发送到VLAN2的主机上了实现了网段间的隔离实现了广播域隔离。
冲突域
冲突域就是所有节点竞争同一带宽从一个节点上发出的报文无论是单播、组播、广播除这个发送节点和接收节点会接收到相应的报文之外和它同一个介质也就是同一台物理设备上其余所有的节点都会收到不应该出现在这些节点上的报文。 一般普遍认为一个 HUB集线器就是一个冲突域 二层交换机和三层交换机的区别
二层交换机:二层交换机属数据链路层设备可以识别数据包中的MAC地址信息根据MAC地址进行转发并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。二层交换机只能在同一广播域或VLAN内部实现设备间的通信。
具体如下
1当交换机从某个端口收到一个数据包它先读取包头中的源MAC地址这样它就知道源MAC地址的机器是连在哪个端口上
2再去读取包头中的目的MAC地址并在地址表中查找相应的端口
3如表中有与这目的MAC地址对应的端口把数据包直接复制到这端口上。
三层交换机: 当一个数据包到达三层交换机的一个端口时首先会由二层交换处理。如果数据包是未封装的以太网帧即在VLAN内通信则直接根据MAC地址表进行转发。如果这是新的源MAC地址三层交换机会学习该MAC地址并记录其与进入端口的对应关系以便后续的数据帧可以直接通过MAC地址表转发。若数据包需要跨VLAN或网络转发例如目标IP地址不在同一子网中三层交换机会将数据包提交给三层路由引擎。三层路由引擎根据数据包的目标IP地址查找路由表确定下一跳IP地址路由器接口或者直连网络。如果下一跳是本地接口则可能需要通过ARP协议获取对应的MAC地址。若已经知道下一跳MAC地址则可直接进行下一步。对于第一个到达的数据包三层交换机会生成一条硬件转发表项将目的IP和相应的出站端口关联起来。这个表项通常被称为快速转发表FIB。针对同一个数据流的后续数据包三层交换机不再需要执行完整的三层路由计算而是直接从硬件转发表中找到匹配项按照第二层信息MAC地址进行快速转发。一次路由多次转发
主要区别二层交换机通过学习和维护MAC地址表仅在同一个广播域或VLAN内转发数据帧。三层交换机能够跨不同子网、VLAN间转发数据包它可以根据目标IP地址执行路由选择并具有动态或静态路由功能。
三层交换机和路由器的区别
三层交换机和路由器在计算机网络中都承担着数据包转发的任务但它们各自的设计、性能和功能定位存在明显差异
三层交换机主要功能是基于硬件实现高速的二层数据交换MAC地址级别同时具备基本的三层路由功能IP地址级别。它主要用于大型局域网内部的数据交换通过硬件ASIC芯片进行快速转发并且可以进行简单的路由决策如VLAN间路由。
路由器主要功能是复杂的三层数据包处理与转发包括路径选择、路由表维护、路由协议支持等。路由器更适用于不同网络之间或者广域网环境下的连接能够提供多种网络接口类型以适应各种链路需求同时也具有防火墙、策略控制、VPN等功能。
三层交换机以数据交换为主路由器以路由和转发为主。
路由器数据转发规则
网络内通信
在没有路由器或其他路由设备的情况下如果PC1和PC2处于同一局域网LAN内PC1可以直接通过交换机Switch1以广播或学习到的MAC地址表的方式找到PC2并将PC2的MAC地址作为目的MAC地址封装数据帧进行通信。 源IP地址PC1的IP地址。
目的IP地址PC2的IP地址。
源MAC地址PC1的MAC地址。
目的MAC地址PC2的MAC地址
网络间通信
然而当处于网络1的PC2和处于网络2的PC3通信时仅使用PC3的MAC地址是无法实现直接通信的。因为
当PC2发送一个带有PC3 MAC地址的数据帧到交换机时交换机会根据其二层mac地址尝试转发给该MAC地址对应的设备但由于PC3不在同一网络内交换机无法直接找到目标主机。
即使进行了泛洪交换机接收到这个数据帧后会查看帧的目的MAC地址并发现它并非指向自己的接口因此不会处理并丢弃该帧。 正确的跨网络通信方式:
对于跨越不同网络的通信PC2需要将其数据包的目的IP地址设置为PC3的IP地址并且在封装数据帧时将目的MAC地址设为路由器作为网关连接PC2的那个接口的MAC地址。路由器2接收到数据包后检查三层IP报头确定数据包是要发给本网络然后根据自身的路由表信息将数据包转发至PC3。最终数据包会在网络2内部被正确地传递给PC3。
源IP地址PC2的IP地址。
目的IP地址PC3的IP地址。
源MAC地址 PC2的MAC地址 。
目的MAC地址连接PC2接口的路由器MAC地址。
端到端的数据通信规则
1. IP地址发送方主机构造的数据包中目的IP地址将是接收方主机的IP地址。这是因为IP层负责寻址网络间的主机所以发送方会将接受方的IP地址作为最终目的地并且在数据传输的过程中源ip和目的ip地址一直不变。
2. MAC地址在实际传输过程中如果发送方主机和接收方主机不在同一局域网内发送方主机首先需要将数据帧的目的MAC地址设置为它所在路由器接口的MAC地址源MAC地址为它本身数据帧到达路由器后源MAC地址改为路由器本身目的MAC地址为下一跳MAC地址。如果发送方主机和接收方主机在同一局域网内则目的MAC地址为目标本身的MAC地址。
接收方主机的路由器接收到信息后会查看自身的路由表或者ARP表Address Resolution Protocol 表以确定目的IP地址对应的主机的MAC地址最终将信息发送给接收方主机。
总结路由器数据转发工作原理:
1.源目3层地址(ip)在传输过程中不变
2.源目2层(MAC)地址为本身地址和下一跳地址网络内通信除外每传输一次改变一次。
发送方主机如何得到网关的MAC地址相邻路由器如何得到对方的MAC地址通过ARP地址解析协议
ARP地址解析过程
1. ARP请求
当PC想要与不同子网中的主机通信例如访问互联网上的资源时它首先知道的是目标IP地址但不知道网关的MAC地址。因此PC会发起一个ARP请求询问具有已知IP地址的设备其对应的MAC地址是什么。
2. ARP响应
网关收到这个ARP请求后查看请求的目标IP地址发现与自己的接口IP地址匹配于是它回应一个ARP回复ARP Reply其中包含了自身的MAC地址。
3. 本地ARP表更新
PC接收到网关的ARP回复后将网关的IP地址与MAC地址对存入到本机的ARP表中这样后续可以直接通过MAC地址向网关发送数据。 在获取到MAC地址后PC就可以通过MAC地址进行数据封装和路由转发网关在收到封装的数据后根据数据包中的三层IP信息判断下一跳路径并通过多次跳转将数据转发至最终目的主机所在网络。若目标主机也在同一网络中则网关直接转发。
在跨子网通信过程中PC首先获取网关的MAC地址以便将数据传送到网关之后的数据包传递则依赖于网络层级的路由机制来实现。那么路由器是如何路由的。
路由器是如何路由
路由协议和路由选路规则是网络路由过程中紧密关联的两个概念它们共同作用于实现数据包在网络中的有效传输。
路由协议
路由协议是一种在路由器之间交换路由信息的标准或规范它定义了路由器如何发现、维护并更新到达其他网络的最佳路径。不同的路由协议如RIPRouting Information Protocol、OSPFOpen Shortest Path First、IS-ISIntermediate System to Intermediate System和BGPBorder Gateway Protocol等使用各自的算法来计算和传播网络拓扑信息并基于这些信息构建路由表。
路由选路规则
路由选路规则是在路由协议处理路由信息的基础上路由器选择最优路径的具体准则和策略。这些规则通常包括但不限于
最长匹配原则当有多个目标网络匹配时路由器会选择掩码最长的路由条目作为转发依据。
管理距离在静态路由和动态路由共存的情况下路由器会优先采用管理距离较小的路由源提供的路由信息。
度量值不同路由协议有不同的度量标准如跳数、带宽、延迟等路由器根据各个路由条目的度量值大小来决定最佳路径。
路由属性对于像BGP这样的高级路由协议还有各种复杂的路由属性例如本地优先级Local Preference、AS路径AS Path、MEDMulti-Exit Discriminator等这些属性会被用来确定跨境互联网流量的优选路径。
因此路由协议负责收集和传播网络的可达性信息而路由选路规则则是路由器在接收到众多路由信息后判断和决定如何实际应用这些信息进行数据包转发的具体方法和标准。两者相辅相成共同确保数据能够在复杂的网络环境中准确无误地从源主机传递到目标主机。
1. 泛洪法
泛洪法是一种简单且分布式的路由机制主要用于局域网如以太网中的数据帧转发。当交换机接收到一个未知目的MAC地址的数据帧时它会将该帧发送到除接收端口之外的所有其他端口上从而确保帧能到达目标主机。这种广播式的方法虽然能够确保数据包最终到达目的地但会造成环路震荡。
例如 r1接收到来自张三的数据后把数据转发给与他直连的除了张三之外的r2发送r2在收到数据后会向r3和r4发送r3和r4收到数据之后继续进行泛洪发送最终到达站点c。
环路震荡 当一个路由器收到一条新的路由信息后会将此信息转发给所有邻居路由器若网络中有环路存在这条新路由就会在网络中循环传播形成路由信息的持续扩散导致网络拥塞和数据包无限循环。
2. 固定路由法
固定路由法Static Routing是一种在网络中手动配置和管理路由的方法它涉及预先在路由器或网络设备上设置到特定目标网络的路径。与动态路由协议不同固定路由不会自动适应网络拓扑的变化。
在固定路由法中网络管理员需要明确指定每个目的网络或子网的下一跳地址即数据包离开当前路由器时应发送给哪个相邻路由器并将这些信息写入到网络设备的路由表中。
固定路由法适用于网络规模较小、结构简单且稳定的环境或者是对安全性和可预测性要求较高的场合因为静态路由不容易受到网络攻击的影响也不会因邻居路由器之间的通信故障而导致路由循环等问题。
优点配置简单、管理方便对路由器性能影响小因为它不需要运行复杂的路由算法来计算最佳路径。
缺点当网络拓扑发生变化时如新增或移除了网络连接需要手动更新所有相关的路由条目否则可能导致某些网络不可达。此外对于大型、复杂网络而言手动维护大量的路由信息非常困难和耗时。
3. 集中路由法
集中路由法是指在网络中所有或部分的路由决策由一个中心节点或者一组中心节点来负责。在这样的网络架构中所有的网络设备如主机、路由器等不直接参与路由计算和更新过程而是依赖于中央控制器或特定的路由服务器来进行。具体来说网络中的所有路由信息都集中在中心化的路由设备上例如一台高级路由器或者网络管理系统。该中心节点通过收集网络拓扑结构的信息并使用某种路由算法比如Dijkstra算法、Bellman-Ford算法等来计算最佳路径。中心节点根据计算出的最优路由表将正确的路由信息发布给各个边缘路由器或交换机这些边缘设备则按照收到的指令进行数据包转发。当网络状态发生变化时例如链路故障或新链路加入中心节点会重新计算并发布新的路由信息确保全网内的路由表保持最新且有效。
集中路由法的优势在于可以简化网络管理统一规划路由策略并能更快地对网络变化做出响应。然而这种方法也存在局限性如单点故障风险增加以及对于大型、复杂的网络环境中心节点可能因为需要处理过多的路由信息而导致性能瓶颈等问题。
集中路由法强调的是路由决策由一个中心节点统一处理而固定路由法则指的是路由信息一旦设定后便保持不变直至人工干预为止可以理解为集中路由法是在固定路由法的基础上添加网络控制中心。
4. 逆向学习法
泛洪法、固定路由和集中路由法计算节点间的最优路径都是在整个网络结构拓扑基础上用诸如dijkstra算法计算得出而逆向学习法则是让每个节点自己学习最优路径一开始每个节点什么都不知道假如现在r5向服务器发送一个数据可以在数据中加入一个源节点字段和节点计数器字段 这个数据每通过一个路由节点里面的计数器被加一当r5通过r3 r4 到达r8 时计数器被加三次r8将这些信息记录在路由表中节点计数器的值为3当r5通过r3直接到达r8时节点计数器记为2当有更短的路径2时节点路径为3的值将被覆盖也就是说如果接收到的数据中源节点相同距离和花费更短则更新记录。当r8要发送信息给r5时将从当前路由表中选择更短的路径r3发送。 利用这种方法网络中的每个节点都可以利用其他节点发送来的包含计数器的数据不断更新它和源节点之间的路径一段时间之后每个节点都会学习到其他节点的最优路径。
逆向学习用于构建无环路的逻辑拓扑结构防止网络中的广播风暴。
但逆向学习对于节点的移除和链路的崩溃却无能为力当最短路径中有链路崩溃而网络中又没有其他路径去更新最短路径那路由表就无法更新信息无法有效传输。
5.RIP协议
RIP和逆向学习法都是通过距离这个度量值来学习路由方式RIP协议的每个路由节点也有一张类似的路由表包括目标节点下一跳以及目标距离一开始每个节点将直连节点设置为1而路由节点对距离的学习并非你想学习方法那样通过在普通数据在附加计数器字段来实现RIP采用的是另一套独立的机制每个路由节点每隔30s向相邻的节点广播自己的路由表。
比如r1向r2r4r5发送路由表表的内容为r1到r2r4r5的距离当r2收到r1的路由表后发现r1到r5的距离为1如果r2通过r1去往r5那么总距离就是 到r1的直连距离1r1到r5的距离12而现在r2表中并没有r5的信息于是新增一条r5的记录目标节点r5下一跳r1距离2接着查看r1表的其他内容r2就是他自己不更新r4比原来远也不更新。
接下来到r2的广播周期r1收到了原先不知道的r3r3收到了原先不知道的r1信息……如以一来在每个路由节点经过若干次向直连节点广播路由表后整个网络中所有的路由节点最终都会得到最优路径的路由表至此网络进入收敛状态。进入收敛之后当传输时每个路由节点将按照路由表让信息沿着最有的路径传递 RIP协议概括来说就是定期根据相邻节点发送来的路由表更新自己对其他节点距离的认知以及下一跳节点的选择。RIP协议有一定的自适应网络状况的能力可以处理网络中增加节点的问题对于线路故障的情况RIP协议会出现无穷计数慢收敛的问题。
例如 当r1和r2之间的线路断开r1和r2感知到后将表中距离改为无穷大但随即r3率先来到路由表广播周期r2发现r3有到r1距离为2的记录随机更新目标节点r的下一跳为r3距离改为3当r2广播时r3将目标节点r1的距离改为4依次循环直到循环达到15次退出。
对于无穷计数的问题水平分割可以有效解决当一个路由器接收到从某个接口学习到的路由信息后该路由器不会将这条路由信息再通过相同的接口发送出去。也就是说路由器不会把通过某个接口接收的路由更新报文原封不动地回传给那个接口连接的邻居路由器。同时为了进一步增强水平分割的效果还会有其他补充技术如“毒性逆转”或触发更新等被结合使用。
毒性逆转
毒性逆转是一种扩展水平分割技术的方法用于RIP等距离向量路由协议中。
当路由器通过某个接口学到一条路径失效如下一跳不可达的信息时它不仅不在该接口上发送这条失效路由信息这是水平分割的作用而且会主动将这条路由以一种“毒化”的形式从同一接口发送出去。
“毒化”指的是将路由的度量值设置为最大值对于RIP来说通常是16跳表示不可达这样邻居路由器收到这个更新后就会立即知道这条路由已无效并迅速从其路由表中删除。
触发更新
触发更新是指当路由器检测到网络拓扑发生重大变化例如直接连接的链路状态改变或某条路由的成本显著增加时立即发送路由更新给所有邻居而不是等待下一次定期更新的时间点。
这种即时的通知方式能够加快整个网络对拓扑变化的响应速度减少收敛时间从而有助于防止因网络状态传播延迟而可能产生的路由环路
6.OSPF协议
RIP是基于距离(向量)而OSPF是基于链路状态的协议ospf的大致工作流程如下
首先每个节点在自己直连的链路上发送一个HELLO消息来检测链路状态并发现自己的邻居比如r1他向附近的链路发送hello消息每个链路上都得到了回应于是r1检测出这三条链路都是通畅的也发现了r2r4r5三个邻居和他们形成邻居关系hello消息默认每隔10秒发送一次以持续监测链路的状态如果某条链路上超过四次没有得到邻居节点的回应则认为该链路不可用而一个节点和他所连接的可达链路就形成了一个链路状态通告数据LSAr2r3r4r5r6也用同样的方法检测出链路状态并产生自己的链路状态通告数据LSA每个节点都有专门保存此数据的数据库一开始每个节点宪法自己的LSA数据存入其中 而后邻居节点开始相互交换数据库摘要信息并根据自己的数据库进行比对然后相互交换彼此缺少的LSA此时他们的关系由邻居晋升为邻接成为邻接关系后当节点收到一个有效的LSA后会将这个LSA通过泛洪法发送给与自己形成邻接关系的节点有效是指LSA不在自己数据库中如果已经存在则直接丢弃不会进行泛洪这样可以解决环路震荡问题。 如果某条链路出现故障节点定期发送的hello得不到目标节点的回应则节点将此改变目标节点的LSA并通过泛洪法将此变化告知给邻接节点于是整个网络上的节点将很快得知这个故障并更新数据库。 OSPF相比于RIP在设计、功能和配置上复杂的多OSPF 支持多区域结构允许将自治系统划分为多个逻辑区域以提高可扩展性和管理效率。不同的区域类型和边界路由器的存在增加了配置和管理的复杂性RIP 只有一种报文类型即路由更新报文而 OSPF 有多种报文类型如Hello报文、数据库描述报文DD、链路状态请求报文LSR、链路状态更新报文LSU和链路状态确认报文LSAck每种报文都有特定的功能和作用。
OSPF协议的五种报文和七种状态
1. Hello 报文 (Type 1)
用于发现和维护邻居关系通过周期性发送来检查邻居路由器的可达性。
包含了接口参数、区域信息、路由器ID等。
2. Database Description (DD) 报文 (Type 2)
在建立邻接关系的过程中使用用于交换链路状态数据库LSDB摘要信息。
DD报文是增量式的包含每个LSA头部的摘要信息帮助双方同步LSDB。
3. Link State Request (LSR) 报文 (Type 3)
当路由器发现自己LSDB中的某些LSA不是最新的或缺失时会发送LSR报文请求特定的LSA详细信息。
4. Link State Update (LSU) 报文 (Type 4)
用于传递完整的LSA信息给邻居更新它们的LSDB。
LSU报文可以包含多个LSA并且对端需要确认收到这些LSA。
5. Link State Acknowledgment (LSAck) 报文 (Type 5)
作为LSU报文接收方的确认回应用于确保LSA已经成功传输。
每个LSA都有一个独立的确认过程。
1. Down 状态
初始状态没有从邻居接收到任何OSPF报文。
2. Init 状态
路由器已发送Hello报文但尚未从邻居处接收到确认。
3. 2-way 状态
双向通信建立路由器与邻居互相在Hello报文中看到对方的Router ID。
4. Exstart 状态
开始进行主从关系协商确定谁将成为主设备并初始化DD序列号。
5. Exchange 状态
发送DD报文以交换LSDB摘要信息。
6. Loading 状态
使用LSR和LSU报文来请求并接收缺失的LSA直到两个路由器的LSDB完全同步。
7. Full 状态
邻居关系完全建立LSDB同步完成可以开始使用OSPF计算最短路径树SPF树并转发数据包。
这些状态代表了OSPF邻居关系从初次发现到完全建立并保持稳定的过程。
DR选举和区域划分
在OSPF路由协议中DR指定路由器和BDR备份指定路由器的选举是针对广播多路访问如以太网类型网络进行的优化措施。其目的主要有以下几点
1. 减少邻接关系数量在一个MA网络中如果没有DR/BDR机制所有路由器之间都需要形成邻接关系这会导致大量的LSA链路状态通告交换和协议报文流量。通过选举出一个DR和一个BDR其他路由器仅与DR和BDR建立邻接关系从而大大减少了邻接数和网络流量。
2. 确保稳定性当DR失效时BDR会立即成为新的DR这样可以迅速恢复网络的稳定性和连通性。
DR选举主要基于以下几个因素
路由器优先级Router Priority范围为0到255默认值为1。优先级最高的路由器更可能成为DR。
如果多个路由器具有相同的优先级则比较它们的Router ID通常是接口IP地址中的最大数值。
路由器一旦成为DR或BDR除非优先级更改、接口关闭或其他路由器出现故障导致角色变更否则它将继续担任该角色。
区域划分Area Partitioning是OSPF用于管理大型自治系统的一种策略。OSPF将一个自治系统划分为多个逻辑区域Areas每个区域内部使用自己的LSDBLink State Database。这样做的好处包括
缩小规模每个区域内的路由器只需要维护所在区域的完整拓扑信息而不是整个AS的拓扑降低了内存占用和CPU计算开销。
控制LSA传播区域间只传播汇总的路由信息降低了区域内不必要的路由更新流量。
简化管理不同的区域可以根据网络结构和流量需求来独立配置和管理。
OSPF中有三种主要类型的区域
核心区域所有其他区域都必须直接或间接连接到此区域。
普通区域普通区域之间的通信通常需要经过骨干区域。
特殊区域这些区域进一步限制了从外部区域流入的路由信息简化了内部路由器的工作负载并提供了额外的安全特性。
常见的动态路由协议还有EIGRPBGPIS-IS。
路由选路规则
第一规则 最长匹配原则当有多条候选路由时路由器会优先选择与目标地址子网掩码匹配度最高的那一条。 管理距离/优先级如果存在相同前缀长度的不同来源路由路由器会参考每条路由的管理距离对于静态路由和不同动态路由协议或优先级例如某些动态路由协议内选择具有更低数值的那个来源作为最佳路由。 度量值Metric在同一路由协议内部如果多条路由具有相同的管理距离或优先级则会选择度量值最小即成本最低的路由这个度量值可能代表了跳数、带宽、延迟或其他网络性能指标。 网络地址转换NAT和端口映射
NATNetwork Address Translation网络地址转换是一种在计算机网络中广泛使用的技术它主要用于解决IPv4地址空间不足的问题。通过NAT私有IP地址可以被转换成公网IP地址使得多个内部主机能够共享一个或几个公网IP地址访问互联网。 NAT的工作原理主要包括以下几种类型
1静态NAT
指将内部网络的私有IP地址转换为公有IP地址IP地址对是一对一的即两个地址的映射关系己绑定死了。某个私有IP地址只转换为某个公有IP地址借助于静态转换可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
2动态NAT
①指将内部网络的私有IP地址转换为公用IP地址时IP地址对是不确定的而是随机的。所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址池中一个IP地址。如果地址池的IP地址做映射用完了剩余的内网计算机将不能再访问外网本质上也是一对一的关系只不过这种关系是动态绑定的。
②当要与外界进行通信的内部节点如果还没有建立转换映射边缘路由器将会动态的从公网IP地址池中选择IP对内部地址进行转化。每个转换条目在连接建立时动态建立而在连接终止时会被回收。因此外网的计算机不能访问内网的计算机因为映射关系是内网计算机发起且连接终止时就回
收了。
③动态NAT一般用在当内部网络中只有少数节点与外界建立连接的场合时因为只有少数的内部地址需要被转化成全局地址可以减少对合法地址的需求。
3PAT
①这是最流行的NAT配置类型实际上是动态NAT的一种形式它映射多个私有网IP地址到一个公网IP地址通过使用不同的端口来区分内网主机被称为端口地址转换(PATPort Address Translation)。
②使用PAT时internet的主机无法访问内网主机。如果需要这种访问则需要做端口映射注意端口映射和端口地址转换PAT是两个概念PAT是使得多个内网主机可以通过一个公网IP同时访问Internet而端口映射则可以让internet主机访问内网主机
4Easy IP
实现原理和NAPT相同同时转换IP地址、传输层端口区别在于Easy IP没有地址池的概念使用接口地址作为NAT转换的公有地址具体来说当内部私有网络中的设备发起对外部公网的连接请求时路由器会将内部源IP地址和端口号映射到自身的公网IP地址以及一个未使用的临时端口上这样外部网络就可以通过唯一的公网IP地址端口号组合来区分不同的内部设备。
端口映射
端口映射通俗来讲就好比你在家中有一个房间内网设备你想要让外面的朋友公网用户直接访问这个房间里的某个东西比如一台服务器上的网站。但是你的房子路由器只有一个门牌号公网IP地址而且朋友在外面只能通过这个门牌号找到你的房子。
端口映射就是在这个情况下当有人敲门并说“我想找80号房间的电视机”时在互联网上请求访问80端口的服务你就知道应该把他们带到你家内部的80号房间内网服务器监听的80端口去。这样虽然朋友们实际进入的是同一个门公网IP但通过不同的询问方式不同端口号你就能确保他们访问到正确的地方。
iptables
iptables基本概念
iptables 是集成在 Linux 内核中的包过滤防火墙系统。使用 iptables 可以添加、删除具体的过滤规则iptables 默认维护着 4 个表和 5 个链所有的防火墙策略规则都被分别写入这些表与链中。
表(table):存放链的容器,防火墙最大概念
链(chain):存放规则的容器
规则(policy):准许或拒绝规则,未来书写的防火墙条件就是各种防火墙规则
“四表”是指 iptables 的功能默认的 iptables规则表有 filter 表过滤规则表、nat 表地址转换规则表、mangle修改数据标记位规则表、raw跟踪数据表规则表
“五链”是指内核中控制网络的 NetFilter 定义的 5 个规则链。每个规则表中包含多个数据链INPUT入站数据过滤、OUTPUT出站数据过滤、FORWARD转发数据过滤、PREROUTING路由前过滤和POSTROUTING路由后过滤防火墙规则需要写入到这些具体的数据链中。
filter 表主要和主机自身相关控制数据包是否允许进出及转发实现防火墙功能:屏蔽或准许端口ip可以控制的链路有 INPUT、FORWARD 和 OUTPUT。
INPUT负责过滤所有目标地址是本机地址的数据包 通俗来说:就是过滤进入主机的数据包(能否让数据包进入服务器)
FORWARD路过负责转发流经主机的数据包。起转发的作用和NAT关系很大后面会详细介绍IVSNAT模式net.ipv4.ip_forward0
OUTPUT处理所有源地址是本机地址的数据包通俗的讲:就是处理从主机发出去的数据包 nat 表控制数据包中地址转换实现nat功能和共享上网(内网服务器上外网)端口映射和ip映射可以控制的链路有 PREROUTING、INPUT、OUTPUT 和 POSTROUTING。
OUTPUT和主机放出去的数据包有关改变主机发出数据包的目的地址
PREROUTING在数据包到达防火墙时进行路由判断之前执行的规则作用是改变数据包的目的地址、目的端口等就是收信时根据规则重写收件人的地址例如:把公网里:x8xx8x8xxx映射到同域网的x区xx服务器上。
POSTROUTING在数据包离开防火墙时进行路由判断之后执行的规则作用改变数据包的源地址源端口等。POSTROUTNG写好发件人的地址要让接收方回信时能够有地址可回例如。默认笔记本和虚拟机都是局域网地址在出网的时候被路由器将源地址改为了公网地址
mangle修改数据包中的原数据可以控制的链路有 PREROUTING、INPUT、OUTPUT、FORWARD 和 POSTROUTING。
raw控制 nat 表中连接追踪机制的启用状况可以控制的链路有 PREROUTING、OUTPUT。
iptables执行过程
1.防火墙是层层过滤的实际是按照配置规则的顺序从上到下从前到后进行过滤的。
2.如果匹配成功规则即明确表示是拒绝(DROP)还是接收(ACCEPT)数据包就不再向下匹配新的规则。
3.如果规则中没有明确表明是阻止还是通过的也就是没有匹配规则继续向下进行匹配直到匹配默认规则得到明确的阻止还是通过。
4.防火墙的默认规则是所有规则都匹配完才会匹配默认规则。
外部主机发送数据进入防火墙本机先处理的是nat表的POSTROUTING链如果只是从服务器路过则防火墙作为路由负责转发数据走filter表的FORWARD链相当于门口的减速带如果要进入服务器走filter表的INPUT链INPUT决定访问请求能否到达服务器
防火墙本机发送数据到外部主机先进入filter表的OUTPUT或者nat表的OUTPUT之后进入nat表的POSTROUTING链。 iptables语法格式
iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION
各参数的含义为
-t指定需要维护的防火墙规则表 filter、nat、mangle或raw。在不使用 -t 时则默认使用 filter 表。
COMMAND子命令定义对规则的管理。
chain指明链表。
CRETIRIA匹配参数。
ACTION触发动作
iptables 命令常用的选项及各自的功能 选 项 功 能 -A 添加防火墙规则 -D 删除防火墙规则 -I 插入防火墙规则 -F 清空防火墙规则 -L 列出添加防火墙规则 -R 替换防火墙规则 -Z 清空防火墙数据表统计信息 -P 设置链默认规则
iptables 命令常用匹配参数及各自的功能 参 数 功 能 [!]-p 匹配协议! 表示取反 [!]-s 匹配源地址 [!]-d 匹配目标地址 [!]-i 匹配入站网卡接口 [!]--sport 匹配源端口 [!]--dport 匹配目标端口 [!]--src-range 匹配源地址范围 [!]--dst-range 匹配目标地址范围 [!]--limit 匹配数据表速率 [!]--mac-source 匹配源MAC地址 [!]--sports 匹配源端口 [!]--dports 匹配目标端口 [!]--stste 匹配状态INVALID、ESTABLISHED、NEW、RELATED) [!]--string 匹配应用层字串
iptables 命令触发动作及各自的功能 触发动作 功 能 ACCEPT 允许数据包通过 DROP 丢弃数据包 REJECT 拒绝数据包通过 LOG 将数据包信息记录 syslog 曰志 DNAT 目标地址转换 SNAT 源地址转换 MASQUERADE 地址欺骗 REDIRECT 重定向
使用 -A 选项添加防火墙规则会将该规则追加到整个链的最后而使用 -I 选项添加的防火墙规则则会默认插入到链中作为第一条规则.
查看规则
sudo iptables -nvL --line-number
各参数的含义为
-L表示查看当前表的所有规则默认查看的是filter表如果要查看其他表可以加上 -t表名。
-n表示不进行DNS解析即不对IP地址进行反查加上这个参数显示速度将会加快。
-v表示输出详细信息包括通过该规则的数据包数量、总字节数以及相应的网络接口
--line-number表示显示每行规则的行号
不加-t默认为filter表 添加规则
sudo iptables -A INPUT -s 192.168.94.128 -j DROP
各参数意义为
-A表示追加Append操作这将把新规则添加到指定链的末尾。-I为指定插入
INPUT表示指定要操作的链为INPUT链这是处理所有进入本机的数据包的链。默认为filter的链
-s 192.168.94.128表示源地址匹配的是IP地址为192.168.94.128的主机发出的数据包
-j DROP表示目标动作jump为DROP来自所有192.168.94.128的数据包将被丢弃
不加-t默认为filter表 不加-p默认为所有协议 修改规则
sudo iptables -R INPUT 1 -s 192.168.94.128 -j ACCEPT
各参数意义为
-R表示这是一个替换Replace操作将指定位置的规则替换为新的规则。
INPUT表示要操作的链为INPUT链
1表示要替换第1条规则
-s 192.168.94.128表示新规则匹配的源地址为192.168.94.128的数据包
-j ACCEPT表示目标动作为DROP这意味着来自192.168.94.128的数据包子到达本机后会被防火墙通过
不加-t默认为filter表 删除规则
sudo iptables -D INPUT 1
各参数意义为
-D表示这是一个删除Delete操作将指定位置的规则删除
INPUT表示要操作的链的INPUT链
1表示规则的编号即删除第一条规则
不加-t默认为filter表 禁止从某个端口访问
sudo iptables -I INPUT -s 127.0.0.1 -p tcp --dport 8848 -j DROP
禁止所有从本机127.0.0.1向本地8848端口发起的TCP连接请求
-m multiport表示匹配多个端口 192.168.94.1/24 表示匹配192.168.94.1~192.168.94.255 保存规则
对于Linux系统中的iptables防火墙配置默认情况下所做的修改都是临时的当重启iptables服务或重启服务器后所有通过命令行添加、修改或删除的规则都将丢失。
为了确保防火墙规则在重启后仍然有效可以使用 iptables-persistent 包安装后会提供相应的服务来持久化规则
安装包sudo apt-get install iptables-persistent
在安装过程中系统会提示是否保存当前规则。
如果iptables-persistent包已经安装并且想要更新新的已保存的防火墙规则通常可以通过运行以下命令来保存当前活动的规则
sudo netfilter-persistent save
执行完成后防火墙规则被保存在/etc/iptables/rules.v4文件在某些情况下可能需要重新启动iptables-persistent服务以应用新保存的规则sudo systemctl restart netfilter-persistent
重启后执行以下命令恢复防火墙规则或者在init.d下新建脚本文件开机自启
iptables-restore /etc/iptables/rules.v4
ensp实验
1.静态路由实验
新建拓扑 开启设备设置r1 e0为192.168.1.254 24 e1为10.0.0.1 24 设置r2 e0为192.168.2.0 24 e1为 10.0.0.1 24 r1r2设置静态路由前一个IP是目的网段后一个IP为下一跳地址 ping通 2.动态路由实验
静态路由手动配置动态路由通过协议自动学习更新路由信息
2.1RIP
新建拓扑 R3
sys //进入系统视图
un in en //关闭提示信息
int g0/0/0 //进入和pc相连的接口
ip add 192.168.1.254 //255.255.255.0 配置为pc3的网关
int g0/0/1
ip add 192.168.3.1 255.255.255.0
rip 1 //启用RIP协议
net 192.168.1.0
net 192.168.3.0 //宣告网段 告诉同在rip 1的路由器 我能连接这些网段
R3 R4 R3和R4通过RIP协议学习到到达PC1和PC2网段的方法 ping通 2.2OSPF
新建拓扑 R1
sys //进入系统视图
un in en //关闭提示信息
int g0/0/0 //进入和pc相连的接口
ip add 192.168.1.254 255.255.255.0 //配置为pc1的网关
int g0/0/1
ip add 192.168.3.1 255.255.255.0
ospf 1 //设置ospf进程为1
area 0 //进入骨干区域0
net 192.168.3.0 0.0.0.255 //宣告网段接反掩码
area 1
net 192.168.1.0 0.0.0.255 r2相同流程配置
输入dis ip rou 查看通过动态学习r1学到了一个目的/掩码为192.168.2.0/24下一跳为192.168.3.2 3.网络地址转换实验
新建拓扑 R1配置
sys //进入系统视图
un in en //关闭提示信息
int g0/0/0 //进入和交换机相连的接口
ip add 192.168.1.254 255.255.255.0 //配置为192.168.1.0网段的网关
int g0/0/1 //进入和R2相连的接口
ip add 10.10.1.1 255.255.255.0 R2配置流程相同
3.1静态NAT 配置R1
int g0/0/0 //进入接口0
nat static global 172.16.1.1 inside 192.168.1.1 //指定pc1的地址转换为 172.16.1.1
使用pc1和pc2pingR2的0口 然后对R2的0口进行抓包发现pc2来自192.168.1.2pc1来自172.16.1.1 说明地址转换成功 3.2动态NAT
动态nat给一个地址池判断那些地址需要转换需要绑定acl使用ACL可以用来定义哪些内部源IP地址范围需要执行NAT转换。一台pc机同一时间只能使用一个地址
R1
undo nat static global 172.16.1.1 inside 192.168.1.1 //取消上次配置
nat address-group 1 172.16.1.1 172.16.1.5 //创建名为1的组 从172.16.1.1开始到172.16.1.5一共5各ip地址
acl 2000 //创建acl规则 名为2000
rule 5 permit source 192.168.1.0 0.0.0.255 //在2000中添加一条规则允许192.168.1.0的包通过
int g0/0/1 //进入接口一
nat outbound 2000 address-group 1 no-pat //指定从组1的池中选进行转换
//no-pat表示不进行端口地址转换这意味着每个内部主 //机都会独立地映射到公网地址池中的一个单独地址 //而不是共享同一个公网地址的不同端口
设置完成后使用PC1pingR2的0端口IP地址从172.16.1.1到172.168.1.5轮流使用但是仍然能不能ping通 配置R2
ip route-static 172.16.1.0 24 10.10.1.1 //将从R1来的172.16.1.0转化为10.10.1.1
再次pingR2的0口ping通接触绑定和解除绑定需要一定时间等待一段时间再ping直接ping会出现丢包 3.3PAT
patNAPT可以实现多个pc同时使用一个ip地址
R1
undo nat outbound 2000 address-group 1 no-pat //取消之前配置
nat outbound 2000 address-group 1 //使用NAPT acl 2000 和组一在之前已经创建
PC1pingR1的0端口ip地址没有从1到5转换也没有出现丢包 3.4easy ip
easy ip 不用创建地址池使用R1的0端口作为ip地址的分配
R1
undo nat outbound 2000 address-group 1 //删除之前配置
nat outbound 2000 //配置easy ip
PC1pingR2端口0并对R2的端口0进行抓包easy IP直接使用了接口的IP地址 验证广播域实验
新建拓扑
PC2mac地址54-89-98-17-14-8F PC2 ping PC4对交换机1连接PC1的一端口进行数据抓包发现了ARP。
主机PC2 ping 主机PC4时如果PC2不知道C的MAC地址则会通过ARP协议广播询问目标IP地址PC4对应的MAC地址。这个ARP请求会在整个广播域中传播。
如果主机PC1监听到这个ARP请求无论它知不知道主机PC4的MAC地址都不会有任何回复因为ARP查询是“谁拥有这个IP请回应”的方式工作。 查看抓包的数据数据帧IP地址来源为192.168.1.2目的ip地址为192.168.1.4源MAC地址为PC2的地址而目的MAC地址为FF:FF:FF:FF:FF:FF在以太网网络中MAC地址全为1的地址即十六进制的FF:FF:FF:FF:FF:FF被定义为广播地址它代表了网络中的所有设备。 冲突域在集线器HUB上的实验
新建拓扑 PC1 ping PC2的ip地址然后对三个端口进行抓包分析按理说只有1接口和2接口能抓到ARP回复报文和对应的 ICMP报文3 端口应该是除了 ARP的广播之外什么都收不到的但事实上3端口也会收到ARP和ICMP报文这个就是一个冲突域的体现。
PC1MAC地址54-89-98-B3-30-86
PC2MAC地址54-89-98-D4-7E-64
PC3MAC地址54-89-98-1B-2E-69 1端口抓包数据 二端口抓包数据 三端口抓包数据 VLAN实验
新建拓扑 未配置VLAN之前PC1 ping PC2IP地址 配置交换机
sys //进入系统视图
un in en //关闭提示信息
vlan batch 3 6 9 //创建VLAN3 6
display vlan //查看是否创建成功
int e0/0/1 //进入接口一
port link-type access //设置接口一链路类型为access
port default vlan 3 //接口一分配给VLAN3
int e0/0/2
port link-type access
port default vlan 6 //接口一分配给VLAN6
int e0/0/3
port link-type access
port default vlan 9 //接口一分配给VLAN9
display vlan //查看是否创建成功 然后PC1再pingPC2 ping不通 相关资料
RIPRouting Information Protocol是一种基于距离向量的路由协议主要在IPv4网络中使用。RIP的收敛是指网络中的所有路由器通过交换路由信息最终达到一个状态每台路由器都拥有全网拓扑的完整且准确的信息并据此构建了最优路径的路由表。在这个状态下当网络拓扑发生改变时RIP能够快速地更新其路由表以反映新的网络状况。
RIP的收敛过程主要包括以下几个步骤
1. 初始填充当路由器启动后开始发送周期性的“路由公告”RIP updates通过接收来自邻居路由器的公告来填充自己的路由表。
2. 路由计算根据收到的路由信息每台路由器按照RIP的最大跳数hop count限制默认为15跳来进行路由选择和度量值metric计算。超过15跳被认为是不可达。
3. 触发更新当某条路由发生变化如链路故障或恢复时路由器会立即发送触发更新给所有邻居而不等待下一次定期更新。
4. 水平分割、毒性逆转等机制为了避免路由环路和加速收敛RIP采用了诸如水平分割、毒性逆转等技术手段。
尽管如此由于RIP仅基于跳数作为度量标准它的收敛速度相较于现代更复杂的路由协议如OSPF或IS-IS较慢并且容易在网络规模增大时产生不稳定性和性能问题。此外RIP的最大跳数限制也限制了它在网络设计上的应用范围。
在RIPRouting Information Protocol协议中无穷计数通常是指“无穷大infinity”的跳数。RIP使用跳数hop count作为衡量路径成本的标准最大允许的跳数是15跳。当路由器接收到一条路由信息其跳数为16时这条路由就被视为不可达即无穷大。
以下几种情况可能导致RIP中的无穷计数
1. 路由环路如果网络中存在路由环路数据包可能会在一个闭环内不断转发每经过一个设备跳数就会增加1。当跳数达到或超过15时该条路由被标记为无穷大并从路由表中删除以防止数据包陷入无限循环。
2. 链路故障或网络断开当某条通往目标网络的路径失效时与之相连的路由器无法通过这条路由到达目的地因此会将该路由的跳数更新为16即无穷大。
3. 毒性逆转Poison Reverse为了更快地通知其他路由器某条路由已失效并阻止可能产生的路由环路RIP可以通过毒性逆转策略主动将失效路由的跳数设置为16并立即广播出去。
无穷计数机制对于维护RIP网络的稳定性至关重要它有助于快速识别和排除无效路由避免因错误配置或网络变化导致的通信问题。然而由于RIP的最大跳数限制它不适合大规模或复杂网络环境。
OSPFOpen Shortest Path First开放最短路径优先是一种内部网关协议IGP用于在自治系统AS内部的路由器之间交换路由信息以确定网络中到达各个目标的最佳路径。OSPF是基于链路状态算法的路由协议遵循RFC 2328标准。
OSPF的主要特点
1. 链路状态协议每个运行OSPF的路由器收集其直连网络的信息并将这些信息以链路状态公告LSA的形式发布给其他路由器。所有路由器根据收到的所有LSA构建一个相同的链路状态数据库LSDB然后通过SPF算法计算出到所有目的地的最短路径树。
2. 区域划分OSPF支持将大型网络划分为多个区域Area从而优化路由更新过程、减少网络流量并提高收敛速度。区域内所有的路由器共享相同的链路状态信息而不同区域间则仅传递汇总后的路由信息。
3. VLSM和CIDR支持OSPF支持变长子网掩码VLSM和无类别域间路由CIDR可以更灵活地分配和使用IP地址资源。
4. 快速收敛由于OSPF采用了触发更新机制当网络拓扑发生变化时受影响的路由器会立即发送更新信息使得整个网络能迅速达到新的稳定状态。
5. 安全性OSPF支持多种认证方式来确保路由信息的安全传输包括明文密码认证和MD5散列认证。
6. 负载均衡OSPF能够支持等价多路径ECMP允许流量在多个等成本路径上进行负载均衡。
总之OSPF是一个广泛应用且功能强大的动态路由协议特别适合于规模较大、结构复杂的IP网络环境。
端口映射Port Mapping是一种网络技术它允许内部私有网络中的设备通过路由器或防火墙等网络设备提供的服务将其内部使用的非公网IP地址与特定的端口号对应到外部公网IP地址的一个或多个端口上。这种映射使得来自公网的请求可以被正确地转发至内网中指定的主机和应用。
具体工作流程如下
1. 内部服务器配置首先在内部网络中有一台或多台主机运行着需要对外提供服务的应用程序如Web服务器、FTP服务器、游戏服务器等并且这些应用程序监听在特定的端口号上例如HTTP服务通常使用80端口HTTPS服务使用443端口。
2. 路由器或防火墙设置在路由器或防火墙上进行端口映射配置将公网IP地址上的一个端口例如公网IP的80端口映射到内网某台服务器的特定端口例如内网IP的80端口。
3. 数据包转发当互联网上的用户尝试访问该公网IP地址以及映射的端口号时其发送的数据包会被路由器接收并根据端口映射规则转发至相应的内网主机。
4. 通信建立一旦数据包到达正确的内网主机内部服务器就能够响应请求并建立起从公网到内网的服务连接。
端口映射的主要应用场景包括
在家庭网络中让外部用户能够访问家用电脑或NAS网络附加存储等设备上的共享资源。
在企业环境中发布内部服务器的服务给外部用户访问比如Web服务、邮件服务、远程桌面服务等。
在网络游戏场景下为玩家提供稳定的连接以接入游戏服务器。
需要注意的是端口映射可能会增加网络安全风险因为它暴露了内网服务给公网因此在实施端口映射时应当结合其他安全措施例如防火墙策略、身份验证机制等来保障网络安全。
ARPAddress Resolution Protocol地址解析协议是计算机网络中一个重要且基础的协议主要用于在同一个局域网LAN内的主机之间实现IP地址与MAC地址的动态映射。ARP工作在网络层与数据链路层之间属于网络层的一部分。
工作原理
1. 当一台主机想要发送数据包给同一局域网中的另一台主机时它只知道目标主机的IP地址但实际传输数据时需要知道目标主机的物理地址即MAC地址。
2. 发送主机首先检查自己的ARP缓存表看是否有目标IP地址对应的MAC地址记录。如果已有记录则可以直接使用该MAC地址进行数据帧封装和发送。
3. 如果ARP缓存表中没有目标IP地址的映射发送主机则会构造一个ARP请求广播帧该帧中包含源主机的IP地址和MAC地址以及要查询的目标IP地址。该请求在整个局域网中广播。
4. 局域网中的所有主机都会收到ARP请求但只有拥有请求中目标IP地址的主机才会回应。目标主机发送一个ARP应答帧其中包含它的IP地址和MAC地址。
5. 发送主机接收到ARP应答后将目标主机的IP地址与MAC地址的映射关系存入自己的ARP缓存表中并利用这个MAC地址封装数据帧然后通过数据链路层发送出去。
生命周期
ARP条目在ARP缓存中会有一定的存活时间TTLTime to Live超过这个时间后如果没有刷新ARP条目会被删除。这样设计是为了适应网络环境的变化比如主机离开网络或者IP地址发生变化等情况。
跨网段情况
ARP协议仅限于同一广播域通常是一个子网或VLAN内。如果目标主机不在同一子网内发送主机将使用路由表转发数据包到下一跳路由器这时需要的是目标路由器的MAC地址同样通过ARP获取但不同的是此时ARP请求的目标IP地址将是下一跳路由器的IP地址而不是最终目的地的IP地址。在大型网络中跨多个子网的寻址通常依靠更高级别的路由协议如RIP、OSPF、BGP等来处理。 文章转载自: http://www.morning.mfqmk.cn.gov.cn.mfqmk.cn http://www.morning.qwyms.cn.gov.cn.qwyms.cn http://www.morning.xxrwp.cn.gov.cn.xxrwp.cn http://www.morning.mumgou.com.gov.cn.mumgou.com http://www.morning.ymrq.cn.gov.cn.ymrq.cn http://www.morning.ccffs.cn.gov.cn.ccffs.cn http://www.morning.xysdy.cn.gov.cn.xysdy.cn http://www.morning.nsrlb.cn.gov.cn.nsrlb.cn http://www.morning.zmwzg.cn.gov.cn.zmwzg.cn http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn http://www.morning.pqnps.cn.gov.cn.pqnps.cn http://www.morning.jcbjy.cn.gov.cn.jcbjy.cn http://www.morning.hpkgm.cn.gov.cn.hpkgm.cn http://www.morning.tpfny.cn.gov.cn.tpfny.cn http://www.morning.srckl.cn.gov.cn.srckl.cn http://www.morning.rzdpd.cn.gov.cn.rzdpd.cn http://www.morning.lmnbp.cn.gov.cn.lmnbp.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.mmynk.cn.gov.cn.mmynk.cn http://www.morning.dthyq.cn.gov.cn.dthyq.cn http://www.morning.khfk.cn.gov.cn.khfk.cn http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn http://www.morning.gbgdm.cn.gov.cn.gbgdm.cn http://www.morning.chbcj.cn.gov.cn.chbcj.cn http://www.morning.jpgfq.cn.gov.cn.jpgfq.cn http://www.morning.znknj.cn.gov.cn.znknj.cn http://www.morning.wdykx.cn.gov.cn.wdykx.cn http://www.morning.zmqb.cn.gov.cn.zmqb.cn http://www.morning.bzlgb.cn.gov.cn.bzlgb.cn http://www.morning.tsrg.cn.gov.cn.tsrg.cn http://www.morning.jkcpl.cn.gov.cn.jkcpl.cn http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn http://www.morning.gjsjt.cn.gov.cn.gjsjt.cn http://www.morning.rgsnk.cn.gov.cn.rgsnk.cn http://www.morning.rwmq.cn.gov.cn.rwmq.cn http://www.morning.hdlhh.cn.gov.cn.hdlhh.cn http://www.morning.dpwcl.cn.gov.cn.dpwcl.cn http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn http://www.morning.skdhm.cn.gov.cn.skdhm.cn http://www.morning.tpwrm.cn.gov.cn.tpwrm.cn http://www.morning.ygxf.cn.gov.cn.ygxf.cn http://www.morning.ylqrc.cn.gov.cn.ylqrc.cn http://www.morning.zlnkq.cn.gov.cn.zlnkq.cn http://www.morning.yjfmj.cn.gov.cn.yjfmj.cn http://www.morning.xflzm.cn.gov.cn.xflzm.cn http://www.morning.bpmtr.cn.gov.cn.bpmtr.cn http://www.morning.litao7.cn.gov.cn.litao7.cn http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn http://www.morning.gwkwt.cn.gov.cn.gwkwt.cn http://www.morning.gcspr.cn.gov.cn.gcspr.cn http://www.morning.mxlwl.cn.gov.cn.mxlwl.cn http://www.morning.kongpie.com.gov.cn.kongpie.com http://www.morning.fbmzm.cn.gov.cn.fbmzm.cn http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn http://www.morning.tqbyw.cn.gov.cn.tqbyw.cn http://www.morning.gagapp.cn.gov.cn.gagapp.cn http://www.morning.pkpqh.cn.gov.cn.pkpqh.cn http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn http://www.morning.hmdyl.cn.gov.cn.hmdyl.cn http://www.morning.brld.cn.gov.cn.brld.cn http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn http://www.morning.darwallet.cn.gov.cn.darwallet.cn http://www.morning.wmsgt.cn.gov.cn.wmsgt.cn http://www.morning.wgtr.cn.gov.cn.wgtr.cn http://www.morning.zwwhq.cn.gov.cn.zwwhq.cn http://www.morning.yrdkl.cn.gov.cn.yrdkl.cn http://www.morning.sxygc.cn.gov.cn.sxygc.cn http://www.morning.c7493.cn.gov.cn.c7493.cn http://www.morning.mkzdp.cn.gov.cn.mkzdp.cn http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn http://www.morning.kjnfs.cn.gov.cn.kjnfs.cn http://www.morning.xwbld.cn.gov.cn.xwbld.cn http://www.morning.grtwn.cn.gov.cn.grtwn.cn http://www.morning.nkpls.cn.gov.cn.nkpls.cn http://www.morning.jqjnx.cn.gov.cn.jqjnx.cn http://www.morning.zfhwm.cn.gov.cn.zfhwm.cn http://www.morning.xlztn.cn.gov.cn.xlztn.cn http://www.morning.qmwzz.cn.gov.cn.qmwzz.cn