710 likes | 949 Views
CCM 4300 Lecture 6 Computer Networks: Wireless and Mobile Communication Systems Dr E. Ever School of Computing Science. Lesson objectives. To acquire a basic understanding of performance issues of TCP with wireless communication systems - to investigate enhancement schemes.
E N D
CCM 4300 Lecture 6 Computer Networks: Wireless and Mobile Communication Systems Dr E. Ever School of Computing Science
Lesson objectives • To acquire a basic understanding of performance issues of • TCP with wireless communication systems - to investigate enhancement schemes. - explore the architecture of such technologies - identify some of the advantages and disadvantages of using these technologies. • Understand TCP performance issues for Mobile Ad Hoc Networks • - to investigate routing protocols in ad-hoc networks
TCP performance over wireless and mobile networks • Motivation • TCP-mechanisms • Slow start • Congestion Control • Classical approaches • Indirect TCP • Snooping TCP • Mobile TCP • SACK • Additional optimizations • Fast handoffs • Selective retransmission • Hop-by-hop rate control
Typical mobile wireless scenario • FH: Fixed Host • MH: Mobile Host • BS: Base Station (gateway)
Packet Packet Packet Packet Packet ACK ACK ACK ACK ACK Recovering from Error Timeout Timeout Timeout Time Packet Timeout Timeout Timeout Early timeout DUPLICATEPACKETS!!! ACK lost Packet lost
Sliding Windows • The window size advertised by the receiver • Tells the sender how much data, can be sent without waiting for further acknowledgements.
Go-Back-N in Action Don’t wait for an acknowledgement of each packet
Slow Start and Congestion Control • When a TCP connection first begins, the Slow Start algorithm initializes a congestion window to one segment. • Congestion window doubles up to the maximum window size advertised by the receiver. • The sender can transmit the minimum of the congestion window and the advertised window of the receiver. • In the Congestion Avoidance algorithm a retransmission timer expiring or the reception of duplicate ACKs (transmission window to one half of the current window size). • If congestion was indicated by a timeout (or three or more duplicate ACKs are received), the congestion window is reset to one segment
Typical TCP behaviour After timeout cwnd = 20 ssthresh = 8 What is the case in your lab experiment? (Time vs Sequence number)
Motivation I • Transport protocols typically designed for • Fixed end-systems • Fixed, wired networks • Research activities • Performance • Congestion control • Efficient retransmissions • TCP congestion control • packet loss in fixed networks typically due to (temporary) overload situations • router have to discard packets as soon as the buffers are full • TCP recognizes congestion only indirectly via missing acknowledgements, retransmissions unwise, they would only contribute to the congestion and make it even worse • slow-start algorithm as reaction
TCP Problems in wireless links In Wire network: Packet Loss Congestion In Mobile Networks: Packet Loss disconnections, handoffs, high bit error rates • TCP was designed to work well in networks with low channel error rates, however Wireless links can exhibit high & variable error rates due to attenuation, fading, or interfering active radiation sources. • TCP has no means of detecting the nature of the error, so losses due to channel errors also get treated as congestion losses
TCP Performance Issues (Slow start) • Slow-start is used in conjunction with other algorithms to avoid sending more data than the network is capable of transmitting • Inappropriate reduction of congestion window • TCP backs off upon detection of packet loss • Slow-start assumes that unacknowledged segments are due to network congestion. While this is an acceptable assumption for many networks, segments may be lost for other reasons, such as poor data link layer transmission quality. Thus, slow-start can perform poorly in situations with poor reception, such as wireless networks. • Severe degradation in TCP throughput
TCP Congestion Control Ehsan Hamadani (2004) Three or more duplicates Or Time out CWND Packet loss Congestion Avoidance Congestion Avoidance Congestion Avoidance Slow Start halved Congestion Avoidance t Congestion window size (CWND) limits the rate at which sender can send data traffic, in order to avoid congestion situation in network. congestion windowis smaller when congestion is larger and vice versa
TCP Performance Issues (Cont.) • Throughput loss • WLAN • Frame Error Rate (FER) • CellularCommunications systems • Increased processing delay due to interleaving • Widely varying RTT (round trip time) • Disruptions caused by link resets • suffer from severe error rates, due to external interference
Interleaving (Bursty errors) Error-free code words: aaaabbbbccccddddeeeeffffgggg Interleaved: abcdefgabcdefgabcdefgabcdefg Transmission with a burst error: abcdefgabcd____bcdefgabcdefg Received code words after deinterleaving: aa_abbbbccccdddde_eef_ffg_gg
Link Layer mechanisms • Forward Error Correction (FEC) • Can be use to correct small number of errors • Incurs overhead even when errors do not occur • GSM uses block coding (40 bits redundancy), Convolutional coding (various rates 1/2, 1/3 and 1/6 as well as 244/456) • Link Level Retransmissions • Retransmit a packet at the link layer, if errors are detected • Retransmission overhead incurred only if errors occur
TCP Enhancement Schemes • Indirect TCP or I-TCP (Split TCP) • Segments the connection • No changes to the TCP protocol for hosts connected to the wired Internet, millions of computers use (variants of) this protocol • Optimized TCP protocol for mobile hosts • Splitting of the TCP connection at, e.g., the foreign agent into 2 TCP connections, no real end-to-end connection any longer • Hosts in the fixed part of the net do not notice the characteristics of the wireless part
MSR – Mobility Source Router/ Base Station mobile host wired Internet access point (foreign agent) access point1 standard TCP wireless TCP socket migration and state transfer Internet access point2 mobile host
Indirect TCP operates in Transport layer Ajay V. Bakre, B.R. Badrinath, “Implementation and Performance Evaluation of Indirect TCP” , IEEE Transactions on Computers
Split Connection • Wireless related problems are isolated from the existing network protocols. • Splitting the TCP connection into 2 independent flow control between the mobile host and the fixed host into two separate connections: • Wired connection between the fixed host and the base station • Wireless connection between the base station and the mobile host. Fixed Host BS Connection2 Connection1 Mobile Host
Split Connection Ajay V. Bakre, B.R. Badrinath, “Implementation and Performance Evaluation of Indirect TCP” , IEEE Transactions on Computers
TCP connection application application application transport transport transport network network network link link link physical physical physical FH BS MH wireless TCP Enhancement Schemes (Snooping) • Snooping TCP at BS • Better than split TCP • Confine retransmission to wireless paths only • Foreign agent sits between fixed network and mobile network • No need to modify fixed network
Snooping TCP (cont) • ”Transparent“ extension of TCP within the foreign agent • buffering of packets sent to the mobile host • lost packets on the wireless link (both directions!) will be retransmitted immediately by the mobile host or foreign agent, respectively (so called “local” retransmission) • the foreign agent therefore “snoops” the packet flow and recognises acknowledgements in both directions, it also filters ACKs • It uses NACK to prompt retransmission • changes of TCP only within the foreign agent correspondent host local retransmission foreign agent “ wired ” Internet snooping of ACKs buffering of data mobile host end-to-end TCP connection
Snoop Protocol(2) • In the snoop protocol the base station monitors communication across the connection in either direction and caches packets. • A packet loss is detected by the arrival of a small number of duplicate acknowledgements from the receiver or by local timeout at the base station. Basic operation at BS: • Data from MH -> FH Detect missing packets Perform negative acknowledgements • Data from FH -> MH Cache unacknowledged TCP data Perform local retransmissions MH FH BS
Performance – Effect of Bit Errors Hari Balakrishnan, Venkata N. Padmanabhan, Srinivasan Seshan and Randy H.Katz, “A Comparison of Mechanisms for Improving TCP Performance over Wireless Links”,
Ack 999 Ack 1000 FH BS MH M-TCP • Special handling of lengthy and/or frequent disconnections • M-TCP splits as I-TCP does • unmodified TCP fixed network to supervisory host (SH) • optimized TCP SH to MH • Supervisory host • no caching, no retransmission • monitors all packets, if disconnection detected • BS does not send an ack to FH, unless BS has received an ack from MH (maintains end-to-end semantics) • BS withholds ack for the last byteack’d by MH. When BS does not receive ACK for sometime, it chokes sender by setting advertise window to 0
M-TCP (2) • When a new ack is received with receiver’s advertised window = 0, the sender enters persist mode • Sender does not send any data in persist mode except when persist timer goes off • When a positive window advertisement is received, sender exits persist mode • On exiting persist mode, cwnd are same as before the persist mode.
Some other well known TCP Enhancement Schemes • Notifying the causes of packet loss • Explicit Loss Notification (ELN) • Works well together with Snoop TCP • Adding selective ACK to TCP • SACK • Combat multiple losses in one RTT • Data receiver can inform the sender about all segments that have arrived successfully, so the sender need retransmit only the segments that have actually been lost. • SACK • Combat multiple losses in one RTT
Comparison • Things need to consider when assessing TCP enhancement schemes • End-to-end semantics (e.g. In I-TCP because the connection is split, separate acknowledgements are generated ) • IP payload access • Wireless gateway overhead • Ease of deployment
Additional Approaches to Improve TCP Performance • Fast hand-offs • The last packets before the handoff are available with new BS as well. • HA uses multicast address to forward packets • Packets are automatically forwarded to BS • The new BS joins the multicast group before hand-off occurs • The new BS buffers last few packets • The new BS starts forwarding the buffered packets to the mobile host after hand-off
TCP/IP over Heterogeneous Wireless Sys. • Challenges • Multiple systems co-exist • Direct interoperability between different wireless systems • Hierarchical cellular systems • Research projects • Multi-Service Link Layer (MSLL) • Wireless Internet Network (WINE) • Wireless Adaptation Layer (WAL)
Characteristics of Mobile Networks • Cellular networks • Base station (BS) arbitrates channel allocation • Mobile hosts communicate with each other via BSs • Ad hoc networks • No BS • All mobile hosts act as routers
Mobile Ad hoc networks • Standard Mobile IP needs an infrastructure • Home Agent/Foreign Agent in the fixed network • DNS, routing etc. are not designed for mobility • Sometimes there is no infrastructure! • remote areas, ad-hoc meetings, disaster areas • cost can also be an argument against an infrastructure! • routing • no default router available • every node should be able to forward
Impacts of Mobility on TCP Performance • IP packets to a mobile node that is outside its home network are routed through the home agent. • Packets from the mobile node to the correspondent nodes are routed directly (triangle routing) • Blackouts • Location • Fading • Degrade TCP throughput • Handoff latency • Packet re-routing • Bursty losses • Degrade TCP throughput • Triangular routing and large RTT • Triangular causes extra delay • TCP throughput inversely proportional to RTT • Large RTT results in lesser throughput
Implications of using Normal TCP over Ad-Hoc Wireless N/W • • TCP does not distinguish between congestion and packet loss due to transmission errors and route failures • • This inability results in performance degradation in ad hoc networks • Route re-computation takes a finite amount of time • • During this time no packet can reach the destination • through the existing route • • Packets and ACKs may get queued and possibly dropped • • In turn leads to timeouts at the source, which is • misinterpreted as congestion
Recall …. Different approaches to improve the performance of TCP over Ad-Hoc Networks • in wireless networks we have: – I-TCP – Snoop TCP – M-TCP – SACK • Ad hoc networks – TCP-F – ELFN – ATCP
TCP Performance Issues in Ad Hoc NW • Route failure • TCP may lose a congestion window of packets • Large RTT variation • Degrade TCP throughput • Route Re-computation • Incur extra delay • Result in a more inflated re-transmission time-out
TCP Performance Issues in Ad Hoc Networks • Network Partition • TCP may reset the connection if the partition lasts for more than 100 sec. • TCP enters slow-start phase after cutting down its window size to 1 • Degrade TCP throughput
Impact of Multi-Hop Wireless Paths TCP Throughput using 2 Mbps 802.11 MAC Nael B. Abu-Ghazaleh , ” tcp over wireless”
Approaches for Improvement • TCP-feedback and TCP-ELFN • Employ Explicit Link Failure Notification (ELFN) • A source node issues a route re-computation request upon receipt of an ELFN • Reset TCP congestion window size to half its size (instead of 1)
Approaches for Improvement (Cont.) • Hop-by-hop rate control • Each router (mobile host) performs rate control on each of its outgoing links based on feedback from downstream routers • Feedback time is minimal • More responsive to route failures
ATCP – TCP for Mobile Ad Hoc Networks • Thin layer between TCP and IP • • Treats loss due to congestion and medium differently (notifications, network feedback) • • Functions efficiently even with high bit error rates • • Handles network partition gracefully • • Maintains end-to-end TCP semantics!
Modes of operation • • ATCP • – Normal • – Congested • – Loss • – Disconnected • • TCP • – Depending on it’s mode of operation ATCP sets TCP in one of the following modes • • Normal • • Congested • • Persist
Ad Hoc Networks Key question: How do we provide connectivity between different mobile wireless technologies in a mobile Ad-hoc network (MANET)? An Ad-Hoc network is defined as: Dynamically formed mobile nodes, no central manager, no fixed topology, and nodes can act as routers.
Connectivity – how to achieve it? • “Mostly “Wireless: • Router to wired network • Mobile ad-hoc networks: • MANET • Examples • Example 1 • cell 1 hosts use IEEE802.11 …. • cell 2 hosts use Bluetooth • host with one interface of each type acts as router • Example 2 • some hosts in cell 1 • some hosts in cell 2 • cell-cell distance > Tx range • host in cell 1 and cell 2 acts as router between cells
Routing in Ad hoc networks Proactive: • “Normal” routing • Create routing tables periodically: • Route ready when required • Computation overhead • Routing updates • Topology changes may be frequent • Due to mobility Reactive: • Build routes on demand • Need to build routes • Routing information evaluated only when needed • latency (due to path search) • Discover route and destination • Topology changes may be frequent • How to re-evaluate on the fly • What if flow is in progress
Reactive routing • Route Discovery: • Find path to destination • define protocols for requests and responses • Report reachability / nonreachability • Data forwarding (routing): • Forwarding Mechanism • Depending on the algorithm • Information (state) needed in routers • Information (state) needed in packets Router End system
Reactive routing ….. Cont…. • Route Maintenance: • Dealing with forwarding path outages (e.g. link breaks, next hop “disappears”) • Recovery procedures for finding alternative routes • Signalling/reporting mechanisms • State information in network: • Hold in network (routers), • What if router losses connectivity? • Possible to keep information in the packets