一个ICT菜鸟的成长之路
欢迎来到我的个人博客~ 我的工具网站:kevinwen.flowus.cn
posts - 5,comments - 2,views - 18289

通信传输中,发送端和接收端都可以被视为通信主体。它们都能由一个所谓的“地址”的信息加以标识出来。当我们使用电话时,电话号码就相当于“地址”,当我们选择写信时,通信地址加上姓名就相当于“地址”。

现实生活中的“地址”比较容易理解,然而在计算机通信中,这种地址的概念显得更为复杂一些。因为,在实际的网络通信中,每一层的协议所使用的通信地址都不相同。

|例如,TCP/IP通信中使用MAC地址,IP地址,端口号等作为地址标识。甚至在应用层中,可以将电子邮件地址也视作网络通信的地址。

地址的唯一性:

如果想让地址在通信中发挥作用,首先需要确认通讯的主体。一个地址必须明确的表示一个主体对象。在同一个通信网络中不允许有两个相同的通信主体存在,这也就是指地址的唯一性。

但是,这里就有一个疑问,在同一个通信网络中不允许有两个相同的地址的通信主题存在,这在单播当中还好理解。但是在广播,多播,任播通信该如何理解呢?岂不是通信接收端都被赋予了同一个地址?其实,某种程度上,这样理解有一定的合理性。在上面这些通信方式中,接收端设备可能不止一个。为此,可以对这些由多个设备组成一组的通信赋予同一个具有唯一特性的地址,从而避免产生歧义,明显接收对象。

举个简单的多播的例子。

  • 某个老师说“一年一班的同学们请起立!”其中,“一年一班”实际上就明确指代了目标对象,此时,“一年一班”就是这个“多播”的目标地址,具有唯一性。
    在举一个任播的例子:
  • 老手又说“一年一班的哪一位同学过来把你们班的书拿走”。此时“一年一班的哪一位同学”(任意一位同学)就成为了此次“任播”的目标地址,具有唯一性。

地址的层次性:

当地址总数并不是很多的情况下,有了唯一地址就可以定位相互通信的主体,然而,当地址总数越来越多的时候,任何高效的从中找出通信的目标地址就成为了一个重要的问题。

|为此,人们发现地址除了具有唯一性还需要具有层次性。

其实,在使用电话和信件通信的过程当中,早已有了地址分层的这种概念。例如,电话号码包含国家区号和国内区号,通信地址包含国家名字,省份名字,市名和区名等等。正是有了这一种层次分类才能更加快度的定位某一个地址。

MAC地址:

MAC地址由设备的制造厂商针对每块网卡(NIC)进行分别指定。可以通过制造商识别号,制造商内部产品编号以及产品通用编号确保MAC地址的唯一性。MAC地址虽然由唯一性,并且人脉可以通过造商识别号,制造商内部产品编号以及产品通用编号等找到某块具体的网卡,但是MAC地址对寻找地址并没有起到任何作用。所以MAC地址不能算有层次的地址。正因如此,虽然MAC地址是真正负责最终通信的地址,但是在实际寻址过程中,IP地址却必不可少。

那么IP地址又是怎么样实现分层的?

  • 一方面,IP地址由网络号和主机号组成。即使通信主体的IP地址不同,若主机号不同,网络号相同,则可以认为他们处在同一个网段。通常,同处一个网段的主机也都属于同一个部门或集团组织。
  • 另一方面,网络号相同的主机在组织机构,提供商类型和地域分布上都比较集中,也为IP寻址带来了极大的方便。这也是为什么说IP地址具有层次性的原因。

网络传输中,每个节点会根据分组数据的地址信息,来判断该报文应该由那个网卡发送出去。为此,各个地址会参考一个发出接口列表,在这一点上MAC寻址和IP寻址是一样大的。只不过MAC寻址中所参考的这张表叫做地址转发表,而IP寻址上所参考的叫做路由控制表。MAC地址转发表中所记录的是实际的MAC地址本身,而路由表中记录的IP地址则是集中了之后的网络号。
image

网卡

任何一台计算机连接网络时,必须要使用网卡(全称为网络接口卡)。网络接口卡(NIC(集成了连接局域网功能的设备。有时会被集成到计算机的主板中,有时也可以被单独插入扩展槽使用。Network Information Center的缩写也是NIC,也是要注意区分。))有时也被叫做网络适配器,网卡,LAN卡。
最近,很多产品目录中都加入了“内置LAN端口”的参数,说明越来越多的计算机在出厂设置中就具备了以太网(Ethernet)1000BASE-T或100BASE-TX的端口(计算机与外部连接的接口称作计算机端口。) 。没有配置NIC的计算机如果想接入以太网,至少得外接一个扩展槽以便插入NIC。无线局域网的情况下也是如此,计算机必须具备能够接入无线网的NIC才能保证连接到网络。笔记本电脑如果没有内置的NIC,可以通过ExpressCard(ExpressCard:笔记本电脑中的卡型扩展设备。由制定PC卡标准的PCMCIA(PersonalComputer Memory Card International Association,PC机内存卡国际联合会)统一规格。) 或CardBus、58压缩闪存以及USB方式插一块NIC以后再连网。
image

