Modelling an Isolated Compound TCP Connection

Keywords: TCP, Compound TCP, fluid model

Compound TCP (CTCP) was designed by Tan at al. to improve the efficiency of TCP on high speed networks without unfairly penalizing other connections. In the present work we construct and analyze a detailed model of an isolated CTCP connection. We validate it with ns-2 simulations using a Linux implementation of CTCP. The detailed model allows us to identify and classify significantly different CTCP operating regimes depending on the system parameters. We show that in the "constant window" phase the congestion window can in fact have significant oscillations with non-negligible effect on the performances and which can, also, induce additional jitter in the cross traffic. Using this model we calculate the average throughput and average backlog size at the bottleneck link. These performance metrics depend on the CTCP operating regime. Under certain circumstances, an isolated CTCP connection on a high speed link utilizes around 75% of the link capacity.

Résumé : Compound TCP (CTCP) a été conçu par Tan et al. pour améliorer l'efficacité des transferts TCP sur les réseaux haut-débit sans pénaliser les autres flux concurrents. Nous proposons et analysons dans cette étude un modèle détaillé d'une connexion CTCP isolée, et nous le comparons avec des simulations ns-2 utilisant l'implémentation Linux de CTCP. Ce modèle permet d'identifier différents modes de fonctionnement de CTCP, selon les paramètres du système. Nous montrons que durant la phase où la fenêtre de congestion est considérée comme constante par les auteurs du protocole, la fenêtre observe en réalité des oscillations importantes. Ces fluctuations peuvent dégrader les performances de la connexion CTCP, mais aussi celles des autres flux. Le modèle que nous avons développé permet également de calculer le débit moyen d'une connexion CTCP, ainsi que l'occupation induite du buffer du goulet d'étranglement. Ces métriques dépendent du mode de fonctionnement de CTCP. Pour des hauts débits, l'efficacité d'une connexion TCP isolée tend vers 75%.

Mots-clés : TCP, Compound TCP, modèle fluide

Introduction

With the increasing popularity of faster access links like Fiber To The Home, the current Standard TCP is not always ideal. As indicated by Floyd [START_REF] Floyd | HighSpeed TCP for Large Congestion Windows[END_REF] the current Standard is not able to reach these rates in realistic environments, i.e. with typical packet loss rates. Many new transport protocols have been proposed and are currently being studied to replace it. Some of them are already implemented in the latest versions of some operating systems, like Compound TCP on Windows, and Cubic (and others) on Linux. Others are implemented in network equipment. At least for the next few years, the protocols already implemented will play an increasing role in the resource sharing between flows in the Internet. Yet the behavior, the performance, and the impact on the network of these protocols are not well-known. A method to evaluate the new protocols has just been specified [START_REF] Floyd | Metrics for the Evaluation of Congestion Control Mechanisms[END_REF], and test scenarios are still under discussion. For most of these new protocols there are only experimental or simulation studies, with conflicting results. Analytical models, describing their behavior and impact on the network, exist only for a few protocols and for simple cases. In this paper we develop an analytical model of Compound TCP, to analyze in detail its behavior for an isolated connection.

Compound TCP (CTCP) has been presented by Microsoft Research in [START_REF] Tan | Compound TCP : A scalable and TCP-friendly congestion control for high-speed networks[END_REF] and [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF] in 2006. It is currently submitted as a draft to the IETF Network Working group with minor differences [START_REF] Sridharan | Compound TCP : A new TCP congestion control for high-speed and long distance networks[END_REF]. CTCP is enabled by default in computers running Windows Server 2008 and disabled by default in computers running Windows Vista [START_REF] Davies | Performance enhancements in the next generation TCP/IP stack[END_REF]. It is also possible to add support for CTCP to Windows XP. An implementation of CTCP, based on [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF][START_REF] Sridharan | Compound TCP : A new TCP congestion control for high-speed and long distance networks[END_REF], is also available for Linux [START_REF] Andrew | Compound TCP Linux module[END_REF].

As the proposal of CTCP is still recent, there are only a few published evaluations of it. The only analytical model of CTCP in [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF] assumes a constant window size in the third phase of Figure 1. To the best of our knowledge there are no complete theoretical models of CTCP that can be used to analyze in details the behavior of this new protocol. While we have shown in [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF] that the sending window oscillates during this phase, and that these oscillations may have a significant impact on the performance of CTCP. Other evaluations are based on experiments. However, except the one of Li [START_REF] Li | Evaluation of TCP congestion control algorithms on the Windows Vista platform[END_REF], all the other experimental evaluations [START_REF] Baiocchi | YeAH-TCP : Yet Another Highspeed TCP[END_REF][START_REF] Kumazoe | Performance of high-speed transport protocols coexisting on a long distance 10-Gbps testbed network[END_REF][START_REF] Andrew | Experimental evaluation of delay/loss-based TCP congestion control algorithm[END_REF] use Linux implementations of CTCP whose behavior differs from the Windows implementation, according to [START_REF] Andrew | Experimental evaluation of delay/loss-based TCP congestion control algorithm[END_REF].

The main objective of the authors of CTCP [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF] is to specify a transport protocol which is efficient, using all the available bandwidth, fair and conservative, limiting its impact on the network. They propose to combine the fairness of a delay-based approach with the aggressiveness of a loss-based approach. The sending window (w) is defined as the sum of two components : the classical New Reno congestion window (w c ) and a delay-based window (w d ).

When the source detects an under-utilized network, it quickly increases the delay-based component until the sending window exceeds the estimated bandwidth delay product. Conversely, the delay-based component is decreased if the source detects increasing network delays. The delay-based component is then adjusted to maximize the efficiency and to minimize the backlog in network queues. At the i-th round trip the backlog in network queues is estimated as :

∆ i = w i (1 -τ /τ i ) . (1)
t w(t)

1 2 3 4
non empty buffer empty buffer Fig. 1 -The four different phases where w i is the sending window, τ the smallest round trip time ever observed and τ i the latest sample of the round trip time. The sending window is then quickly increased if ∆ i is lower than a threshold γ, and decreased otherwise :

w i+1 = w i + αw k i , if ∆ i < γ w i -ζ∆ i + 1 , if ∆ i ≥ γ. (2)
Where γ was initially a fixed threshold, with proposed value equal to 30 [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF].

It is now dynamically adjusted between 5 and 30, according to the window size on loss events [START_REF] Tan | CTCP-TUBE : Improving TCPfriendliness over low-buffered network links[END_REF], using the TUBE algorithm. For the sake of simplicity, and due to the fact that is has been only recently introduced we do not explicitly model TUBE in the remainder of the paper. The authors of CTCP proposed to set α = 1/8, k = 3/4 and ζ = 1. Unless otherwise specified, we are going to use the same values for all the numerical examples and simulations.

Different Phases of CTCP

In order to model an isolated CTCP connection we consider a simple fluid system comprised of a sender and receiver connected by a FIFO queue, with rate µ and buffer size b. The sender uses a single CTCP connection to send data to the receiver. For the sake of simplicity we will assume that there is no exogenous traffic in the FIFO queue ; that the sender has an unlimited amount of data to send ; and that the advertised window is never a limiting factor.

We are going to consider different cases corresponding to different phases in the evolution of the sending window. Each particular realization will take a different path, depending on the specific values of all the parameters involved. But given the initial state it is always possible to determine the final state at the end of the first phase. Based on this, the next phase is chosen and the process is repeated.

We assume that the time origin coincides with the starting time of the phase being discussed. Therefore all the times are meant as an offset from the start of each phase. The initial conditions as well always refer to those of the phase in question.

INRIA

In all phases w is the total congestion window, while w c and w d are the congestion and the delay component respectively. Let τ (t) be the round trip time at time t and τ be the propagation delay (including processing delays) so that :

τ (t) τ + x(t) µ
where x(t) is the backlog at time t. In the case of an isolated connection the smallest round trip sample coincides with the propagation delay, and we use τ to indicate both quantities.

Let R in (t) be the input process, that is the total amount of traffic sent by the source up to (and including) time t. Similarly, let R q (t) be the output process of the FIFO queue, that is the total amount of traffic that has left the queue since the beginning of the current phase.

As done in previous works (see, for example, [START_REF] Agrawal | Performance bounds for flow control protocols[END_REF]) we are going to model the flow of acknowledgments from the receiver back to the sender with a process equal to the output process of the queue delayed by a fixed propagation delay (τ ). Clearly this is not what happens in a real network but it is a correct abstraction as the acknowledgments do inform the sender of the total amount of traffic arrived at the receiver. Using this model we have that :

R in (t) = R out (t) + w(t)
where R out (t) = R q (t-τ ), that is the output of the queue delayed by τ . Without the loss of generality we will assume that R out (0) = 0 at the beginning of each phase so that R in (0) = w(0) and the total amount of traffic sent between 0 and t is R in (t) -R in (0) = R in (t) -w(0). We are also going to assume that whenever the window is instantaneously increased by a certain amount R in increases instantaneously by the same amount. In other words whenever the window has a discontinuity (a jump) so does the input process. This is the same as assuming that the capacity of the link connecting the sender to the FIFO queue is much greater than µ.

Figure 1 shows the four different phases of CTCP, we will use a number to identify each of them and its corresponding parameters. For example t i is the end time of the i-th phase and w * i is the value of the window at the beginning of the i-th phase. For each phase we explicitly compute the expression of w(t), which can be used to compute the final value of w and the total amount of traffic sent during each phase. It is also possible to compute w c and then find w d using the relation w = w c + w d .The final values of w and w c can be used as the initial values of the following phase. In section 4, we will show how several different combinations of these phases are possible.

Empty Buffer and Superlinear Increase

Let w * 1 be the window at the beginning of the phase. Given that the buffer is empty τ (t) = τ . During this phase the sender increases w by αw k every τ units of time. We have not been able to find a closed form expression for the recursion w n+1 = w n + αw k n so that it is not possible to find the exact expression of w(t). Instead we use the same approach as in [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF] by approximating the derivative of w with its increment during one round trip time 1 : dw dt ⋍ αw k τ , combining this with the initial condition w(0) = w * 1 we have :

w(t) = (1 -k)α τ t + w * 1-k 1 1 1-k . ( 3
)
In a fluid system the buffer would be empty as long as the instantaneous arrival rate is greater than µ. As R in (t) represents the total amount of traffic received until time t, its first derivative (provided it exists) is the instantaneous arrival rate. Using the fact that R in (t) = R out (t) + w(t) and that, in this phase,

R out (t) = R in (t -τ ) it is possible to compute R ′ in (t).
But it is not possible to find a closed form solution for the equation R ′ in (t) = µ. Given that we cannot explicitly compute when R ′ in (t) = µ we will use a different approach. Clearly, if w > µτ the backlog has to be greater than zero : if there are more than µτ bits in flight some of them have to be in the buffer waiting to be served. This is also true in a packet based system and we will use this value to determine when this phase ends. To be more precise in a packet based system the backlog is non-zero every time a packet arrives at the buffer before the departure of the previous one and this can happen even for small values of the window but only for limited periods of time. Provided µ < µτ , even if the sender can send some packets in a burst such burst is not big enough to cause a persistent backlog. In the sense that before the beginning of the next round trip time the backlog will be zero.

