嵌入式技术学习笔记(十)

网络基础
因为进程间通信解决的是本机内的通信,而网络通信解决的是任意不同机器的通信,所以我们需要学习网络通信。

要想实现网路通信需要什么?
(1)通信设备:①网卡:pc机自带②路由器,交换机③光纤,电缆,基站
(2)通信协议:操作系统自带协议栈(linux的特点就是有丰富的网路协议);裸机开发需要独立的协议栈
(3)简单网络通信只需要学会使用系统API

OSI七层网络模型,Linux四层网络模型
嵌入式技术学习笔记(十)_第1张图片
分层的好处:(1)各层间是独立的(2)灵活性好(3)结构上可以分割开(4)易于实现和维护(5)能促进标准化工作
物理层:通信介质的信号到数字信号的转换
数据链路层:局域网之间计算机通信,通过mac地址(物理网卡)通信
网络层:IP地址,路由(通过公网IP来访问世界)
传输层:tcp/udp tcp(可靠,速度慢)udp(不可靠,速度快)
会话层:控制发包的数据
表示层:文件格式
应用层:应用程序使用
协议栈实现数据的压缩加密和解压解密

公网ip(广域网通信):(1)a类:1.0.0.1 ~ 126.255.255.254(2)b类:128.0.0.1 ~ 191.255.255.254
(3)c类:192.0.0.1 ~ 223.255.255.254(4)d类:224.0.0.1 ~ 239.255.255.254 组播,VRRP协议,keepalive高可用(5)e类:240.0.0.1 ~ 255.255.255.254 科研
私网ip(局域网通信):(1)A:10.0.0.0 ~ 10.255.255.255(2)B:172.16.0.0 ~ 172.31.255.255
(3)C:192.168.0.0 ~ 192.168.255.255

如何解决ip地址荒:由ipv4升级到ipv6,以及使用网络地址转换NAT(Network Address Transtation):将内网ip转为公网ip

子网掩码的作用:(1)决定一个网段的大小(可用ip的数量)(2)同一个网段的ip地址,才能直接相互通信,不同网段的ip地址,需要路由器才能相互通信
.
DNS协议:域名解析,把域名解析为ip地址

网络编程
C/S结构:
优点:(1)由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快(2)操作界面漂亮,形式多样,可以充分满足用户自身的个性化要求(3)C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程
缺点:(1)需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置(2)兼容性差,对于不同的开发工具,具有较大的局限性,若采用不同工具,需要重新改写程序(3)开发成本较高,需要具有一定的专业水准的技术人员才能完成
B/S架构:
优点:(1)具有分布性特点,可以随时随地的进行查询,浏览等业务处理(2)业务扩展简单方便,通过增加网页即可增加服务器功能(3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新(4)开发简单,共享性强
缺点:(1)表现要达到C/S程序的程度需要花费不少精力(2)在速度和安全性上需要花费巨大的设计成本
套接字:传输层的文件描述符

你可能感兴趣的:(嵌入式技术学习笔记(十))