计算机网络基础

245 阅读3分钟

交换机:

交换机只关心mac地址,不关心ip地址,属于数据链路层(二层设备)

  1. 源mac与接受端口绑定 ->记录到 mac地址表
  2. 找到发出端口 (1)找到关联端口直接发送 (2)找不到关联端口,则在发送给所有端口(除了发送者)泛洪,如果接受电脑mac是目标mac,则他就能接受到。
  3. 已经一段时间的收集,mac地址表就会收集所有关联的mac与端口信息。

ARP协议

  1. 计算机A 广播 ARP报文,问一下当前网络下 192.168.1.10 的mac地址是多少,在子网内的所有电脑都会受到,并且只有对应的电脑会把自己的mac返回给 计算机A
  2. 计算机A 缓存计算机B的 mac地址到本地,发送内容 (mac+ip+消息内容)给交换机。
  3. 交换机 根据mac去找对应的 (mac&端口)的mac地址表。 找到对应端口
  4. 直接给端口的服务器发送消息
  5. 这时计算机B接受到消息

路由器:

  • lan口 和 wan口 (用于通过运营商连接互联网),如何忽略wan口,路由器等价于 交互机。
  • wan口 网关概念,子网划分
  • 路由器通过 DHCP ,可以动态给电脑分配IP。

子网

  • 子网掩码 255.255.255.0 求与,如 192.168.1.10 求与 == 192.168.1.1
  • 只有两台电脑的 ip & 子网掩码 结果相同 才算在同一个子网
  • 在TCP/IP中 只有子网相同才能通讯.

网关

网关是可以把 不同子网映,通过网关代理实现。 子网(1)192.168.1.1 子网(2)192.168.2.1 通过 路由网关 把子网(1)电脑的信息,通过网关代理转发给子网(2)的电脑

路由例子:

子网1的计算机A 发送消息 给 子网2的计算机B

  1. 计算机A 跟 计算机B 是否在同一个子网,是的话直接发送.
  2. 如果目标不是在同一个子网,则把目标mac改成 网关的mac地址,也就是路由的网关,发送给网关。
  3. 路由网关通过路由表查询到计算机B在子网2,把目标mac地址修改为计算机B,修改源mac为自己路由的mac
  4. 然后路由网关就在子网2把消息发送计算机B

SNAT

用于内部共享IP访问外部

  • 原理:修改数据包中的源IP地址

  • 作用:可以实现局域网共享上网 image.png

  • 以上传输带来一个问题,服务端返回无法确认是那个台电脑发出,所以需要在传输层加入一些标识

  • 如:在tcp中加入 端口来区分。

image.png

类似的 UDP 也是使用ip+端口,ICMP 使用 IP + type + code

DNAT

内部服务对外发布

  • 原理:修改数据包中的目标IP地址
  • 作用:将位于企业局域网中的服务器进行发布
  • 公网返回的数据不能直接到达内网计算机,需要路由向内网转发请求

如: 本地有一台服务器192.168.1.10:80 的web服务。 在路由器配置 DNAT 8080 -> 192.168.1.10:80 那么互联网服务器返回给 路由 8080时候,会转发到 192.168.1.10:80 这台服务器上。

关键词

  • 网关:实现不同子网通讯,是一种概念。
  • 数据包 :包含 源mac| 目标mac
  • 路由器: 路由器集成了网关的功能
  • SNAT : SOURCE Network Address Translation
  • DNAT : Destination Network Address Translation目的地址转换

计算机 mac 和 ip 为标识 (mac是全球唯一)