In both the fluid and the packet based system the backlog will be non-zero at some point before w = µτ but we can use this value as an approximation to compute the end time of this phase. The simulations results in Section 4 validate this assumption. From (3) it follows that w < µτ until time

t 1 = µ 1-k τ 2-k -τ w * 1-k 1 (1 -k)α .
In order to compute R in (t) we would need to know R out (t) starting from time 0 but this depends on what happened before this phase. At the same time, given that the buffer is empty at time 0, after t = τ the system will loose memory of what happened before the beginning of this phase. For the sake of simplicity we are going to assume that R out (t) = w * 1 τ t for 0 ≤ t ≤ τ . That is that, during the first round trip time, acknowledgments arrive at a constant rate. In this case R out (t) = R in (t -τ ) after τ , and :

R in (t) = w * 1 τ t + w(t) , if t < τ R in (t -τ ) + w(t) , if t ≥ τ .
The total amount of traffic sent during this phase is :

R in (t 1 ) = w * 1 τ z + N n=0 w(t 1 -nτ ), (4)
1 The same approximation can be obtained by considering how much each acknowledgment contributes to the increase of the window and then assuming that the acknowledgments arrive at rate w τ .

INRIA

where we have "decomposed" t 1 as the sum of N propagation delays and a remainder z, that is t 1 = N τ + z. Using (4) we can compute the average sending rate as λ1

Rin(t1) t1

.

Alternatively we can exploit the fact that λ = w(t) τ and compute the total amount of traffic as :

R in (t) = t1 0 w(t) τ dt = (µτ ) 2-k -w * 2-k 1 (2 -k)α .
Using this approach the average sending rate is2 :

R in (t 1 ) t 1 = (1 -k) w * k 1 (µτ ) 2 -w * 2 1 (µτ ) k (2 -k)τ w * k 1 µτ -w * 1 (µτ ) k .
In order to correctly characterize the following phase we also need to compute the final value of the two components of the window. During this phase w c grows by 1 each round trip time so that

w c (t) = w c,1 + t τ (5)
where w c,1 is the initial value of the congestion component of the total window at the beginning of this phase. Therefore at the end of this phase :

w c (t 1 ) = w c,1 + (µτ ) 1-k -w * 1-k 1 (1 -k)α .
As w(t 1 ) = µτ and w = w c + w d it follows that

w d (t 1 ) = µτ -w c,1 - (µτ ) 1-k -w * 1-k 1 (1 -k)α .
Even though in the fluid model a buffer overflow is not possible in this phase, in a packet based system this can happen if the increment of window during one round trip time is bigger than the buffer size. As we are assuming that the capacity of the link connecting the source to the bottleneck is much grater than the bottleneck capacity, whenever the sender updates its sending windows using the w = w + αw k relationship, the sender will inject a burst of size αw k into the network. Clearly if this burst is bigger than the size of the buffer there will be an overflow. If b is the buffer size this will happen when αw k ≥ b that is when w ≥ (b/α) 1 k . Given that this phase will end when w = µτ we also need (b/α) 1 k < µτ . In other words there will be a buffer overflow in this phase only if b < α(µτ ) k . If this is true the phase will end not when w = µτ but when w = (b/α) 1 k . In this case we have :

t 1 = τ (1 -k)α b α 1-k k -w * 1-k 1 (6) w c (t 1 ) = w c,1 + 1 (1 -k)α b α 1-k k -w * 1-k 1
where we have used [START_REF] Baiocchi | YeAH-TCP : Yet Another Highspeed TCP[END_REF] to compute the final value of w c .

Safe Values for k

While, at this time, we do not have any different recommendations, we would like to point out the consequences of using value of k greater than one. If k > 1 then, for any positive value of α there exist a value of the window, say ŵ, such that if w > ŵ then the increment of the window is greater than during slow start, that is

αw k n > w n . This is because if k > 1 and w n > α 1 1-k then αw k n > w n .
By choosing small values of α the value of ŵ can be increased. But such an approach would leave the possibility of having an exponential increase of the window in certain network scenarios. The case k = 1 would lead to an increase similar to slow start, which would probably be excessive in several cases. Because of this we are going to assume that 0 < k < 1.

Non Empty Buffer and Superlinear Increase

Again let w * 2 be the window and x 2 the backlog at the beginning of the phase. In this case w * 2 ≥ µτ so that either x(0) > 0 or x(0 + ǫ) > 0 for any ǫ > 0, that is the backlog is always non-zero immediately after time 0. Note that in throughout this phase the round trip time is not a constant anymore. We also know that the acknowledgments are arriving with rate µ as the buffer is non-empty.

Given that the window is increased when w acknowledgments are received we can say that, on average, each acknowledgment increases the window by αw k /w. This is true also if delayed acknowledgments are used : as explained in the draft standard ( [START_REF] Sridharan | Compound TCP : A new TCP congestion control for high-speed and long distance networks[END_REF], section 6) the round trip time is estimated matching some of the arriving acknowledgments with the corresponding segments and computing the difference between the arrival time of the acknowledgment and when the segment was sent. Delay acknowledgments do diminish the number of available samples but they should not radically change the value of the estimates. Especially considering that only a fraction of the packets is used as samples anyway, in order to diminish the computing overhead.

Between t and t + δ we receive µδ acknowledgments so that

w(t + δ) = w(t) + µδαw k-1 , and
w(t + δ) -w(t) δ = µαw k-1 . (7)
By taking the limit as δ approaches zero of [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF] we have that

dw dt = µαw k-1
which implies

w(t) = (2 -k)αµt + w * 2-k 2 1 2-k , (8)
where we have used the initial condition w(0) = w * 2 . The superlinear increase will continue as long as the backlog is less than γ. More precisely until the ∆ i < γ, where ∆ i is the backlog estimate computed INRIA by the sender each round trip time. If we assume that this estimate is correct, this phase will end when x(t) = γ. Given that w(t) = x(t) + µτ (that is all the bits in flights are either in the buffer or in the delay element) we can use (8) to compute t 2 such that x(t 2 ) = γ :

t 2 = θ 2-k -w * 2-k 2 (2 -k)αµ
where θ = γ + µτ is the final value of w during this phase. Note that this expression holds for any value of θ > w * 2 (we will use this fact shortly to consider the case when this phase ends because of a buffer overflow and not because w = γ + µτ ).

During this whole phase the congestion window component grows by 1 each round trip time. Using the same argument as above we have that each acknowledgment increases the congestion window by 1 w so that

dw c dt = µ mw , ( 9
)
where m is the number of packets acknowledged by each acknowledgment. We know that, until t 2 , w(t) is given by ( 8) so that ( 9) becomes (see [START_REF] Blanc | Modelling an isolated Compound TCP connection[END_REF] for the solution) :

dw c dt = µ m (2 -k)αµt + w * 2-k 2 1 k-2 .
which implies

w c (t) = 1 (k -1)mαw * k 2 w * 2-k 2 -(k -2)tαµ 1 k-2 × × (k -2)tw * k 2 αµ -w 2 2 + w 2 + w c,2 (10)
where we have used the initial condition w c (0) = w c,2 . At time t 2 we know that x(t) = γ and that

w c (t 2 ) = w cb + w * 1-k 2 -(γ + µτ ) 1-k (k -1)mα . During this phase R out (t) = µt, so that R in (t) = R out (t) + w(t) = µt + w(t), given that R in (0) = w * 2 . As w(t 2 ) = θ we have that R in (t 2 ) -R in (0) = θ + θ 2-k -w * 2-k 2 (2 -k)α -w * 2 so that λ2 = µθ k w * 2 -w * k 2 α(θ -w * 2 )(k -2) -w * k 2 θ 2 µ w 2 2 θ k -w k 2 θ 2 = µ + (2 -k)α(w * 2 -θ)(w * 2 θ) k µ w * 2 2 θ k -w * k 2 θ 2 λ2 = µ + (2 -k)α(w * 2 -θ)(w * 2 θ) k µ w * 2 2 θ k -w * k 2 θ 2 If γ > b
the backlog cannot reach γ and this phase will, instead, end with a buffer overflow when w(t) = b + µτ . In this case we can use all the above expressions with θ = b + µτ .

Constant Window

As a first approximation we are going to assume that during this phase the window is constant and equal to θ, as in [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF]. That is we are assuming that w d is decreasing at the same rate as w c is increasing so that the total window is constant. During this phase [START_REF] Floyd | HighSpeed TCP for Large Congestion Windows[END_REF] becomes

dw c dt = µ mθ so that w c (t) = µ mθ t + w c,3 . (11)
Where w c (0) = w c,3 is the initial value of w c for this phase. This expression holds until time t 3 such that w c (t 3 ) = θ. From (11) we have

t 3 = mθ(θ -w c,3 ) µ .
In this phase R out (t) = µt as well so that R in (t) = µt -θ + w(t) = µt. The total amount of traffic sent is R in (t 3 ) = mθ(θ -w c,3 ) and the average sending rate is λ3 = µ.

Linear Increase

In this phase the delay component is zero (i.e. w d = 0) so that w = w c and

dw c dt = dw dt = µ mw .
In this case

w(t) = 2µ m t + w * 2 4 ( 12
)
where we have used the initial condition w(0) = w 4 . This phase will end when the buffer overflows, that is when x(t) = b. Using (12) we can compute t 4 such that x(t 4 ) = b, that is w(t 4 ) = b + µτ :

t 4 = m (b + µτ ) 2 -w * 2 4 2µ .
Using once more the fact that

R out (t) = µt we can compute R in (t) as R in (t) = µt -w * 4 + w(t) so that R in (t 4 ) -R in (0) = b -w 4 + µτ + m 2 (b + µτ ) 2 -w 4 and λ4 = 2µ b -w * 4 + µτ + m 2 (b + µτ ) 2 -w * 4 m ((b + µτ ) 2 -w * 4 )
. 3 Oscillations During Phase 3

As noted in [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF], during phase 3, the algorithm described in [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF] and [START_REF] Tan | CTCP-TUBE : Improving TCPfriendliness over low-buffered network links[END_REF] causes the window to oscillate around a constant value. Figure 2 shows the evolution of the sending window between two packet losses. Clearly, during phase 3, the window is constantly incremented and decremented. In this particular case the oscillations are realized by increasing the window three times and then decreasing it once but this is not the only possible pattern : depending on the system parameters it is possible to have different patterns. In each case a series (two or more) of increasing phases is followed by one (or more) decreasing phase(s). We use two integers m :n to indicate the type of oscillations, with m and n representing the number of increasing and decreasing phases, respectively.

While considering the window as a constant can be a useful approximation, it is not always possible to ignore the oscillations during this phase. In at least two cases it is important to consider them. First, if the window were kept constant (such that w = µτ + γ) phase 3 would take place as long as b > γ, but, because of the oscillations, the window will reach a value greater than µτ + γ causing a buffer overflow and a premature end of phase 3. If θ max and θ min are the maximum and minimum values reached by w during each oscillation, phase 3 will take place only if µτ + b < θ max . If this condition does not hold phase 2 ends with a buffer overflow with a potentially adverse effect on the throughput. In most cases, if phase 2 ends with a buffer overflow, the buffer will be empty after each window cut, reducing the throughput. Second, even if phase 3 does take place, the oscillations of the window will cause the backlog to oscillate as well, which can have a negative impact on the other traffic going through the same bottleneck link. Even if in this work we do not consider exogenous traffic we, nonetheless, think that it is important to highlight this consequence of the oscillations.

