zoukankan      html  css  js  c++  java
  • tcp/ip协议详解

    该协议理解起来。按照不同的角度可以分为不同的层次,可以四层,可以五层,可以七层。。。。

    但本人觉得,分为五层的话,更容易理解:

    1、应用层

    2、传输层

    3、网络层

    4、链接层

    5、实体层

    我们从下往上来理解。

    实体层,顾名思义,就是拥有实体的东西,一台电脑与一台电脑相连接可以用光缆,电缆,双绞线,无线电波等方式,把他们链接起来的物理方式,就属于实体层。作用呢,就是主要传输0和1的电信号。

    然后我们说链接层。

    链接层,首先我们通过实体层拿到了0和1的电信号,但是单纯的0和1电信号并没有什么实际作用,这个时候通过链接层去设置它们的分组方式。这种分组方式呢,是由公司自己定义的,但是又很不方便,于是,

    慢慢的一个叫做“以太网”的协议(以太网协议具体内容请自行百度,这里不做过多解释)占据了主导地位,也就是我们现在所用的协议。既然叫做链接,那么肯定是要有终点的,现在由0和1组成的信息有了,

    如何找到这个这个终点呢。于是就有了一个叫做MAC地址(即网卡的地址)的东西,这个地址每一个在全世界都是独一无二的。然后,以太网通过一种叫做ARP的协议在本网络内进行广播,也就是向本网络内

    所有的计算机发送数据,由计算机自己判断是否为接收方。总的来说,链接层的作用是将电信号按照一定规则组成一个有序组合,然后通过广播的方式发送给指定的地址,然后由计算机接收,over。

    第三,我们来说网络层

    网络层,在上一层中我们说过,数据通过广播的方式发送到所有的计算机上,但是这个只限于本网络。世界这么大,整个互联网是由无数的子网络汇成的。要由一个子网络发送数据到另一个子网络,这个时候

    用广播显然已经不可能了,于是就有了“路由”(老规矩,自行百度)。然后在使用路由之前,我们需要先判断处于发送和接收信息的计算机是否处于同一个网络。这个时候就要用到我们的第三层“网络层”了,

    网络层引进了一套新的地址,用来区分计算机是否处于同一网络,叫做“网络地址”,也就是我们说的网址。最后网址判断计算机所在的子网络,MAC地址将数据包发送到该子网络下的目标网卡,任务完成。

    在这一层中,我们提到了“网络地址”,顺理成章,IP协议出来了。IP协议是规定网络地址的协议,现在广泛应用的是第四版。也就是IPV4。

    第四,传输层

    传输层,综上所述,我们就已经知道了通过IP地址和MAC地址,我们就能实现主机与主机之间的链接,但是我们拿到数据后应该干什么用呢,浏览器用?还是聊天用?我们并不知道,所有就又有了一个叫做

    端口的东西,"端口"是0到65535之间的一个整数,正好16个二进制位。0到1023的端口被系统占用,用户只能选用大于1023的端口。传输层的作用就是建立端口到端口到通信。

    最后就是应用层了

    应用层,应用程序收到"传输层"的数据,接下来就要进行解读。由于互联网是开放架构,数据来源五花八门,必须事先规定好格式,否则根本无法解读。"应用层"的作用,就是规定应用程序的数据格式。

    至此,tcp/ip协议复习完成。

  • 相关阅读:
    unsupported jsonb version number 123
    如何在MPlayer上支持RTSP
    TDengine 时序数据库的 ADO.Net Core 提供程序 Maikebing.EntityFrameworkCore.Taos
    如何使用IoTSharp对接ModBus?
    如何从源码启动和编译IoTSharp
    Asp.Net Core 自动适应Windows服务、Linux服务、手动启动时的内容路径的扩展方法
    MQTTnet 的Asp.Net Core 认证事件的扩展
    Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
    The remote certificate is invalid according to the validation procedure 远程证书验证无效
    settings插拔式源码
  • 原文地址:https://www.cnblogs.com/lxlry/p/7427458.html
Copyright © 2011-2022 走看看