首页 > 编程语言 >2024-03-01-Lniux高级网络编程(5-网络通信过程)

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

时间:2024-03-01 10:27:02浏览次数:32  
标签:03 01 IP 端口 Lniux 网络 PC MAC 路由器

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. 在路由器中路由表指定数据包的下一跳的地址

标签:03,01,IP,端口,Lniux,网络,PC,MAC,路由器
From: https://www.cnblogs.com/hasaki-yasuo/p/18046365

相关文章

  • P8647 [蓝桥杯 2017 省 AB] 分巧克力
    题目链接:小巧克力的边长一定在\(1\sim10^5\)之间。答案为在\(1\sim10^5\)之间找一个最大的数,使得所有\(h[i]/a*w[i]/a\)的和\(\geqslantk\)即可。#include<cstdio>#include<algorithm>constintN=1e5+10;intn,k,h[N],w[N];boolcheck(inta)......
  • 前端学习-vue视频学习003-setup(重要)
    学习教程-尚硅谷视频将原vue2的格式改为vue3---使用setup要点:this在vue3中被弱化,setup函数中不能使用this定义数据时,如果不是响应式的(暂时还不是很理解响应式),不会触发页面的变化vue3支持一个标签直接写多次,如<template><Person/><Person/><Person/></t......
  • P8085 [COCI2011-2012#4] KRIPTOGRAM 题解
    P8085[COCI2011-2012#4]KRIPTOGRAM题解本文原发布于2024-02-07洛谷题库P8085[COCI2011-2012#4]KRIPTOGRAM题解区,现于2024-2-29转载至博客园思路解析这道题目的主要难点在于如何判断明文中形如\(\texttt{abcb}\)的子串可以和密文\(\texttt{bcac}\)匹配,因为如果......
  • 个人题解:江苏省选 2019 第二轮
    精准预测我们首先发现每个人每个时刻只有生死,所以我们可以建一个2-sat模型。每个人对应\(T+1\)个节点,表示这个人在每个时刻的生死。那么,题目的条件可以直接在这个模型上面建图,还要注意第\(t\)秒死亡可推出第\(t+1\)秒死亡和第\(t+1\)秒存活能推出第\(t\)秒存活的两......
  • Rainypaster's Daily Notebook
    写在前面记录一天生活,防颓废。因为学校要求,被迫开工,众所周知,一篇文章应该放一个头图吧。有任何问题请联系本人微信公众号:yexc的编程成长日记,大部分时候cnblogs不在线。记录2-29摘要:今天是2.29号的疯狂星期四!下一次要28年后啦~!||英语爆炸啥也不说了,上图。《小蓝本......
  • P1083 [NOIP2012 提高组] 借教室
    题目链接:本题由于是对某一段区间的数统一进行删除某个数的操作,很容易想到差分。对于能否二分,有一个界定标准:状态的决策过程或者序列是否满足单调性或者可以局部舍弃性。在本题中,由于随着订单数量的增加,每天可用教室的数量一定单调下降。也即,如果前一份订单都不满足,那么之后的所......
  • 供应链投毒预警 | 开源供应链投毒202401最新月报来啦!
    概述​悬镜供应链安全情报中心通过持续监测全网主流开源软件仓库,结合程序动静态分析方法对潜在风险的开源组件包进行分析和监测,捕获大量开源组件恶意包投毒攻击事件。2024年1月份,悬镜供应链安全情报中心在Npm官方仓库(https://www.npmjs.com/)和Pypi官方仓库(https://pypi.o......
  • Java流程控制03:顺序结构
    顺序结构:1.java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。2.顺序结构时最简单的算法结构。 3.语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个一次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构......
  • Qt Cannot open include file: 'QtConcurrent': No such file or directory
    假期手痒用Qt写了个便笺程序,其中文件操作用到了QtConcurrent模块。噼里啪啦,一通猛如虎的操作下来,代码写完了,愉快地build+run一套,结果报错了:(Cannotopenincludefile:'QtConcurrent':Nosuchfileordirectory编译不过一声吼,操起鼠标查google。官方文档就是这么写的看......
  • VS2019 打包WPF安装程序
    说明最近开发了一个WPF的小工具,最初想发布成一个非安装版的可执行程序,发现有点困难,因为是基于.NetFramework4.7开发,还引用了一些其他库,WPF程序的运行是依赖.NetFramework环境的,所以必须提前安装。于是在官网上找到ClickOne的相关说明,可以把WPF打包成安装程序,当安装时会校......