zoukankan      html  css  js  c++  java
  • CCNA-Part2:端到端通信,TCP/IP 协议栈

    作为开发人员,TCP/IP 对我们来说毫不陌生,面试时少不了它的身影,各大网络,操作系统书籍也将其作为入门的必须重点知识。今天这篇文章就从它讲起,理解为什么对于一个技术人员(网络,开发,运维,测试) TCP/IP 协议栈为什么这么重要。

    阅读本文后,应该了解如下内容:

    1. TCP/IP 协议栈的由来
    2. TCP/IP 协议栈的组成
    3. TCP/IP 各层的协议及关键字段

    网络体系结构

    从端到端的通信说起

    让我们把时间回拨到几十年前,一个叫 IBM 的公司克服种种阻碍,实现了一个私有协议 A,完成了两台 PC 电脑之间的通信,大家无不为欢喜。紧接着一个叫苹果的公司,同样攻克了难关,通过私有协议 B,完成两台苹果电脑之间的通信。随着拥有个人电脑的用户越来越多,大家发现了一个问题,IBM 和 苹果的电脑仅能和自己品牌的电脑进行通信,并不支持其他品牌的电脑。

    伴随着时间的消逝,用户对解决该问题的呼声越来越大。 ISO 来了,带着 OSI 协议闪亮登场,从此以后规定所有厂商开发的通信协议都需要遵循该标准,不许搞特殊,没错这就是 TCP/IP 协议栈的雏形。先来了解一下 OSI 标准:

    ISO: 国际标准化组织,指定全世界工商业国际标准的国际标准建立机构,总部在瑞士。

    TCP/IP 协议栈

    源于实际的通信需求,以 OSI 为蓝本,进一步定义了 TCP/IP 协议栈,简化 OSI 的分层,将会话层,表示层,应用层统称为应用层。将物理层和数据链路层统称为链路层。

    总结

    为了保证通信协议的一致性,ISO 制定了 OSI 标准协议,所有厂商在生产设备时都有遵守该标准,随着实际情况的演变,以 OSI 为参考,制定了更为简化的 TCP/IP 协议栈标准。

    通过 TCP/IP 标准,我们知道,数据的通信其实就是数据封装和解封装的过程,数据产生在应用层,经过传输层,网络层,链路层的一层层封装,然后通过路由器和交换机转发到达目的地,然后再进行拆包的过程,获取数据。

    下面是通过 Wireshark 的抓包结果,从第一层链路层,到第四层应用层的结果:

    数据帧:

    链路层:

    网络层:

    传输层:

    应用层:

  • 相关阅读:
    挂载光盘
    Chukwa
    HDU 4638 Group 【树状数组,分块乱搞(莫队算法?)】
    visual studio 编译器在辨异 C/C++ 程序时的注意事项
    visual studio 编译器在辨异 C/C++ 程序时的注意事项
    衡量镜头解像能力性能的指标-MTF曲线
    强大的 pdf 编辑器 —— Acrobat
    强大的 pdf 编辑器 —— Acrobat
    流形学习初步
    流形学习初步
  • 原文地址:https://www.cnblogs.com/michael9/p/13184786.html
Copyright © 2011-2022 走看看