码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 网络通信的过程


    网络通信的过程

    封装

    上层协议时如何使用下层协议提供的服务的呢?其实这是通过封装实现的。应用程序是在发送到物理网络上之前,将沿着协议栈从上往下依次传递。每层协议都将在上层数据的基础上加上自己的头部信息(有时还包括尾部信息),以实现该层的功能,这个过程称为封装。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s4keBNzg-1659426013856)(C:\Users\ThinkStation K\AppData\Roaming\Typora\typora-user-images\1659363841434.png)]

    分用(解封装)

    当帧到达目的主机时,将沿着协议栈自底向上依次传递。各层协议依次处理帧中本层负责的头部数据,以获取所需的信息,并最终将处理后的帧交给目标应用程序。这个过程称为分用。分用是依靠头部信息中的类型字段实现的。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SE7MvGdW-1659426013857)(C:\Users\ThinkStation K\AppData\Roaming\Typora\typora-user-images\1659363323770.png)]

    封装和分用的过程和实例

    网络通信过程实例

    网络通信的过程即一台主机上的应用程序将数据通过一层层封装封装成MAC帧在以太网上传输给另一台主机,另一台主机接收到传送过来的帧后一层层分用得到传送过来的数据,这就是网络通信的过程。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iXWTznBO-1659426013857)(C:\Users\ThinkStation K\AppData\Roaming\Typora\typora-user-images\1659364185433.png)]

    下面给出一个实例:

    主机上1上的QQ发送“你好”给主机2上的QQ,这其中网络通信的过程如下图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x8MUgL2y-1659426013857)(C:\Users\ThinkStation K\AppData\Roaming\Typora\typora-user-images\1659423358212.png)]

    但是这个过程其实有一个问题,那就是主机1一开始并不知道主机2的MAC地址,那么主机1是如何找到目标主机的MAC地址呢?

    这就用到了ARP协议。

    ARP协议

    ARP协议的作用是根据IP地址找到MAC地址。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jS7ox6eu-1659426013857)(C:\Users\ThinkStation K\AppData\Roaming\Typora\typora-user-images\1659424922485.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qURGOEaq-1659426013858)(C:\Users\ThinkStation K\AppData\Roaming\Typora\typora-user-images\1659424547595.png)]

    ARP请求和应答包就是将ARP请求/应答报文作文以太网帧封装中的数据部分。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FVG22jY4-1659426013858)(C:\Users\ThinkStation K\AppData\Roaming\Typora\typora-user-images\1659425687827.png)]

  • 相关阅读:
    java对象以及引用方式
    PBKDF2
    stack和queue和优先级队列(大堆和小堆)模拟实现和仿函数讲解
    Kafka介绍、安装以及原理解析
    描述符——设备描述符
    linux chrdev字符设备驱动程序示例
    Acwing.4908 饥饿的牛(枚举)
    帆软FineReport决策报表Tab实现方案
    小白都能看懂得Xxl-job安装教程
    Springboot美术外包服务平台 60u1s计算机毕业设计-课程设计-期末作业-毕设程序代做
  • 原文地址:https://blog.csdn.net/weixin_44897707/article/details/126123742
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号