TCP/IP协议族分用

网站编辑2020-09-04 10:51:17595

  TCP/IP协议族分用   当帧到达目的主机时,将沿着协议栈自底向上依次传递。各层协议依次处理帧中本层负责的头部数据,以获取所需的信息,并最终将处理后的帧交给目标应用程序。这个过程称为分用(demultiplexing)。分用是依靠头部信息中的类型字段实现的。标准文档RFC 1700定义了所有标识上层协议的类型字段以及每个上层协议对应的数值。图1-7显示了以太网帧的分用过程。
 TCP/IP协议族分用 
  因为IP协议、ARP协议和RARP协议都使用帧传输数据,所以帧的头部需要提供某个字段(具体情况取决于帧的类型)来区分它们。以以太网帧为例,它使用2字节的类型字段来标识上层协议(见图1-6)。如果主机接收到的以太网帧类型字段的值为0x800,则帧的数据部分为IP数据报(见图1-4),以太网驱动程序就将帧交付给IP模块;若类型字段的值为0x806,则帧的数据部分为ARP请求或应答报文,以太网驱动程序就将帧交付给ARP模块;若类型字段的值为0x835,则帧的数据部分为RARP请求或应答报文,以太网驱动程序就将帧交付给RARP模块。
  
  同样,因为ICMP协议、TCP协议和UDP协议都使用IP协议,所以IP数据报的头部采用16位的协议(protocol)字段来区分它们。
  
  TCP报文段和UDP数据报则通过其头部中的16位的端口号(port number)字段来区分上层应用程序。比如DNS协议对应的端口号是53,HTTP协议(Hyper-Text Transfer Protocol,超文本传送协议)对应的端口号是80。所有知名应用层协议使用的端口号都可在/etc/services文件中找到。
  
  帧通过上述分用步骤后,最终将封装前的原始数据送至目标服务(图1-7中的ARP服务、RARP服务、ICMP服务或者应用程序)。这样,在顶层目标 服务看来,封装和分用似乎没有发生过。

最新推荐

右侧广告图1
  • 弹性公网IP

    弹性公网IP是可以独立购买和持有的公网IP地址资源。目前,EIP仅支持绑定到专有网络类型的ECS实例、专有网络类型的私网SLB实例、专有网络类型的辅助弹性网卡、NAT网关和高可用虚拟IP上。

    ¥0.04/小时

    带宽3折起

  • 云数据库 MongoDB 版

    完全兼容 MongoDB 协议、高度兼容 DynamoDB 协议的在线文档型数据库服务,支持单节点、副本集和分片集群三种部署架构,能够满足不同的业务场景需要,在互联网(游戏、资讯、社交、电商、直播)、新零售、在线教育、金融、物联网、政企等行业都有广泛的应用。

    ¥0.00/月

    1年75折

  • 云原生多模数据库 Lindorm

    针对AI场景支持正排、全文、向量融合检索和AI推理能力;兼容MySQL协议、HBase、ES、Hive、Spark、HDFS等开源标准。提供宽表、时序、向量等数据模型,是互联网、车联网、广告、金融、监控、游戏等场景的首选

    ¥2436.00/月

    1年85折

右侧广告图2