While it is possible to use a fluid model to estimate the size of the oscillations we believe it is easier to use the discrete event model presented in [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF] to precisely characterize these oscillations. In the remainder of this section, after a brief presentation of the model used in [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF], we will extend that work by proving the existence of the fixed point solution (in one case) and by showing how it is possible to determine the m :n pattern of the oscillations based on the bandwidth delay product.

Note that all the results presented in this section depend on properties of the specific Linux implementation we have used [START_REF] Andrew | Compound TCP Linux module[END_REF]. So some care should be taken in applying them to other implementations. At the same time we believe that these issues will be present in any implementation of the algorithm presented in [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF][START_REF] Tan | CTCP-TUBE : Improving TCPfriendliness over low-buffered network links[END_REF]. Furthermore the rest of the model depends only on θ max and θ (the maximum and average value of the window during phase 3) so that it suffices to find these two values for each implementation.

Linux Implementation

Once every round trip time the Linux implementation, that we used for the simulations, instead of using (1), computes ∆ i as :

∆ i = w i-1 (1 -τ /τ i ) ( 13
)
where w i-1 is the size of sending window the last time the window was updated (that is one round trip time before). As the sender uses acknowledgments to estimate the round trip time any such estimate refers to the packet being acknowledged. Given that this packet was sent one round trip time ago it is more appropriate to use w i-1 rather than w i . The round trip time estimate τ i is the smallest value of all samples collected during the last round trip time. This choice is explained, by a comment in the source code, as a way to minimize the impact of delayed acknowledgments.

In the case of a single connection with no cross traffic τ i depends only on the window dynamics so that it is possible to express it as a function of past values of the window. In particular we have that :

τ i =    min wi-2+1 µ , τ , if w i-1 > w i-2 min w i-1 τ τi-1 , τ , if w i-1 < w i-2 (14)
That is if the window was not reduced at the last update the first expression is used, while if the window was reduced at the last update then the second one is used (see [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF] for more details).

Fixed Points

Given an initial value for the window it is possible, using equations ( 13), [START_REF] Tan | CTCP-TUBE : Improving TCPfriendliness over low-buffered network links[END_REF] and the window update function w i+1 = w i + αw k i , to explicitly compute the evolution of the window. For example, in the case of the 3 :1 cycle if w 1 is the initial value of the window, the final value will be w 4 (w 1 ) -∆ 4 (w 1 ) + 1, where w 4 is the value after w 1 was updated three times, (the value at the beginning of the fourth step in the cycle). And ∆ 4 is the value of ∆ i at the beginning of the same cycle. The plus one takes into account the fact that this cycle covers four round trip times and in three of them the window is incremented while in the fourth one w d is decremented while w c is still incremented by one. Using the above equations it is possible to compute the values of w 4 (w 1 ) and ∆ 4 (w 1 ) in closed form but the expressions are lengthy and do not offer any insight and are not presented here.

In Figure 2 the oscillations quickly reach a steady state, as they do in all the simulations we have observed. As discussed in [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF], if a steady state solution INRIA does exist it must satisfy the condition that the final value of one cycle is the same as the initial value of the following one. If f (w 1 ) is the final value of a cycle starting with w = w 1 we can find the steady state solution by solving the fixed point equation f (w 1 ) = w 1 for w 1 . Note that that the expression of f (w 1 ) depends on the type of oscillations. In general, for the m :1 cases f m:1 (w 1 ) = w m+1 (w 1 ) -∆ m+1 (w 1 ) + 1 and f m:2 = w m+1 (w 1 ) -∆ m+1 (w 1 ) -∆ m+2 (w 1 ) + 2 for the m :2 cases.

Given that 0 < k < 1 it is not possible to find a closed form expression for the solution of f m:n (w 1 ) = w 1 (it is possible to write f m:n in closed form but the expression is somewhat long and it is not reported here). At the same time it is possible to use efficient numerical algorithms to find the solution as f m:n is a continuous function. The following theorem shows that, in the 3 :1 case, such solution does indeed always exist. We believe that a similar argument can be used for the other cases as well. For the proof see the companion technical report [START_REF] Blanc | Modelling an isolated Compound TCP connection[END_REF].

Theorem 1 f 3:1 (w 1 ) = w 1 has always one solution in [ µτ 2 , ∞), provided 0 < k < 1, µτ 2 > α -1 k , and µτ 2 > α 1 1-k .
Proof Using 13,14 we have that f 3:1 (w 1 ) = w 4 (w 1 ) -∆ 4 (w 1 ) = w 4 (w 1 )w 3 (w 1 ) 1 -µτ w2+1 and we can rewrite f 3:1 (w 1 ) = w 1 as g 1 (w 1 ) = g 2 (w 1 ) where g 1 (w 1 ) = w 4 (w 1 ) -w 1 and g 2 (w 1 ) = w 3 (w 1 ) 1 -µτ w2(w1)+1 . We are going to show that g 1 ( µτ 2 ) ≥ g 2 ( µτ 2 ) and that lim w1→+∞

[g 2 (w 1 ) -g 1 (w 1 )] ≥ 0.

As f m:n (w 1 ) is the composition of continuous function is itself continuous (for w 1 > 0), and so are g 1 and g 2 . To see why f m:n is continuous consider that w 1 > 0 implies w i > 0 and (as τ i ≥ τ > 0) ∆ i > 0. Using the intermediate value theorem, we can, therefore, conclude that g 1 (w 1 ) = g 2 (w 1 ) for some

w 1 ∈ [ µτ 2 , ∞)].
We will first show that g 1 ( µτ 2 ) ≥ g 2 ( µτ 2 ). We have that, as w 4 > w 2 :

g 1 (w 1 ) = w 4 (w 1 ) -w 1 > w 2 (w 1 ) -w 1 = αw k 1 .
Where the last equality follows from the definition of

w i . If µτ 2 > α -1 k then g 1 ( µτ 2 ) > 1.
For g 2 we have :

g 2 µτ 2 = w 2 µτ 2 + 1 -µτ = - µτ 2 + 1 + α µτ 2 k ≤ - µτ 2 + 1 + µτ 2 = 1,

RR n➦ 6778

where the first two equalities follows from the definition of g 2 , w i and ∆ i ; the inequality holds because α( µτ

2 ) k ≤ µτ 2 (as µτ 2 ≥ α 1 1-k ). Therefore g 2 ( µτ 2 ) ≤ g 1 ( µτ 2 ).
Next we will show that for w 1 → ∞ the opposite inequality holds. Using the definitions of g 2 and g 1 we have :

g 2 (w 1 ) -g 1 (w 1 ) = w 1 -α(w 3 (w 1 )) k - w 3 (w 1 ) w 2 (w 1 ) + 1 µτ .
Starting with the last term we have :

lim w1→∞ w 3 (w 1 ) w 2 (w 1 ) + 1 µτ = = lim w1→∞ w 2 (w 1 ) + α(w 2 (w 1 )) k w 2 (w 1 ) + 1 µτ = lim w1→∞ w 2 (w 1 ) w 2 (w 1 ) µτ + lim w1→∞ α(w 2 (w 1 )) k w 2 (w 1 ) + 1 µτ = µτ
where the first equality follows from the definition of w 3 (w 1 ) and the last one from the fact that k < 1 and lim w1→∞ w i (w 1 ) = ∞. For the first two terms consider that if (x)/h(x) → 0 and if f (x) → ∞ then f (x)-h(x) → ∞ (where all the limits are as x → ∞). Therefore it suffices to show that α(w 3 (w 1 )) k /w 1 → 0.

Using the definitions of w 3 and w 2 and then l'Hôpital's rule we have

lim w1→∞ α(w 3 (w 1 )) k w 1 = = lim w1→∞ α w 1 + αw k 1 + α w 1 + αw k 1 k k w 1 = lim w1→∞ αk w 1 + αw k 1 + α w 1 + αw k 1 k k-1 × 1 + αkw k-1 1 + αk w 1 + αw k i k-1 (1 + αkw k-1 1 ) = 0
where the last step follows from the fact that k < 1.

Different Oscillation Cycles

The fixed point equations presented in the previous section can be used to calculate the maximum and minimum values of the oscillations but do not indicate which cycle type will take place. For any value of the bandwidth delay product it is always possible to have a certain type of oscillations, provided the window is reduced by the appropriate amount at the appropriate time. But CTCP calls for the window to be reduced only when ∆ i ≥ γ so that, for any specific bandwidth delay product, certain patterns are not feasible because they need the window to be reduced by a factor smaller than γ.

Using simulations, we have observed several different types : 3 :1, 5 :2, 4 :2 and 3 :2 but also 4 :1, 5 :1 and 6 :1. In most cases, the type of oscillations

