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 的抓包结果,从第一层链路层,到第四层应用层的结果:

    数据帧:

    链路层:

    网络层:

    传输层:

    应用层:

  • 相关阅读:
    C#读写XML no
    ComboBox、ListBox绑定和获取数据 no
    win7 安装oracle 11g no
    2011没有惊天动地 no
    Oracle 删除重复数据只留一条 no
    Oracle 创建用户并分配权限 no
    Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...) no
    谢谢,博客园这么快就审批通过了我的申请!
    Eclipse 中 JAVA AWT相关包不提示问题(解决)
    Eclipse java项目转Maven项目
  • 原文地址:https://www.cnblogs.com/michael9/p/13184786.html
Copyright © 2011-2022 走看看