Appearance
网络通信中有tcp/ip、ftp、arp、http等这些协议或模型,他们本质上解决的问题其实是主机与主机之间的网络通信的问题。
主机通信的必要条件
- 主机之间需要有传输介质
例如网线、光纤、蓝牙、Wifi等。 - 主机上必须要有网卡设备
主要完成信号的调制和解调。无论我们使用哪种编程语言,计算机都不能直接识别,因为在计算机的世界中,一切都是以二机制的形式存在。A主机将封装好的二进制数据,通过网卡转换为电信号(调制),再通过传输介质发送给B主机;B主机接收到信号后,通过网卡将电信号转换为二进制(解调),再由B主机自己的通信体系对数据进行拆包、解包,最终在我们的应用程序里获取到A主机发送过来的数据。 - 主机之间需要协商网络速率
A、B主机由于网卡的网络速率不同,所以在通信之间需要协商网络速率,让他们保持一致。
网络通讯方式
- 交换机通信
- 路由器通信
网络层次模型
为了兼容不同厂商生产的不同品牌的设备,需要一个组织对它们制定一个模型,这个模型就是七层网络模型OSI。
这个模型分别有物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
- 物理层:各种物理设备和标准
- 数据链路层:确定目标主机
- 网络层:确定目标网络
- 传输层:控制数据传输可靠性
- 会话层:控制网络连接建立与终止
- 表示层:数据加密、转换、压缩
- 应用层:用户与网络的接口
数据从A主机发送到B主机时,先根据层次从高到低的进行封装,到了B主机后,会根据层次从低到高一层一层的解包数据,最后在应用层中拿到A主机发送过来的原始数据。
tcp/ip模型:
- 物理层
- 数据链路层
- 网络层
- 传输层
- 应用层