计算机网络五层模型

45 阅读3分钟

两台计算机如何通信

image.png

一 . 物理层

首先是物理层,也就是通过光纤等方式将两台计算机进行物理层面连接

二 . 数据链路层

  1. 然后是数据链路层,发送通过使电压不同来发送由 0,1 信号
  2. 至于 0,1 电信号的解读方式,则由以太网协议规定
  3. 以太网协议规定,一组电信号构成一个数据包,我们称其为帧,每个帧由帧头(hand)和数据(date)组成,帧的大小一般为 64 ~ 1518 个字节组成,如果传送的信息很大,自然分成多个帧来进行传输

image.png

  1. 帧头固定大小为 18 字节,会保存 目的地址,源地址,以及类型
  2. 帧的最后还有四个字节的校验和,校验数据完整性
  3. 其中帧头的地址自然是各个计算机网卡在生产时自带的唯一的标识,mac 地址
  4. 通过 mac 地址我们可以找到目的计算机,但前提是我们的目标与我们在同一个子网中,也就是,目标距离我们已经很近了,
  5. 但我们如何找到这个子网呢,自然是通过 ip 地址,也就是网络层的权能

三 . 网络层

  1. 每一台计算机连入网络时,都会被分配一个 ip 地址,ipv4 也好,ipv6也好,在 ip 协议的规定下,由前面的网络部分以及后面的主机部分组成,如果两台计算机的网络部分相同自然也就是在同一个子网下,
  2. 其中分辨前多少位是网络部分,则是通过子网掩码,ip 地址与子网掩码与运算的结果就是网络部分
  3. 有了 ip , 我们会通过 ARP 协议来进行信息传输
  4. ARP 协议,我们通过广播发送消息,如果目标在当前子网中,其他的拿到当前的广播消息也就是数据包,来比较数据包中的 ip 地址是不是自己,如果是则返回一个数据包,其中包含自己的 mac 地址,如此我们便得到了 mac 地址
  5. 如果不在一个子网中,网关会向外转发
  6. ip 地址如何得到,则是由用户手动填写了,当然我们可能无法记住那一串数字,如此便引入了 DNS 服务器
  7. 也就是将网络域名解析为 ip 地址,例如我们访问百度,

四 . 传输层

  1. 我们将数据包传输到目标机器,之后由那个应用来解析呢,这则是传输层管辖范围
  2. 传输层有各种端口,每个不同的应用占用不同的端口,根据数据包找到对应的端口
  3. 也就是说,传输层的功能就是建立端口到端口的通信。相比网络层的功能是建立主机到主机的通信。
  4. 有了IP和端口,我们才能进行准确着通信。这个时候可能有人会说,我输入IP地址的时候并没有指定一个端口啊。其实呢,对于有些传输协议,已经有设定了一些默认端口了。例如http的传输默认端口是80,这些端口信息也会包含在数据包里的。
  5. 传输层最常见的两大协议是 TCP 协议和 UDP 协议,其中 TCP 协议与 UDP 最大的不同就是 TCP 提供可靠的传输,而 UDP 提供的是不可靠传输。

五 . 应用层

最后来到应用层

  1. 因为接收的数据有着各种格式,并不能直接使用,对这些数据进行处理的,就是应用层的功能