为了能到远方,脚下的每一步都不能少.|

Yasuo_Hasaki

园龄:1年1个月粉丝:2关注:0

2024-03-01-Lniux高级网络编程(5-网络通信过程)

5.网络通信过程

5.1 网络通信概述

​ 通过对 TCP、UDP 的编程学习,能够完成对实际项目需求中网络功能的开发,为了提高程序的稳定性以及效率等等,通常会使用多线程、多进程开发;根据功能需求的不同,可以利用 C/S、B/S 模式进行开发。作为嵌入式工程师,需要时整个网络通信的过程进行掌握,从一个整体的角度来开发出更加稳定、效率的网络程序。

5.2 通信过程(PC + Switch)

5.2.1 交换机介绍

​ 网络交换机(又称“网络交换器”),是一个扩大网络的器材,可以把更多的计算机等网络设备连接到当前的网络中。具有性价比高、高度灵活、相对简单、易于实现等特点

5.2.2 交换机功能

  1. 转发过滤:当一个数据帧的目的地址在 MAC 地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口。(如该数据帧为广播/组播帧则转发至所有端口)
  2. 学习功能:以太网交换机了解每一端口相连设备的 MAC 地址,并将地址同相应的端口映射起来存放在交换机缓存中的 MAC 地址表中
  3. 目前交换机还具备了一些新的功能,如对 VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能

5.2.3 通信过程

image-20240301095619353

总结

  1. 如果PC不知目标IP所对应的MAC,PC会先发送ARP广播,得到对方的MAC然再进行数据的传送;
  2. 当switch第一次收到ARP广播数据,会把ARP广播数据包转发给所有端口(除来源端口);如果以后还有PC询问此IP的MAC,那么只是向目标的端口进行转发数据
  3. 每台PC都会有一个ARP缓存表,用来记录IP所对应的的MAC

5.3 通信过程(PC+ Switch +router)

5.3.1 路由器介绍

路由器(Router)又称网关设备(Gateway),是用于连接多个逻辑上分开的网络。

所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。

具有判断网络地址和选择 IP 路径的功能。

路由器工作在网络层,可以实现不同网段的主机之间的通信

5.3.2 通信过程

image-20240301100225187

总结:

  1. 不在同一网段的PC,需要设置默认网关才能把数据传送过去。
  2. 通常情况下,都会把路由器设为默认网关。当路由器收到一个其它网段的数据包时,会根据路由表来决定把此数据包发送到哪个端口;
  3. 路由表的设定有静态和动态方法

5.3.3 浏览器跨网访问web服务器

image-20240301100451363

配置网络设备:

​ PC: IP、NETMASK、GATEWAY、DNS

​ ROUTER:IP、NETMASK、路由表

总结

  1. DNS服务器的作用是解析出IP
  2. GATEWAY指定发往其它网段的数据包转发的路径
  3. 在路由器中路由表指定数据包的下一跳的地址
posted @   Yasuo_Hasaki  阅读(3)  评论(0编辑  收藏  举报
//雪花飘落效果
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起