zoukankan      html  css  js  c++  java
  • Fragmentation & Reassembly

    DTN fragmentation and reassembling are designed to impove the efficiency of bundle transfers by ensuring that contact volumes are fully utilized and by avoiding retransmissions of partially-forwarded bundles.There are two forms of DTN fragmentation/reassembly:

    Proactive Fragmentation:Used primarily when contact volumes are known(or predicted ) in advance.

    Reactive Fragmentation:DTN nodes sharing an edge in the DTN graph may fragment a bundle cooperatively when a bundle is partially transferred.In this case, the receiving bundle layer modifies the incoming bundle to indicate it is a fragment, and forwards it normally. The previous-hop sender may learn that only a portion of the bundle was delivered to the next hop, and send the remainning portions when subsequent contacts become available(possibly to different next-hops if routing changes). This is called reactive fragmentation because the fragmentation process occurs after an attempted transmission has taken place.

    The reactive fragmentation capability is not required to be avaible in every DTN implementation, as it requires a certain level of support from underlying protocols that may not be present, and presents significant challenges with respect to digital signatures and authentication codes on messages. When a signed message is only partially received, most message authentication codes will fail.

    Even if reactive fragmentation is not present in an implementation, the ability to reassemble fragments at a destination is required in order to support DTN fragmentation.

    Furthermore, for contacts with volumes that are small compared to typical bundle sizes, some incremental delivery approach must be used(e.g., checkpoint/restart) to prevent data delivery livelock. Reactive fragmentation is one such approach, but other protocol layers could potentially handle this issue as well.

    [RFC4838 Section 3.9]

    References:

    livelock:http://zhidao.baidu.com/question/18561008

  • 相关阅读:
    mysql---面试题2
    Mysql--存储过程
    MySql--锁机制
    MYsql事务
    IDEA创建新项目保存pom文件时,出现错误Cannot resolve org.openjfx:javafx.base:11.0.0-SNAPSHOP
    线程中的多线程、并行和并发、同步和异步、阻塞和非阻塞、线程安全
    Java里的Arrays.asList()返回的List不能使用add、remove方法?
    服务器可用的Socket
    MessageBox.Show
    NPOI 教程
  • 原文地址:https://www.cnblogs.com/jcleung/p/1839361.html
Copyright © 2011-2022 走看看