网络通信流程原理

局域网通信的基本原理(基于以太网) 局域网内主机是如何通信的?? 阅读详情


前言

先抛出几个问题,下面将围绕这几个问题进行网络通信原理的讲解:

  1. 当我们浏览器输入www.taobao.com时我们是怎样与淘宝服务器进行通信的呢?
  2. 当我们访问同一局域网内服务器时是怎么样进行通信的呢?
    首先科普一下局域网与互联网的关系,一句话概括**其实互联网本质就是一个无比巨大覆盖整个世界的局域网(当然局域网之上的称呼叫广域网、城域网之类的),由无数局域网组成。**如过想要更细致了解可以看下这篇文章:什么是互联网(转载)。
    上图:
    在这里插入图片描述

这里正方形代表主机(主机A为我本机),圆形代表交换机,三角形代表路由器。
这里通过ping命令 ping www.taobao.com 可以看到被DNS域名服务解析后www.taobao.com域名对应的ip为27.221.197.171服务器在响应,这里将其定义为淘宝服务器A,本文不深究DNS域名解析细节,主要探讨已知目标ip的网络通信流程及其原理。
在这里插入图片描述


第一步 封装TCP/IP数据包、数据包发送至路由网关A

如图我们可以看到,第一步完成的是封装TCP/IP数据包、数据包发送至路由网关的过程。

1.封装TCP/IP数据包

TCP/IP数据表封装流程

1.1、HTTP协议报文组装

因为使用浏览器进行访问所以应用层执行的为HTTP协议,首先按http协议组装报文请求头、请求体等。

1.2、TCP协议报文组装

TCP协议包首先需要设置端口,接受方的HTTP端口是80,发送方(本机)的端口是一个随机生成的1024-65535之间的整数,假定为38080,然后将HTTP的数据包嵌入到TCP报文数据位置。
在这里插入图片描述

1.3、IP协议报文组装

IP数据包首先需要设置双方ip和TTL存活时间(time to live),发送方IP为192.168.0.4,接收方的IP为27.221.197.171,然后将TCP的数据包嵌入到数据位置。TTL的值代表数据包在网关路由器中可以跳转的次数,当TTL=0是路由器会丢弃该数据包,防止出现数据包环路情况。
数据包环路是指路由器F挂掉了数据包来路由器A、B、C、D中来回跳转,如果不存在TTL随着访问taobao网站的连接越来越多会阻塞网络。

在这里插入图片描述

1.4封装以太网协议

以太网数据包需要设置双方mac地址,发送方为主机A的网卡mac地址mac1,接收方为网关路由器A接入本局域网的网卡接口1的mac地址mac41。
然后将IP协议报文封装到数据位置。
在这里插入图片描述

这个可能会有两个疑问怎么知道这个数据包应该发往网关路由器A?怎么获取网关路由器A的mac地址?
先看下目前已知条件:主机AIP(192.168.0.4)、主机AI网关(192.168.0.1)、主机AI子网掩码(255.255.255.0)、淘宝服务器IP(27.221.197.171)。

  1. 在准备以太网协议时首先会先利用主机AIP和淘宝服务器IP分别于主机AI子网掩码做&运算,分别得到网络号192.168.0.0和27.221.197.0,由此可知主机A和淘宝服务器IP不在同一局域网。
  2. 此时用网络号192.168.0.0与主机A中的路由表作比较可以得出下一跳的ip为路由器A的IP,此时还需要知道路由器A接入本局域网的网卡接口mac地址才能封装以太网帧协议报文。
  3. 同样根据做&运算可以得出路由器A与主机A在同一局域网内,此时有注解A发出ARP广播询问192.168.0.1对应的mac地址是多少。

在这里插入图片描述

  1. ARP广播会通知局域网内全部主机和路由器,收到ARP广播后首先判断目的IP地址是否与自己IP匹配不匹配丢弃,匹配则给与ARP回应告诉对方自己的mac的地址,故主机A可以获取到路由器A的接口1的mac地址为mac41.