中继器

中继器(Repeater)是在OSI模型的第一层---物理层面上延长网络的设备。由电缆传过来的电信号或光信号经由中继器的波形调整和放大再传给另一个电缆。
image
image

  • 一般情况下,中继器两端连接的是相同的通信媒介,但有的中继器也可以完成不同媒介之间的转换工作。例如,可以在同轴电缆与光缆之间调整信号。
  • 然而,在这种情况下,中继器也只是单纯负责信号在0和1比特流之间的替换,并不负责判断数据是否错误。同时,他只负责将电信号转换为光信号。
  • 因此不能在传输速度不同的媒介之间转发(用中继器无法连接一个100Mbps的以太网和另一个10Mbps的以太网。连接两个不同速度的网络需要的是网桥或路由器这样的设备。) 。通过中继器而进行的网络延长,其距离也并非可以无限扩大。例如一个10Mbps的以太网最多可以用4个中继器分段连接,而一个100Mbps的以太网则最多只能连两个中继器。
  • 有些中继器可以提供多个端口服务。这种中继器被称作中继集线器或集线器。因此,集线器(中继集线器也可以简称为集线器或Hub。但现在人们常说的Hub更多是指交换式集线器。) 也可以看作是多口中继器,每个端口都可以成为一个中继器。
    image

网桥/2层交换机:

  • 中继器是延迟一个网络的设备

  • 集线器的每一个端口都是中继器。

  • 网桥/2层交换机是连接一个网络与另一个网络的设备。

    • image
    • 网桥根据数据帧的内容转发数据给相邻的其他网络。
    • 网桥没有连接网段个数的限制
    • 网桥基本上只用于连接相同类型的网络。但是有时也可以连接传输速率不同的网络。
  • 网桥是在OSI模型的第2层-----数据链路层面上连接2个网络的设备。它能够识别数据链路层中的数据帧(与分组数据意思大致相同,但是在数据链路层中通常习惯称之为帧),并将这些数据帧临时存储于内存,再重新生成信号作为一个全新的帧转发给相连的另一个网段(具有分割,划分网络之意)由于能够存储这些数据帧,网桥能够连接10BASE-T与100BASE-TX等传输速率完全不同的数据链路,并且不限制连接网段的个数。

对数据帧的校验:

  • 数据链路中有一个数据位叫做FCS(用CRC(Cyclic Redundancy Check,循环冗余验证码)方式校验数据帧中的位。有时由于噪音导致通信传输当中数据信号越来越弱,而这种CRC正是用来检查数据帧是否因此而受到破环的。),用以校验数据是否正确送达目的地。网桥通过检查这个域中的值,将那些损坏的数据丢弃,从而避免发送给其他的网段。此外,网桥还能通过地址自学地址和过滤功能控制网络流量(网络上传输的数据报文的数量)。

网桥的转发机制:
image
当主机A与主机B之间进行通信时,只针对主机A发送数据帧即可。网桥会根据地址自学机制来判断是否需要转发数据帧。

  • 这里所说的地址是指MAC地址、硬件地址、物理地址以及适配器地址,也就是网络上针对NIC分配的具体地址。
  1. 这类功能是OSI参考模型的第2层(数据链路层)所具有的功能。为此,有时也把网桥称作2层交换机(L2交换机)。

  2. 有些网桥能够判断是否将数据报文转发给相邻的网段,这种网桥被称作自学式网桥。这类网桥会记住曾经通过自己转发的数据帧的MAC地址,并保存到自己里的内存表中。由此,可以判断哪个网段中包含持有哪类MAC地址的设备。

  3. 以太网等网络中经常使用的交换集线器(Hub(具有网桥功能的Hub叫做交换集线器。只有中继器功能的Hub叫做集线器。)),现在基本也属于网桥的一种。交换集线器中连接电缆的每个端口都能提供类似网桥的功能。
    image

路由器/3层交换机:

回顾一下:

  • 中继器是延迟一个网络的设备。中继器是工作在物理层。
  • 集线器就是提供多个端口服务的中继器,这种中继器的每一个端口相当于一个中继器。简单的理解,集线器可以看作多口中继器,每个端口都可以成为一个中继器。
  • 网桥在数据链路层上连接两个网络的设备。能够识别数据帧并转发。
  • 交换集线器就是在集线器多个端口的基础上,每一个端口都具有网桥功能的集线器。也属于网桥的一种。