(γ = 30) 2 :1 ∆ 2 < γ ∆ 3 ≥ γ ∆ 4 < γ [545, 558] 3 :1 ∆ 3 < γ ∆ 4 ≥ γ ∆ 5 < γ [312, 545] 5 :2 ∆ 5 < γ ∆ 6 ≥ γ ∆ 7 ≥ γ [546, 573] 4 :2 ∆ 4 < γ ∆ 5 ≥ γ ∆ 6 ≥ γ [559, 1411 3 :2 ∆ 3 < γ ∆ 4 ≥ γ ∆ 5 ≥ γ [1342, ∞)
Tab. depends on the bandwidth delay product and does not change during the course of the simulation. This can be easily explained by observing that, every round trip time, the sender will compute ∆ i and compare it with γ. If ∆ i ≥ γ then w d (and therefore the sending window) decreases, otherwise it increases. For example the 3 :1 oscillations can only take place if three conditions are met. The first one is ∆ 4,3:1 ≥ γ, so that the window will be cut at the fourth step. The second is that ∆ 5,3:1 < γ , otherwise the window would be reduced another time and the cycle type would be 3 :2. The third one is that ∆ 3,3:1 < γ, so that the window is not cut at the third step, and only two increments, in which case the cycle would be 2 :1.

For each case it is possible to use a similar argument to find the boundary values for the appropriate ∆ i,m:n . Table 1 shows the three conditions for several cases, where the ∆ i 's in each row are those of the corresponding case : for example ∆ 3 on the second row is a shorthand for ∆ 3,3:1 and ∆ 5 on the third row represents ∆ 5,5:2 . The values in the last column correspond to the case when γ = 30, with µτ expressed in terms of MSS of 1500 B. As indicated by the last column of Table 1, these are necessary conditions for a certain oscillation type but they are not sufficient in the sense that it is possible for two oscillation types to be feasible for the same value of the bandwidth delay product. For example if 546 ≤ µτ ≤ 558 both the 2 :1 and the 5 :2 oscillations are possible and if 559 ≤ µτ ≤ 573 the 4 :2 and 5 :2 cases are possible.

Based on an extensive set of simulations it seems that certain conditions have "priority" in the sense that as long as they are satisfied the corresponding case will take place. For example the 5 :2 case happens whenever 546 ≤ µτ ≤ 573 Fig. 5 -Amplitude of the oscillations even though the 2 :1 and 4 :2 cases could take place as well. In only one case (µτ = 557) we were able to observe the 2 :1 oscillations. In some cases, for values very close to some of the brake points reported in table 1, the type of oscillations observed in the simulations is not the same as the one given by the model but, instead, it is the neighboring one (e.g. 3 :2 instead of 4 :2 or vice versa). Given that we did not run a simulation for every possible value of the bandwidth delay product we might have missed some other exceptions but we are reasonably confident that it is possible to use these "priorities" to find the oscillation type. Figure 4 shows the type of oscillations obtained using this method for γ = 30 while Figure 3 presents it in the form of a flow chart. In both figures we use the oscillation type m : 1 to represent the 4 :1, 5 :1 and 6 :1 oscillations. We have not written more detailed tests for these cases because they happen only when the window is small with respect to γ so that four or more increments are needed before the window can be reduced (recall that the size of the reduction is always greater than γ). The window will oscillate around such small values only when the bandwidth delay product is small and, in this case, the duration of phase 3 ( "constant window") is much smaller than the duration of phase 4.

As discussed in [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF] the Linux kernel does not use floating point instructions, so that the implementation we used approximates all the operations using integer operations. All the numerical values used in this section and the following ones are computed using the same approximations as the Linux implementation as there can be non-negligible differences between using floating point and integer operations. Especially when computing for which value of the bandwidth delay product certain ∆ i 's are equal to γ. (See [START_REF] Blanc | Oscillations of the sending window in Compound TCP[END_REF] for more details.)

Oscillation Amplitude

Using the algorithm presented in Figure 3 it is possible to compute the size of the oscillations as a function of the bandwidth delay product. Figure 5 shows the amplitude of the oscillations for γ = 30 and γ = 5. These two values of γ are the maximum and minimum values suggested in [START_REF] Tan | CTCP-TUBE : Improving TCPfriendliness over low-buffered network links[END_REF]. For γ = 30 the type of oscillations changes with the bandwidth delay product (see Figure 4) explaining the discontinuities in the curve. While for γ = 5 the only type of oscillations is always 3 :2.

INRIA

When, for γ = 30, the oscillations are m :1 (m ∈ {4, 5, 6}) the difference between the two curves is not too big but it is the case that the oscillations are smaller when γ = 5 (in this case the oscillations have the same order of magnitude as γ). For the 3 :1 case the difference becomes smaller but it is still true that the oscillations are slightly smaller when γ = 5. The difference between the two curves becomes significant for the 5 :2 and 4 :2 cases. While for the 3 :2 case the oscillations are the very same whether γ = 30 or γ = 5. This is because the larger window sizes, due to the larger bandwidth delay product, cause each increment of the sending window to be fairly large. For example, if w = 1500 then αw k = 30.13 and the difference between ∆ i and ∆ i+1 is comparable. As a consequence, ∆ i is either 0 or of the same order of magnitude of αw k and any value of γ smaller than this will not make any difference in the behavior of the sender. This indicates that even using smaller values for γ (and/or the TUBE algorithm [START_REF] Tan | CTCP-TUBE : Improving TCPfriendliness over low-buffered network links[END_REF]) would not limit the size of the oscillations for larger values of the bandwidth delay product. On this figure we also see that the oscillations might have an impact on other flows sharing the same bottleneck link.

Combining Multiple Phases

In this section we are going to analyze all the possible combinations, six in total, of the phases described in section 2, identifying under what conditions each combination will take place. In most case, we will also compare the evolution of the window given by the model with ns-2 simulations. For these we used ns-2.33 and the CTCP implementation [START_REF] Andrew | Compound TCP Linux module[END_REF].

We assume that CTCP uses fast recovery and fast retransmit. As a consequence, assuming that a single packet is lost, after receiving the third duplicate acknowledgment and after reducing the window by a factor of (1-β), the sender will not transmit until it has received acknowledgments for w f -(1 -β)w f worth of data, where w f is the value of the window just before the cut. As in [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF] we will use β = 1/2.

According to [START_REF] Allman | TCP Congestion Control[END_REF] after receiving the third duplicate acknowledgment the sender will retransmit the lost packet and set its window to (1 -β)w f + 3. Then it will keep incrementing the window by one for each acknowledgment received. As we are assuming that a single packet was lost the sender will keep receiving the same sequence number in each acknowledgment for one round trip time so that the number of unacknowledged packets does not change preventing the sliding window mechanism used by TCP from moving the window. Therefore the sender can send a new packet only when the window reaches again w f . As the window is increased by 1 for each acknowledgment received this will take a time equal to (βw f -3)/µ, assuming acknowledgments arrive at rate µ.

At this point the sender will send data at the same rate at which acknowledgments are arriving. We assume that this rate is µ, which is true as long as the buffer is non-empty, so that the total length of this round trip time is w f /µ and the total amount of traffic sent (during this round trip time) is (1-β)w f +3. As it is sending at rate µ for a period of time equal to (w f -βw f + 3)/µ. After a time equal to w f /µ after the loss was detected (i.e. at the end of the round trip time) the acknowledgment for the lost packet, which was re-transmitted at the beginning of the round trip time, will finally arrive and the sender will set its window equal to (1 -β)w f . Combining all this we have that the length of this round trip is w f /µ, the length of sender's pauses, immediately after detecting the loss, is (βw f -3)/µ and the total amount of data sent during this round trip is (1 -β)w f + 3. For each phase we are going to consider this last round trip, starting from when the loss is detected, as an integral part of the current phase.

Case 1 : Phase 1 Only

As discussed in section 2.1 if b < α(µτ ) k the buffer will overflow when w = (b/α) 1 k . and t 1 is given by [START_REF] Blanc | Modelling an isolated Compound TCP connection[END_REF]. According to equation (4) of [START_REF] Tan | A compound tcp approach for high-speed and long distance networks[END_REF] the total window will then be reduced to (1 -β)(b/α) 1 k . According to the fluid model, in this phase, the round trip time is constant, and equal to the propagation delay τ . In a packet based system, instead, the round trip time is constantly changing. We are going to assume that the behavior during the round trip time following the reduction of the window is the same as in the other phases, that is that fast recovery/retransmit will be used. The assumption that acknowledgments arrive at rate µ can be justified by observing that, in a packet based system, the source would send bursts of packets that are served at rate µ at the bottleneck link so that acknowledgments do arrive at rate µ, at least for all the packets that were sent during the same burst. At the same time, given that these bursts are not big enough to cause a non-zero backlog throughout the round trip, this assumption does not hold during part of each round trip.

The total duration of this phase and the total amount of traffic sent during this phase are :

T 1 = t 1 + 1 µ b α 1 k R 1 = R in (t 1 ) + (1 -β) b α 1 k
where t 1 and R in (t 1 ) are given by ( 6) and (4), respectively, and where we have used the fact that w f = (b/α) is not too surprising, given that, in this phase, the fluid model is not the best approximation for a packet based system. As we have previously pointed out, the fluid model predicts a constant round trip time and an empty buffer and we have to consider packet bursts in order to get an estimate of the window size when a packet is dropped. Furthermore, we have assumed that a single packet is dropped at each congestion event so that the sender can use fast retransmit/recovery. Given that, in this case, packets are dropped when the window is rapidly increasing, the single packet drop assumption does not necessarily hold. Indeed, in the simulation shown in Figure 6, it is the case that either two packets are dropped during the same round trip time or two packets are dropped in two consecutive round trip times, causing the window to be cut twice (from 364 to 92). Even if the Linux implementation seems to be capable of quickly recovering, the window dynamics after a congestion event are not accurately described by the fast retransmit/recovery mechanism that we have described above. We believe that for this reason the model underestimates the length of each congestion epoch while average value of w is roughly correct.

Case 2 : Phases 1 and 2

If α(µτ ) k < b < θ max -µτ phase 2 does take place and ends with a buffer overflow when w = w f = b + µτ . If b < βµτ 1-β the buffer will be empty at the end of the pause time following the triple duplicate acknowledgment so that the connection will be in phase 1 at the beginning of the following cycle.

Figure 7 compares simulation and theoretical model for this case (µ = 100 Mb/s, τ = 50 ms, b = 25 MSS, MSS=1500 B, and γ = 30 MSS). As in the previous case the single packet drop assumption does not hold. At each congestion event in the simulation, between 6 and 12 packets are dropped during the same round trip time or during two consecutive round trip times. This explains why the window is reduced twice most of the times in Figure 7 (more precisely, for five congestion events, four times the window is reduced twice and once is reduced once).

Case 3 : Phase 2 Only

As in the previous case if α(µτ ) k < b < θ max -µτ phase 2 does take place and ends with a buffer overflow when w = w f = b + µτ . But, if b > βµτ 1-β the buffer will never be empty.

Note that for this case to take place γ would need to be incremented to an unrealistic value. Given that we need βµτ 1-β < b < θ max -µτ to be in this case, and increasing γ is the only way to increase θ max while still having θ max -µτ > βµτ 1-β . In practice we believe that this case will be encountered rarely and it is presented only for completeness. In the simulations, as in the previous two cases, multiple packets are dropped at each congestion event : in this case six packets are dropped each time and the window is always reduced twice.

Figure 8 shows the window according to the model and the simulation with µ = 50 Mb/s, τ = 20 ms, b = 85 MSS, MSS=1500 B, and γ = 90 MSS.

Case 4 : Phases 1, 2, 3 and 4

If θ max -µτ < b < β 1-β µτ the connection goes through all the four phases and phase 4 ends with a buffer overflow. Therefore w f = b + µτ and (1 -β)w f < µτ implying that the buffer will empty after the overflow.

Figure 9 compares the evolution of w from the simulation with the fluid model. In this case µ = 100 Mb/s, τ = 50 ms, b = 80 MSS, MSS=1500 B, and γ = 30 MSS. The match is quite accurate, even though it is possible to notice that after three cycles there is a slight difference between the two curves. This is due to the fact that the time between two packet drops predicted by the fluid model it is not exactly the same as the one in the simulation.

In the simulation w oscillates during the "constant window" phase, as discussed in section 3. In Figure 9 the value used for the fluid model during this phase is calculated as the average between the maximum and minimum values given by the solution of the corresponding fixed point equation, presented in section 3.2. In order to be in this case the backlog needs to be always non-zero so that the window needs to reach bigger values than in case 4 and the constant window phase will always be small compared to the total time between packet drops.

Case 6 : Phase 4 Only

If b > βµτ +γ 1-β the backlog is always greater than γ so that phase 4 is the only one. Figure 11 compares the fluid model with the simulation when µ = 100 Mb/s, τ = 50 ms, b = 500 MSS, MSS=1500 B and γ = 30 MSS. In this case the behavior of CTCP is the same as Reno and there is a better, even though not perfect, match between the fluid model and the simulations.

Case Selection

In the case of an isolated connection only one of them will take place, depending on the system parameters (b and µτ ).

In the previous sections we have described all the possible six cases for the evolution of the sending window. Figure 12 shows the different cases on the b-µτ plane. Note that both axis use a logarithmic scale. The discontinuities and the "fuzziness" in the lines between cases 2 and 4 and between cases 5 and 6 are due to the integer approximations used to compute θ max and to different oscillation types (3 :1, 5 :2, etc.).

The dotted line in the middle of the figure represents the boundary between cases 2 and 4 if the oscillations during phase 3 are ignored, that is if we take θ max = µτ + γ. This is another example of the consequence of these oscillations. The behavior in cases 2 and 4 is significantly different : in case 2 packets are dropped before the "constant window" phase causing large oscillations in the window and lower throughput while in case 4 the connection goes through all the phases with a throughput close to the link capacity. Ignoring the oscillations would lead to the wrong conclusion that for large values of the bandwidth delay product case 2 is no longer possible and that the only possible issue would be if the buffer is much smaller than the bandwidth delay product so that case 1 would take place. Due to the oscillations, even much larger values of the buffer might not be enough to guarantee a high throughput. Figure 12 was plotted using γ = 30 and the standard values for all the other parameters. For arbitrary values of the parameters it is possible to use the flow chart in Figure 13 to find the corresponding case. In order to use this flow chart one needs to know the values of the all the parameters and of θ max , which can be computed as discussed in section 3 for the Linux implementation we have used. As we have previously mentioned for different implementations θ max will be different but it is the only implementation-specific parameter used.

Steady State Performances

Throughput

Using the model presented in the previous sections it is possible to compute the average throughput of an isolated CTCP connection. More precisely solving the fixed point equations presented in section 3.2 and then using the flow chart in Figure 3 it is possible to compute θ max . Using this value and the flow chart 13, the corresponding case can be found so that the evolution of the window is known. We have implemented this procedure in order to compute the average throughput ( λ) for different values of the bottleneck capacity. Figure 14 compares the normalized throughput ( λ/µ) computed using the theoretical model and the results of some simulations with b = 100 MSS, τ = 50 ms, MSS=1500 B and γ = 30 MSS (each square corresponds to a simulation). To compute the throughput in the simulations we ignore the slow start phase. In a realistic setting, where some of the connections send small amounts of data, ignoring the slow start might not be appropriate. But here we are interested in comparing the simulations with the theoretical model we presented, which does not model slow start.

The first change in throughput at µ = 273 Mb/s is caused by a transition from case 4 to case 2, due to the increase in the size of the oscillations during phase 3. At µ = 320 Mb/s the oscillation type changes from 4 :2 to 3 :2 causing smaller oscillations and a transition back to case 4 from case 2 (this corresponds to the reduction at µτ = 1340 MSS in Figure 5). In this region θ max is close to b + µτ and it is possible for a packet to be dropped before the oscillations reach steady state (recall that θ max is the maximum value of the window during the oscillations in steady state). This is confirmed by the simulations : for µ = 330 Mb/s and µ = 360 Mb/s phases 3 and 4 do take place so that we are in case 4 while for µ = 350 Mb/s packets are dropped during phase 2 and we are in case 2. At µ = 400 Mb/s the oscillations during phase 3 are sufficiently large to cause a buffer overflow causing the transition from case 4 to case 2.

Until µ = 273 Mb/s, that is during case 4, there is a very good match between the model and the simulations. For case 2, instead, the match is not as good. As already discussed in section 4.2, in this case multiple packets are dropped at each congestion event, violating one of the assumptions of the model. We have also noticed that, in several cases, the window will oscillate a few times before packets are dropped, extending the length of each congestion epoch. At the same time we do not have an explanation for the fact that there is a bigger difference between the model and the simulation for µ = 800 Mb/s and µ = 900 Mb/s.

As discussed in section 3.4, even for γ = 5 the amplitude of the oscillations is an increasing function of µ. For example, if γ = 5 the transition from case 4 to case 2 takes place when µ ≃ 410 Mb/s, indicating that the TUBE algorithm can shift this problem to higher bit rates but it does not solve it completely.

Average Backlog

Using the equations describing the evolution of the sending window, presented in section 4, and with some simple but tedious algebra, it is possible to compute the average backlog at the bottleneck link. Using the same procedure described for the throughput it is possible to determine which case the connection will follow and then use the appropriate formula for the average backlog.

Figure 15 shows the average backlog for different values of µ, according to the model and to the simulations (with the same parameters used for the throughput analysis). As in the previous section each square corresponds to a simulation, ignoring the slow start phase to compute the average backlog. The rapid decrease at µ = 131 Mb/s corresponds to the oscillations changing from 3 :1 to 5 :2. The 5 :2 oscillations are present between 131 Mb/s and 138 Mb/s (which correspond to the peak between µτ = 546 MSS and µτ = 574 MSS in Figure 5). When the oscillations change from 3 :1 to 5 :2 the double reduction causes the backlog to decrease further at each oscillation and the average value is lower as well. Between µ = 138 Mb/s and µ = 273 Mb/s the 4 :2 oscillations have increasing amplitude, causing the average backlog to increase as well. It is interesting to note how these different types of oscillations (3 :1, 5 :2 and 4 :2) have a negligible effect on the throughput while they have a significant impact on the backlog. This is because during the oscillations, which are present only during phase 3, the backlog is nonzero most of the time, leading to high throughput, but the window oscillations cause similar oscillations in the backlog size affecting its average value.

For values of µ above 273 Mb/s Figures 15 and 14 have the same discontinuities, caused by the same underlying changes in the evolution of the sending window, as described in the previous section.

It is interesting to note how the oscillations during phase 3 do affect the performance of CTCP, both in terms of throughput and of average backlog size. Modifying the protocol in order to significantly reduce their amplitude would be a worthwhile endeavor. One such way could be to use smaller increments and decrements after full utilization is detected, that is after ∆ i is positive but such modifications are outside the scope of this work.

Conclusions

We have presented a complete model for an isolated CTCP connection and we have validate it with ns-2 simulations using a Linux implementation of CTCP. To the best of our knowledge this is the first complete model of CTCP which has led us to identify its significantly different behaviors depending on the system parameters. While the basic idea of combining a delay and a loss based approach is fairly simple but the resulting protocol is far from it and its behavior is much more complicated to analyze than that of TCP Reno, even in the simple case of an isolated connection.

While the model does not always match the simulations with great precision it does accurately predict the overall evolution of the window and it has allowed us to identify the different regimes of CTCP. As the performances, in terms of throughput and average backlog size at the bottleneck link, do depend on these regimes the model can be used to analyze them, helping to find for which values of the system parameters the performances will change.

We have also highlighted how the oscillations during the "constant window" phase do have a non negligible impact on the performance and how it is not possible to reduce their size by simply reducing the value of the parameter γ. We believe that modifying the protocol in order to significantly reducing the size of the oscillations could have a significant impact. Especially given that, even though we have not addressed the issue, they can adversely effect the other traffic sharing the same links.

Fig. 2 -

 2 Fig. 2 -Oscillations of w (ns-2 simulation : µ = 100 Mb/s, τ = 50 ms)

INRIA

Fig. 3 -

 3 Fig. 3 -How to find the type of oscillations case cond. 1 cond. 2 cond. 3 µτ interval(γ = 30) 2 :1 ∆ 2 < γ ∆ 3 ≥ γ ∆ 4 < γ [545, 558] 3 :1 ∆ 3 < γ ∆ 4 ≥ γ ∆ 5 < γ [312, 545] 5 :2 ∆ 5 < γ ∆ 6 ≥ γ ∆ 7 ≥ γ [546, 573] 4 :2 ∆ 4 < γ ∆ 5 ≥ γ ∆ 6 ≥ γ [559, 1411 3 :2 ∆ 3 < γ ∆ 4 ≥ γ ∆ 5 ≥ γ [1342, ∞)

Fig. 4 -

 4 Fig. 4 -Type of oscillations for γ = 30

Fig. 6 -

 6 Fig. 6 -The window in case 1

Figure 6 Fig. 7 -

 67 Fig. 7 -The window in case 2

Fig. 8 -

 8 Fig. 8 -The window in case 3

Fig. 9 -Fig. 10 -Fig. 11 -

 91011 Fig. 9 -The window for case 4

INRIA

Fig. 12 -Fig. 13 -

 1213 Fig. 12 -Different cases on the b-µτ plane

Fig. 14 -

 14 Fig.14 -Normalized throughput

Fig. 15 -

 15 Fig. 15 -Average backlog size

RR n➦ 6778

Clearly in the final version only one of the two approaches will be presented. I have to check which one give the best estimate.RR n➦ 6778


M Mar

M Dubois
email: marc.dubois@uca.fr

K Guérin

N Batisse

B Simon

P Bernard

High energy primary lithium battery using oxidized subfluorinated graphite fluorides

Keywords: Lithium-ion battery, graphite oxyfluoride, solid-gas fluorination, energy density

Different graphite oxyfluorides were synthesized via Hummer's oxidation of sub-fluorinated graphites in order to maintain sp 2 carbon atoms available for the oxidation, C-F bonds being nonreactive. In comparison with the graphite fluoride precursors, significant improvement of the energy density in primary lithium battery is achieved when the graphite oxyfluorides are used as cathode. When the Hummer's oxidation was carried out on graphite fluoride with both CF0.60 composition and a homogenous dispersion of non-fluorinated regions into fluorinated lattice, oxidation focused on the remaining sp 2 carbon atoms and decomposed them. Defected graphite fluorides were then synthesized. The highest ever measured energy density in primary lithium battery with fluorinated carbons as cathode, i.e. 2825 Wh.Kg -1 , was reached with this particular sample. Solid state NMR allowed the functional groups C-F, COC, COH, COOH and sp 2 C to be quantified in graphite oxyfluorides and fluorides and their role in electrochemical processes to be highlighted.

Introduction

Although promising performances as cathode in primary lithium battery, only a few works have been devoted to graphite oxyfluorides [START_REF] Lagow | Some new synthetic approaches to graphite-fluorine chemistry[END_REF] [START_REF] Mitkin | New Family of Graphite Fluoroxides-Sources for the Generation of Highly Porous, Thermally Expanded Graphites for Li Cells (Review)[END_REF]. For such application, most of the studies about covalent GICs concern graphite oxides (GO) [START_REF] Hunger | Cathodic Discharge of Graphite Intercalation Compounds in Organic Electrolytes[END_REF][START_REF] Yazami | Stockage électrochimique de l'énergie dans les composés d'insertion du graphite[END_REF] and mainly graphite fluorides (GF) [START_REF] Ruff | Die Reaktionsprodukte der verschiedenen Kohlenstoffformen mit Fluor II (Kohlenstoff-monofluorid)[END_REF][START_REF] Kita | Chemical composition and crystal structure of graphite fluoride[END_REF][START_REF] Rüdorff | Zur Konstitution des Kohlenstoff-Monofluorids[END_REF][START_REF] Braeuer | High energy density battery[END_REF][START_REF] Braeuer | Feasability study of the lithium/CxF primary cell[END_REF][START_REF] Reddy | Improving the Energy Density and Power Density of CFx by Mechanical Milling: A Primary Lithium Battery Electrode[END_REF][START_REF] Nakajima | Fluorine-carbon and fluoride-carbon materials: chemistry, physics, and applications[END_REF][START_REF] Nakajima | Graphite fluorides and carbon-fluorine compounds[END_REF] That is easily explained by high energy density 700 Wh.kg -1 (1000 Wh.l -1 ), flat plateau at 2.6 V, broad operating temperature range [-40 to 90°C] and reliability on long term (20 years) recorded for Li/fluorinated carbons (CFx) systems. Nevertheless the rare works on oxyfluorides suggest high potentialities such as an energy density of 1347 Wh.Kg -1 for sample obtained by a two-step synthesis combining fluorination and oxidation [START_REF] Al-Saleh | fluorure et oxyfluorure de graphite : synthèse-étude structurale-propriétés electrochimiques[END_REF] and even 2265 Wh.Kg -1 , thus exceeding graphite fluorides [START_REF] Ruff | Die Reaktionsprodukte der verschiedenen Kohlenstoffformen mit Fluor II (Kohlenstoff-monofluorid)[END_REF][START_REF] Kita | Chemical composition and crystal structure of graphite fluoride[END_REF][START_REF] Rüdorff | Zur Konstitution des Kohlenstoff-Monofluorids[END_REF][START_REF] Braeuer | High energy density battery[END_REF][START_REF] Braeuer | Feasability study of the lithium/CxF primary cell[END_REF][START_REF] Reddy | Improving the Energy Density and Power Density of CFx by Mechanical Milling: A Primary Lithium Battery Electrode[END_REF][START_REF] Nakajima | Fluorine-carbon and fluoride-carbon materials: chemistry, physics, and applications[END_REF][START_REF] Nakajima | Graphite fluorides and carbon-fluorine compounds[END_REF]. Fluorinated oxides were highly capacitive while oxidized fluorides have highest discharge potential despite having the same graphite precursor. Such data demonstrated that engineering the synthesis enables to modulate the properties. Two routes may be used : i) fluorination of GO with pure molecular fluorine F2 [START_REF] Nakajima | Discharge characteristics of fluorinated graphite-oxide[END_REF][START_REF] Nakajima | Chapter 15 "Fluorinated carbon materials for energy conversion[END_REF] or mixed medium F2-HF-IF5 [START_REF] Al-Saleh | fluorure et oxyfluorure de graphite : synthèse-étude structurale-propriétés electrochimiques[END_REF] as well as liquid HF [START_REF] Pu | Simple method for the fluorinated functionalization of graphene oxide[END_REF], [START_REF] Wang | Synthesis of fluorinated graphene with tunable degree of fluorination[END_REF] or solid-liquid fluorination of oxides, which enables exfoliation [START_REF] Bruna | Synthesis and properties of monolayer graphene oxifluoride[END_REF], in hot HF solution [START_REF] Nakajima | Formation process and structure of graphite oxide[END_REF][START_REF] Matsuo | Electrochemical oxidation of graphite in aqueous hydrofluoric acid solution at high current densities[END_REF][START_REF] Jankovský | Water-soluble highly fluorinated graphite oxide[END_REF], under irradiation [START_REF] Gong | Photochemical synthesis of fluorinated graphene via a simultaneous fluorination and reduction route[END_REF] or ii) oxidation of GF using either Brodie's [START_REF] Nakajima | Graphite fluorides and carbon-fluorine compounds[END_REF] or Hummers' oxidation [START_REF] Yan | Preparation and liquid-phase exfoliation of graphite fluoroxide towards graphene fluoroxide[END_REF]. Nevertheless, Lagow concluded that GF was inert [START_REF] Lagow | Some new synthetic approaches to graphite-fluorine chemistry[END_REF]. Our recent works review the two-steps syntheses of graphite oxyfluorides based on direct fluorination with F2 and Hummers' process [START_REF] Mar | Tuning fluorine and oxygen distribution in graphite oxifluorides for enhanced performances in primary lithium battery[END_REF]. Both fluorination/oxidation and oxidation/fluorination sequences are efficient to prepare oxygen and fluorine rich graphite oxyfluorides, among them some are suitable for high energy cathode materials. Through both the adequate selection of precursor (GF with CF0.3 composition in order to oxidize free carbons atoms) and control of Hummers' method temperature, homogeneous dispersions of F and O atoms were obtained at the end of oxidation/fluorination path while the reverse route results in a clear establishment of distinguished phases. Optimization of the conditions enables to reach Russian dolls structures for each crystallite from one to three parts. Inclusion of graphite core is particularly interesting for electrochemical properties in so far as oxygenated and fluorinated regions are non-conductive. Enhanced electrochemical properties of oxyfluorides were obtained for a well-defined structuration of fluoride and oxide phases together with some residual carbon phases insuring good electronic conductivity.

Because of GF stability in organic electrolytes [START_REF] Braeuer | High energy density battery[END_REF][START_REF] Braeuer | Feasability study of the lithium/CxF primary cell[END_REF][START_REF] Nakajima | Fluorine-carbon and fluoride-carbon materials: chemistry, physics, and applications[END_REF][START_REF] Nakajima | Graphite fluorides and carbon-fluorine compounds[END_REF][START_REF] Al-Saleh | fluorure et oxyfluorure de graphite : synthèse-étude structurale-propriétés electrochimiques[END_REF] carbon fluoride phase must be at the surface of the grain preventing from interaction in between electrolyte and electrode materials. Then, the good capacitive performances of the oxide phase can be expressed. An energy density as high as 2400 Wh.Kg -1 was then obtained for triphasic GF/GO/Graphite compound. With the idea to keep CFx phase as a protective, and electrochemically active, shell to avoid side reactions of GO phase with the electrolyte, oxyfluorides with different fluorine contents were synthesized. The F/C atomic ratio was fixed in the GF starting material according to the fluorination conditions (F2 flux, duration and temperature). Moreover, the dispersion of fluorinated regions into the carbon lattice was tailored thanks to the fluorination process, either with a flux of molecular fluorine or with atomic fluorine, which is released by the thermal decomposition of a solid fluorinating agent such as terbium tetrafluoride.

For different graphitized nanocarbons, nanofibers [START_REF] Zhang | Carbon nanofibres fluorinated using TbF4 as fluorinating agent Part I[END_REF], nanodiscs [START_REF] Ahmad | The synthesis of multilayer graphene materials by the fluorination of carbon nanodiscs/nanocones[END_REF] and carbon blacks [START_REF] Ahmad | Structure control at the nanoscale in fluorinated graphitized carbon blacks through the fluorination route[END_REF], the fluorination mechanisms differ according to the reaction species, F2 or F • ; TbF4 allows a continuous addition of fluorine to carbon matrix and a more progressive fluorination resulting in higher homogeneity of the materials using this controlled process by comparison with the direct fluorination using fluorine gas. In other words, F• allows a homogenous dispersion of fluorinated regions into the carbon lattice to be obtained in the whole volume. With F2 gas, fluorination occurred first on the outer tubes, discs or shells and then progressed to the core of the nanocarbons keeping the core unfluorinated for F/C lower than one. Moreover, the fluorination using TbF4 decomposition generates the formation of an unique highly fluorinated phase, i.e. (CF)n type, whatever the fluorination temperature, the C-F bonding being covalent. (C2F)n structural type was always present as an intermediate phase of (CF)n with molecular fluorine F2 whatever the nanocarbon.

Experimental

Materials

Commercial TIMREX KS15 Graphite was purchased from Timcal. The in-plane length is about 17 µm while thickness of each platelet is about 100-200 nm. Scanning Electronic Microscopy (SEM) confirmed those data.

Direct fluorination (F2) of graphite

Fluorination was performed by gas-solid reaction with a flux of pure F2 gas into a nickel reactor covered with NiF2 as a passivation layer. F2 of 99% purity was purchased from Solvay. The fluorination of graphite was carried under static mode (closed reactor) to control the stoichiometry and to ensure homogeneity on 10 g-batch samples. Oxidation being known to mainly affect graphite phase, low fluorine contents were selected in order to achieve polyphasic compounds. So, F/C atomic ratio of 0.17, 0.30 and 0.48 were selected thanks to the reaction temperature, i.e. 355, 370 and 400°C for 3 h, respectively, compounds being denoted DF0.17, DF0.27 and DF0.48 (DF for direct fluorination). First, the reactor was purged from O2 and moisture from air with dynamic vacuum overnight. Then, a finite quantity of molecular fluorine F2 was introduced and the reactor was heated to the selected temperature until consumption of fluorine (i.e. pressure decrease). Finally, the reactive atmosphere was eliminated under N2 flow after cooling of the reactor.

Controlled fluorination with atomic fluorine F•

A nickel closed reactor was used in order to preserve the defined fluorine amount (atomic and/or molecular) released by the thermal decomposition of TbF4. A two-temperature oven was used: the part containing TbF4 (6.2 g) was heated at 450 °C whatever the experiment whereas graphite (0.250 g) were heated at temperatures TF of 430 and 480 °C. A reaction time of 16 h was used. Prior to the heating, a primary vacuum (∼10 -2 atm) was applied into the reactor. CF0. [START_REF] Zhang | Carbon nanofibres fluorinated using TbF4 as fluorinating agent Part I[END_REF] and CF0.60 were then synthesized taking into account the resulting fluorine contents of CF0.25 and CF0.60 (CF for controlled fluorination).

Hummers' oxidation.

Details are given in ref [START_REF] Mar | Tuning fluorine and oxygen distribution in graphite oxifluorides for enhanced performances in primary lithium battery[END_REF]. 500 mg of GF was mixed to 500 mg of NaNO3 in an Erlenmeyer flask.

After placing it in an ice-bath, 33 ml of concentrated H2SO4 were added while stirring. 3.5 g of KMnO4 were carefully introduced after what the medium was heated to 35°C for 1h. Then 50 ml of distilled water were poured on with caution since the reaction is strongly exothermic. Finally, the medium was heated at 98°C for 45 min. 3 ml of H2O2 (30%) were added before washing-filtration process. The

Physicochemical characterizations

X-ray diffraction (XRD) diagrams were recorded using a PHILIPS diffractometer with a Cu (Kα) radiation (λ = 1.5406 Å). NMR experiments were carried out with a Bruker Avance spectrometer, with working frequencies for 13 C and 19 F of 73.4 and 282.2 MHz, respectively. A magic angle spinning (MAS) probe (Bruker) operating with 2.5 mm rotors was used. For MAS spectra, a simple sequence was performed with a single π/2 pulse length of 4.0 and 3.5 µs for 19 F and 13 C, respectively. 13 C chemical shifts were externally referenced to tetramethylsilane (TMS). 19 F chemical shifts were referenced with respect to CFCl3.

Electrochemical tests.

The electrochemical tests were determined through galvanostatic discharges. The electrodes were composed of the sample (about 80% by weight, w/w), acetylene black (from Mersen 10%, w/ w) to ensure electronic conductivity and polyvinylidene difluoride (PVDF from Aldrich 10%, w/w) as binder.

After stirring in propylene carbonate (PC), the mixture was spread uniformly onto a stainless steel current collector disk of 12 mm in diameter. Finally, after PC evaporation, the disk was heated under vacuum at 40°C then 120°C, during 1h for each temperature, to remove traces of water and solvent. A two electrodes cell was used, where lithium was both reference and counter electrodes. A polypropylene microporous film, wet with electrolyte composed of a lithium salt (LiClO4 or LiPF6) dissolved as 1 mol L -1 in PC (propylene carbonate) or a mixture of PC-EC (ethylene carbonate)-DMC (dimethyl carbonate), was sandwiched between the composite electrode and a lithium metal foil. The cells were assembled in an argon filled dried glove box. Relaxation was performed for at least 5 h until the open circuit voltage (OCV) stabilization. Galvanostatic discharges, carried out on a VMP2 from Biologic, under current density of 10 mA.g -1 , were acquired at room temperature between the initial OCV and 1.5 V. The discharge potential is measured at half of the discharge and is noted E1/2.

Results and Discussion

Fig. 1 shows XRD diagrams for graphite fluorides precursors (DF series) and oxyfluorides resulting from the Hummer's oxidation; pattern of graphite oxide GO is shown for comparison.

All the peaks at low 2theta values are assigned to (002) reflection of lamellar materials derived from graphite. First, graphite has typical signal at 26° in 2theta corresponding to interlayer distance of 0.335 nm. Coherence length of crystallite along the c axis, Lc, collapsed from 130 nm in KS15 to 13 nm in DF0.17, 7 in DF0.27 and 5 nm in GO (Table 1). All particles were affected by the direct fluorination or the oxidation. The values for the others samples cannot be estimated. The position of (002) reflection of (CF)n type with an interlayer distance of 0.66 nm instead of 0.6 nm for single (CF)n type underlines the presence of a mixture of (CF)n and (C2F)n; for this latter phase the expected interlayer distance is 0.8 nm. Only (001) reflection of GF phase is apparent on XRD pattern for DF0.48 at 2theta equal to 42°, (002) reflection being ill-defined. The differences are important after oxidation. In one hand, (CF)n phase (002) reflection at 14° seems to remain identical whatever the oxyfluoride O-DF. In the other hand, for the case of DF0.27 and DF0.17, oxidation induces conversion of graphite phase into graphite oxide according to the total disappearance of graphite peaks (at 26 and 42°) and presence of a shoulder at 12°. The new materials are biphasic as its precursor thanks to conversion of residual graphite into graphite oxide.

Graphite/(CF)n biphasic compound is converted into graphite oxide/(CF)n one, biphasic too. No evident conclusion can be done after oxidation of DF0.48, the XRD pattern being ill-defined. Solid state NMR will be used to further investigate this sample. XRD patterns are close for DF0.48 and O-DF0.48. GO does not feature graphite phase peaks but only the one related to graphite oxide phase at 12°. Such a value suggests that interlayer spacing is 0.74 nm due to oxygenated functions. The compound was characterized by 13 C MAS-NMR for quantitative data (Fig. 2a). The functional groups in the two extremes will be discussed first, i.e. GF and GO. Graphite oxide exhibits the following functional groups: epoxides COC (with chemical shift of 60 ppm), hydroxyls COH (70 ppm), sp 2 carbon in oxidized environment (sp 2 C at 135 ppm whereas pure graphitic carbon atoms result in a line at 120 ppm), and carboxyl groups COOH (165 ppm). Fits of the spectra give atomic and functional compositions of the compounds (Table 2). GO has classical O/C ratio of 0.59 [START_REF] Lagow | Some new synthetic approaches to graphite-fluorine chemistry[END_REF][START_REF] Yazami | Stockage électrochimique de l'énergie dans les composés d'insertion du graphite[END_REF], functionalized carbons percentage %Cfct, i.e. all carbon atoms linked to a heteroatom (oxygen or fluorine), is equal to 63-64% (see table 2). Conduction electrons hinder the NMR measurements and lead to a significant broadening when the fluorine content is low, as for DF0.17 and DF0.27. The main line at 132 ppm is assigned to sp 2 hybridized carbon atoms whereas the shoulder around 80 ppm is typical of C-F bonds [START_REF] Panich | Nuclear magnetic resonance study of fluorine-graphite intercalation compounds and graphite fluorides[END_REF][START_REF] Mallouk | Infrared and NMR Studies of the Graphite Hydrofluorides)[END_REF][START_REF] Touhara | Property control of carbon materials by fluorination[END_REF][START_REF] Dubois | EPR and solid-state NMR studies of poly(dicarbon monofluoride) (C2F)n[END_REF][START_REF] Giraudet | Solid-state F-19 and C-13 NMR of room temperature fluorinated graphite and samples thermally treated under fluorine: Low-field and high-resolution studies[END_REF]. The peak broadening is also observed on 19 F MAS spectrum (Fig. 2b). The main line around -200 ppm is related to covalent C-F bonds [START_REF] Panich | Nuclear magnetic resonance study of fluorine-graphite intercalation compounds and graphite fluorides[END_REF][START_REF] Mallouk | Infrared and NMR Studies of the Graphite Hydrofluorides)[END_REF][START_REF] Touhara | Property control of carbon materials by fluorination[END_REF][START_REF] Dubois | EPR and solid-state NMR studies of poly(dicarbon monofluoride) (C2F)n[END_REF][START_REF] Giraudet | Solid-state F-19 and C-13 NMR of room temperature fluorinated graphite and samples thermally treated under fluorine: Low-field and high-resolution studies[END_REF]. 13 C MAS-NMR are only semi-quantitative because of residual graphite phase and XPS gives the surfacic composition of CF0.27 and CF0.17 for DF0. [START_REF] Ahmad | Structure control at the nanoscale in fluorinated graphitized carbon blacks through the fluorination route[END_REF] and DF0.17. The compositions were in good accordance with weight uptake during the fluorination. For the case of DF0.48, the fluorination level is enough to avoid perturbation due to conduction electrons, the lines being narrow and well defined at 132 ppm (non-fluorinated sp 2 C atoms in interaction with neighboring C-F), 87 ppm (covalent C-F) and 42 ppm on 13 C spectrum [START_REF] Panich | Nuclear magnetic resonance study of fluorine-graphite intercalation compounds and graphite fluorides[END_REF][START_REF] Mallouk | Infrared and NMR Studies of the Graphite Hydrofluorides)[END_REF][START_REF] Touhara | Property control of carbon materials by fluorination[END_REF][START_REF] Dubois | EPR and solid-state NMR studies of poly(dicarbon monofluoride) (C2F)n[END_REF][START_REF] Giraudet | Solid-state F-19 and C-13 NMR of room temperature fluorinated graphite and samples thermally treated under fluorine: Low-field and high-resolution studies[END_REF]. This latter is assigned to non-fluorinated sp 3 carbon atoms typical of (C2F)n structural type. As a matter of fact in this structure, the stacking sequence is FCCF/FCCF, half of the carbon atoms being non-fluorinated (FCF/FCF stacking sequence for (CF)n type). The presence of the (C2F)n is also evidenced by the shoulder at -176 ppm on the main line related to covalent C-F at -190 ppm (Fig. 2b). Non-fluorinated sp 3 carbon atoms act on covalence of the C-F bonds in their neighboring. A few CF3 (-83 ppm) and CF2 (-115 ppm) are also present. 13 C MAS-NMR spectrum of DF0.17 (Fig. 2a) being not resolute because of the low fluorine content, the resulting oxyfluorides cannot be numerically compared to the precursors. For O-DF series, the spectra consist in the superimposition of the lines characteristic of oxide and fluoride materials. The chemical shifts of the various groups are similar to the single phases.