2.数据包发送至路由网关A

将封装好的以太网帧协议转换为二进制,通过光缆高低压转换(高压代表1,低压代表0)发送至路由器A

第二步 路由器A发送至路由器C

  1. 当路由器A收到数据包后发现mac地址与自己相符,接收此包,紧接着解析IP协议发现目标IP并不是自己需要继续转发

  2. 首先根据子解掩码判断目标IP是否与自己在同一个局域网内,如果在则发送ARP请求获取目标IPmac地址,很显然不在统一局域网

  3. 取目标IP与路由器A的路由表作比对可以判断出下一跳的IP为27.221.190.1即路由器C,并且可以知道本路由器通过接口2与路由器C连接,以及路由器C网卡接口1的mac地址(比对判断下一跳原理暂且不做深究)
    此为路由表的试例

  4. 重写包装以太报文,修改源mac为mac42,目标mac为mac51,从路由器A发送数据包给路由器C

第三步 路由器C发送至路由器F

同理第二步,下面放一段视频为了更方便理解数据包在路由器间是怎么样转发的。
在整个过程中IP地址不变,MAC地址每一跳都会变化,IP地址决定终点,MAC地址决定下一跳的方向

网络通信之路由器之间传递

第四部 路由器F到淘宝服务器A

  1. 路由器F收到数据包后可以根据数据包中的IP、本IP、子网掩码判断出路由器F与淘宝服务器A属于同一个局域网
  2. 那么此次连接的终点就在路由器F所在局域网,此时发送ARP广播根据IP报文中的目的IP获取mac地址
  3. 淘宝服务器A收到ARP请求发现IP与自己相符,ARP答复给路由器F本机的mac地址为mac9
  4. 路由服务器F重新包装以太网协议将数据包发给淘宝服务器A
  5. 淘宝服务器A收到后逐层解析IP、TCP、HTTP协议获取到请求头,最后类似此过程将相应转到主机A。

总结

此时问题1. 当我们浏览器输入www.taobao.com时我们是怎样与淘宝服务器进行通信的呢?得到了解答,想想问题2. 当我们访问同一局域网内服务器时是怎么样进行通信的呢?大家也知道了怎么通信,没错如果在同一局域网,直接发生ARP广播获取mac地址,封装好以太网帧协议并转换为二进制,通过光缆高低压转换(高压代表1,低压代表0)发送至目标主机。

电脑的kernelbase.dll故障怎么处理?kernelbase.dll是什么文件 kernelbase.dll​是一个系统文件,属于Microsoft Windows操作系统的一部分。该DLL(动态链接库)文件包含了许多基本且低级的系统函数,这些函数被Windows上运行的各种程序和进程调用。kernelbase.dll通常与Kernel32.dll紧密相关,它是实现许多Windows API(应用程序编程接口)的封装。这些API涉及到内存管理、输入输出操作、进程和线程管理以及其他许多核心的操作系统功能。 阅读详情

相关推荐

Kali下RTL8812AU网卡5G抓包精准适配指南

WiFi监听模式是无线安全测试的基础能力,其核心在于网卡驱动对802.11a/n/ac协议栈的完整支持。RTL8812AU系列USB无线网卡因成本低、兼容性广被广泛用于渗透测试,但其芯片版本碎片化(如VA/VC/ACM)与Linux内核演进(6.1~6.5)存在严重适配断层,导致5GHz频段Beacon帧捕获失败、信道切换异常、注入功能残缺等典型问题。技术价值在于突破‘即插即用’幻觉,建立从USB设备ID识别、固件版本校验到射频寄存器级补丁的全链路可控流程。典型应用场景包括CTF无线赛题实战、红蓝对抗中的W

weixin_33783283的博客 760

网络通信原理(1)