而路由器:

  • 路由器工作在网络层。是在网络层面上连接两个网络,并对分组报文进行转发的设备。

    • 网桥是根据物理地址(MAC地址)进行处理,而路由器/3层交换机是根据IP地址进行处理的。因此,TCP/IP中网络层的地址就成为了IP地址。

    • 路由器可以连接不同的数据链路。例如连接两个以太网,或者连接一个以太网与一个FDDI。现在,人们在家或办公室里连接互联网时所使用的宽带路由器也是路由器的一种。

    • 路由器还有分担网络负荷的作用(由于路由器会分割数据链路,因此数据链路层的广播消息将无法继续传播),甚至有些路由器具备一定的网络安全功能。因此,在连接网络与网络的设备当中,路由器起着极为重要的作用。

4~7层交换机:

image

4 ~ 7层交换机负责处理OSI模型中传输层至应用层的数据。如果用TCP/IP分层模型来表述,4~7层交换机就是以TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理。
例如,对于并发访问量非常大的一个企业级Web站点(URL指定的连接到互联网的一台或一群服务器。目前根据信息内容可以分为游戏站点,资源下载站以及Web站点等多种类型。)。使用一台服务器不足以满足前端的访问需求,这时通常会架设多台服务器来分担。这些服务器前端访问的入口地址通常只有一个(企业为了使用者的方便,只会向最终用户开放一个统一的访问URL)。为了能通过同一个URL将前端访问分发到后台多个服务器上,可以在这些服务器的前端加一个负载均衡器。这种负载均衡器就是4~7层交换机的一种。(此外还可以通过DNS(参考5.2节)实现负载均衡。通过对多个IP地址配置同一个名字,每次查询到这个名字的客户得到其中的某一个地址,从而使不同客户访问不同的服务器。该方法也称作循环复用DNS技术。)。

  • 此外,实际通信当中,人们希望在网络比较拥堵的时候,优先处理像语音这类对及时性要求较高的通信请求,放缓处理像邮件或数据转发等稍有延迟也并无大碍的通信请求。这种处理被称为带宽控制,也是4~7层交换机的重要功能之一。

  • 除此之外,4~7层交换机的应用场景还有很多。例如广域网加速器、特殊应用访问加速以及防火墙(可以防止互联网上的非法访问)等。

网关:

image

网关是OSI参考模型中负责将从传输层到应用层的数据和转发的设备(依照惯例,路由器的表现与“网关”相似。但是这里指的“网关”仅限OSI参考模型中传输层以上各个分层中进行协议额转换的设备或部件。

它与4 ~ 7 层交换机一样都是处理传输层以上的设备,但是网关不仅转发数据还负责对数据进行转换,它通常会使用一个表示层或应用层网关,再练个不能直接进行通信的协议之间进行翻译,最终实现两者之间的通信。

  • 一个非常典型的例子就是互联网邮件与手机邮件之间的转换服务。手机邮件有时可能会与互联网邮件互不兼容,这是由于它们在表示层和应用层的“电子邮件协议”互不相同导致的。

  • 那么,为什么连到互联网的电脑与手机之间能够互发电子邮件呢?如图所示,互联网与手机之间设置了一道网关。网关负责读取完各种不同的协议后,对它们逐一进行合理的转换,再将相应的数据转发出去。这样一来即使应用的是不同电子邮件的协议,计算机与手机之间也能互相发送邮件。
    image

-此外,在使用WWW(World Wide Web,万维网)时,为了控制网络流量以及出于安全的考虑,有时会使用代理服务器(Proxy Server)。这种代理服务器也是网关的一种,称为应用网关。有了代理服务器,客户端与服务器之间无需在网络层上直接通信,而是从传输层到应用层对数据和访问进行各种控制和处理。防火墙就是一款通过网关通信,针对不同应用提高安全性的产品。

image
image

设备名 工作层 内容
中继器 物理层 将物理电缆或光缆信号延长和放大,通过识别0,1序列调整波形达成。中继器还可以在双绞线电缆和光线电缆之间转换。
集线器 物理层 带多个端口的中继器,每一个端口都是一个中继器。
网桥 数据链路层 识别数据链路层中的数据帧,对错误的数据帧丢弃,并且构建新的数据帧转发
2层交换机 数据链路层 识别数据链路层中的数据帧,对错误的数据帧丢弃,并且构建新的数据帧转发
交换集线器 数据链路层 交换集线器就是在集线器多个端口的基础上,每一个端口都具有网桥功能的集线器。也属于网桥的一种。
路由器 网络层 根据IP地址寻址判断,转发数据包到目标地址。路由器负责连接两个不同的数据链路层,此外还有分担网络负荷的作用。
3层交换机 网络层 根据IP地址寻址判断,转发数据包到目标地址。路由器负责连接两个不同的数据链路层,此外还有分担网络负荷的作用。
4~7层交换机 传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理 负载均衡,带宽控制,广域网加速器,特殊应用访问加速一级防火墙等应用场景。
网关 传输层到应用层进行转换和转发的设备 和4~7层交换机工作的区域一样,但是网关不仅负责转换转发,还可以在两个不能直接进行同学的协议之间充当翻译。
posted on   kevin的ICT菜鸟之路  阅读(50)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示