首页 > 其他分享 >网络技术-数据转发过程

网络技术-数据转发过程

时间:2023-09-24 21:27:01浏览次数:33  
标签:网关 封装 IP 主机 IP地址 网络 DNS 转发 数据

前言

TCP/IP协议簇喝底层协议配合,保证了数据能够实现端到端的传输。数据传输过程是一个非常复杂的过程,例如数据在转发的过程中会进行一系列的封装和解封装。对于网络工程师来说,只有深入地了解了数据再各种不同设备上的转发过程,才能对网络进行正确的分析和检测。

 

网关:

网关(Gateway)的概念与作用如下:

  • 位于不同网络间的主机要实现通讯,必须把数据包装发给网关
    • 最典型的例子:不同局域网之间要通讯,就必须经过网关
  • 网关通常就是一台三层网络设备
    • 路由器、三层交换机、防火墙、服务器
  • 网关地址就是三层设备的接口地址
    • 例如PC接入了一台路由器,那么PC的网关即是路由器的IPv4地址,这时候网关实际上就是这台PC的缺省路由

数据包在发送的时候,进行判断是否在同一网段

不同网段的主机,通过路由器进行通讯

 

数据转发过程:

假设:主机A访问主机B的HTTP服务

因此主机A输入主机B的域名,然后先封装自己的包:HTTP -> TCP -> IP(发现目标IP未知,因为需要DNS解析)

由于主机A发现自己并不清楚对方的IP地址,那么封装被回滚,因为主机A是使用域名对主机B进行访问,因此主机A这时候打算先询问DNS服务器,让DNS服务器解析这条域名

主机A开始向DNS服务器发送包,主机A有一次封装了自己的包:DNS -> UDP ->  IP(DNS服务器IP,此时发现DNS服务器与主机A不在同一网段,需要网关) -> 以太网封装(网关的MAC)

网关收到了主机A发过来的包,开始解封装,首先发现网关的MAC地址是自己,然后继续解封装,发现对方IP地址是NDS服务器的IP地址,查找自己的路由表并将相应的包重新封装然后从对应接口转发出去

此时此刻DNS服务器收到了来自网关发送过来的包,开始进行解封装,解到UDP协议时发现端口为53,这时候DNS服务开始起了作用:DNS服务查看到了包内的域名,查找自己的域名IP对应表,将相应IP地址查到,开始发回去

主机A终于收到了DNS服务器发过来的IP地址,开始再一次尝试封装自己的包:HTTP -> TCP -> IP(域名对应的IP,发现不在统一网段,需要网关) -> 以太网封装(网关的MAC)

 网关收到了主机A发过来的包,开始解封装,首先发现网关的MAC地址是自己,然后继续解封装,发现对方IP地址是HTTP服务器的IP地址,查找自己的路由表并将相应的包重新封装然后从对应接口转发出去

以下是封包、解包的示意图:

 总结:

  • 数据在进行二层和三层封装之前,主机需要了解哪些信息?
    • 在第二层需要了解网关的Mac地址,在第三层需要了解目标的IP地址
  • 当数据帧发送到非目的的主机时,非目的主机将会如何处理?
    • 如果非目的主机是网关,则会通过路由表进行相应转发,若不是网关,则将此包丢弃
  • 传输层如何能够准确的将数据交给特定应用?
    • 特定的应用也有特定的端口,因此是通过端口来准确的交给特定应用
  • 当两台主机同时访问服务器的HTTP服务,这个服务器如何区分数据属于哪个会话?
    • 如果两台主机在同一个局域网,此时对于HTTP服务来说,IP地址都一样(通过NAT),此时:通过两台主机的端口进行区分属于哪个会话
    • 如果两台主机并不在同一个局域网,此时:通过两台主机的IP、MAC、端口进行区分属于哪个会话

 

标签:网关,封装,IP,主机,IP地址,网络,DNS,转发,数据
From: https://www.cnblogs.com/kakureru/p/17726549.html

