Skip to content

网络通信中有tcp/ip、ftp、arp、http等这些协议或模型,他们本质上解决的问题其实是主机与主机之间的网络通信的问题。

主机通信的必要条件

  1. 主机之间需要有传输介质
    例如网线、光纤、蓝牙、Wifi等。
  2. 主机上必须要有网卡设备
    主要完成信号的调制和解调。无论我们使用哪种编程语言,计算机都不能直接识别,因为在计算机的世界中,一切都是以二机制的形式存在。A主机将封装好的二进制数据,通过网卡转换为电信号(调制),再通过传输介质发送给B主机;B主机接收到信号后,通过网卡将电信号转换为二进制(解调),再由B主机自己的通信体系对数据进行拆包、解包,最终在我们的应用程序里获取到A主机发送过来的数据。
  3. 主机之间需要协商网络速率
    A、B主机由于网卡的网络速率不同,所以在通信之间需要协商网络速率,让他们保持一致。

网络通讯方式

  1. 交换机通信
  2. 路由器通信

image.png

网络层次模型

为了兼容不同厂商生产的不同品牌的设备,需要一个组织对它们制定一个模型,这个模型就是七层网络模型OSI。
这个模型分别有物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

  1. 物理层:各种物理设备和标准
  2. 数据链路层:确定目标主机
  3. 网络层:确定目标网络
  4. 传输层:控制数据传输可靠性
  5. 会话层:控制网络连接建立与终止
  6. 表示层:数据加密、转换、压缩
  7. 应用层:用户与网络的接口

数据从A主机发送到B主机时,先根据层次从高到低的进行封装,到了B主机后,会根据层次从低到高一层一层的解包数据,最后在应用层中拿到A主机发送过来的原始数据。
tcp/ip模型:

  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 应用层

数据封装与解封装