计算机网络基础知识

157 阅读14分钟

网络种类

在计算机网络中,不同类型的网络使用不同的传输协议。

以下是常见的网络类型及其主要的传输协议:

1. 以太网(局域网)(Ethernet)

传输协议:

  • Ethernet协议(IEEE 802.3)

特点:

  • 局域网(LAN)中最常用的技术。
  • 使用MAC地址进行设备标识和通信。
  • 数据传输速率范围从10 Mbps到100 Gbps。
  • 以太网帧封装IP包,进行局域网内的数据传输。

2. 广域网(Wide Area Network, WAN)

传输协议:

  • IP协议(Internet Protocol, IPv4/IPv6)
  • MPLS(Multi-Protocol Label Switching)
  • Frame Relay
  • ATM(Asynchronous Transfer Mode)

特点:

  • 覆盖范围较大,可以跨越城市、国家甚至洲际。
  • 使用路由器进行网络连接和数据转发。
  • 常用于连接多个局域网。

3. 全球互联网(Internet)

传输协议:

  • IP协议(Internet Protocol, IPv4/IPv6)
  • TCP(Transmission Control Protocol)
  • UDP(User Datagram Protocol)
  • HTTP/HTTPS(Hypertext Transfer Protocol/Secure HTTP)
  • FTP(File Transfer Protocol)
  • SMTP(Simple Mail Transfer Protocol)

特点:

  • 全球范围的网络连接,覆盖范围最大。
  • 多种协议协同工作,支持各种应用和服务。

网与网之间的工具

不同类型的网络之间传输数据通常需要一些转换工具和设备,以确保数据能够顺利地在不同网络环境中传输。

以下是一些常见的转换工具和设备:

1. 路由器(Router)

  • 功能: 连接不同网络(如LAN和WAN),并转发数据包。
  • 作用: 负责数据包在不同网络之间的转发和路由选择,确保数据能够找到正确的传输路径。
  • 应用: 家用路由器、企业级路由器、边界路由器等。

2. 网关(Gateway)

  • 功能: 充当不同网络协议之间的转换器。
  • 作用: 允许使用不同通信协议的网络设备相互通信,处理协议转换、数据格式转换等任务。
  • 应用: 通信网关、应用网关、IoT网关等。

3. 交换机(Switch)

  • 功能: 连接局域网内的多个设备,并根据MAC地址进行数据转发。
  • 作用: 提高网络效率,减少冲突域,实现高效的数据传输。
  • 应用: 局域网交换机、数据中心交换机等。

4. 调制解调器(Modem)

  • 功能: 在模拟信号和数字信号之间进行转换。
  • 作用: 将数字信号转换为模拟信号(调制),或将模拟信号转换为数字信号(解调)。
  • 应用: 电话线调制解调器、DSL调制解调器、光纤调制解调器等。

5. 防火墙(Firewall)

  • 功能: 监控和控制网络流量,根据预设的安全规则阻止或允许数据包通过。
  • 作用: 提供网络安全保护,防止未经授权的访问和网络攻击。
  • 应用: 硬件防火墙、软件防火墙、下一代防火墙等。

6. 网络地址转换(NAT)设备

  • 功能: 将私有IP地址转换为公共IP地址,反之亦然。
  • 作用: 允许多个设备共享一个公共IP地址,提高IP地址的利用率,增强网络安全性。
  • 应用: 家用路由器、企业级NAT设备等。

7. 桥接器(Bridge)

  • 功能: 连接两个局域网,并根据MAC地址进行数据转发。
  • 作用: 将不同的局域网连接起来,使它们成为一个逻辑上的网络。
  • 应用: 无线桥接器、有线桥接器等。

8. 媒体转换器(Media Converter)

  • 功能: 在不同介质(如光纤和铜缆)之间进行信号转换。
  • 作用: 允许不同物理介质的网络设备进行通信。
  • 应用: 光电转换器、单模多模转换器等。

NAT

NAT:network address translation 网络地址变换 其实某些机构并不需要连接到因特网,只需要与内部的主机通信,这样如果还是按照全球IP地址去分配,则会大大浪费IP地址。 例如,100个机构各有100台主机,假设现在100个机构都分配全球IP 地址,就需要10000个全球IP地址,但是现在从所有的全球IP地址里面划分出100 个IP地址专门用作一些只需内部通信的机构使用,即100个机构都使用这100个地址,只需要100个IP地址就解决问题了。这100个IP地址在计算机网络中被称为专用地址,且路由器看到专用地址时不转发,所以说专用地址作为目的地址是不可能在因特网上传送的。因特网已经规定了以下地址作为专用地址。

10.0.0.0~10.255.255.255 (相当于一个A类网络)。