Epoxide (revealed by a line at 60 ppm), hydroxyl groups (70 ppm), COOH (165 ppm) and sp² C (around 136 ppm) coexist with covalent C-F bonds (87 ppm). 19 F NMR spectra are similar before and after Hummer's oxidation. Fluorine nuclei do not interact with oxygenated functions nor with sp² C.

According to the non-reactivity of fluorinated phase, sp 2 carbon atoms seem to remain in the GO phase, probably in nanometric islands [START_REF] Kuriakose | Kinetics of the reactions of elemental fluorine. IV. Fluorination of graphite[END_REF] rather than in graphite fluoride phase. C-F bonds, CF2

(revealed by the presence of the line at -115 ppm) and CF3 groups (line at -83 ppm in very low amounts) exhibit also similar chemistry in O-DF0.17 and O-DF0.27 in comparison with raw DF0.17 Controlled fluorination with atomic fluorine allows this (C2F)n type to be avoided in graphitized nanocarbons [START_REF] Zhang | Carbon nanofibres fluorinated using TbF4 as fluorinating agent Part I[END_REF][START_REF] Ahmad | The synthesis of multilayer graphene materials by the fluorination of carbon nanodiscs/nanocones[END_REF][START_REF] Ahmad | Structure control at the nanoscale in fluorinated graphitized carbon blacks through the fluorination route[END_REF]; this process was carried out to prepare CF0.25 and CF0.60 precursors. Rather than XRD and the slight decrease of the interlayer distance at 0.6 nm, typical of (CF)n phase, 13 C NMR underlines the absence of (C2F)n type because no line is observed at 42 ppm. The shoulder typical of Different distributions of GO, GF and graphite phases are expected in these two oxyfluorides. It is interesting to note that the relative content of COC is 23% in O-CF0.25 significantly higher than in O-DF0.27 (14%), the content of C-OH being close (13 and 15 %, respectively). Such differences would change the electrochemical properties as cathode in primary lithium battery. Surprisingly, no resonance line related to oxygenated group is present in O-CF0.60 as revealed by 13 C NMR. Their relative contents are too low to be detected. Oxidation may result also in the decomposition of sp 2 carbon atoms. The fluorine content increased from F/C equal to 0.60 to 0.79 after oxidation because some sp 2 C are consumed by the oxidation; the relative intensity of the sp 2 C line decreases (from 40 to 21%). The fluorinated phase must be highly defected in the resulting sample, with holes where sp 2 carbons were initially present. On the contrary XRD pattern evidences the presence of a minor GO phase taking into account the peak around 11° with an interlayer distance of 0.77 nm (Table 1). The 2 and3). In accordance with the literature [START_REF] Touzain | Lithium-graphitic oxide cells part II: High specific surface area graphitic oxide as cathode material for lithium batteries[END_REF], graphite oxide GO exhibits a reduction at lower voltage (E1/2 = 2.17 V for 64% C functionalized) than carbon fluorides (2.73 V for 48% C functionalized, i.e. for DF0.48). With such a potential difference, a biphasic GF/GO compounds must exhibit a galvanostatic curve with 2 wellseparated plateaus especially as those latter are well defined (flat) in the pure GO and GF. On the contrary, the discharge profiles of oxidized DF and CF do not allow the reductions of the carbonfluorine and carbon-oxygen bonds to be distinguished. Even if the material is biphasic with carbon fluoride in surface and carbon oxide in the core, the progressive defluorination of the material sets lithium diffusion channels favorable to the reduction of the GO core of the material.

