0%

网络相关概念-01

Hub & Switch are used to create networks, Router is used to connect networks

中继器(repeater) 物理层

物理层设备,信号再生、放大,延长通信距离,价格便宜。

集线器 - 多口中继器 (Hub)物理层

中继器就是普通集线器的前身,集线器实际就是一种多端口的中继器,集线器一般有4、8、16、24、32等数量的 RJ45 接口。通过这些接口,集线器便能为相应数量的电脑完成”中继”功能,由于它在网络中处于一种”中心”位置,因此集线器也叫做 Hub。

  • 广播
  • 冲突域大
  • 半双工
  • 共享带宽 同一时刻只有两个端口传输数据
  • 侦听

RJ45 (Registered jack)

常见网线的水晶头接口

交换机 (switch)数据链路层

基于集线器的缺点,诞生了交换机,它能识别连接于其上设备的 mac 地址,并能把信号单独的转发给对于的设备。能在一定程度上有效的隔离冲突域和抑制广播风暴。

  • 独享带宽
  • 全双工

HUB only detects that a device is physically connected to it, SWITCH can detect specific devices that are connected to it, keeps a record of the MAC addresses of those devices.

当信号到达集线器后,会被广播到整个网络中。以太网的基本架构就是将包发到所有的设备,然后由设备根据接收方 MAC 地址来判断应该接收哪些包,而集线器就是这一架构的忠实体现,它就是负责按照以太网的基本架构将信号广播出去。

交换机的三种特殊操作

  1. 交换机查询地址表之后发现记录中的目标端口和这个包的源端口是同一个端口,则丢弃包,否则可能会造成重复。
    hub连switch
    问题:集线器有 MAC 地址吗?集线器能连交换机吗?
  2. 交换机地址表中找不到包的目的 MAC 地址,这可能是因为具有该地址的设备还没有向交换机发送过包,或者这个设备一段时间没有工作导致地址被从地址表中删除了。这种情况下,交换机无法判断应该把包转发到哪个端口,只能将包转发到除了源端口之外的所有端口上,无论该设备连接在哪个端口上都能收到这个包。
  3. 如果接收方 MAC 地址是一个广播地址,那么交换机会将包发送到除源端口之外的所有端口。
  • 集线器:没有 MAC 地址,物理层转发。
  • 交换机:有 MAC 地址表,数据链路层转发。
  • 集线器可以连交换机,但效果类似“把一堆电脑接在交换机的一个端口后面”,性能差,不推荐。

路由器 (router)网络层

家用路由器已集成了集线器、交换机的功能。

routing table

家用路由器主要实现用户接入广域网的家庭网关功能,企业级路由器主要实现高性能的三层网络数据包转发以及动态路由协议的学习。通俗来讲,家用路由器基本上只有接入上网的网关功能,而企业级路由器不仅可以充当接入上网的网关功能,还有其他更加强大的功能。

通过集线器和交换机,可以将很多台设备组成一个比较大的局域网,但是当设备的数量达到一定数目时,问题也就出现了,对于使用集线器构成的局域网而言,由于采用广播工作方式,当网络规模较大时,信息在传输过程中出现碰撞、堵塞的情况越来越严重,即使是交换机这种情况也同样存在,其次这种局域网也不安全、不利于管理。

为了解决这些问题,把这些较大的网络划分为一个个小的子网、网段,或者直接将它们划分为多个 VLAN (虚拟局域网),在一个 VLAN 内,一台设备发出的消息只能在相同 VALN 下传播,采用 VALN 划分网络后,可以有效的抑制广播风暴,增加网络安全性,使得管理控制集中。

不同的 VLAN 通过 router 来通信,此外不同的 VLAN 的结构、使用的协议、速度不同,router 也能处理这些。路由器连接多个网络。

router 本质上是一个网络的网关(The router is the gateway of a network)。

路由器比集线器和交换机复杂,路由器相当于一台计算机,有 CPU、ROM、Flash、DRAM等,也有对于的软件操作系统。

网桥(brige)

简单来说,网桥就是一个硬件网络协议翻译器,假如 windows 和 mac os 使用的网络协议不同,就像两个外国人使用不同的语言,此时需要一个翻译,网桥就是翻译。

在 386、486时代网桥可能是一台安装了协议转化程序的电脑,如今交换机也包含这个功能,如今的操作系统为了互相交流,支持更多的协议,操作系统自己就可以是网桥。