172.16.0.0~172.31.255.255 (相当于16个连续的B类网络)。

192.168.0.0~192.168.255.255 (相当于256个连续的C类网络)。

这种采用专用IP地址的互联网络称为专用互联网或本地互联网,或直接称为专用网。专用IP地址也叫作可重用地址。问题出现了,如果专用网的主机想和因特网的主机通信,怎么办?这时NAT就诞生了。NAT就是将专用网内部使用的本地IP地址转换成有效的外部全球IP地址,使得整个专用网只需要一个全球IP地址就可以与因特网连通。

由于这些本地IP地址是可重用的,因此NAT技术可大大节省IP地址的消耗。使用NAT技术,需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫作NAT路由器,它至少有一个有效的外部全球IP地址。但是NAT并不能从根本上解决IP地址的耗尽问题,因为NAT并没有增加IP地址的个数。而真正解决IP地址耗尽问题的是IPv6。

NAT使能路由器对于外部世界来说甚至不像一台路由器。相反NAT路由器对外界的行为就如同一个具有单一P地址的单一设备。在图中,所有离开家庭路由器流向更大因特网的报文都拥有一个源P地址138.76.29.7,且所有进入家庭的报文都拥有同一个目的P地址138.76.29.7。从本质上讲,NAT使能路由器对外界隐藏了家庭网络的细节。

家庭网络计算机是从哪儿得到其地址,路由器又是从哪儿得到它的单一IP地址的。在通常的情况下,答案是相同的,即DHCP!路由器从ISP的DHCP服务器得到它的地址,并且路由器运行一个DHCP服务器,为位于NAT-DHCP路由器控制的家庭网络地址空间中的计算机提供地址。

NAT转换表

NAT转换表保存一个网到另一个网的ip和端口映射,这样收到请求的时候可以转发到另一个网的ip处。

如果从广域网到达NAT路由器的所有数据报都有相同的目的IP地址(特别是对NAT 路由器广域网一侧的接口),那么该路由器怎样知道它应将某个分组转发给哪个内部主机呢?

使用NAT路由器上的一张NAT转换表(NAT translation table),并且在项中包含了端口号及其IP地址。

image.png

1️⃣ 假设一个用户坐在家庭网络主机10.0.0.1后,请求IP地址为128.119.40.186的某台Web服务器(端口80)上的一个Wb页面。主机10.0.0.1为其指派了(任意)源端口号3345并将该数据报发送到LAN中。

2️⃣ NAT路由器收到该数据报,为该数据报生成一个新的源端口号5001,将源P替代为其广域网一侧接口的IP地址138.76.29.7,且将源端口3345更换为新端口5001。当生成一个新的源端口号时,NAT路由器可选择任意一个当前未在NAT转换表中的源端口号。(注意到因为端口号字段为16比特长,NAT协议可支持超过60000个并行使用路由器广域网一侧单个P地址的连接)

3️⃣ 路由器中的NAT也在它的NAT转换表中增加一表项。Wb服务器并不知道刚到达的包含HTTP请求的数据报已被NAT路由器进行了改装,它会发回一个响应报文,其目的地址是NAT路由器的IP地址,其目的端口是5001。

4️⃣ 当该报文到达NAT路由器时,路由器使用目的IP地址与目的端口号从NAT转换表中检索出家庭网络浏览器使用的适当IP地址(10.0.0.1)和目的端口号(3345)。于是,路由器重写该数据报的目的P地址与目的端口号,并向家庭网络转发该数据报。

网络适配器

网络适配器,通常称为“网卡”,在计算机网络中扮演重要角色。它工作在网络传输的链路层和物理层上,每个网卡都有一个唯一的MAC地址,用于标识它的独特性。

在计算机结构中,网络适配器的核心部分是链路层控制器,有时也叫做网络接口卡(NIC)。这个控制器通常是一个专用的芯片,负责处理链路层的各种任务。

在数据发送时,控制器从协议栈的高层获取数据报,并将其封装成链路层的帧。然后根据链路接入协议将帧发送到通信链路上。在数据接收时,控制器接收整个帧,从中提取出网络层的数据报。如果链路层需要执行差错检测,控制器会在帧的头部设置相应的差错检测比特,并执行检测过程。

图中展示了主机总线及其连接的网络适配器。尽管大部分链路层功能是由硬件实现的,但部分功能需要在主机CPU上通过软件来实现,例如组装链路层的寻址信息和配置控制器硬件。在数据接收时,链路层软件会响应控制器的中断,处理差错条件,并将数据报传递给网络层处理。

公网IP=>路由器(NAT)=>局域网IP=>网卡Mac地址(以太网)