Epoxide groups are theoretically the most capacitive; however the experimental capacity is not as huge as expected. 488 mAh/g is recorded for GO whereas 632 mAh.g -1 is theoretically expected Side reactions with the electrolyte may explain such a behavior that avoids the maximal capacity to be reached. The comparison between GO and O-DF0.27 validates our strategy to cover GO phase by GF, graphite fluoride being less or not sensitive to the electrolyte nature. In this series, the best material is O-DF0.48 with a capacity of 680 mAh.g -1 and an energy density of Oxidation results in the decomposition of residual sp 2 carbon atoms and then in defected graphite fluoride with interesting properties. Such non-expected results are also obtained with O-CF0.60 for which the fluorine content is higher. The experimental capacity of 870 mAh.g -1 exceeds the theoretical one (784 mAh.g -1 ) whereas the discharge potential is still high (2.50 V). A huge energy density of 2825

Wh.Kg -1 is then reached. The higher fluorine content (CF0.79) may not explain the recorded value and a synergetic effect of defects may be proposed. With the initial homogenous dispersion of sp 2 carbon regions into the fluorinated parts thanks to the controlled fluorination with atomic fluorine, the decomposition of those sp 2 islands results in a homogenous repartition of defects in graphite fluoride phase. Presence of a few residual COC is possible as evidenced by XRD; their low amounts avoid their detection by NMR. The energy density of 2825 Wh.Kg -1 exceeds the higher value of 2265 Wh.Kg - 1 reported up to now (+25%). In a recent paper [START_REF] Mar | Tuning fluorine and oxygen distribution in graphite oxifluorides for enhanced performances in primary lithium battery[END_REF], mild oxidation of graphite fluoride with composition CF0.30 results in energy density of 2398 Wh.Kg -1 with the same electrochemical conditions (electrolyte and current density). The composition of the graphite oxyfluoride was C0.47(COC)0.29(COH)0.05(CF)0.19. The enhancements have been assigned to the multiphase GF/GO/Graphite nature as an optimal stack. GF and GO are electroactive whereas residual sp 2 carbons in graphite may ensure the electron flux [START_REF] Yazami | Fluorinated carbon nanofibres for high energy and high power densities primary lithium batteries[END_REF]. In other words, synergetic effects between the various functional groups and sp 2 C may occur. It is to note that the experimental capacity is significantly higher (870 mAh.g -1 ) than theoretical value (784 mAh.g -1 ) for the case of O-CF0.60. The first explanation is related to an overestimation of oxygenated groups using NMR data because of their low contents. On the other hand, the decomposition during the oxidation of CF0.60 increases both porosity and specific surface area (SSA). SSA is equal to 88 m 2 .g -1 for O-CF0.60 whereas the value is 67 m 2 .g -1 for CF0.60. Adsorption of solvated lithium ions onto this particular texture may contribute (or totally explain) to the extracapacity [START_REF] Shiraishi | Application of Carbon Materials Derived from Fluorocarbons in an Electrochemical Capacitor[END_REF]. Moreover, the texture may play also a key role on the lithium diffusion process.