现在网桥这个概念已经淡出了。更多是所谓的桥接、转发、协议二次封装。网桥也可以说相当一个端口少的二层交换机,再者网桥主要由软件实现,交换机主要由硬件实现!

网关(gateway)

按照不同的分类标准网关也有很多种,这里的网关是 TCP/IP 协议下的网关。

网关实质上是一个网络通向其他网络的 IP 地址,比如网络A和网络B的网段不同,在没有路由器的情况下,两个网络之间是不能进行 TCP/IP 通信的,即使两个网络连接在同一台交换机(或集线器)上,要实现通信必须通过网关。

如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据发送给自己的网关,再由网关发送给网络B的网关,网络B的网关再转发给网络B中的主机。

所以只有设置好网关的 IP 地址,TCP/IP 协议才能实现不同网络之间的相互通信,那么这个 IP 是哪台机器的 IP 地址呢,网关的 IP 地址是具有路由功能的设备的 IP 地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实际上相当于一台路由器)、代理服务器。

网关的分类

  • 协议网关 在使用不同的协议的网络区域间做协议转换
  • 应用网关 使用不同数据格式间翻译数据的系统
  • 安全网关 各种技术的融合,具有重要且独特的保护作用

总结

  1. Hub 工作在1层,只起信号再生功能(多端口中继器)
  2. 网桥、交换机工作在2层,靠物理地址工作,解决 CSMA/CD 的冲突问题,网桥基于软件,现在用的不多,只有概念,交换机是基于硬件的网桥 (ASIC)
  3. 路由器工作在3层,靠逻辑地址工作,提供逻辑寻址,解决广播等问题
  4. 网关是3层及以上的概念,是个笼统的概念,比如路由器、防火墙都可以叫网关,它是某个网络的出口的意思

网关是一个大概念,只要连接两个不同网络的设备都可以叫网关,而路由器一般特指能够实现路由和转发的特定类产品,路由器显然能实现网关的功能,默认网关事实上不是一个产品而是一个网络层的概念,PC 本身不具备路由寻址能力,所以 PC 要把所有的 IP 包发送到一个默认的中转地址上面进行转发,这个默认的地址就是默认网关,这个网关可以在路由器上、可以在3层交换机上,可以在防火墙上,可以在服务器上所以和物理设备无关。

netstat -rn

双绞线

内部有八根信号线,两两双绞线,为什么要双绞呢?

为了解决信号干扰:

  1. 通过两根信号线的缠绕(电信号方向相反,抵消干扰)抵消外源性噪声;
  2. 通过改变节距抑制内源性噪声 串扰

通过将信号线缠绕在一起的方式,噪声得到了抑制,从结果来看提升了网线的性能,除此之外还有其他的一些工艺也能帮助提升性能,例如在信号线之间加入隔板保持距离,以及在外部包裹可以阻挡电磁波的屏蔽网等,有了这些工艺的帮助,可以买到性能指标不同的各类网线,网线的性能是以类来区分的。

网线分类

五类 (CAT-5)

用于 10 Mbit/s (10BASE-T) 和 100 Mbit/s (100BASE-TX) 以太网,可以最高 125 MHz 的频率在最长 100 米的距离内传输信号

超五类 (CAT-5e)

用于千兆 (1000BASE-T) 以太网,对五类网线进行了改良,改善了串扰,也向下兼容 10BASE-T 和 100BASE-TX

六类 (CAT-6)

支持最高 250 MHz 的信号传输,用于 1000BASE-TX 规格的千 兆以太网和 10GBASE-T 规格的万兆以太网,同时向下兼容 10BASE-T、100BASE-TX 和 1000BASE-T

超六类 (CAT-6A)

对六类网线进行了改良,改善了外部串扰,兼容 10GBASE-T、 1000BASE-TX、1000BASE-T、100BASE-TX 和 10BASE-T

七类 (CAT-7)

支 持 最 高 600 MHz 的 高 速 信 号 传 输, 兼 容 10GBASE-T、1000BASE-TX、1000BASE-T、100BASE-TX 和 10BASE-T

广播地址 broadcast address

广播地址是一种特殊的地址,将广播地址设为接入方地址时,包会发送到网络中所有的设备,MAC 地址中的 FF:FF:FF:FF:FF:FF 和 IP 地址中的 255.255.255.255 都是广播地址。

全双工模式

单工模式(电脑 –> 打印机)
可以同时接收和发送数据,全双工模式是交换机特有的工作模式,集线器不具备这个特性。

