日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

RFC2861 - TCP Congestion Window Validation

瀏覽:25日期: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.
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚久久调教视频| 欧美日韩国产免费观看视频| 97人人精品| 精品伊人久久久| 国产精品2023| 日韩av中文在线观看| 在线观看亚洲精品福利片| 欧美专区一区二区三区| 久久亚洲不卡| 日韩国产在线一| 国产精品多人| 久久天堂av| 在线日韩成人| 美腿丝袜亚洲三区| 日韩中文影院| 婷婷视频一区二区三区| 久久午夜精品一区二区| 日韩va欧美va亚洲va久久| 国产精品a久久久久| zzzwww在线看片免费| 亚洲黄页一区| 欧美久久久网站| 成人国产综合| 日韩精品一级中文字幕精品视频免费观看 | 久久精品国产在热久久| av综合电影网站| 99精品99| 精品视频91| 国产免费成人| 国内精品麻豆美女在线播放视频| 亚洲高清av| 国产精品日韩精品中文字幕| 久久青草久久| 日本成人在线一区| 亚洲一级影院| 成人精品国产亚洲| 97se亚洲| 亚洲深夜影院| 日韩天堂在线| 国产精久久一区二区| 欧美午夜精彩| 久久国产人妖系列| 五月天av在线| 国产视频亚洲| 国产精品chinese| 欧美午夜精彩| 日韩精品久久久久久| 精品美女在线视频| 久久激情一区| 精品高清久久| 中文字幕日韩欧美精品高清在线| 日韩精品91| 亚洲伊人精品酒店| 国产精品精品| 久久精品国产999大香线蕉| 成人av动漫在线观看| 国产精品一区二区三区四区在线观看| 日韩大片在线播放| 18国产精品| 在线一区视频| 日韩国产欧美一区二区| 日本免费新一区视频| 欧美日韩国产精品一区二区亚洲| 中文字幕一区二区av| 久久久精品久久久久久96 | 水蜜桃精品av一区二区| 欧美日一区二区在线观看| 亚洲激情二区| 国产主播一区| 日韩精品一区二区三区免费观影| 久久久噜噜噜| 色黄视频在线观看| 国产成人精选| 亚洲www免费| 四虎影视精品| 日韩精品首页| 欧美黄页在线免费观看| 91亚洲精品视频在线观看| 人人爽香蕉精品| 美日韩精品视频| 亚洲欧美激情诱惑| 在线精品亚洲| 7777精品| 国产欧美日韩一级| 日韩一区二区三区高清在线观看| 欧美 日韩 国产精品免费观看| 成人黄色av| 91精品久久久久久久久久不卡| 亚洲黄页一区| 伊人成人在线视频| 国产美女亚洲精品7777| 激情丁香综合| 偷拍亚洲精品| 日本成人在线视频网站| 亚洲18在线| 国产精品免费99久久久| 久久精品国产福利| аⅴ资源天堂资源库在线| 亚洲午夜天堂| 伊人久久亚洲美女图片| 亚洲a成人v| 久久精品国产999大香线蕉| 肉色欧美久久久久久久免费看| 国产精品99免费看| 日本特黄久久久高潮| 久久久久国产精品一区二区| 国产精品久久久久久久免费观看 | 日韩免费福利视频| 久久香蕉国产| 中文字幕日本一区二区| 麻豆91在线播放| 91精品二区| 欧美激情视频一区二区三区免费| 视频在线在亚洲| 91日韩在线| 美女久久久久久| 亚洲欧美日本视频在线观看| 亚洲3区在线| 视频一区欧美日韩| 天堂中文在线播放| 国产美女亚洲精品7777| 丝瓜av网站精品一区二区| 亚洲国产成人精品女人| 精品视频网站| 五月激激激综合网色播| 欧美日韩水蜜桃| 精品三区视频| 国产精品一级| 国产亚洲高清在线观看| 99在线|亚洲一区二区| 色偷偷偷在线视频播放| 欧美一区影院| 日韩一区二区三区在线看| 久久精品女人| 欧美日韩视频免费看| 99国产精品99久久久久久粉嫩| 国产激情在线播放| 久久久久伊人| 日韩av影院| 国产精品最新自拍| 91精品麻豆| 久久wwww| 麻豆一区二区三| 国产精品午夜av| 国产精品久一| 国产精品久久久久久av公交车| 奇米777国产一区国产二区| 亚洲精品乱码日韩| 久久久久91| 欧美日韩激情| 午夜国产一区二区| 亚洲欧美日本日韩| 亚欧洲精品视频在线观看| 亚洲精品亚洲人成在线观看| 亚洲精品在线a| 国产精品一区二区三区美女| 国产精品xvideos88| 色综合狠狠操| 欧美日韩国产一区精品一区| 日本一区二区三区中文字幕| 国产精品亚洲片在线播放| 精品久久亚洲| 日韩午夜av| 久久精品99国产精品| 美女视频黄久久| 日本欧美不卡| 亚洲专区视频| 麻豆精品一区二区综合av| 久久毛片亚洲| 免费在线视频一区| 欧美91在线| 欧美日韩国产免费观看视频| 日韩欧美精品一区二区综合视频| 久久精品国产久精国产| 欧美日韩精品在线一区| 日本不卡一区二区| 日韩精品一区二区三区免费观影| 国产精品s色| 欧美成人精品三级网站| 日本不卡视频一二三区| 国产不卡人人| 日韩毛片网站| 91精品婷婷色在线观看| 91精品国产自产观看在线 | 午夜免费一区| 国产欧美日韩在线一区二区| 播放一区二区| 国产探花一区在线观看| 成人久久一区| 久久国产乱子精品免费女| 国产精品探花在线观看| 一本一本久久| www.51av欧美视频| 日韩高清一区二区| 欧美在线观看天堂一区二区三区| 欧美中文字幕一区二区| 精品视频在线你懂得| 日韩不卡一区二区| 蜜臀精品久久久久久蜜臀| 日韩精品看片|