相关文章

  • Llama2-Chinese项目:2.3-预训练使用QA还是Text数据集?
      Llama2-Chinese项目给出pretrain的data为QA数据格式,可能会有疑问pretrain不应该是Text数据格式吗?而在Chinese-LLaMA-Alpaca-2和open-llama2预训练使用的LoRA技术,给出pretrain的data为Text数据格式。所以推测应该pretrain时QA和Text数据格式都应该支持。然后马上就会有一个疑问......
  • PostgreSQL排序字段不唯一导致分页查询结果出现重复数据
    背景pg单字段排序,排序字段中可能会出现重复,这样就会导致我们在进行分页查询时会出现一些和预期不相符的现象,如这个数据在第一页出现了,然后再第二页又出现。复现步骤createtabletest_select_order_page_duplicate(idvarchar(36)notnullconstrainttest_select_order_pa......
  • 2023 ICPC 网络赛 II
    开场顺着读了AC不会,B是KDT优化建图板子,让zsy确认了一下并制止他现在做。把D转化转化成了经典问题·,当时以为是网络流,所以zsy签完M就上去写了,写一半发现假了,问了问zsy也无法解决。此时榜上过了很多D,所以我猜是个贪心但zsy坚称是网络流,总之先搁置了......
  • 应用程序读取磁盘的数据流程
    应用程序请求文件读取:用户态的应用程序发起文件读取请求,通常是通过标准的文件操作函数(例如,在Linux中是read(),在Windows中是ReadFile())系统调用:操作系统内核接收到应用程序的读取请求,这将触发一个系统调用(systemcall)。系统调用是用户态和内核态之间的通信机制,用于执行操......
  • 数据恢复神器EaseUSDataRecovery数据恢复软件技术终身版免费下载
    EaseUSDataRecovery数据恢复软件免费版是一款优秀的数据恢复工具,可以帮助我们找回因各种原因丢失的数据。如果您正在被数据丢失问题所烦恼,请立刻免费下载数据恢复软件,开始进行数据恢复吧。数据恢复软件终身版本数据恢复软件免费版可以帮助用户找回因删除、格式化、分区丢失、分区损......
  • 深度学习入门——卷积神经网络CNN基本原理+实战
    beginning今天给小伙伴们介绍一个高级的分类方法——卷积神经网络CNN,并学习用CNN实现图像的分类。作为深度学习的基础,CNN可太重要了呐,在图像分类、目标检测、目标跟踪、语义分割、实例分割等领域随处可见它的身影。废话不多说啦,如果你也对CNN感兴趣的话,赶紧跟我一起愉快的看下去叭......
  • 深度学习入门——卷积神经网络CNN基本原理+实战
    beginning今天给小伙伴们介绍一个高级的分类方法——卷积神经网络CNN,并学习用CNN实现图像的分类。作为深度学习的基础,CNN可太重要了呐,在图像分类、目标检测、目标跟踪、语义分割、实例分割等领域随处可见它的身影。废话不多说啦,如果你也对CNN感兴趣的话,赶紧跟我一起愉快的看下去叭......
  • PPT| 网络安全运维管理实践 P34
       本人在四大咨询机构从事咨询工作多年,二十年一线数字化规划咨询经验,提供制造业数智化转型规划服务,顶层规划/企业架构/数据治理/数据安全解决方案资料干货.  【智能制造数字化咨询】该PPT共34页,由于篇幅有限,以下为部分资料,如需完整原版 方案,点击关注下方。   随......
  • 易我数据恢复EaseUS Data Recovery Wizard 16.0技术员终身版你的数据恢复神器
    易我数据恢复EaseUSDataRecoveryWizard16.0技术员终身版为全球提供数据恢复方案,用于误删数据数据,电脑误删文件恢复,格式化硬盘数据恢复、手机U盘数据恢复等。RAID磁盘阵列数据恢复,分区丢失及其它未知原因丢失的数据恢复、简单易用轻松搞定数据恢复。EaseUSDataRecoveryWizar......
  • #yyds干货盘点# LeetCode程序员面试金典:全 O(1) 的数据结构
    1.简述:请你设计一个用于存储字符串计数的数据结构,并能够返回计数最小和最大的字符串。实现 AllOne 类:AllOne() 初始化数据结构的对象。inc(Stringkey) 字符串 key 的计数增加 1 。如果数据结构中尚不存在 key ,那么插入计数为 1 的 key 。dec(Stringkey) 字符串 k......