使用集线器时,如果多台计算机同时发送信号,信号就会在集线器内部混杂在一起,进而无法使用,这种现象称为碰撞,是以太网的一个重要特征。(CSMA/CD)

使用双绞线时,发送和接收的信号线是各自独立的,因此在双绞线中信号不会发生碰撞。

如果不存在碰撞,也就不需要半双工模式中的碰撞处理机制了,也就是说发送和接收可以同时进行,然而,以太网规范中规定了在网络中有信号时要等该信号结束后再发送信号,因此发送和接收还是无法同时进行,于是人们对以太网规范进行了修订,增加了一个无论网络中有没有信号,都可以发送信号的工作模式,同时规定在这一工作模式下停用碰撞检测,这种工作模式就是全双工模式,在全双工模式下,无需等待其他信号结束就可以发送信号,因此它比半双工模式速度快(如果网络中包的数量很少,不会出现等待其他传输结束的情况,那么全双工模式和半双工模式的速度是一样的),由于双方可以同时发送数据,所以可同时传输的数据量也更大,性能也就提高了。

原本以太网并没有工作模式的概念,也没有表示工作模式的专业术语,后来在全双工模式出现时,人们将通信技术中一直使用的全双工,半双工两个词搬到网络技术中,于是就出现了这种叫法。

自动协商:确定最优的传输速率和工作模式

随着全双工模式的出现,如何在全双工和半双工模式之间进行切换的问题也产生了,在全双工模式刚刚出现的时候,还需要手动进行切换,太麻烦了,后来出现了自动切换工作模式的功能,这一功能可以由相互连接的双方探测对方是否支持全双工模式,并自动切换成相应的工作模式,此外除了能自动切换工作模式之外,还能探测对方的传输速率并进行自动切换,这种自动切换的功能称为自动协商。

在以太网中当没有数据在传输时,网络中会填充一种被称为连接脉冲的脉冲信号,在没有数据信号时就填充连接脉冲,这使得网络中一直都有一定的信号流过,从而能检测对方是否在正常工作,或者说网线有没有正常连接,以太网设备的网线接口周围有一个绿色的 LED 指示灯,它表明是否检测到正常的脉冲信号,如果绿灯亮,说明网卡和交换机连接正常。

在双绞线以太网规范最初制定的时候,只规定了按一定间隔发送脉冲信号,这种信号只能用来确认网络是否正常,后来人们又设计出了具有特定排列的脉冲信号,通过这种信号可以将自身的状态告知对方。

自动协商功能就利用了这样的脉冲信号,即通过这种信号将自己能支持的工作模式和传输速率相互告知对方,并选择一个最优的组合。

自动协商功能是后来才写入以太网规范中的,因此会出现支持这一功能和不支持这一功能的设备混用的情况。现在基本上已经没有不支持自动协商的旧设备了。

交换机同时执行多个转发操作

路由器

网络包在经过集线器和交换机之后,到达了路由器,并在此被转发到了下一个路由器。
路由器是基于 IP 设计的,交换机是基于以太网设计的。

路由器由转发模块和端口模块组成,端口模块支持各种协议的网络,如以太网、无线局域网、ADSL等。

端口模块会根据相应通信技术规范来执行包收发操作,这意味着端口模块是以实际的发送方或者接收方的身份来收发网络包的,以以太网端口为例,路由器的端口具有 MAC 地址(三层交换机),因此它就能够成为以太网的发送方和接收方。端口还具有 IP 地址,从这个意义上来说,它和计算机的网卡是一样的。当转发包时,首先路由器端口会接收发给自己的以太网包,然后查询转发目标,再由相应的端口作为发送方将以太网包转发出去,这一点和交换机不同,交换机只是将进来的包转发出去而已,它自己不会成为发送方或接收方。路由器的各个端口都具有 MAC 地址和 IP 地址。

路由表

路由表

在查表判断转发目标这一点上,路由器和交换机的大体思路是类似的,具体的工作过程不同,交换机通过 MAC 头部中的接收方 MAC 地址来判断转发目标,而路由器根据 IP 头部中的 IP 地址来判断。

最左侧的目标地址列记录的是接收方的信息,实际上这里的 IP 地址只包含表示子网的网络号部分比特值,而表示主机号部分的比特全为0,路由器会将接收到的网络包的接收方 IP 地址与路由表中的目标地址进行比较,并找到相应的记录,交换机在地址表中只匹配完全一致的记录,而路由器则会忽略主机号部分,只匹配网路号部分。打个比方,路由器在转发包的时候只看接收方地址属于哪个区。

