5.网络通信过程
5.1 网络通信概述
通过对 TCP、UDP 的编程学习,能够完成对实际项目需求中网络功能的开发,为了提高程序的稳定性以及效率等等,通常会使用多线程、多进程开发;根据功能需求的不同,可以利用 C/S、B/S 模式进行开发。作为嵌入式工程师,需要时整个网络通信的过程进行掌握,从一个整体的角度来开发出更加稳定、效率的网络程序。
5.2 通信过程(PC + Switch)
5.2.1 交换机介绍
网络交换机(又称“网络交换器”),是一个扩大网络的器材,可以把更多的计算机等网络设备连接到当前的网络中。具有性价比高、高度灵活、相对简单、易于实现等特点。
5.2.2 交换机功能
- 转发过滤:当一个数据帧的目的地址在 MAC 地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口。(如该数据帧为广播/组播帧则转发至所有端口)
- 学习功能:以太网交换机了解每一端口相连设备的 MAC 地址,并将地址同相应的端口映射起来存放在交换机缓存中的 MAC 地址表中
- 目前交换机还具备了一些新的功能,如对 VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能
5.2.3 通信过程
总结:
- 如果PC不知目标IP所对应的MAC,PC会先发送ARP广播,得到对方的MAC然再进行数据的传送;
- 当switch第一次收到ARP广播数据,会把ARP广播数据包转发给所有端口(除来源端口);如果以后还有PC询问此IP的MAC,那么只是向目标的端口进行转发数据
- 每台PC都会有一个ARP缓存表,用来记录IP所对应的的MAC
5.3 通信过程(PC+ Switch +router)
5.3.1 路由器介绍
路由器(Router)又称网关设备(Gateway),是用于连接多个逻辑上分开的网络。
所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。
具有判断网络地址和选择 IP 路径的功能。
路由器工作在网络层,可以实现不同网段的主机之间的通信
5.3.2 通信过程
总结:
- 不在同一网段的PC,需要设置默认网关才能把数据传送过去。
- 通常情况下,都会把路由器设为默认网关。当路由器收到一个其它网段的数据包时,会根据
路由表
来决定把此数据包发送到哪个端口; - 路由表的设定有静态和动态方法
5.3.3 浏览器跨网访问web服务器
配置网络设备:
PC: IP、NETMASK、GATEWAY、DNS
ROUTER:IP、NETMASK、路由表
总结
- DNS服务器的作用是解析出IP
- GATEWAY指定发往其它网段的数据包转发的路径
- 在路由器中路由表指定数据包的
下一跳
的地址