以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。
1、网络通信属于进程间通信
进程间通信的一种方法是使用套接字socket,网络通信其实就是位于网络中不同主机上面的2个进程之间的通信。
2、网络通信的层次
网络通信的层次,即信息流的流动过程。
(1)硬件部分:网卡
(2)操作系统底层:网卡驱动
(3)操作系统API:socket接口
(4)应用层:低级(直接基于socket接口编程);高级(基于网络通信应用框架库);更高级(http、网络控件等)
3、网络通信的发展历程
(1)单机阶段
(2)局域网阶段
(3)广域网internet阶段(由一个个局域网互联起来,主要指电脑的有线)
(4)移动互联网阶段(手机、平板等无线上网)
(5)物联网阶段(万物互联)
4、三大网络
电信网、电视网、互联网
5、通信网络的传输媒介
(1)无线传输:WIFI、蓝牙、zigbee、4G/5G/GPRS等;
(2)有线通信:双绞线、同轴电缆、光纤等;
7、网卡芯片
(1)计算机上网必备硬件设备,CPU靠网卡来连接外部网络;
(2)串转并设备;
(3)数据帧封包和拆包;
(4)网络数据缓存和速率适配;
9、路由器
(1)路由器是局域网和外部网络通信的出入口。
(2)路由器将整个internet划分成一个个的局域网,却又互相联通。
(3)路由器对内管理子网(局域网),可以登录路由器,在路由器中设置子网的网段,设置有线端口的IP地址,设置dhcp功能等,因此局域网的IP地址是路由器决定的,它是内网管理者。
(4)路由器对外实现联网,联网方式取决于外部网络(如ADSL拨号上网、宽带帐号、局域网等)。这时候路由器又相当于是更高层级网络的其中一个节点而已。
(5)所以路由器相当于有2个网卡,一个对内做网关、一个对外做节点。
(6)路由器的主要功能是为经过路由器的每个数据包寻找一条最佳路径(路由)并转发出去。
即局域网内的电脑要发到外网的数据包,和外网回复给局域网内的电脑的数据包,都要经过路由器的选择。
(7)路由器技术是网络中最重要技术,决定了网络的稳定性和速度。
10、DNS(Domain Name Service 域名服务)
(1)网络世界的门牌号:IP地址
(2)但IP地址的缺点:难记、不直观
(3)因此IP地址的替代品:域名,譬如www.zhulaoshi.org
(4)DNS服务器就是专门提供域名和IP地址之间的转换的服务的,因此域名要购买的。
(5)访问一个网站的流程
先访问DNS服务器(譬如谷歌的DNS服务器IP地址为8.8.8.8),通过此DNS服务器查询我们要访问的域名对应的IP地址,然后再使用该IP地址访问我们真正要访问的网站。
这个过程被浏览器封装屏蔽,其中使用的就是DNS协议。
(6)浏览器需要DNS服务,而QQ这样的客户端却不需要
因为QQ软件编程时已经知道腾讯服务器的IP地址,因此可以直接IP方式访问服务器
11、DHCP(dynamic host configuration protocl,动态主机配置协议)
(1)每台计算机都需要一个IP地址,且局域网内各电脑IP地址不能重复,否则会地址冲突。
(2)计算机的IP地址可以静态设定,也可以动态分配。
(3)动态分配是局域网内的DHCP服务器来协调的,很多设备都能提供DHCP功能,譬如路由器。
(4)动态分配的优势:方便接入和断开、有限的IP地址得到充分利用。
(5)如果开启DHCP,必须有DHCP服务器。
12、NAT(network address translation,网络地址转换协议)
(1)IP地址分为公网IP(internet范围内唯一的IP地址)和私网IP(内网IP),局域网内的电脑使用的都是私网IP(常用的就是192.168.1.xx)。
(2)网络通信的数据包中包含有目的地址的IP地址。
(3)当局域网中的主机要发送数据包给外网时,路由器要负责将(数据包头中的局域网主机的)内网IP替换为(当前局域网的对外)外网IP,这个过程就叫NAT。
(4)NAT的作用是缓解IPv4的IP地址不够用问题,但只是类似于打补丁的形式,最终的解决方案还是要靠IPv6。
(5)NAT穿透简介;理解p2p下载。(服务器做中介)
(6)不同局域网内的主机的私网IP地址可以相同,比如都是192.169.1.3。
13、IP地址简述
1、IP地址分类(IPv4)
(1)IP地址由32位二进制构成
在网络通信数据包中就是32位二进制,而在人机交互中使用点分十进制方式显示。
(2)IP地址中32位包含2部分:网络地址和主机地址。子网掩码,用来说明网络地址和主机地址各自占多少位。
IP地址 = 网络地址 + 主机地址。
网络地址用来表示子网,主机地址用来表示子网中的具体某一台主机的。
譬如可以8位表示网络,24位表示主机;也可以16位表示网络,16位表示主机;14为表示网络,18位表示主机
子网掩码为255.255.255.0时,表示前24位为网络地址,后8位为主机地址,表示这种网络一共最多可以有2^24个,每个这种网络中最多可以有2^8个主机。
子网掩码为255.255.0.0时,表示前16位为网络地址,后16位为主机地址,表示这种网络一共最多可以有2^16个,每个这种网络中最多可以有2^16个主机。
(3)由网络地址和主机地址分别占多少位的不同,将IP地址分为5类,最常用的有3类。
2、三类IP地址
(1)A类。
(2)B类。
(3)C类。
(4)127.0.0.0用来做回环测试loopback
3、如何判断2个IP地址是否在同一子网内?
网络标识 = IP地址 & 子网掩码,如果2个IP地址的网络标识一样,那么就处于同一网络。
示例1
192.168.1.102 & 255.255.255.0 = 192.168.1.0;
192.168.1.253 & 255.255.255.0 = 192.168.1.0;这表明两者处于同一个网段;
示例2
192.168.1.4和192.168.12.5
如果子网掩码是255.255.255.0,那么不在同一网段;
如果子网掩码是255.255.0.0,那么就在同一个网段。