路由聚合

上面说过,目标地址列中的 IP 地址表示的是子网,但也有一些例外,有时地址本身的子网掩码和路由表中的子网掩码是不一致的,这是路由聚合的结果,路由聚合会将几个子网合并成一个子网,并在路由表中只产生一条记录
路由聚合

比如有3个子网,分别为 10.10.1.0/2410.10.2.0/2410.10.3.0/24,路由器 B 需要将包发往这 3 个子网,这种情况下,路由器 B 的路由表中原本应该有对应这三个子网的三条记录,但是无论发往任何一个子网,都是通过 A 来进行转发的,因此可以在路由表中将三个子网合并成 10.10.0.0/16,这样也可以正确地进行转发,这样能减少了路由表中的记录数量。经过路由聚合,多个子网被合并成一个子网,子网掩码会发生变化,同时目标地址也会改成聚合后的地址。

相对地,还有另外一些情况,如将一个子网进行细分并注册在路由表上,然后拆分成多条记录,从结果上看,路由表的子网掩码列只是用来在匹配目标地址时告诉路由器应该匹配多少个比特,而且目标地址中的地址和实际子网的网络号可能并不完全相同,但即便如此,路由器依然可以正常工作。路由表的子网掩码列只表示在匹配网络包目的地址时需要对比的比特数量。

最后一列是跃点计数,它表示距离目标 IP 地址的距离远近,数字越小越近。

路由表记录维护的方式和交换机也有所不同,交换机中对 MAC 地址表的维护是包转发操作中的一个步骤,而路由表的维护是与包转发操作相互独立的,也就是说,在转发包的过程中不需要对路由表进行维护。

对路由表的维护有两类:

  1. 人工维护
  2. 根据路由协议机制,通过路由器之间的信息交换由路由器自行维护路由表的记录(路由协议有 RIP、OSPC、BGP等)

路由器包的接收操作

信号到达网线接口部分,PHY(MAU)模块和 MAC 模块将信号转换为数字信息,然后进行 FCS 错误校验,如果没有问题检查 MAC 地址是不是发给自己的,如果是则放入缓冲区,否则丢弃,完成包接收操作之后,路由器就会丢弃包开头的 MAC 地址,MAC 头部的作用就是将包送达路由器,接收方 MAC 地址就是路由器端口的 MAC 地址,因此,当包到达路由器后,MAC 头部的任务就完成了,于是 MAC 头部就会被丢弃。

接下来,路由器会根据 MAC 头部后方的 IP 头部中的内容进行包的转发。路由匹配可能会匹配多条记录,最长匹配原则,路由器首先寻找网络号比特数最长的一条记录,网络号比特越长,说明主机号比特数越短,意味着该子网内可分配的主机数量越少,即子网中可能存在在主机数量越少,这一规则的目的是尽量缩小范围。

然而,有时候路由表中会存在网络号长度相同的多条记录,例如考虑到路由器或网线故障而设置的备用路由器就属于这种情况,这时需要根据跃点计数值来进行判断,越小越好。

如果路由表中无法找到匹配记录,路由器会丢弃这个包,并通过 ICMP 消息通知发送方,这里的处理方式和交换机不同,原因在于网络规模的大小,交换机最多几千台设备,如果只有几千台设备,遇到不知道应该转发到哪里的包,交换机可以将包发送到所有端口,虽然简单粗暴,但不会引发什么问题,然而路由器工作的环境是互联网,它的规模远远大于以太网,如果也这样会产生大量的网路包,造成网络拥赛,因此,路由器在遇到不知道该转发到哪里的包时就会直接丢弃。

找不到匹配路由时选择默认路由,是不是所有转发目标都需要配置在路由表中才行呢?如果是公司或者家庭网络,这样也没什么问题,但在互联网中不太现实。上方路由表中最后一行的作用就相当于把所有目标都配置好了,这一行的子网掩码是 0.0.0.0,意味着网络包接收方 IP 地址和路由表目标地址的匹配中需要匹配的比特数是0,换句话说就是根本不需要匹配,只要将子网掩码设置为 0.0.0.0,那么无论任何地址都能匹配到这一条记录,这样就不会发生不知道要转发到哪里的问题了。只要这一条记录的网关列中写入互联网路由器地址,当匹配不到其他路由时,网络包就会被转发到互联网接入路由器,因此这条记录被称为默认路由,这一行配置的网关地址叫做默认网关,在计算机的 TCP/IP 设置窗口中也有填写默认网关的地方,是一个意思,计算机中也有一种和路由器一样的路由表,这样一来无论目标地址是一个子网还是表示某台设备,都可以用相同的方法查找出转发目标,而且也避免了不知道转发到哪里的问题。

