IITA-0773-025

Embed Size (px)

Citation preview

  • 8/2/2019 IITA-0773-025

    1/15

    - 1 -

    TP HTTP

    * , ,

    TCP FTP HTTP ATM

    . Ka

    3 ETRI CRL . FTP TCP

    1Mbyte , 3Mbps .

    TCP

    , . TCP

    TCP

    . HTTP

    , WWW HTTP 1.0 1.1

    , . HTTP 1.0

    TCP .

    HTTP 1.1 Pipelining

    . HTTP Pipelining

    . HTTP 1.1 pipeling

    .

    TCP, , FTP, HTTP

    Experiment results and analysis of FTP and HTTPtransmission oversatellite network

    Dong Joon Choi*

    Seung Nam Choi Nae Soo Kim

    ETRI

    161 Kajong-Dong Yusong-Gu Taejeon, 305-350

    TEL: 82-42-860-6477

    E-Mail : [email protected]

  • 8/2/2019 IITA-0773-025

    2/15

    - 2 -

    AbstractIn this paper, we present and analyze the results of two typical TCP applications -

    FTP and HTTP - over ATM based satellite network. The transmission of FTP and

    HTTP was done via Ka band KOREASAT-3. In FTP experiment, we measured the

    throughput varying TCP window size. The maximum throughput of file transfer was

    about 3 Mbps when the TCP socket size was 1Mbytes. When the TCP socket size

    is more than 1 Mbytes, the throughput was degraded. In the case of

    memory-to-memory transfer over satellite channel, the throughput mainly depends

    on the TCP window. But when TCP buffer size was increased to improve TCP

    throughput in satellite network, the TCP application that needs access to other

    media such as FTP was affected by other various factors. In HTTP experiment, we

    measure the throughput of HTTP version 1.0 and 1.1 under satellite network

    condition. In HTTP 1.0, the web browser can open several TCP connections

    simultaneously to access the objects linked in web pages. But HTTP 1.1 does not

    permit the multiple TCP connection in a time. HTTP version 1.1 supports the

    pipeline option. In the experiment, we measure the throughput of HTTP with

    various options in satellite network condition and analyzed the internal behaviors.

    HTTP 1.1 with pipelining option provided the best performance of all HTTP version

    and options.

    key words TCP, Satellite, FTP, HTTP

    1. IntroductionThere have been several efforts to develop satellite communication core

    technologies for next generation network and experiments to measure the

    performance and to demonstrate an appropriate application have been done. As a

    part of the efforts, domestic and international satellite communication experiments

    have been done. As a international experiments, Korea-Japan High Data Rate

    satellite communication experiment was started in 2000. The first phase experiment

    of the Joint Korea-Japan HDR satellite communication was successfully completedby ETRI and CRL in Dec 2000. The second phase experiment has done in March

    2002. As an item of the second phase experiment, file transfer and web page

    access over 155Mbps satellite network have done.

    In this paper, we present and analyze the results of two typical TCP applications -

    FTP and HTTP - over ATM based satellite network. First of all, we describe

    network configuration of the experiment in chapter 2. In chapter 3 and 4, we

    describe a mechanism briefly and then present the result of the experiment of the

    two TCP applications.

  • 8/2/2019 IITA-0773-025

    3/15

    - 3 -

    2. Network ConfigurationFigure 1 shows the configurations of Korea-Japan high-speed satellite ATM

    network. In the joint experiment, the two ground stations with 7m antenna in ETRI,

    Korea and 5m antenna in CRL, Japan were installed respectively. The main

    specifications of the Korea-Japan 155Mbps satellite ATM link are as follows;

    - Satellite: Koreasat-3

    - Frequency band: Uplink : 27.5 ~ 31 , Downlink 17.7 ~ 21.2

    - Max. TWTA power: 125W

    - Normal EIRP (Koreasat-3): 71 W

    - G/T (45 EL): 32 /K (min)

    - TC-8PSK modulation/demodulation

    - Coding: K=7, 7/8 Convolutional RS code

    - Bit rate: 155.52Mbps

    - Allocated Bandwidth: 80 two channels

    The FTP and HTTP server was installed at laboratory of CRL using a PC with

    Linux system. The server was connected ATM network directly. In ETRI, two client

    PCs were installed using a Window 2000 and a Linux respectively. They were

    connected to PC router that had two network interfaces, ATM and gigabit Ethernet.

    A gigabit subnet and a server were interconnected through ATM based satellite

    network.

    Figure 1 Network Configuration

  • 8/2/2019 IITA-0773-025

    4/15

    - 4 -

    3. FTP over OC-3 satellite linkFTP (File Transfer Protocol) is the simplest and most secure way to exchange files

    over the Internet. It is the protocol, or set of rules, which enables files to be

    transferred between computers. FTP works on the client/server principle. A client

    program enables the user to interact with a server in order to access information

    and services on the server computer. However FTP differs from another TCP

    applications in that it uses two TCP connections to transfer a file. [1] One is

    control connection, which is established in the normal client-server fashion. The

    server does a passive open on the port for FTP (21) and waits for a client

    connection. The client does active open to TCP port 21 to establish the control

    connection. The FTP commands from client to server and the replies are

    transferred using the control connection. Therefore the service type of TCP

    connection for FTP control commands is interactive and should be configured to

    minimize the transfer delay. A data connection is created each time a file is

    transferred between server and client. When the file transfer is finished, the data

    connection is released. Therefore the TCP connection for data transfer should be

    tuned to maximize throughput. Figure 1 shows the connections of FTP and

    processes of client and server.

    Figure 2 Processes involved in file transfer [1]

  • 8/2/2019 IITA-0773-025

    5/15

    - 5 -

    In the FTP experiment, we measured the throughput for the data connection of FTP

    on the ATM based satellite network. There are many FTP server and client

    programs but for the experiment on long delay network such as GEO satellite

    network, it should support TCP socket buffer control. In the FTP experiment, we

    used NCFTP 3.0 as FTP client program and WUFTPD 2.6.1 for FTP server

    program. In the case of wuftpd, FTP server program, the maximum TCP window

    size of data connection is set to the value of operating system. The FTP client

    program, ncftp, supports the command that change the TCP window size. For

    comparison, we measured the FTP throughput in 155Mbps link without satellite

    delay and got the throughput of 118.32Mbps when the TCP socket size is set to

    64Kbytes. The throughput is 87.5% of theoretical throughput and nearly the same

    throughout to the prior TCP experiment results - memory-to-memory TCP

    throughput without satellite delay. When the file size is about 92.1Mbytes, wemeasured the file transfer throughput changing TCP socket buffer size on GEO

    satellite network. Figure 2 shows the result of file transfer throughput.

    Figure 3 FTP throughput over the 155Mbps satellite networkThere are two graphs - one is the result in the laboratory using satellite channel

    simulator and the other is the result measured using Ka band KOREASAT. The

    throughput was very poor compared with the result of memory-to-memory TCP

    transmission throughput.[3] And the throughput was about 2Mbps even though the

    TCP socket buffer was increased more than 1Mbytes. In the case of FTP, there are

    many factors that result in less than desirable throughput; CPU utilization, DISK I/O

    and internal memory allocation for the network drivers and disk drivers etc. The

    network performance parameters of current operation system were tuned without

    considering large TCP socket buffer. That is, the increase of TCP socket buffer

    results in burst traffic not only the network but also internal data path; for example

    from network driver to disk.

  • 8/2/2019 IITA-0773-025

    6/15

    - 6 -

    As a result, it needs more system resources in each stage of data transfer. Figure

    2 and Figure 3 show TCP time sequence and TCP congestion window graph when

    TCP socket buffer size is 1Mbytes. During about 38 seconds the file transfer was

    normal. But after that time there were some data losses and retransmission due to

    data losses. Furthermore current TCP recognize the data losses as network

    congestion condition. We know that in Figure 4 TCP congestion mechanism reduced

    the TCP congestion window size to about half when there were many data losses

    and in Figure 3 there were another "slow start" after 38 seconds. As a result the

    overall throughput was degraded severely. Therefore for the normal operation of

    file transfer with large TCP socket buffer in satellite network, other system

    parameters and resources (e.g. memory allocation for DISK IO and network driver

    interrupt) should be tuned.

    Figure 4 TCP time sequence graph for data connection when TCP buffer size is 1Mbytes

    Figure 5 TCP congestion window graph for data connection when TCP buffer sizeis 1Mbytes

  • 8/2/2019 IITA-0773-025

    7/15

    - 7 -

    4. HTTP over OC-3 satellite linkThere are several versions and variations of HTTP used in server and clients on

    the today's Internet. Of them, we consider the four type of HTTP.

    (1) HTTP 1.0 with non-persistent connectionsIn HTTP 1.0, to browser a complete web page several TCP connections are

    established to retrieve HTTP objects linked in a base web page (HTML pages,

    images etc.) This method of retrieving objects needs a number of short TCP

    connections on server and client. Figure 6 shows the interactions between HTTP

    1.0 client and server when a based page includes 3 inline objects. First the base

    HTML document is transferred via a TCP connection (Figure 6 (a)). After transfer

    of the base document, the TCP connection is closed and three new TCP

    connections are established simultaneously for the parallel download of three

    objects linked (Figure 6 (b), (c), (d)). This has been shown to be inefficient because

    many TCP connections cause much traffic and also are burden to server and client.

    Figure 6 HTTP 1.0 - Non-persistent Connections(2) HTTP 1.0 with persistent connectionsSome browsers and servers using HTTP 1.0 support "Keep-alive" option to

    overcome the inefficiency described above. The method uses one TCP connection

    to carry multiple HTTP request. However many browsers using HTTP 1.0 with

    keep-alive option establish multiple TCP connections. Figure 7 shows the operation

    of HTTP connection with "Keep-alive" option. Through TCP connection (a), base

    document and one of 3 inline objects are transferred. Other two objects are

    transferred via 2 new TCP connections.

  • 8/2/2019 IITA-0773-025

    8/15

    - 8 -

    Figure 7 HTTP/1.0 - Persistent Connections(3) HTTP 1.1 without pipeliningThe "Keep-Alive" extension, a form of persistent connection, was formally defined

    in HTTP 1.1.[5] Persistent connections allow multiple request and responses can

    be contained in a single TCP connection and HTTP 1.1 does not use multiple TCP

    connections. It has been shown that the performance of HTTP with persistent

    connections could be improved by avoiding multiple TCP connection setup and

    slow-start mechanism.[6] Figure 8 shows the mechanism of HTTP 1.1 which uses

    persistent connection. One object is transferred after previous transfer is finished.

    In the case of a base HTML document and three inline objects, it takes 4 RTT

    times without pipelining.

    Figure 8 HTTP 1.1 without pipelining(4) HTTP 1.1 with pipeliningHTTP 1.1 with pipelining allows multiple requests to be sent without waiting for a

    response. The pipelining can be used to avoid many round trip delays and improve

    performance because this mechanism eliminates the empty time between

    consecutive object retrievals.

  • 8/2/2019 IITA-0773-025

    9/15

    - 9 -

    Figure 9 HTTP 1.1 with pipeliningFigure 9 shows the interactions between server and client using HTTP 1.1 with

    pipelining. A base document and three objects are transferred through single TCP

    connection. However before a complete transfer of an object, transfer of other

    objects can start.

    The main goal of the HTTP experiment was to measure the performance of WWW

    page retrieval over satellite network using a number of types of HTTP protocol.

    That is, we tested HTTP 1.0 and HTTP 1.1 with various configurations. For the

    HTTP experiment, we used apache 1.3.12 as web server on Linux system and set

    TCP window size to 10Mbytes. And to investigate the internal operation and the

    performance of HTTP 1.0 and HTTP 1.1 with various options supported, we used

    three web browsers - Netscape 4.77 linux version for HTTP 1.0, W3C's Webbot

    5.2.8 for HTTP 1.1 and MS's Internet Explore 6.0 for HTTP 1.0 and HTTP 1.1.

    Only MS Internet Explore 6.0 was run on MS window 2000 operating system. When

    web pages were retrieved by the client's request, all packets that transferred were

    captured at client side using tcpdump(or windump) and post-processed using

    tcptrace's HTTP module. Five typical web pages were used in the HTTP

    experiment and described in Table 1.

    Table 1. Detail of pages

  • 8/2/2019 IITA-0773-025

    10/15

    - 1 0 -

    In Table 2, we summarized the results and performance of HTTP transfer over the

    satellite network for the five pages. In HTTP 1.1, only one TCP connection is

    permitted. Therefore when we used webbot, only one TCP connections was

    established. When Netscape was used, the number of TCP connections

    corresponding to the number of elements linked in primary web page was

    established. In the case of HTTP 1.0, each TCP connection is independent of other

    TCP connections. That is, each TCP connections undergo slow start and congestion

    avoidance mechanism. We know in Table 2 that when HTTP 1.0 was used, more

    packets were generated to transfer web page and linked elements. The total

    response time was smaller than HTTP 1.1 without pipelining option. This means

    that in long delay network if there is no network congestion, the simultaneous

    multiple TCP connection may be more effective than a single connection. Especially

    when the size of the elements is small, the data transfer using multiple TCPconnection is more effective. However there are many negative aspect (e.g.

    burdens to server and network congestion due to more packets) of using multiple

    concurrent connections. When we measured the overall response time and

    transmission throughput for the 3 types of HTTP, HTTP 1.1 with pipeline option

    provided the best performance of all the HTTP versions in long-delay satellite

    network.

    When the request for a web page is made, the browser issues an HTTP GET

    command for the base HTML document. One RTT later, the first base document

    data will be received. Then the browser issues further GET commands for each

    element linked in the base document. With pipelining option of HTTP 1.1, these

    GET commands can be generated as soon as the reference is received by the

    browser without waiting for the current data transfer from the server to be

    completed. In the case of HTTP 1.0 multiple TCP connections are established for

    the transfer of each elements. In figure 9, we show the sequence of element

    retrieval request and transfer for RBLAB page that consists of 7 elements. In figure

    9, element 1 of (b), (c) means the time for whole transfer of base page and

    elements linked. Other numbers mean the time for the transfer of each element.

    Element 2 is the first document from web server at a request by browser and its

    transfer is same regardless of HTTP version or options. However the following

    elements have different transfer start and time depending on HTTP version and

    options. In the case of HTTP 1.0 (figure 9 (a)), when the base documents were

    received, the browser requested multiple GET for the elements linked in base page.

    Therefore a number of TCP connections were established using 3-way handshaking

    and the connection request for each element were different. In figure 9 (a), 4 TCP

    connections were established first and some time later other 3 TCP connections

    were established. When the RBLAB page was browsed by webbot with pipelining

    option, the transfer of the following elements started as soon as base element was

    received. Without pipelining option, when the transfer of one element was

  • 8/2/2019 IITA-0773-025

    11/15

    - 1 1 -

    completed, the transfer of other elements started. In any case of HTTP 1.1, only

    one TCP connection is established. Hence there is one slow start. Especially when

    the pipelining option is used, several elements are transferred as if one bulk data is

    transferred.

  • 8/2/2019 IITA-0773-025

    12/15

    - 1 2 -

    Many experiment results show that bulk data transfer have good performance in

    LFN such as GEO satellite network. Therefore the HTTP 1.1 with pipelining option

    provides the best performance of all HTTP version and options.

    (a) HTTP 1.0 (netscape)

    (b) HTTP 1.1 with pipelining (webbot)

  • 8/2/2019 IITA-0773-025

    13/15

    - 1 3 -

    (c) HTTP 1.1 with pipeliningFigure 10 RBLAB web page and its elements transfer sequence graph

    5. ConclusionIn this paper, we present and analyze the results of two typical TCP applications -

    FTP and HTTP - over ATM based satellite network.

    In FTP experiment, we measured the throughput varying TCP window size. The

    maximum throughput of file transfer was about 3 Mbps when the TCP socket size

    was 1 Mbytes. When the TCP socket size is more than 1 Mbytes, the throughputwas degraded. In the case of memory-to-memory transfer over satellite channel,

    the throughput mainly depends on the TCP window. But when TCP buffer size was

    increased to improve TCP throughput in satellite network, the TCP application that

    needs access to other media such as FTP was affected by other various factors.

    (DISK IO, system memory allocations etc.)

    In HTTP 1.0, the web browser can open several TCP connections simultaneously to

    access the objects linked in web pages. But HTTP 1.1 does not permit the multiple

    TCP connection in a time. In the experiment, we measure the throughput of two

    versions of HTTP with various options in satellite network condition and analyzed

    the internal behaviors. As a result, HTTP 1.1 with pipelining option provided the

    best performance of all HTTP version and options.

    The applications and operating systems used in today's Internet are developed and

    tuned with the assumption that they could be used in terrestrial network. Therefore

    for the satellite network to be used practically, the effects due to long delay should

    be investigated and tuned carefully at application-level as well as transport level.

  • 8/2/2019 IITA-0773-025

    14/15

    - 1 4 -

    6. References[1] W. R. Stevens, TCP/IP Illustrated, Vol. 1., Addison-Wesley, 1996

    [2] David E. Brooks, "ACTS 118 Final Report High Speed TCP Interoperability

    Testing", NASA/TM 1999-209272, 1999.

    [3] D. J. Choi, N. S. Kim, "Performance measure and analysis of large TCP window

    effect in broadband network including GEO satellite network", HSNMC02, 2002.

    [4] Hans Kruse, "Experimentation and modeling of HTTP over satellite channel"

    International Journal of Satellite Communication

    [5] R. Fielding, Hypertext Transfer protocol - HTTP/1.1, Jan. 1997. RFC 2068

    [6] John Heidemann. Performance Interaction between P-HTTP and TCP

    Implementations. Computer Communication Review, 27(2) April 1997.

    [7] http://www.w3.org/Protocols/HTTP/Performance

  • 8/2/2019 IITA-0773-025

    15/15

    - 1 5 -

    Table 2 HTTP transfer performance on satellite network