1.网络基础架构 首先区分一下网络和因特网的区别: 网络:把许多计算机连接在一起,计算机和计算机之间可以进行网络通信。(如交换机实现不同终端之间的数据传输)。 因特网:把许多网络连接在一起,网络和网络之间可以进行网络通信。(如路由器实现不同网路之间的网络通信)。 因此因特网是网络的网络。 1.1 C/S架构 有工作经验的人都知道,C指的是Client(客户端),S指的是Server(服务端),我们用Socket的目的就是实现C/S软件架构的服务端与客户端之间的网络通信。 客户端:是服务请求方。

以爱护甲,爱满枫林。 2996

一步步指导:在Chrome中安装Vue插件vue-devtools

Vue.js是现代Web开发中最流行的前端框架之一,它以其轻量级、高性能和易于理解的设计理念受到开发者的喜爱。为了更高效地开发和调试Vue应用,Vue.js官方提供了一个强大的开发工具——vue-devtools。

小透明的博客 5618

【网络编程】网络基础知识总结

网络基础知识总结

qq_66314292的博客 1089

BSW: Dcm模块配置--28服务

这个章节讲解下UDS中的28服务(Communcation Control)的配置,顾名思义,对当前ECU的通讯状态进行变更,主要设置应用报文,网络管理报文的收发控制,通常应用在刷写APP软件时,降低总线负载。这里首先要提醒的一点是,28服务几乎不需要手写代码,只有在客户需求要求前置条件不满足时报特定NRC时才需要填充代码。实际配置中主要涉及的模块有DCM,BSWM,ComM,RTE.2.BswM模块的配置。3.ComM模块的配置。1.DCM模块的配置。

Forever_Oct的博客 3086

LSM6DS3TR-C IMU传感器入门:从MEMS原理到姿态解算实战

惯性测量单元(IMU)是现代智能设备实现运动感知的核心部件,其基础原理基于微机电系统(MEMS)技术。MEMS加速度计通过检测质量块在惯性力作用下的位移来测量线性加速度,而陀螺仪则利用科里奥利力效应感知角速度。这种技术使得微型化、低成本的6自由度运动测量成为可能,为机器人、无人机、可穿戴设备等提供了关键的空间姿态和运动状态信息。在实际工程中,开发者需要掌握I2C/SPI通信协议、传感器数据读取与校准,并通过互补滤波等算法融合加速度计和陀螺仪数据,实现稳定的姿态解算。LSM6DS3TR-C作为一款高性价比的6

weixin_28684655的博客 595

【计算机网络】网络基础

实际上是 你把话说给了你的台式机,通过电话协议,将信息传递给另一个台式机,此时你朋友的台式机把收到的数据进行协议解析,把声音播放到你朋友的耳边。古代打仗,每个士兵都有自己的武器(刀、枪、剑等),但士兵之间不是互相孤立的,而是互相协同的刀与枪配合、枪与剑配合。每一个同学都有自己的名字,老师大声在教室询问,张三为什么布置的作业没有写,教室内的所有的同学都听到了,如:你的老师夸你,数学有考100分的能力,但并不说明你一定能考100,大概率考100,也有可能考99。

qq_62939852的博客 2902

SAP中MRP运行计划行超限问题的分析与解决

SAP中基于生产性物料的采购特点,通常会采用采购计划协议的方式进行采购。其具体的采购计划通常来自于成品计划独立需求,然后通过物料清单,经由MRP跑出。 在采购计划协议中的计划行中,存在一个计划行号,随着MRP在不断跑出新的计划行,该行号资源会消耗完。当计划行号消耗完后,MRP不会再跑出新的计划行。且在MD04或MD02中看不到类似提示信息。此时可以通过MD05来查看是否出现类似下图的提示信息。 ...

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 3842

网络通信原理