Conclusions

The highest ever measured energy density in primary lithium battery with fluorinated carbons as cathode, i.e. 2825 Wh.Kg 3) followed by Hummer's oxidation with milder conditions; all the steps were performed at 0 °C [START_REF] Mar | Tuning fluorine and oxygen distribution in graphite oxifluorides for enhanced performances in primary lithium battery[END_REF]. This allows COC groups to be favored and sp 2 carbon islands to be maintained (see the position marked with an asterisk in Scheme 1). If similar milder conditions are applied to CF0.60, GO phase would be maintained allowing capacitive COC groups to be preserved

  resulting samples are denoted O-DF0.18, O-DF0.27, O-DF0.48, O-CF0.25 and O-CF0.60.

Figure 1 .

 1 Figure 1. XRD patterns of raw and oxidized DF and CF series; GO data are added for comparison.

and DF0. 27 (

 27 Fig.2b).

Figure 2 .

 2 Figure 2. a) 13 C MAS-NMR of graphite oxide GO, DF and CF series graphite fluorides and O-DF and O-CF series oxyfluorides (10 kHz b) 19 F MAS-NMR of starting DF and CF precursors and resulting oxyfluorides O-DF and O-CF

  in (C2F)n type is not observed on19 F spectrum for CF0.60. Because the fluorinated regions are well dispersed in conductive non-fluorinated graphitic region, the resulting19 F and13 C spectra are illdefined. Another consequence is the paramagnetic shift at -211 ppm of19 F line for C-F bonds(-190 ppm for CF0.60 as expected for covalent C-F bonds). An oxyfluoride is synthesized by the Hummer' oxidation of CF0.25 since the lines of C-F (83 ppm, 34%), COC (60 ppm, 23 %), C-OH (68 ppm, 13%) and COOH (165 ppm, 2%) and sp 2 C (134 ppm, 63%) are present on13 C spectrum. The same positions were recorded for O-DF series but the oxidation level is slightly higher for O-CF0.[START_REF] Zhang | Carbon nanofibres fluorinated using TbF4 as fluorinating agent Part I[END_REF] than for O-DF0.27 (Table 2). 72% and 63% of C atoms are functionalized by either F or O in O-CF-0.25 and DF0.27, respectively.