TTL

防止网络出现循环,TTL 字段表示包的有效期,包每经过一个路由器的转发,这个值就会减一,当这个值变成0时,这个包就会被丢弃。

分片

路由器的端口并不只有以太网一种,也可以支持其他局域网或专线通信技术,不同的线路和局域网类型各自能传输的最大包长度也不同,因此输出端口的最大包长度可能会小于输入端口,遇到这种情况就需要使用 IP 协议中定义的分片功能对包进行拆分,缩小每个包的长度。

通过查看 MTU 决定是否分片,一般都是可以分片的,但是有两种情况不能分片:

  1. 发送方应用程序等设置了不允许分片
  2. 当前包已经是经过分片后的包

IP 检验和

在 IP 头部中有一个用于错误校验的字段”校验和”,在路由器更新 TTL 和 分片的过程中,IP 头部的内容发生了改变,因此必须重新计算校验和,书中未详细介绍是因为和以太网以及通信线路本身的校验机制相比,IP 校验和的可靠性很低,因此大多数路由器都不去校验这个值,当它不存在一样。

添加 MAC 地址

路由器判断下一个转发目标的方法:

  1. 如果路由表的网关列内容为 IP 地址,则该 IP 地址就是下一个转发目标。
  2. 如果路由表的网关列内容为空,则 IP 头部中的接收方 IP 地址就是下一个转发目标。

知道对方的 IP 地址之后,接下来需要通过 ARP 根据 IP 地址查询 MAC 地址,并将查询的结果作为接收方 MAC 地址。路由器也有 ARP 缓存,因此首先会在 ARP 缓存中查询,如果找不到则发送 ARP 查询请求。

通过层层转发,网络包就到达了最终的目的地。

路由器与交换机的关系

要理解两者之间的关系,关键点在于计算机在发送网络包时,或者是路由器在转发网络包时,都需要在前面加上 MAC 头部,准确说法应该是将 IP 包装进以太网包的数据部分中,委托以太网去传输这些数据,IP 协议本身没有传输包的功能,因此包的实际传输要委托以太网来进行,路由器是基于 IP 设计的,而交换机是基于以太网设计的,因此 IP 与以太网的关系也就是路由器与交换机的关系。这里说的内容只适用于原原本本实现 IP 和以太网机制的纯粹的路由器和交换机,实际的路由器有内置交换机的功能,比如用于连接互联网的家用路由器就属于这一种,对于这种路由器,上面内容就不适用了,但是,如果把这种不纯粹的路由器拆分成纯粹的路由器和纯粹的交换机,则他们各自都适用上面的内容。

从包的转发目标也可以看出路由器和交换机之间的委托关系,IP 并不是委托以太网把包传输到最终目的地,而是传输到下一个路由器,在创建 MAC 头部时,也是从 IP 的路由表中查找下一个路由器的 IP 地址,并通过 ARP 查询出 MAC 地址,然后将 MAC 地址写入 MAC 头部中,这表示 IP 对以太网的委托只是将包传输到下一个路由器就行。当包到达下一个路由器后,下一个路由器又会重新委托以太网将包传输到再下一个路由器,随着这一过程的反复执行,包就会最终到达 IP 的目的地。

简单来说,IP (路由器)负责将包发送给通信对象这一过程,而其中将包传输到下一个路由器的过程则是由以太网(交换机)来负责的。

当然,网络并非只有以太网一种,还有无线局域网等,它们和 IP 之间的关系又是如何呢?其实只要将以太网替换成无线局域网就行,世界上还有其他的网络,IP 只是委托他们发送而已。

IP 本身不负责包的传输,而是委托各种通信技术将包传输到下一个路由器,这样的设计有重要意义,即可以根据需要灵活运用各种通信技术,这也是 IP 的最大特点,正是有了这一特点,我们才能够构建出互联网这一规模巨大的网络。

路由器的附加功能

通过地址转换有效利用 IP 地址

地址转换功能出现的背景:所谓地址,就是用来识别每一台设备的标志,因此每台设备都应该有一个唯一不重复的地址,本来互联网中所有的设备都应该有自己的固定地址,而且最早也确实是这样做的,比如,公司内网需要接入互联网的时候,应该向地址管理机构申请 IP 地址,并将他们分配给公司里的每台设备,在互联网的早期,是没有内网和外网的区别的,所有的客户端都是直接连接到互联网的。

