久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

RFC2861 - TCP Congestion Window Validation

瀏覽:2日期:2024-02-18 10:51:29
Network Working Group M. HandleyRequest for Comments: 2861 J. PadhyeCategory: EXPerimental S. Floyd ACIRI June 2000 TCP Congestion Window ValidationStatus of this Memo This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved.Abstract TCP's congestion window controls the number of packets a TCP flow may have in the network at any time. However, long periods when the sender is idle or application-limited can lead to the invalidation of the congestion window, in that the congestion window no longer reflects current information about the state of the network. This document describes a simple modification to TCP's congestion control algorithms to decay the congestion window cwnd after the transition from a sufficiently-long application-limited period, while using the slow-start threshold ssthresh to save information about the previous value of the congestion window. An invalid congestion window also results when the congestion window is increased (i.e., in TCP's slow-start or congestion avoidance phases) during application-limited periods, when the previous value of the congestion window might never have been fully utilized. We propose that the TCP sender should not increase the congestion window when the TCP sender has been application-limited (and therefore has not fully used the current congestion window). We have explored these algorithms both with simulations and with experiments from an implementation in FreeBSD.1. Conventions and Acronyms The keyWords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [B97].2. IntrodUCtion TCP's congestion window controls the number of packets a TCP flow may have in the network at any time. The congestion window is set using an Additive-Increase, Multiplicative-Decrease (AIMD) mechanism that probes for available bandwidth, dynamically adapting to changing network conditions. This AIMD mechanism works well when the sender continually has data to send, as is typically the case for TCP used for bulk-data transfer. In contrast, for TCP used with telnet applications, the data sender often has little or no data to send, and the sending rate is often determined by the rate at which data is generated by the user. With the advent of the web, including developments such as TCP senders with dynamically-created data and HTTP 1.1 with persistent-connection TCP, the interaction between application-limited periods (when the sender sends less than is allowed by the congestion or receiver windows) and network-limited periods (when the sender is limited by the TCP window) becomes increasingly important. More precisely, we define a network-limited period as any period when the sender is sending a full window of data. Long periods when the sender is application-limited can lead to the invalidation of the congestion window. During periods when the TCP sender is network-limited, the value of the congestion window is repeatedly 'revalidated' by the successful transmission of a window of data without loss. When the TCP sender is network-limited, there is an incoming stream of acknowledgements that 'clocks out' new data, giving concrete evidence of recent available bandwidth in the network. In contrast, during periods when the TCP sender is application-limited, the estimate of available capacity represented by the congestion window may become steadily less accurate over time. In particular, capacity that had once been used by the network- limited connection might now be used by other traffic. Current TCP implementations have a range of behaviors for starting up after an idle period. Some current TCP implementations slow-start after an idle period longer than the RTO estimate, as suggested in [RFC2581] and in the appendix of [VJ88], while other implementations don't reduce their congestion window after an idle period. RFC2581 [RFC2581] recommends the following: 'a TCP SHOULD set cwnd to no more than RW [the initial window] before beginning transmission if the TCP has not sent data in an interval exceeding the retransmission timeout.' A proposal for TCP's slow-start after idle has also been discussed in [HTH98]. The issue of validation of congestion information during idle periods has also been addressed in contexts other than TCP and IP, for example in 'Use-it or Lose-it' mechanisms for ATM networks [J96,J95]. To address the revalidation of the congestion window after a application-limited period, we propose a simple modification to TCP's congestion control algorithms to decay the congestion window cwnd after the transition from a sufficiently-long application-limited period (i.e., at least one roundtrip time) to a network-limited period. In particular, we propose that after an idle period, the TCP sender should reduce its congestion window by half for every RTT that the flow has remained idle. When the congestion window is reduced, the slow-start threshold ssthresh remains as 'memory' of the recent congestion window. Specifically, ssthresh is never decreased when cwnd is reduced after an application-limited period; before cwnd is reduced, ssthresh is set to the maximum of its current value, and half-way between the old and the new values of cwnd. This use of ssthresh allows a TCP sender increasing its sending rate after an application-limited period to quickly slow-start to recover most of the previous value of the congestion window. To be more precise, if ssthresh is less than 3/4 cwnd when the congestion window is reduced after an application- limited period, then ssthresh is increased to 3/4 cwnd before the reduction of the congestion window. An invalid congestion window also results when the congestion window is increased (i.e., in TCP's slow-start or congestion avoidance phases) during application-limited periods, when the previous value of the congestion window might never have been fully utilized. As far as we know, all current TCP implementations increase the congestion window when an acknowledgement arrives, if allowed by the receiver's advertised window and the slow-start or congestion avoidance window increase algorithm, without checking to see if the previous value of the congestion window has in fact been used. This document proposes that the window increase algorithm not be invoked during application-limited periods [MSML99]. In particular, the TCP sender should not increase the congestion window when the TCP sender has been application-limited (and therefore has not fully used the current congestion window). This restriction prevents the congestion window from growing arbitrarily large, in the absence of evidence that the congestion window can be supported by the network. From [MSML99, Section 5.2]: 'This restriction assures that [cwnd] only grows as long as TCP actually succeeds in injecting enough data into the network to test the path.' A somewhat-orthogonal problem associated with maintaining a large congestion window after an application-limited period is that the sender, with a sudden large amount of data to send after a quiescent period, might immediately send a full congestion window of back-to- back packets. This problem of sending large bursts of packets back- to-back can be effectively handled using rate-based pacing (RBP, [VH97]), or using a maximum burst size control [FF96]. We would contend that, even with mechanisms for limiting the sending of back- to-back packets or pacing packets out over the period of a roundtrip time, an old congestion window that has not been fully used for some time can not be trusted as an indication of the bandwidth currently available for that flow. We would contend that the mechanisms to pace out packets allowed by the congestion window are largely orthogonal to the algorithms used to determine the appropriate size of the congestion window.3. Description When a TCP sender has sufficient data available to fill the available network capacity for that flow, cwnd and ssthresh get set to appropriate values for the network conditions. When a TCP sender stops sending, the flow stops sampling the network conditions, and so the value of the congestion window may become inaccurate. We believe the correct conservative behavior under these circumstances is to decay the congestion window by half for every RTT that the flow remains inactive. The value of half is a very conservative figure based on how quickly multiplicative decrease would have decayed the window in the presence of loss. Another possibility is that the sender may not stop sending, but may become application-limited rather than network-limited, and offer less data to the network than the congestion window allows to be sent. In this case the TCP flow is still sampling network conditions, but is not offering sufficient traffic to be sure that there is still sufficient capacity in the network for that flow to send a full congestion window. Under these circumstances we believe the correct conservative behavior is for the sender to keep track of the maximum amount of the congestion window used during each RTT, and to decay the congestion window each RTT to midway between the current cwnd value and the maximum value used. Before the congestion window is reduced, ssthresh is set to the maximum of its current value and 3/4 cwnd. If the sender then has more data to send than the decayed cwnd allows, the TCP will slow- start (perform exponential increase) at least half-way back up to the old value of cwnd. The justification for this value of '3/4 cwnd' is that 3/4 cwnd is a conservative estimate of the recent average value of the congestion window, and the TCP should safely be able to slow-start at least up to this point. For a TCP in steady-state that has been reducing its congestion window each time the congestion window reached some maximum value `maxwin', the average congestion window has been 3/4 maxwin. On average, when the connection becomes application-limited, cwnd will be 3/4 maxwin, and in this case cwnd itself represents the average value of the congestion window. However, if the connection happens to become application-limited when cwnd equals maxwin, then the average value of the congestion window is given by 3/4 cwnd. An alternate possibility would be to set ssthresh to the maximum of the current value of ssthresh, and the old value of cwnd, allowing TCP to slow-start all of the way back up to the old value of cwnd. Further experimentation can be used to evaluate these two options for setting ssthresh. For the separate issue of the increase of the congestion window in response to an acknowledgement, we believe the correct behavior is for the sender to increase the congestion window only if the window was full when the acknowledgment arrived. We term this set of modifications to TCP Congestion Window Validation (CWV) because they are related to ensuring the congestion window is always a valid reflection of the current network state as probed by the connection.3.1. The basic algorithm for reducing the congestion window A key issue in the CWV algorithm is to determine how to apply the guideline of reducing the congestion window once for every roundtrip time that the flow is application-limited. We use TCP's retransmission timer (RTO) as a reasonable upper bound on the roundtrip time, and reduce the congestion window roughly once per RTO. This basic algorithm could be implemented in TCP as follows: When TCP sends a new packet it checks to see if more than RTO seconds have elapsed since the previous packet was sent. If RTO has elapsed, ssthresh is set to the maximum of 3/4 cwnd and the current value of ssthresh, and then the congestion window is halved for every RTO that elapsed since the previous packet was sent. In addition, T_prev is set to the current time, and W_used is reset to zero. T_prev will be used to determine the elapsed time since the sender last was network- limited or had reduced cwnd after an idle period. When the sender is application-limited, W_used holds the maximum congestion window actually used since the sender was last network-limited. The mechanism for determining the number of RTOs in the most recent idle period could also be implemented by using a timer that expires every RTO after the last packet was sent instead of a check per packet - efficiency constraints on different operating systems may dictate which is more efficient to implement. After TCP sends a packet, it also checks to see if that packet filled the congestion window. If so, the sender is network-limited, and sets the variable T_prev to the current TCP clock time, and the variable W_used to zero. When TCP sends a packet that does not fill the congestion window, and the TCP send queue is empty, then the sender is application-limited. The sender checks to see if the amount of unacknowledged data is greater than W_used; if so, W_used is set to the amount of unacknowledged data. In addition TCP checks to see if the elapsed time since T_prev is greater than RTO. If so, then the TCP has not just reduced its congestion window following an idle period. The TCP has been application-limited rather than network-limited for at least an entire RTO interval, but for less than two RTO intervals. In this case, TCP sets ssthresh to the maximum of 3/4 cwnd and the current value of ssthresh, and reduces its congestion window to (cwnd+W_used)/2. W_used is then set to zero, and T_prev is set to the current time, so a further reduction will not take place until at least another RTO period has elapsed. Thus, during an application- limited period the CWV algorithm reduces the congestion window once per RTO.3.2. Pseudo-code for reducing the congestion window Initially: T_last = tcpnow, T_prev = tcpnow, W_used = 0 After sending a data segment: If tcpnow - T_last >= RTO (The sender has been idle.) ssthresh = max(ssthresh, 3*cwnd/4) For i=1 To (tcpnow - T_last)/RTO win = min(cwnd, receiver's declared max window) cwnd = max(win/2, MSS) T_prev = tcpnow W_used = 0 T_last = tcpnow If window is full T_prev = tcpnow W_used = 0 Else If no more data is available to send W_used = max(W_used, amount of unacknowledged data) If tcpnow - T_prev >= RTO (The sender has been application-limited.) ssthresh = max(ssthresh, 3*cwnd/4) win = min(cwnd, receiver's declared max window) cwnd = (win + W_used)/2 T_prev = tcpnow W_used = 04. Simulations The CWV proposal has been implemented as an option in the network simulator NS [NS]. The simulations in the validation test suite for CWV can be run with the command './test-all-tcp' in the Directory 'tcl/test'. The simulations show the use of CWV to reduce the congestion window after a period when the TCP connection was application-limited, and to limit the increase in the congestion window when a transfer is application-limited. As the simulations illustrate, the use of ssthresh to maintain connection history is a critical part of the Congestion Window Validation algorithm. [HPF99] discusses these simulations in more detail.5. Experiments We have implemented the CWV mechanism in the TCP implementation in FreeBSD 3.2. [HPF99] discusses these experiments in more detail. The first experiment examines the effects of the Congestion Window Validation mechanisms for limiting cwnd increases during application-limited periods. The experiment used a real ssh connection through a modem link emulated using Dummynet [Dummynet]. The link speed is 30Kb/s and the link has five packet buffers available. Today most modem banks have more buffering available than this, but the more buffer-limited situation sometimes occurs with older modems. In the first half of the transfer, the user is typing away over the connection. About half way through the time, the user lists a moderately large file, which causes a large burst of traffic to be transmitted. For the unmodified TCP, every returning ACK during the first part of the transfer results in an increase in cwnd. As a result, the large burst of data arriving from the application to the transport layer is sent as many back-to-back packets, most of which get lost and subsequently retransmitted. For the modified TCP with Congestion Window Validation, the congestion window is not increased when the window is not full, and has been decreased during application-limited periods closer to what the user actually used. The burst of traffic is now constrained by the congestion window, resulting in a better-behaved flow with minimal loss. The end result is that the transfer happens approximately 30% faster than the transfer without CWV, due to avoiding retransmission timeouts. The second experiment uses a real ssh connection over a real dialup ppp connection, where the modem bank has much more buffering. For the unmodified TCP, the initial burst from the large file does not cause loss, but does cause the RTT to increase to approximately 5 seconds, where the connection becomes bounded by the receiver's window. For the modified TCP with Congestion Window Validation, the flow is much better behaved, and produces no large burst of traffic. In this case the linear increase for cwnd results in a slow increase in the RTT as the buffer slowly fills. For the second experiment, both the modified and the unmodified TCP finish delivering the data at precisely the same time. This is because the link has been fully utilized in both cases due to the modem buffer being larger than the receiver window. Clearly a modem buffer of this size is undesirable due to its effect on the RTT of competing flows, but it is necessary with current TCP implementations that produce bursts similar to those shown in the top graph.6. Conclusions This document has presented several TCP algorithms for Congestion Window Validation, to be employed after an idle period or a period in which the sender was application-limited, and before an increase of the congestion window. The goal of these algorithms is for TCP's congestion window to reflect recent knowledge of the TCP connection about the state of the network path, while at the same time keeping some memory (i.e., in ssthresh) about the earlier state of the path. We believe that these modifications will be of benefit to both the network and to the TCP flows themselves, by preventing unnecessary packet drops due to the TCP sender's failure to update its information (or lack of information) about current network conditions. Future work will document and investigate the benefit provided by these algorithms, using both simulations and experiments. Additional future work will describe a more complex version of the CWV algorithm for TCP implementations where the sender does not have an accurate estimate of the TCP roundtrip time.7. References [FF96] Fall, K., and Floyd, S., Simulation-based Comparisons of Tahoe, Reno, and SACK TCP, Computer Communication Review, V. 26 N. 3, July 1996, pp. 5-21. URL 'http://www.aciri.org/floyd/papers.Html'. [HPF99] Mark Handley, Jitendra Padhye, Sally Floyd, TCP Congestion Window Validation, UMass CMPSCI Technical Report 99-77, September 1999. URL 'FTP://www- net.cs.umass.edu/pub/Handley99-tcpq-tr-99-77.ps.gz'. [HTH98] Amy Hughes, Joe Touch, John Heidemann, 'Issues in TCP Slow-Start Restart After Idle', Work in Progress. [J88] Jacobson, V., Congestion Avoidance and Control, Originally from Proceedings of SIGCOMM '88 (Palo Alto, CA, Aug. 1988), and revised in 1992. URL 'http://www- nrg.ee.lbl.gov/nrg-papers.html'. [JKBFL96] Raj Jain, Shiv Kalyanaraman, Rohit Goyal, Sonia Fahmy, and Fang Lu, Comments on 'Use-it or Lose-it', ATM Forum Document Number: ATM Forum/96-0178, URL 'http://www.netlab.ohio- state.edu/~jain/atmf/af_rl5b2.htm'. [JKGFL95] R. Jain, S. Kalyanaraman, R. Goyal, S. Fahmy, and F. Lu, A Fix for Source End System Rule 5, AF-TM 95-1660, December 1995, URL 'http://www.netlab.ohio- state.edu/~jain/atmf/af_rl52.htm'. [MSML99] Matt Mathis, Jeff Semke, Jamshid Mahdavi, and Kevin Lahey, The Rate-Halving Algorithm for TCP Congestion Control, June 1999. URL 'http://www.psc.edu/networking/ftp/papers/draft- ratehalving.txt'. [NS] NS, the UCB/LBNL/VINT Network Simulator. URL 'http://www-mash.cs.berkeley.edu/ns/'. [RFC2581] Allman, M., Paxson, V. and W. Stevens, TCP Congestion Control, RFC2581, April 1999. [VH97] Vikram Visweswaraiah and John Heidemann. Improving Restart of Idle TCP Connections, Technical Report 97-661, University of Southern California, November, 1997. [Dummynet] Luigi Rizzo, 'Dummynet and Forward Error Correction', Freenix 98, June 1998, New Orleans. URL 'http://info.iet.unipi.it/~luigi/ip_dummynet/'.8. Security Considerations General security considerations concerning TCP congestion control are discussed in RFC2581. This document describes a algorithm for one ASPect of those congestion control procedures, and so the considerations described in RFC2581 apply to this algorithm also. There are no known additional security concerns for this specific algorithm.9. Authors' Addresses Mark Handley AT&T Center for Internet Research at ICSI (ACIRI) Phone: +1 510 666 2946 EMail: mjh@aciri.org URL: http://www.aciri.org/mjh/ Jitendra Padhye AT&T Center for Internet Research at ICSI (ACIRI) Phone: +1 510 666 2887 EMail: padhye@aciri.org URL: http://www-net.cs.umass.edu/~jitu/ Sally Floyd AT&T Center for Internet Research at ICSI (ACIRI) Phone: +1 510 666 2989 EMail: floyd@aciri.org URL: http://www.aciri.org/floyd/10. Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an 'AS IS' basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.Acknowledgement Funding for the RFCEditor function is currently provided by the Internet Society.
標簽: Windows系統
相關文章:
主站蜘蛛池模板: 99成人| 国产在线观看一区 | 成人国产精品久久 | 成人精品一区二区 | 黄色网址av | 日韩免费片 | 国产精品一区二区三区免费 | 色爱区综合 | 色约约精品免费看视频 | 成人精品在线观看 | 国产二区三区 | 免费成人一级片 | 久久综合九色综合欧美狠狠 | 欧美日韩亚洲二区 | 成人乱人乱一区二区三区 | av男人的天堂在线 | 亚洲免费在线视频 | 中国免费看的片 | 亚洲成人免费在线 | 精品欧美一区二区三区久久久小说 | 97伦理电影网 | 成人免费网站www网站高清 | 午夜视频91| 亚洲一区精品视频 | 久久精品一| 欧美狠狠操| 天天天天天天天天干 | 男女视频在线免费观看 | 国产精品一区二区三区免费 | 久久国产亚洲精品 | 国产欧美在线观看 | 亚洲精彩视频 | 中文字幕免费在线 | 午夜国产视频 | 毛片99| 国产精品久久久久久久久久99 | 久久久精品国产 | 亚州中文 | 国产精品久久a | 久久久综合视频 | 久久999视频 | 亚洲第一区在线 | 日韩一区二区在线播放 | 亚洲男人天堂网 | 国产欧美一区二区三区在线看 | h片在线看 | 亚洲国产二区 | 天天看天天爽 | 毛片网站在线观看 | 国产精品女教师av久久 | 91精品国产色综合久久不卡98口 | 91国在线高清视频 | 欧美激情视频一区二区三区在线播放 | 日韩精品www | 伊人爽 | 久久com| 久久久一区二区三区 | 最近中文字幕在线视频1 | 久久久久国产一区二区三区四区 | 精品久久久久一区二区国产 | 亚洲欧美网址 | 国产精品久久久一区 | 五月婷婷天| 亚洲精品一区二区三区蜜桃久 | 可以免费在线观看av的网站 | 女人色网 | 精品成人av | 久久激情网站 | 日韩精品一区二区在线观看 | 亚州中文| 国内自拍视频网 | 亚洲激情视频在线观看 | av一道本 | 色综合天天 | 亚洲日韩中文字幕一区 | 免费日韩av | 亚洲精品99| 久久99国产精品久久99大师 | 欧美在线视频一区二区 | 亚洲综合无码一区二区 | 91精品久久久久久久久久 | 国产激情不卡 | 精品无码三级在线观看视频 | 激情综合网五月婷婷 | 国产亚洲网站 | 日韩欧美一二三区 | 国产成人一区二区 | 国产精品久热 | 91精品国产一区二区三区蜜臀 | 99精品在线 | 久久一二区 | 久久综合九色综合欧美狠狠 | 一级性视频 | 男女午夜 | 9191视频 | 国产一区二区三区久久久 | 一级女性全黄久久生活片免费 | 一区二区在线看 | 狠狠躁夜夜躁人人爽视频 | 午夜社区| 最新免费av网站 | 99久久免费看视频 | 欧美黄色网| 久久精品欧美一区二区三区不卡 | 日本亚洲视频 | 91精品国产日韩91久久久久久 | 国产欧美综合一区二区三区 | av中文字幕网 | 精品久久久久久亚洲综合网站 | 久久久久久久一区二区 | 成人精品视频在线观看 | 免费视频99 | 在线观看日韩 | 日韩中文字幕一区二区 | 99久久婷婷国产精品综合 | 91精品一区二区三区久久久久 | 伊人www| 在线视频 亚洲 | 国产一区免费视频 | 中文字幕国产区 | 91精品一区二区 | 日日操夜夜操天天操 | 国产传媒在线视频 | 搡女人真爽免费午夜网站 | a级网站在线观看 | 91精品国产91久久久久久最新 | 一区二区三区四区在线视频 | 成人a在线视频免费观看 | 欧美二区在线 | 久久久国产一区二区 | 国产传媒在线观看 | 91av视频在线观看 | 91婷婷射| 在线欧美日韩 | 国产一区二区三区精品久久久 | 国产精品色综合 | 久久久精品日本 | 久久99精品久久久久久 | 一二三区在线 | 日本免费视频 | 亚洲二区视频 | 亚洲精品国产第一综合99久久 | 亚洲大片一区 | 亚洲免费在线视频 | 久久久噜噜噜www成人网 | 久久se精品一区精品二区 | 2019中文字幕视频 | 青草视频网站 | 精品欧美一区二区精品久久久 | 亚洲精品电影网在线观看 | 99re热精品视频 | 精品美女在线 | 不卡一区 | 欧美视频在线一区 | 国产三区在线观看视频 | 范冰冰一级做a爰片久久毛片 | 亚洲一区二区三区免费看 | 一级一级一级一级毛片 | 国产激情在线看 | 中文字幕精品一区久久久久 | 欧美成人激情 | 亚洲综合精品视频 | 久久久国产精品x99av | 最新黄色网址在线播放 | 在线看成人片 | 午夜影视 | 香蕉久久久久久 | 日韩在线观看成人 | 国产区视频 | 国产高清一区 | 中国av在线 | 99色资源 | 欧美在线视频网 | 久久久亚洲精品中文字幕 | 国产精品无码久久久久 | 超碰在线一区二区三区 | 久久免费精品视频 | 日韩精品一区在线 | 色综合久久久久 | 成人av免费在线观看 | 久久久精品免费视频 | 日韩精品在线观看视频 | 国产视频一区二区在线观看 | 成人欧美一区二区三区色青冈 | 99久久精品一区二区 | 黄色成人免费看 | 免费一级在线观看 | 日韩一区二区三区福利视频 | 国产91极品 | 久久精品二区 | 美女在线视频一区二区 | 日韩影院在线 | 剑来在线观看 | 午夜家庭影院 | 日韩成人精品视频在线观看 | 99精品欧美一区二区三区 | 国产 日韩 欧美 在线 | 91网站在线看 | 国产传媒一区 | 黄色三级视频 | 日韩在线视频观看 | 国产精品综合 | a久久久| 狠狠操av | 日韩中文字幕在线免费 | 国产成人精品999在线观看 | www.男人天堂 | av免费在线播放 | 亚洲欧洲自拍 | 久久久久黄 | 国产视频综合在线 | 1000部羞羞视频在线看视频 | 精品少妇一区二区三区 | 久久视频在线 | 精品国产不卡一区二区三区 | 欧美一区二区三区四区不卡 | www色婷婷 | 亚洲欧美日韩在线 | 国产精品网站在线看 | 成全视频免费观看在线看黑人 | 国产电影一区二区 | 羞羞视频在线播放 | 99免费精品 | 中文字幕在线看第二 | 欧洲成人在线 | 国产精品视屏 | 国产精品久久 | 日韩aaa视频 | 日韩综合一区 | 日本黄网站在线观看 | 成人欧美一区二区三区黑人孕妇 | 青青久久 | 欧美 日韩 国产 一区 | 日韩不卡一区二区 | 国产特级毛片aaaaaa毛片 | 中文字幕在线观看av | 亚洲网站视频 | 69性欧美高清影院 | 国产亚洲精品一区二区 | 日本爽快片毛片 | 久久国产精品免费一区二区三区 | 91九色视频在线 | 亚洲色图一区二区三区 | h视频免费观看 | 99爱视频 | 日本黄色三级网站 | 特黄一级 | 黄色国产一级片 | 日韩视频在线观看 | 这里只有精品视频 | 亚洲电影二区 | 精品久久久久久久 | 亚洲精品99 | 在线观看一区 | 欧美日韩在线免费 | 少妇无套高潮一二三区 | 草草视频在线免费观看 | 天天操天天操 | 蜜臀在线视频 | 日韩在线一区二区 | 81精品国产乱码久久久久久 | 国产日韩欧美精品一区二区 | 国产超碰人人爽人人做人人爱 | 性视频网站免费 | 国产精品久久久久久久久久 | 亚洲精品一区二区网址 | 日本二区在线观看 | 国产一区二区久久 | 一区二区三区成人 | 草草视频在线免费观看 | 国产成人精品久久二区二区91 | www中文字幕 | 亚洲成人黄色 | 中文精品一区二区三区 | 毛片真人毛毛片毛片 | 亚洲综合无码一区二区 | 亚洲精品在线播放 | 国产成人精品午夜视频免费 | 9191视频| 久久精品这里只有精品 | 国产成人精品免高潮在线观看 | 中文无码日韩欧 | 日韩欧美久久 | 欧美福利一区 | 国产综合精品一区二区三区 | 性高湖久久久久久久久aaaaa | 女朋友的闺蜜3韩国三级 | 日韩精品一区二区三区在线播放 | 草久在线视频 | 亚洲xx在线| 久久精品国产久精国产 | 精品久久久久一区二区国产 | 成人超碰在线 | 黄色a在线观看 | av网站免费在线观看 | 成人免费影院 | 日韩精品三区 | 91精品国产综合久久久久 | 99在线免费视频 | 日韩一区二区视频 | 精品一区二区三区视频 | 久久涩| 女人久久久久久久 | 国产高清精品一区二区三区 | 精品国产乱码久久久久久久软件 | 99精品国产高清在线观看 | 一区二区三区不卡视频 | 久久久久国产一区 | 婷婷伊人| 国产精品久久二区 | 亚洲二区在线观看 | av网站在线免费观看 | 国产精品69久久久久水密桃 | 午夜视频网站 | 日韩在线免费电影 | 久久久久久国产精品 | 国产精品一区二区在线 | 久久久看片| 欧美自拍网| 蜜桃视频一区二区三区 | 精品日韩中文字幕 | 国产一区二区三区久久 | 波多野结衣一区三区 | 免费观看国产精品 | 午夜大片在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 午夜影院在线观看 | 日操视频 | 日本成片视频 | 欧美日韩亚洲一区二区 | 欧美精品成人一区二区三区四区 | 一区二区免费看 | 一区二区三区四区日韩 | 亚洲精品视频导航 | 综合久久久久久久 | 狠狠操综合网 | 这里精品 | 狠狠操夜夜操天天操 | 最新av在线网址 | 一区二区三区国产免费 | 亚洲xx在线| 91xx在线观看| 日本妇人成熟免费视频 | 日本欧美久久久久免费播放网 | 成人黄色片网站 | 激情91 | 国产精品视频播放 | 国产精品第一区 | 欧美成人精品在线观看 | 在线免费色视频 | 中文在线亚洲 | 狠狠操天天操 | 亚洲 欧美 日韩 精品 | 亚洲国产精品第一区二区 | 午夜男人免费视频 | 欧美日视频 | 国产精自产拍久久久久久 | 在线观看午夜免费视频 | 久久久久久毛片免费播放 | 欧美精品免费在线观看 | 成人av观看 | 成人黄色短视频在线观看 | 亚洲欧美日韩另类精品一区二区三区 | 综合久久亚洲 | 色综合久久一区二区三区 | 日韩欧美国产一区二区三区 | 国产一区在线看 | 日韩免费网站 | 欧美 日韩 在线播放 | 成人av综合 | www.欧美日韩 | 91免费观看 | 日本久久久久久久久久久久 | 亚洲人黄色片 | 成人性大片免费观看网站 | 国产亚洲欧美在线 | 成人免费毛片高清视频 | 国产福利免费视频 | 欧美激情在线精品一区二区三区 | 黄久久久 | 久久精品国产久精国产 | 国内精品一区二区三区 | 国产精品久久天天躁 | 欧美日韩电影一区 | 精品日韩在线 | 久久理论片 | 在线观看亚洲精品 | 蜜月aⅴ免费一区二区三区 99re在线视频 | av在线一区二区 | 亚洲精品一区二区三区蜜桃久 | 中国大陆高清aⅴ毛片 | 午夜精品一区二区三区在线播放 | 久久精品2 | 国产一区二区三区在线免费观看 | 在线观看免费av网站 | 久久一区 | 国产精品一区二区三区四区五区 | 欧美成人福利 | 黄色毛片在线观看 | 亚洲一区二区在线 | 成人av在线网 | 日韩在线免费 | 国产高清视频一区二区 | 日日久 | 都市激情av | 国产精品日韩 | 欧美不卡 | 日韩精品视频在线观看免费 | 男人的天堂视频网站 | 精品久久一区二区三区 | 福利网站在线观看 | 狠久久 | 香蕉综合久久 | 天天干天天插天天 | 香蕉大人久久国产成人av | 日韩成人av在线 | 中文字幕在线观看 | 亚洲国产成人在线观看 | 欧美成人福利 | 欧美日韩国产精品一区二区亚洲 | 欧美激情自拍偷拍 | 久草免费在线 | 天堂一区| 国产综合区 | 国产精品久久久久久久 | 亚洲日韩中文字幕一区 | 成人激情视频在线播放 | 久国产精品视频 | 波多野结衣中文字幕在线视频 | 一区二区三区的视频 | av小说在线观看 | 中文字幕在线日韩 | 中文字幕日韩久久 | 欧美久久久久久 | 欧美一级片在线 | 日韩综合一区 | 欧美一级成人欧美性视频播放 | 精品国产一区二区三区久久久久久 | 久久久久国产 | 91久久精品日日躁夜夜躁国产 | 欧美国产精品久久久 | 精品久久久久久久久久久久久久 | 欧美三级电影在线观看 | 亚洲福利一区二区 | 欧美激情精品久久久久久变态 | 欧美一级欧美三级在线观看 | 日韩在线免费观看网站 | 免费观看一级特黄欧美大片 | 亚洲伦理一区 | 欧美成年黄网站色视频 | 久久av网 | 在线观看三区 | 欧美日韩一区二区三区在线观看 | 一区二区视频在线观看 | 日本一二三视频 | 成人a在线视频免费观看 | 色九九九 | 亚洲欧洲精品一区二区三区 | 欧美中文字幕在线 | 黄色片视频免费 | 国产福利在线免费 | 在线一区二区三区视频 | www97影院| 亚洲日韩欧美一区二区在线 | 91精品国产人妻国产毛片在线 | 国产精品久久久久久久久岛 | 91九色porny首页最多播放 | 日本久久久久久久久久久久 | 日韩1区 | 中文字幕在线不卡 | 久久高清| 不卡一区 | 欧美日韩不卡合集视频 | 欧美黑人一级爽快片淫片高清 | 国产一区二区三区免费在线观看 | 久久久久久99精品 | 成人精品 | 免费黄色片一区二区 | 久久久久国产精品www | 成人免费国产 | 日韩久久一区二区 | 日韩在线观看视频免费 | 日韩视频精品 | 91九色麻豆| 91成人区 | 日本一区二区不卡视频 | 91精彩视频在线观看 | 日本1区2区| 一区中文字幕 | 我要看一级黄色 | 国产欧精精久久久久久久 | 三区视频 | 在线观看精品自拍私拍 | 久久久久久久久一区 | www.操.com| 欧美精品免费在线观看 | 日本三级在线观看网站 | 在线观看免费视频a | 风间由美一区二区三区在线观看 | 久久精品国产一区二区三区不卡 | 成人毛片在线视频 | 欧美一级免费高清 | 日日摸夜夜添夜夜添亚洲女人 | 99久久精品一区二区成人 | 国产综合视频在线播放 | 激情毛片| 日韩一区二区在线视频 | 国产一级免费视频 | 国产一区精品在线 | 中文字幕不卡在线 | 欧美一级黄色大片 | 亚洲综合色视频在线观看 | 亚洲国产成人在线 | 欧美精品在线视频 | 久久视频在线 | 亚洲视频在线看 | 欧美激情精品久久久久 | 国产区视频 | 精品无人乱码一区二区三区 | 精品日韩| 日韩在线不卡 | 日韩www视频 | 91精品国产91久久久久久最新 | 久久久久亚洲av毛片大全 | av影音| 亚洲成人免费视频 | 久久久精品网站 | 久久久夜 | 欧美成人精品在线 | 国产精品久久国产精品 | 国产精品成人在线 | 天天久久 | 9999国产精品 | 免费看一区二区三区 | 性欧美久久久 | 日韩三级在线免费观看 | 久久国产精品精品国产 | 亚洲视频免费在线 | 在线观看免费视频91 | 国产视频一区二区 | 国产色 | 日韩av一级片 | 欧美一区永久视频免费观看 | 一级片| 欧美国产日韩一区 | 日本一级中文字幕久久久久久 | 在线免费观看黄色 | 九色av| 91亚洲国产成人久久精品网站 | 久久婷婷视频 | 成人免费一区二区三区视频软件 | 中文字幕三区 | 五月激情六月婷婷 | 自拍偷拍第一页 | 久久久国产精品入口麻豆 | 久久成人午夜 | 四虎影院免费网址 | 日韩欧美网 | 国产成人天天爽高清视频 | 亚洲一区电影 | 久久精品中文字幕 | 国产欧美日韩综合精品一区二区 | 久久久一区二区三区 | 国产日韩欧美一区二区 | 欧美久久久久久久久久 | 超碰人人爱| 欧美3区| 亚洲成av人片一区二区梦乃 | 欧美综合一区 | 国产成人精品久久二区二区 | 91伊人 | 中文字幕在线观看www | 日韩欧美一区二区三区久久婷婷 | 精品中文字幕在线观看 | 免费观看国产精品 | 免费看片一区二区三区 | www.一区| 欧美亚洲国产一区 | 91精品综合久久久久久五月天 | 日韩在线观看 | 国产在线精品一区二区三区 | 中文字幕一二三 | 日韩精品久久久久久 | 亚洲精品国产片 | 2012中文版免费观看 | 久久亚洲欧美日韩精品专区 | 成年人网站国产 | 国产精品地址 | 久久久久久1| 亚洲人人 | 精品免费国产一区二区三区 | 国产人成精品一区二区三 | 精品一区二区三区三区 | 中文字幕日韩一区二区三区 | 一区二区三区在线观看国产 | 中文字幕在线欧美 | 日本污视频在线观看 | 国产精品一区亚洲二区日本三区 | 国产欧美综合一区二区三区 | 国产欧美日韩综合精品 | 国产精品三级久久久久久电影 | av网站久久 | 日韩欧美一二三区 | 国产精品久久久久久久久久10秀 | 国产成人av一区二区三区 | 欧美性18 | 精品亚洲一区二区 | 欧洲免费毛片 | 99精品欧美一区二区三区 | 精产国产伦理一二三区 | 久久亚洲一区二区三区四区五区高 | 一区二区三区四区在线 | 亚洲 成人 av| 51ⅴ精品国产91久久久久久 | 99国产视频 |