原文:https://blog.csdn.net/qq_39331713/article/details/88171730

  1. 你知道网络协议的各个层是干嘛的吗?
  2. 两台计算机要通信,首先需要硬件的联通,所以有了物理层(电缆 光纤)
  3. 数据是以二进制01形式传输的,但是如果这些01代码没有规则,计算机也都不懂?以太网协议
    1. 所以有了数据链路层,以太网协议规定了这个规则
  4. 计算机要发送信息那么发送给谁呢?MAC地址
    1. 所以有了MAC地址,唯一标识一台计算机,物理标识。
  5. 计算机 A 是如何知道计算机 B 的 MAC 地址的呢?ARP协议
    1. ARP协议也是通过广播的形式给同一个子网中的每台电脑发送一个数据包(当然,这个数据包会包含接收方的IP地址)。对方收到这个数据包之后,会取出IP地址与自身的对比,如果相同,则把自己的MAC地址回复给对方,否则就丢弃这个数据包。这样,计算机A就能知道计算机B的MAC地址了
  6. 有了MAC地址可是它要怎么给它传送数据呢?广播
    1. 计算机 A 不仅连着计算机 B,而且计算机 A 也还连着其他的计算机。    虽然计算机 A 知道计算机 B 的 MAC 地址,可是计算机 A 却不知道知道计算机 B 是分布在哪边路线上,为了解决这个问题,于是,有了广播的出现
      1. 在同一个子网中,计算机 A 要向计算机 B 发送一个数据包,这个数据包会包含接收者的 MAC 地址。当发送时,计算机 A 是通过广播的方式发送的,所有同一个子网中的计算机都会取出数据包与自身的MAC地址比较,如果匹配则传输,如果不匹配则丢弃
  7. 计算机 A 通过广播的方式发一个数据包给计算机 B , 其他所有计算机也都能收到这个数据包,然后进行对比再舍弃。世界上有那么多它计算机,每一台计算机都能收到其他所有计算机的数据包,那就不得了了。那还不得奔溃。  因此产生了子网这么一个东西。
  8. 我们如何区分哪些 MAC 地址是属于同一个子网的呢? IP 协议
    1. 每一台想要联网的计算机都会有一个IP地址。这个IP地址被分为两部分,前面一部分代表网络部分,后面一部分代表主机部分。并且网络部分和主机部分所占用的二进制位数是不固定的。网络部分一样则表示在同一个子网中。
  9. 你怎么知道网络部分是占几位,主机部分又是占几位呢?子网掩码
    1. 例如,192.168.43.1和192.168.43.2的子码掩码都为255.255.255.0,把IP与子码掩码相与,可以得到他们都为192.168.43.0,进而他们处于同一个子网中。
  10. 大家会发现 我们输入的域名,那么域名怎么找到对应的计算机呢?DNS域名解析
    1. 当我们输入这个域名时,会有一个叫做DNS服务器的家伙来帮我们解析这个域名,然后返回这个域名对应的IP给我们的
  11. 我们已经把数据成功从计算机A传送到计算机B了,可是,计算机B里面有各种各样的应用程序,计算机该如何知道这些数据是给谁的呢? 端口号
  12. 虽然我们收到了传输层传来的数据,可是这些传过来的数据五花八门,有html格式的,有mp4格式的,各种各样。你确定你能看的懂? HTTP协议
    1. 因此我们需要指定这些数据的格式规则,收到后才好解读渲染。例如我们最常见的 Http 数据包中,就会指定该数据包是 什么格式的文件了。

 

相关文章:

  • 2022-12-23
  • 2021-08-30
  • 2022-02-08
  • 2022-02-08
  • 2021-10-08
  • 2021-08-09
  • 2021-12-14
猜你喜欢
  • 2023-02-06
  • 2021-08-30
  • 2022-02-08
  • 2021-08-15
  • 2021-12-20
  • 2022-02-08
相关资源
相似解决方案