一、网络基础
1、为什么需要网络通信?
①进程间通信解决的是本机内通信
②网络通信解决的是任意不同机器通信
2、实现网络通信需要哪些支持?
①通信设备
网卡:PC机自带
路由器,交换机
光纤、电缆、基站
②通信协议(发什么数据,怎么发数据,发完数据后做什么)
操作系统自带协议栈;(Linux的特点:丰富的网络协议)(使用通信协议)
裸机开发需要独立的协议栈
③简单网络通信只需要学会使用系统API(学会调试)
3、tcp/ip协议栈
①什么是通信协议?作用?
双方在做通信之前约定好的动作和传输数据的格式,使多台机器能够
相互通信
②OSI七层网络模型、Linux四层网络模型
(1)协议栈为什么要分层?
分层的好处:各层之间是独立的,灵活性好,并且在结构上是可分割开的,易于实现和维护,能够促进标准化工作。
物理层 :通信介质的信号到数字信号(二进制0101)转换
数据链接层 :局域网之间计算机通信 通过mac地址(物理网卡)通信
网络层:IP地址,路由(通过公网ip来访问全世界)
传输层 :tcp/udp tcp(可靠,速度慢) udp(不可靠,速度快) 端口(让不同的应用程序,同时使用网络)
会话层 : 控制发包的数据
表示层 : 文件格式
应用层 : 应用程序使用
协议栈实现数据的压缩加密和解压解密