MAC地址(Media Access Control Address)

  • 定义: MAC地址是网卡的硬件地址,全球唯一,由制造商在生产网卡时烧录到硬件中。
  • 格式: 48位(6字节)长,通常表示为六组十六进制数字,例如:00:1A:2B:3C:4D:5E
  • 层次: 工作在OSI模型的第二层(数据链路层)。
  • 作用: 用于局域网内的数据帧传输。MAC地址在同一网络段内唯一,确保数据帧能准确传递到正确的设备。

IP地址(Internet Protocol Address)

  • 定义: IP地址是分配给每个连接到网络的设备的逻辑地址。它可以是静态的(手动配置)或动态的(通过DHCP分配)。
  • 格式: 有两种版本:
    • IPv4: 32位(4字节)长,通常表示为四组十进制数字,例如:192.168.1.1
    • IPv6: 128位(16字节)长,通常表示为八组十六进制数字,例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • 层次: 工作在OSI模型的第三层(网络层)。
  • 作用: 用于在不同网络之间传输数据包。IP地址标识网络上的特定设备,使数据包能够路由到正确的网络和设备。

MAC地址与IP地址的关系

  1. 网络通信中的角色:

    • MAC地址用于局域网内的通信。在以太网中,数据帧通过MAC地址在同一网络段内传递。
    • IP地址用于不同网络之间的通信。数据包通过IP地址在广域网(如互联网)中路由。
  2. ARP协议(地址解析协议):

    • 当设备要在局域网内发送数据时,需要知道目的设备的MAC地址。如果只有目标设备的IP地址,发送设备会使用ARP协议将IP地址解析为MAC地址。
    • 例如,设备A要发送数据给设备B,设备A知道设备B的IP地址,但不知道其MAC地址。设备A会发送ARP请求,询问“谁是这个IP地址的设备,并告诉我你的MAC地址?”。设备B会回复其MAC地址,设备A然后将数据发送到该MAC地址。
  3. DHCP协议(动态主机配置协议):

    • DHCP服务器可以动态分配IP地址给网络中的设备。设备发送DHCP请求时,会使用其MAC地址来标识自己。DHCP服务器通过MAC地址为设备分配一个IP地址,并记录该分配。

适配器的MAC地址与物理地理位置一样,一个地方只有一个确定的物理地址。IP地址类似快递收货地址,它会随着人搬到的地址的变换而变化。所以一台主机只有唯一一个MAC地址,但是却可以有不同的IP地址。

示例流程

  1. 设备启动并连接网络:

    • 网卡(具有唯一的MAC地址)连接到网络。
    • 设备发送DHCP请求,包含其MAC地址。
    • DHCP服务器根据设备的MAC地址分配一个IP地址。
  2. 设备发送数据包:

    • 设备准备发送数据包给同一局域网内的另一个设备。
    • 设备知道目的设备的IP地址,通过ARP请求获取目的设备的MAC地址。
    • 设备使用获取的MAC地址将数据帧发送到目的设备。
  3. 设备发送数据包到不同网络:

    • 设备准备发送数据包给另一个网络的设备。
    • 数据包通过路由器进行IP地址路由,最终到达目的网络。
    • 在目的网络,设备通过ARP请求获取目的设备的MAC地址,将数据帧传送到目的设备。

子网(Subnets)

子网是由两个或多个具有相同高位的IP地址相互连接的网络。子网可以直接进行物理传输,设备接口的IP地址的子网部分相同。

三个子网:

六个子网:

子网的重要性和作用

  1. 减少广播域:子网的划分可以减少局域网内的广播范围,提高网络效率。
  2. 提高网络安全性:子网可以通过限制内部IP地址的可用范围,增强网络安全性。

子网划分

  • 现代的IP地址通常包含网络号、子网号和主机号三部分。
  • 子网划分纯属于局域网内部,对外是透明不可见的。每个子网内部的IP地址是唯一的,使用同一个公共IP。

image.png

子网掩码(Subnet Mask)

子网掩码是一个32位二进制值,每8位一节,必须与IP地址结合使用。它的作用是告知主机或路由设备IP地址的哪一部分是网络号、子网号,哪一部分是主机号。

  • 功能:分离IP地址中的网络地址和主机地址,用于确定IP地址是在局域网还是广域网上。
  • 使用:常见的子网掩码如255.255.255.0,用于将网络进一步划分为若干子网,以避免主机过多或过少的问题。

子网掩码的重要性

  • 路由交换:路由器在交换路由信息时必须告知相邻路由器所在网络或子网的子网掩码。
  • 网络划分:每个路由器连接的网络都有自己的网络地址和子网掩码。
  • 默认子网掩码:不同类别的IP地址有不同的默认子网掩码,用于计算网络号、子网号和主机号。