Scheme 1 .

 1 Scheme 1. Scheme of the various biphasic graphite fluorides and oxyfluorides. Zones I, II and III for further works are discussed in the text.

Figure 3 .

 3 Figure 3. Galvanostatic discharge curves at a current density of 10 mA.g -1 of oxides, fluoride and oxyfluorides in LiPF6 1M PC EC 3DMC.

Fig. 3

 3 Fig. 3 displays galvanostatic discharge curves of oxidized DF and CF series as well as the one of their precursors DF, CF and GO for comparison. Owing to the aforementioned reduction mechanism, the theoretical performances can be compared to the experimental ones. The relative contents of each electroactive groups (C-F, COC, COH) are known thanks to 13 C NMR (Tables2 and 3). In accordance

- 1 ,

 1 was reached thanks to the Hummer's oxidation of graphite fluoride, with a homogenous dispersion of non-fluorinated regions into fluorinated lattice. Such a particular graphite fluoride was synthesized by a controlled fluorination with atomic fluorine released by thermal decomposition of a solid fluorinating agent (TbF4). Oxidation focuses on sp 2 carbon atoms because C-F bonds are non-reactive. Decomposition occurred then in our treatment conditions resulting in defected graphite fluoride. The initial composition of CF0.60 is the more favorable and results after oxidation/decomposition in CF0.79 composition. Even if the energy density is lower for graphite oxyfluorides, some of them exhibit promising enhancements in comparison with the graphite fluoride precursor, i.e. O-DF0.27 exhibits an energy density of 1650 Wh.Kg -1 . Recently another oxyfluoride (C0.47(COC)0.29(COH)0.05(CF)0.19) was synthesized starting from graphite fluoride with close composition (CF0.

  and capacity improvement. The resulting oxyfluorides are located in the zone I on Scheme 1. Another strategy involves the increase of F and O contents in CF0.25 and DF0.27. Durations and temperatures of fluorination and oxidation would be optimized in order to increase the percentage of functionalized carbon atoms with both F and O. Zones II and III are then covered starting with DF0.27 and CF0.17, respectively (Scheme 1). Oxyfluorides and defected graphite fluorides obtained by oxidation open a new route for the development of cathode materials for high energy primary lithium battery.

Table 1 .

 1 Interlayer distance and coherence length of graphite, graphite oxide GO (as reference)

	phases of iGO and fluorinated iGO
		Phase (reflection)	Intelayer (nm) distance	Lc (nm)
	Graphite	Gr (002)	0.34	130
	DF0.17	Gr (002)	0.34	13
		(CF)n (002)	0.66	--
	O-DF0.17	Gr (002)		--
		GO (002)		--
		(CF)n (002)		--
	DF0.27	Gr (002)	0.34	7
		(CF)n (002)	0.66	--
	O-DF0.27	Gr (002)	0.34	--
		GO (002)	0.75	--
		(CF)n (002)	0.7	--
	DF0.48	Gr (002)	0.34	--
	O-DF0.48	Gr (002)
		GO (002)	Ill-defined
		(CF)n (002)	Ill-defined
	CF0.25	Gr (002)	0.34	130
		(CF)n (002)	0.60	--
	O-CF0.25	Gr (002)	0.34	--
		GO (002)	0.77	--
		(CF)n (002)	0.60	--
	CF0.60	Gr (002)	0.34	130
		(CF)n (002)	0.60	--
	O-CF0.60	Gr (002)	0.34	--
		GO (002)	0.77	--
		(CF)n (002)	0.59	--
	GO	GO (002)	0.73	5

Table 2 .

 2 Atomic and functional compositions of graphite oxide, fluorides and oxyfluoride.

		O/C	F/C	%Cfct	%COC %COH %COOH %CF
	GO	0.59	0	64	37	14	13	0
	DF0.17	0	0.17	17	0	0	0	17
	O-DF0.17	0.43	0.12	62	33	8	9	12
	DF0.27	0	0.27	27	0	0	0	0
	O-DF0.27	0.33	0.25	62	14	15	4	29
	DF0.48	0	0.48	48	0	0	0	48
	O-DF0.48	0	0.73	73	0	0	0	73
	CF0.25	0	0.25	25	0	0	0	25
	O-CF0.25	0.29	0.34	72	23	13	2	34
	CF0.60	0	0.60	0.60	0	0	0	60
	O-CF0.60	0	0.79	79	low	low	low	≈79

Table 3 .

 3 Electrochemical performances of oxidized graphite fluoride compared to the ones of their

	respective precursors
		Theoretical capacity		Exp.	OCV	E1/2	Energy
			( mAh.g -1 )		capacity	(V)	(V)	density
		COC	COH	CF	total	(mAh.g -1 )			(Wh.Kg -1 )
	GO	507	192	0	699	488	3.29 2.17	1059
	DF0.17	0	0	0	299	184	3.26 2.22	408
	O-DF0.17	416	101	151	668	210	3.45 2.48	322
	DF0.27	0	0	423	423	354	3.13 2.36	835
	O-DF0.27	167	179	345	691	625	3.69 2.64	1650
	DF0.48	0	0	609	609	628	3.92 2.73	1714
	O-DF0.48	0	0	756	756	680	3.24 2.63	1788
	CF0.25	0	0	0.25	400	305	3.21 2.52	769
	O-CF0.25	266	150	393	809	525	3.13 2.48	1302
	CF0.60	0	0	0.60	687	612	3.10 2.31	1413
	O-CF0.6	0	0	0.60	784	870	3.15 2.50	2825
	The experimental capacity is higher for O-DF0.27 (625 mAh.g -1 ) that for GO (488 mAh.g -1 ) for similar
	functionalized carbon percentage (62 and 64% for O-DF0.27 and GO, respectively; see tables 2 and
	3). Interestingly, the discharge potential is higher for the oxidized O-DF0.27 (2.73 V) that in the
	precursor DF0.27 (2.36 V). In such GO/GF biphasic compounds, the discharge potential seems to be

fixed by the total functionalized carbons rather than the amount of F atoms. E1/2 is equal to 2.63 V for O-DF0.48 with 73% of functionalized carbons. The energy density is then enhanced to 1650 Wh.Kg -1 .