网络通信原理TCP/IP五层模型物理层数据链路层网络层传输层TCPUDP应用层 TCP/IP五层模型 计算机之间要有统一的连接标准才能够完成相互通信,这个标准被称为互联网协议,而网络就是物理链接介质+互联网协议。按照功能的不同,我们将互联网协议从不同维度分为OSI七层、TCP/IP五层(或四层),如下图。 物理层 我i里层主要是基于电气特性发送高低电平信号,指的是电路中某一点电压的高低状态,在网络信号中,高电平数字用“1”表示,低电平数据用“0”表示。电平的高低是一个相对概念,3V对于7V是低电平,但对于

weixin_42575542的博客 1255

OSG第三方库编译之二十一:minizip编译(Windows、Linux、Macos环境下编译)

OSG编译;第三方库;跨平台编译;minizip编译(Windows、Linux、Macos环境下编译)

LuckyHanMo的博客 2619

【Camera2教程一】Camera2的框架Pipeline和framework中核心类和接口的详细介绍

Camera2 的 API 模型被设计成一个 Pipeline(管道),它按顺序处理每一帧的请求并返回请求结果给客户端。

jiangchaobing_2017的博客 790

网络通信原理及流程

我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。以太网数据包需要设置双方的MAC地址,发送方为本机的网卡MAC地址,接收方为网关192.168.1.1的MAC地址(通过ARP协议得到)。

weixin_60978844的博客 1332

MSVS C# Matlab的混合编程系列2 - 构建一个复杂(含多个M文件)的动态库:

本节我们尝试将一个有很多函数和文件的Matlab算法文件集成到C#的项目里面。

山云的专栏 2068

网络通信基础流程与原理

CS架构 CS信息传输流程 网络模型 tcp/ip五层模型详解 socket介绍 网络通信流程 网络通信实现 一 CS架构 C指的是client(客户端软件),S指的是Server(服务端软件),我们用socket 就是为了C/S架构软件的开发,实现服务端软件与客户端软件基于网络通信。 二 CS信息传输流程 1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存 2、客户端操作系统收到数据后,按照客户端软件指定的规则(即协议)、调用网卡发

luoxiaoqiang_qq的博客 1431

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

(转载)网络通信原理及流程

网络通信 原理 深入浅出

雒珣的博客 161

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

DHCP的工作原理 公网IP与私网IP 网络通信的流程与数据包发送 网卡的工作原理 网卡丢包问题

网络通信的四个要素 本机的IP地址 子网掩码 网关的IP地址 DNS服务器的IP地址 获取以上配置,有两种方式 : 静态获取==》手动配置 动态获取==》dhcp自动获取 DHCP的作用 自动分配给计算机,IP地址、子网掩码、网关地址、DNS服务器等等参数。 DHCP的工作原理 dhcpclient(68号端口)------------->dhcpserver(67号端口) - 计算机默认会安装dhcp客户端软件 - dhcp的服务端会安装在路由器上 以太网头 ip头

Yosigo_的博客 2381

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【网络通信与信息安全】之深入解析HTTPS的实现原理和流程

前言 HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且里面含有银行卡密码等敏感数据的话,会非常危险。为了解决这个问题,Netscape 公司制定了HTTPS协议,HTTPS可以将数据加密传输,也就是传输的是密文,即便黑客在传输过程中拦截到数据也无法破译,这就保证了网络通信的安全。 近年来各大公司对信息安全传输越来越重视,也逐步把网站升级到 HTTPS 了,那么大家知道 HTTPS 的原理是怎样的吗?到底是它是如何确保信息安全传输的? 随着 HTTPS 建站的

╰つ栺尖篴夢ゞ 3161

用快递流程解析OSI七层模型与网络通信原理

OSI七层模型是网络通信的基础架构,通过分层设计实现复杂数据传输。从应用层到物理层,每层就像快递运输的不同环节:应用层定义数据语义(如HTTP/HTTPS协议),传输层确保可靠传输(TCP/UDP协议),网络层处理路由寻址(IP协议)。理解数据封装与解封装过程,如同跟踪包裹从发货到签收的全流程。实际网络设备如路由器、交换机分别对应不同层级功能,掌握这种分层模型对网络排错至关重要,能有效定位物理层线缆故障、传输层端口连通性问题等典型网络故障。