随着互联网的发展,可分配的地址就用光了,如果不能保证每台设备有唯一不重复地址,就会从根本上影响网络包的传输,这是一个非常严重的问题。

解决这个问题的关键在于固定地址分配方式,比如 A、B 两家公司,它们的内网是完全独立的,这种情况下,两家公司之间不会有网络包流动,即使 A 公司的服务器和 B 公司的某个客户端具有相同 IP 地址也没关系,因为他们之间不会进行通信,只要在每家公司自己的范围内,能够明确判断包的目的地就可以了。

解决地址不足的问题,就是利用这样的性质,于是诞生了公有地址和私有地址。

在内网中可用作私有地址的范围仅限以下这些:

1
2
3
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255

在制定私有地址时,这些地址属于公有地址中还未分配的范围。换句话说,私有地址本身并没有什么特别的结构,只不过是把公有地址中未分配的一部分拿出来规定只能在内网使用它们而已,这个范围的地址和其他公司重复也没关系,所以对这些地址不作统一管理,不需要申请,任何人都可以自由使用。但在一个内网内不能重复。

尽管这样的确能节省一部分地址,但仅凭这一点还无法完全解决问题。内网需要和互联网通信,这样问题就来了,不同内网相同地址包无法传输。于是,当公司内网和互联网连接的时候,需要将公司内网分成两个部分,一部分对互联网开放的服务器,另一部分是公司内部设备,对互联网开放的部分分配公有地址,可以和互联网直接进行通信,相对地,内网部分则分配私有地址,内网中的设备不能和互联网直接收发网络包,而是通过一种特别的机制进行连接,这个机制就叫地址转换

地址转换的基本原理 NAT NAPT

地址转换的基本原理是在转发网络包时对 IP 头部中的 IP 地址和端口号进行改写。私有地址改写成公有地址。
地址转换

具有地址转换功能的设备不仅有路由器,有些防火墙也有地址转换功能。

改写发送方 IP 地址和端口号之后,包被发往互联网,最终到达服务器,然后服务器会返回一个包,这包的接收方是改写后的公有地址和端口号,这个公有地址其实是地址转换设备的地址,地址转换设备会从地址表中通过公有地址和端口号找到相对应的私有地址和端口号,并再次改写,然后将包发给公司内网,这样包就能到达原始的发送方了。数据发送完成,对应的转换记录会被删除。

通过这种机制,具有私有地址的设备也可以访问互联网了,从互联网一端来看,实际的通信对象是地址转换设备(路由器)。家庭网络亦是如此。

改写端口号的原因

现在我们使用的地址转换机制是同时改写地址和端口号,但早期的地址转换机制只改写地址,不改写端口号,这种方法更简单,但是,使用这种方法的前提是私有地址和公有地址必须一一对应,也就是说,有多少台设备要上网,就需要多少个公有地址,当然,访问动作结束后可以删除对应表中的记录,这时同一个公有地址分配给其他设备使用,这样是不行的,需要很多公有地址,改写端口正是为了解决这个问题,这里端口代表了一个设备。端口号有几万个,大大提高了公有地址的利用率。

从互联网访问内网

对于没有访问互联网的内网设备,是无法从互联网向其发送网络包的,而且即便是正在访问的设备,也只能向和互联网通信中使用的那个端口发送网络包,无法向其他端口发送包,也就是说除非公司允许,否则无法从互联网向公司内网发送网络包,这种机制具有防止非法入侵的效果。不过有时我们希望能从互联网访问内网,这需要进行一些设置才能实现,之所以无法从互联网访问内网,是因为对应转换表里没有相应的记录,我们可以手动添加。

一般来说,用于外网访问的服务器可以放在地址转换设备的外面并为它分配一个公有地址。也可以将服务器的私有地址手动添加到地址转换设备中,这样就可以从互联网访问到这台具有私有地址的服务器了(这种配置需要将地址转换设备的公有地址添加到 DNS 服务器中)。

路由器的包过滤功能

在对包进行转发时,可以根据 MAC 头部、IP 头部、TCP 头部的内容,按照事先设置好的规则决定是转发这个包,还是丢弃这个包。防火墙设备或软件大多数都是利用这一机制来防止非法入侵的。

为什么有的叫交换机,有的叫二层交换机呢?小型廉价的普及型产品一般叫交换机,大型的高性能的产品一般叫二层交换机。