• 网络层的服务


    1、逻辑编制:

    因为网络层提供了端到端的通信,所以两台想要进行通信的计                         算机就必须具有全球标识系统,称为网络层地址或者逻辑地址。此类标识是通过全球统一的编制机制为网络层提供的。因特网有一个地址空间,么一个要使用因特网的实体都必须从这个地址空间申请唯一的一个地址。

    2、源计算机提供的服务:

    源计算机上的网络层提供4种服务:分组化处理,查找下一跳的逻辑地址,查找下一跳的物理MAC(地址)以及对数据进行必要的分片处理。网络层接收到来自上层的数据,数据长度,逻辑目的地址,协议ID(网络层使用协议的标识编号)以及服务类型。网络层将这些数据处理之后生成了一组数据报以及吓一跳的MAC地址,并将它们一起交给数据链路层。

    (1)分组化处理:

    网络层的第一个任务就是要将来自上层的数据封装在一个数据报中。这件事的做法是为数据添加了一个首部,其中包含了该分组的逻辑地址和逻辑地址目的地地址,分片相关的一些信息、请求了此服务的协议ID、数据长度,再加上其他一些可能的选项。网络层还要包括包含一个只计算该数据报首部的检验和。(上层协议只提供了逻辑目的地址,而逻辑源地址则来自网络层本身(任何一个主机都要知道他自己的逻辑地址))

    (2)查找下一跳的逻辑地址:

    准备好的数据报包含了该分组的源地址和目的地址。这个数据可能要经过多个站才能到达他的终点。如果目的计算机与源计算机没有联接在同一个网络上,那么数据包就应当交付给下一个路由器。数据包的源地址和目的地址中没有关于下一跳逻辑地址的任何线索。源计算机上的网络层需要咨询路由表并找出下一跳的逻辑地址。

    (3)查找下一跳的MAC地址:

    网络层并不是将真的数据报交付给下一跳,而是应该有数据链路层真正的将数据交付。数据链路层需要下一跳MAC地址,才能向其交付。

    (4)分片:

    到了这一步数据报还是没有准备好交付到数据链路层。局域网和广域网会对一个帧携带的数据的最大长度进行限制,而网络层准备的数据会超过这个限制。在被传递到数据链路层之前数据包需要被分割为更小的单元。

    2、各个路由器提供的服务:

    一个数据包要设计路由器上的两个接口,入接口,出接口。

    data:上层数据、

    DA:目的逻辑地址

    VA:下一级逻辑地址

    MAC:下一跳MAC地址

    MTU:最大传送单元

    H:数据报首部

    3、目的计算机提供的服务:

    目的计算机在向终端交付这些数据之前要重组数据报片。检查数据报片的完整性等之后,要将数据提取出来并加以保存,数据分组组合好之后交给上级。与此同时,网络层还要设置一个重组定时器,如果这个重组定时器超时,所有的数据报片都会被销毁的。并发送一个差错报文。

  • 相关阅读:
    进程、线程、轻量级进程、协程与 go 的 goroutine
    Base: 一种 Acid 的替代方案
    单点登录 SSO(Single Sign-On)的实现原理
    大型网站之分布式会话管理
    PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手
    主流编程语言的 33 款开源爬虫
    docker基础命令
    mysql实现首字母从A-Z排序
    solr+zookeeper集群配置
    Lucene与Solr基础
  • 原文地址:https://www.cnblogs.com/yjds/p/8597119.html
Copyright © 2020-2023  润新知