weixin_33716154的博客 502

从网关原理到实操:用华为eNSP模拟器还原企业级网络通信全流程(VRP系统命令详解)

本文详细解析了网关的核心原理,并通过华为eNSP模拟器实操演示企业级网络通信全流程。从配置IP地址到VRP系统命令详解,涵盖三层交换机高级配置、网络诊断工具及Wireshark抓包分析,帮助读者掌握网络通信的关键技术。

prometheus9mon的博客 153

【网络原理】网络传输的基本流程 | 网络通信 | 协议分层 | 网络模型 | TCP/IP五层网络模型 | OSI七层网络模型 | IP | 端口号 | 本机环回

(上层协议调用下层协议,下层协议给上层协议提供支持)此时即使协议比较多,也可以完成相关工作。​ 上述描述的规则,就是此处我们约定的应用层协议。应用层协议中,具体用几个字段,字段的顺序,什么分隔符都可以由程序员根据具体的场景和具体的需求来自主决定。​ QQ应用程序,把用户A输入的“nb woc”,打包成一个应用层的数据报(这个数据报的格式,只有qq的程序员知道)​ 通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。​ 通过IP协议,对网络层数据报进行解析,去掉报头,拿到载荷。

WengJM的博客 2031

探索网络通信的利器:BFD和NQA技术原理文档推荐

探索网络通信的利器:BFD和NQA技术原理文档推荐 【下载地址】BFD和NQA技术原理文档 本文档深入解析BFD(双向转发检测)和NQA(网络质量分析器)的技术原理,帮助读者全面掌握这两种关键网络技术。通过清晰的逻辑和详实的案例,文档详细介绍了BFD的工作原理、报文格式及应用场景,以及NQA的测试类型、流程和结果分析方法...

gitblog_06730的博客 775

网络通信的整个流程

网络通信的整个流程 本篇博客是对网络通信整个流程的大致介绍,是给刚想步入IT的这一行的同学来看的,如果你对网络比较熟悉了,那么就不要看啦,直接去看我的网络协议的博客https://www.cnblogs.com/clschao/articles/9578922.html,其中一些细节部分没有深入去展开,其中如果有不对或者不妥的地方,希望大家批评指正,因为博主也不是专门学习...

PresleyR的博客 1292

网络通信流程

♫IP地址我们已经知道 IP 地址由网络号主机号组成,根据IP 地址的不同可以有5钟划分网络号和主机号的方案其中,各类地址的表示范围是:分类范围适用网络网络数量主机最大连接数上面 A 类、B 类、C 类的 IP 地址由网络号标识不同的广域网网段,而若想在广域网里再划分子网,就要通过子网掩码对 IP 地址进行子网划分。♫子网掩码子网掩码是一个32位地址,由连续的1和0组成,连续的1表示网络号,连续的0表示主机号,通过0的个数可以计算出子网中主机的IP地址范围。

qq_61872165的博客 1705

网络基础之网络通信的整个流程

网络通信的整个流程 1. 客户端\服务端架构(哪里用到了网络通信) 客户端英文名称:Client,服务端英文名称:Server,下面所说的C\S架构就是说的Client\Server架构。   a.硬件C\S架构:打印机。   b.软件C\S架构:QQ、微信、优酷、暴风影音、浏览器(IE、火狐,360浏览器等)。 其中浏览器又比较特殊,很多网站是基于浏览器来进行访问的,浏览器和各个网站服...

weixin_30733003的博客 559
上一篇: 什么是操作系统?操作系统和内核的关系
下一篇: socket缓冲区以及阻塞模式详解
躺平程序猿
博客等级 码龄8年 4870粉丝 71原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

躺平程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值