日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

MIT 6.824 Lab2A (raft) -- Leader Election

發布時間:2023/11/27 生活经验 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MIT 6.824 Lab2A (raft) -- Leader Election 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 實驗要求
    • Leader Election流程 及詳細實現介紹
      • 基本角色
      • 關鍵超時變量
      • 關鍵的兩個RPC實現
        • RequestVote RPC
        • AppendEntries RPC
      • Go并發編程實現leader election調度

本節記錄的是完成MIT6.824 raft lab的leader Election部分實驗。

代碼: https://github.com/BaronStack/MIT-6.824-lab, clone之后git checkout lab2-2A

實驗要求

這里是raft lab2 的2A部分,也是這個lab的一個基礎部分。主要完成的raft功能是 leader election 和 heartbeat 心跳。即 集群選舉從初始化狀態選舉出一個leader,且在集群沒有異常的情況下這個leader會通過heartbeat心跳一直保持自己的leader狀態

詳細的功能可以 通過test_test.go的兩個測試看看2A這里主要的功能是什么?

func TestInitialElection2A(t *testing.T) {servers := 3 //初始化三個peercfg := make_config(t, servers, false) // 完成初使選舉defer cfg.cleanup()cfg.begin("Test (2A): initial election")// is a leader elected?cfg.checkOneLeader() // 檢查leader是否選舉出來且只有一個// sleep a bit to avoid racing with followers learning of the// election, then check that all peers agree on the term.time.Sleep(50 * time.Millisecond)// 完成leader選舉之后,當前leader任期內的term 大于等于初始化的term// 且后續沒有網絡異常的情況下這個term不會發生變化term1 := cfg.checkTerms()if term1 < 1 {t.Fatalf("term is %v, but should be at least 1", term1)}// does the leader+term stay the same if there is no network failure?time.Sleep(2 * RaftElectionTimeout)// 過了一段時間,確保term不會發生變化term2 := cfg.checkTerms()if term1 != term2 {fmt.Printf("warning: term changed even though there were no failures")}// there should still be a leader.// 仍然只有一個leadercfg.checkOneLeader()cfg.end()
}

后面的一個測試是針對leader election過程中的其他異常情況進行的,詳細代碼可以看看test_test.goTestReElection2A函數的測試內容:

  • 三個peer選舉出一個leader
  • 一個peer異常,leader能夠正常選出來
  • 兩個peer異常,leader選舉不出來,因為已經超過大多數異常了
  • 恢復了一個peer之后有兩個peer,能夠選舉出來一個leader
  • 再加入一個peer之后不影響之前正常的leader

整體來看就是一個完整的leader election的實現。

Leader Election流程 及詳細實現介紹

基本角色

這里的角色在實際raft相關的應用中是以服務進程的形式存在的。

  • follower ,所有角色開始時的狀態,等待接受leader心跳RPCs,如果收不到則會變成Candidate
  • Candidate,候選人。是變成Leader的上一個角色,候選人會向其他所有節點發送RequestVote RPCs,如果收到集群大多數的回復,則會將自己角色變更為Leader,并發送AppendEntries RPCs。
  • Leader ,集群的皇帝/主人…,raft能夠保證每一個集群僅有一個leader。負責和客戶端進行通信,并將客戶端請求轉發給集群其他成員。

代碼中定義了三種常量表示peer不同的state:

const (STATE_FOLLOWER = iota // 0STATE_CANDIDATESTATE_LEADERHBINTERVAL = 50 * time.Millisecond // 50ms 心跳間隔
)

關鍵超時變量

  • Election Timeout 選舉超時時間。即Cadidate 向集群其他節點發送vote請求時,如果在Election Timeout時間內沒有收到大多數的回復,則會重新發送vote rpc。

    以上將實際RequestVote簡寫為vote ,就是請求投票的rpc

    一般這個超時時間是在150-300ms的隨機時間,為了防止集群出現頻繁的 split vote 影響leader選舉效率的情況,將這個超時時間取在155-300ms范圍內的隨機時間。當然,這個數值也是經過測試的,超時時間設置在150-300ms 之間能夠保證raft集群 leader的穩定性,也可以將超時時間設置的比較低(12-24ms),但是存在的網絡延遲則會導致一些不必要的leader選舉。

    隨機超時時間的設定實現如下,因為看到有很多完成6.824的伙伴有說這里超市時間是個坑,測試數百上千次可能無法保證每次都能在超市時間內選舉出leader,目前還沒有遇到:

    time.After(time.Duration(rand.Int63() % 333 + 550) * time.Millisecond) //這里設置的是550-880ms之間
    

    關于splite vote的情況可以看如下圖,圖片來自raft可視化官網:

    兩個節點收到對方的vote請求之前變成了candidate,發送了各自的request vote。

  • Heartbeats Timeout 心跳超時時間。follower接受來自leader的心跳,如果在heartbeats timeout這個時間段內follower沒有收到來自leader的AppendEntries RPCs,則follower會重新觸發選舉。收到了,則重置follower 本地的 heartbeats timeout。

  • TermLeader選舉過程中除了之前提到的基本變量,還會有一個Term 的概念。

    每一個term的變更不一定表示Leader一定會被選舉出來了。

    上圖中的 term3 則完全沒有選出leader,這種情況的出現就是上文中描述的splite vote的情況,這個時候Term也會增加,當時并沒有leader 被選出來,在ceph/zookeeper中 其實就類比于Epoch。

關鍵的兩個RPC實現

在講實際的RequestVoterpc和SendRequestVote實現之前我們先來看看什么是RPC(remote procedure call)遠程進程調用

我們知道raft維護的是一個集群多臺機器之間的共識狀態,那需要這個集群內的機器之間頻繁得進行數據傳輸。而我們希望實際發送過去得不僅僅是數據流,還有可以執行產生數據流的函數,這樣能夠高效得完成一些邏輯上的數據處理。比如,raft中我們將RequestVote封裝成一個函數,將本地的peer狀態作為參數和整個函數一起發送到遠端的機器,遠端的機器能夠根據發送過來的peer狀態通過RequestVote內部邏輯來決定自己本地的行為。這個過程如果純粹得通過網絡發送數據包,顯然需要大量的數據傳輸,所以RPC也就應運而生了。

實現RPC的話 不像我們本地服務器進程之間通信或者進程內部的函數調用這么簡單方便,因為是跨服務器的,之間的信息交流只能通過網絡。我們想要讓本地的函數在遠端也能夠執行,需要實現如下幾個機制:

  • Call ID映射。保證本地和遠端服務器都能夠通過這個映射找到唯一的函數指針執行
  • 序列化和反序列化。需要將函數參數進行序列化成字節流 通過網絡傳輸到遠端,遠端服務器再進行反序列化解析得到參數。
  • 網絡傳輸。需要通過網絡協議將Call ID、序列化和反序列化數據 發送到遠端。這里的協議并不會有太多的限制,TCP/UDP/HTTP等都可以。

輕量級得RPC的實現感興趣的同學可以看看labrpc.go,對于RPC過程中需要處理的網絡異常或者流量控制這樣的需求 學習gRPC或者bRPC等C++實現也是很經典的。

RequestVote RPC

這個RPC存在的目的是為了選舉leader,即集群中有peer變成了candidate狀態時就會發送RequestVote rpc。

  • RequestVote RPCs 以上兩個超時過程也說了,投票是通過rpc請求實現的,且當有RequestVote 出現時,說明發送的peer本省的state已經是處于Candidate了

    實際的RPC-args和reply結構體如下:

    type RequestVoteArgs struct {// Your data here (2A, 2B).Term int          // current candidate's termCandidateId int   // candidate's id requesting voteLastLogIndex int  // index of current candidate's last log entryLastLogTerm int   // term of current candidate's last log entry
    }//
    // example RequestVote RPC reply structure.
    // field names must start with capital letters!
    //
    type RequestVoteReply struct {// Your data here (2A).Term int           // current term, for candidate to update itselfVoteGranted bool   // true means candidate received vote
    }
    

    我們的raft中RequestVote的實現中,如果想要接收這個rpc的peer為發送的rpc即RequestVoteArgs 投票,則需要滿足以下幾個條件:

    1. Receive-peer 的 term > send-peer 的term,則receiver-peer保留自己本身的狀態,畢竟Term都比請求投票的peer term新

    2. 為了保證一致性,當send-peer的term 滿足大于等于receive-peer的term的時候需要比較上一個term是否比receive-peer的上一個term新,如果是相等,還需要確認上一個log index是否更新。這一些都滿足之后才能更新receive-peer的狀態為follower 以及 投票的id。即receive-peer認可了send-peer是leader。

      除了最開始的term的比較之外,后續的last-term以及last-log-index 都是為了保證選舉出來的leader能夠擁有最更新的日志。

    代碼實現如下:

    func (rf *Raft) RequestVote(args RequestVoteArgs,reply *RequestVoteReply) {// Your code here (2A, 2B).rf.mu.Lock()defer rf.mu.Unlock()reply.VoteGranted = falseif args.Term < rf.currentTerm { // 判斷term,rf.currentTerm是receiver-peer的term// send-peer的term沒有receiver-peer的term新,直接返回reply.Term = rf.currentTermreturn}// send-peer的term更新,則更新receive-peer的state和本地term// 如果兩者相等, 則需要繼續后續的last-term和last-index的判斷if args.Term > rf.currentTerm { rf.currentTerm = args.Termrf.state = STATE_FOLLOWERrf.voteFor = -1}reply.Term = rf.currentTermlast_term := rf.GetLastTerm()last_index := rf.GetLastIndex()update := false// only the leader have the newer term and log-index than current peer// then we could vote for the peerif args.LastLogTerm > last_term {update = true}if args.LastLogTerm == last_term && args.LastLogIndex >= last_index {update = true}// 都滿足send-peer擁有更全的日志,receive-peer才會選擇去更新本地相關狀態和跟進termif (rf.voteFor == -1 || rf.voteFor == args.CandidateId) && update {rf.chanGrantVote <- truerf.state = STATE_FOLLOWERreply.VoteGranted = truerf.voteFor = args.CandidateId // 投票給send-peer的peer id}
    }
    
  • sendAppendEntries的實現 大體是在send-peer端在發送完rpc接收到reply之后的處理邏輯

  1. 在收到RequestVote之后,檢查發現當前state的狀態已經發生變化了,則保持這個狀態直接返回(在此期間可能收到了AppendEntries RPC ,則會直接變更為follower)
  2. term 發生了變化,則認為當前peer在收到自己發送的rpc回復之前收到別人的rpc且為別人投了票,也就是狀態也發生了變化
  3. 自己還是保持的發送之前的state和term,只是收到回復的term比自己的term大,那將自己狀態變更為follower
  4. 收到的回復中發現別人投給自己一票,那就準備將自己變更為leader
func (rf *Raft) sendRequestVote(server int, args RequestVoteArgs, reply *RequestVoteReply) bool {ok := rf.peers[server].Call("Raft.RequestVote", args, reply)rf.mu.Lock()defer rf.mu.Unlock()if ok {// find that the current peer's state changed , return okif rf.state != STATE_CANDIDATE {return ok}// keep the current peer's state, our state have been changedterm := rf.currentTermif args.Term != term {return ok}if reply.Term > term {rf.currentTerm = reply.Termrf.state = STATE_FOLLOWERrf.voteFor = -1}// 別人的回復認可了自己,投了自己一票if reply.VoteGranted {rf.voteCount ++// 確認自己的投票總數超過半數,則通過channel 標記自己成為leaderif rf.state == STATE_CANDIDATE && rf.voteCount > len(rf.peers)/2 {rf.state = STATE_FOLLOWERrf.chanLeader <- true}}}return ok
}

關于Term在candidate 投票過程中發生的變化 如下圖。

AppendEntries RPC

這個rpc是leader維護自己狀態的,每隔一段時間像其他的follower發送AppendEntries,這段時間的集群term不會發生變化。并且AppendEntries也會攜帶著log-entry 更新log index。

  • AppendEntries RPCs leader 同步數據時的rpc請求。

    其發送和接收回復的結構體形態如下:

    // AppendEntries RPC args
    type AppendEntriesArgs struct {Term int 					// leader 的termLeaderId int			// leader 所在peer的idPrevLogIndex int	// leader上一個log indexPrevLogTerm int		// leader 上一個log的termEntries []LogEntry // leader 存放的logLeaderCommit int   // leader 已經commit的index
    }// AppendEntries RPC reply
    type AppendEntriesReply struct {Term int      // 當前peer回復給leader的term,leader用來判斷是否需要變更自身的狀態Success bool  // 當前peer是否仍然認可leaderNextIndex int // 下一個log entry的index內容
    }
    

    AppendEntries 中主要做的事情如下(L表示leader,P表示收到RPC的peer):

    1. 發現L-term < P-term,這個時候認為集群發生了異常,返回success為false表示當前peer不認可leader的任期了
    2. 檢查L-prevLogIndex和P-LogIndex是否匹配,如過發現L-prevLogIndex更 新,則認為follower的log不全,需要從leader補充,那需要找到和P-LogIndex 匹配的index,將找到的index+1返回給leader。這個過程其實就是leader補全和follower之間的日志差異,需要向前找到leader和follower所處的同一個term的同一個index才能返回。

    當然,第二點其實是lab 2B要做的事情,這個無關于leader election。

    看一下實現

    func (rf *Raft) AppendEntries(args AppendEntriesArgs,reply *AppendEntriesReply) {rf.mu.Lock()defer rf.mu.Unlock()// 發現L-term < P-term,認為集群發生了異常,將當前peer的term返回回去reply.Success = falseif args.Term < rf.currentTerm {reply.Term = rf.currentTermreply.NextIndex = rf.GetLastIndex() + 1return}// 如果是Term正常的,那就直接填充channel,告訴leader當前peer仍然是followerrf.chanHeartbeat <- trueif args.Term > rf.currentTerm {rf.currentTerm = args.Termrf.state = STATE_FOLLOWERrf.voteFor = -1}reply.Term = args.Termif args.PrevLogIndex > rf.GetLastIndex() {reply.NextIndex = rf.GetLastIndex() + 1return}baseIndex := rf.log[0].LogIndex// 對PrevLogIndex的檢查,確保follower的entry是和leader的log entry同步的if args.PrevLogIndex > baseIndex {term := rf.log[args.PrevLogIndex-baseIndex].LogTermif args.PrevLogTerm != term {for i := args.PrevLogIndex - 1 ; i >= baseIndex; i-- {if rf.log[i-baseIndex].LogTerm != term {reply.NextIndex = i + 1break}}return}}if args.PrevLogIndex < baseIndex {} else {rf.log = rf.log[: args.PrevLogIndex+1-baseIndex]rf.log = append(rf.log, args.Entries...)reply.Success = truereply.NextIndex = rf.GetLastIndex() + 1}return
    }
    
  • sendAppendEntries 是leader 發送完AppendEntriesRPC之后的一些處理邏輯

    func (rf *Raft) sendAppendEntries(server int, args AppendEntriesArgs, reply *AppendEntriesReply) bool {ok := rf.peers[server].Call("Raft.AppendEntries", args, reply)rf.mu.Lock()defer rf.mu.Unlock()if ok {// 發送RPC之后發現當前leader的狀態和term發生了變化,直接返回吧// 可能在此期間收到其他peer的rpc擁有更高的term,也會讓自身的狀態和term發生變化if rf.state != STATE_LEADER {return ok}if args.Term != rf.currentTerm {return ok}// 如果leader自身沒有變化,但是發現收到回復的term比自己的term新// 只能認為自己的follower了if reply.Term > rf.currentTerm {rf.currentTerm = reply.Termrf.state = STATE_FOLLOWERrf.voteFor = -1return ok}// 更新logindexif reply.Success {if len(args.Entries) > 0 {rf.nextIndex[server] = args.Entries[len(args.Entries) - 1].LogIndex + 1rf.matchInex[server] = rf.nextIndex[server] - 1}} else {rf.nextIndex[server] = reply.NextIndex}}return ok
    }
    

從上面的AppendEntriesRequestVote兩種RPC我們大體清楚了在leader Election過程中的節點狀態變化的情況。

總體來說就是當Follower長時間沒有收到心跳的時候就會變成 Candidate,Candidate通過RequestVote邏輯對一些term新舊的判斷或者logIndex新舊的判斷進行投票從而選擇term最新且log最全的peer作為leader,不認為自己能夠當選leader 的peer同時也會將自己的狀態變更為follower;leader會不斷得向follower發送AppendEntries 來維持自己的leader狀態。當集群發生異常(宕機的舊leader重新啟動,收到了新Leader的狀態信息)則會將自己標記為Follower

如下圖:

Go并發編程實現leader election調度

我們在RPC中已經將大多數的核心實現已經描述清楚了, 接下來就是在外部構造集群需要的多個peer ,每個peer通過接收發送RPC來維護自己的外部狀態機的行為,從而更好得在三種狀態之間變遷。

根據Lab 2A的要求,會檢查集群從最開始沒有leader的狀態進行選舉,完成leader選舉;到集群正常運行時模擬節點網絡異常進行leader選舉。

這里面需要用到GO并發的一些知識 多路選擇 + 超時控制 + CSP(communicating sequential processes),能夠體會到GO語言在并發編程下的強大。

調度這里我們要做的事情就是:

  1. 初始化幾個peer

  2. 每一個peer維護一個狀態機,每一個狀態下去調度各自狀態的邏輯。

    1. Follower
      a. 對candidate和leader的rpc進行回復
      b. 如果超市時間內沒有收到AppendEntries rpc 或者 收到candidate的投票,會講自己的狀態轉為candidate

    2. Candidates
      投票過程中會做的事情:
      a. 增加當前peer的term
      b. 為自己投票
      c. 重置選舉超市時間
      d. 發送RequestVote RPC 發送給其他peer

      如果發送的rpc收到的回復大多數都認可自己,那就變成leader
      如果收到了AppendEntries RPC, 那就變成follower,說明有其他人在選舉
      如果超時時間過期了,那就開啟一個新的term

    3. Leader
      選舉過程中的leader主要是發送AppendEntries RPC來維護自己的term

看看具體的實現(僅僅是leader選舉的部分,并沒有處理持久化的log信息):

這個Make的調用會在測試代碼通過make_config --> Start1 --> Make初始化三個peer

func Make(peers []*labrpc.ClientEnd, me int,persister *Persister, applyCh chan ApplyMsg) *Raft {rf := &Raft{}rf.peers = peersrf.persister = persisterrf.me = me// Your initialization code here (2A, 2B, 2C).// 初始化當前peerrf.state = STATE_FOLLOWERrf.voteFor = -1rf.voteCount = 0rf.log = append(rf.log, LogEntry{LogTerm: 0})// 這里維護了幾個channel,在后續變更peer狀態的時候會從channel中取數據// heartbeat和requestVote 的兩個計時器也都是依賴channel來實現的// channel填充的話則是在我們前面實現的RPC之中rf.chanLeader = make(chan bool, 100)    // 變更為leaderrf.chanHeartbeat = make(chan bool, 100) // 接收到heartbeat心跳rf.chanGrantVote = make(chan bool, 100) // 投票完成rf.chanApply = applyCh// 啟動一個go routine,來維護當前peer的狀態機go func() {for {switch rf.state {case STATE_FOLLOWER:select {// 有一段時間接受不到心跳,或者收到Candidate的投票// 則將當前follower狀態變更為candidate,準備進行leader electioncase <- rf.chanHeartbeat:case <- rf.chanGrantVote:case <-time.After(time.Duration(rand.Int63() % 333 + 550) * time.Millisecond): // 計時器rf.state = STATE_CANDIDATE} case STATE_LEADER:rf.broadCastAppendEntries() //leader 廣播AppendEntries,有log的話會攜帶著log-indextime.Sleep(HBINTERVAL)case STATE_CANDIDATE:rf.mu.Lock()rf.currentTerm ++   // 增加當前term,表示開啟了一個新一輪的leader任期rf.voteFor = rf.me  // 每個candidate先為自己投票 rf.voteCount = 1    // 投票計數自增,后續通過這個計數判斷是否能夠成為leaderrf.mu.Unlock()go rf.broadCastReqeustVote() // candidate 向除自己之外的其他peer廣播RequestVoteselect {case <-time.After(time.Duration(rand.Int63() % 333 + 550) * time.Millisecond):case <-rf.chanHeartbeat: // chanHeartbeat為真,收到了AppendEntries,則變更為follower(已經有leader了)rf.state = STATE_FOLLOWERcase <-rf.chanLeader: // 在處理RequestVote返回的邏輯中發現自己能夠成為leader,變更為leaderrf.mu.Lock()rf.state = STATE_LEADER// 調整后續要發送的rf.nextIndex = make([]int,len(rf.peers))rf.matchInex = make([]int,len(rf.peers))for i := range rf.peers {rf.nextIndex[i] = rf.GetLastIndex() + 1rf.matchInex[i] = 0}rf.mu.Unlock()}}}}()
}

需要注意的是go的channel機制如果不初始化buffer,則會是阻塞的,一個channel 會一直阻塞在這段超時時間內 直到拿到了值。

ch := make(chan bool, 10) //設置大小為10的buffer,如果不設置buffer大小,則后續取值的時候會阻塞ch <- true // 向ch中填值
ret := <- ch // 從ch取值

所以在raft的go實現中 針對channel變量的設置 都會有 buffer,從而防止其他routine獲取channel 值時阻塞。

總結

以上是生活随笔為你收集整理的MIT 6.824 Lab2A (raft) -- Leader Election的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

在线观看网站av | 国产九色在线播放九色 | 国产成人精品一区二三区 | 91精品国产综合久久久久久久 | a天堂一码二码专区 | 狠狠综合久久av | 国产69精品久久app免费版 | 成人在线观看影院 | www视频免费在线观看 | 国产精品久久三 | 92国产精品久久久久首页 | 日韩电影在线一区二区 | 欧美成人理伦片 | 国产精品国产三级国产aⅴ9色 | 黄色av播放| 在线观看视频一区二区 | 亚色视频在线观看 | 69精品人人人人 | 亚洲精品乱码久久久久久按摩 | 久久99久久99 | 午夜精品久久久久久久99水蜜桃 | 最近中文字幕 | www.国产高清 | 日韩欧美视频在线免费观看 | 亚洲va欧美va人人爽春色影视 | 狠狠干美女 | 婷婷色综 | 一区二区三区日韩精品 | 在线免费观看视频一区 | 国产精品色 | 欧美在线视频二区 | 国产精品va最新国产精品视频 | 国产视频午夜 | 国产久草在线观看 | 中文字幕观看视频 | 国产精品视频999 | 五月婷婷另类国产 | 日日干激情五月 | 激情五月播播久久久精品 | 日韩一三区 | 中文字幕在线观看网站 | 91精品国产一区二区三区 | 免费观看视频的网站 | 免费看麻豆 | 国产精品淫 | 国产中文字幕三区 | 日韩免费福利 | 五月婷婷av | 欧美色图亚洲图片 | 天天爽天天碰狠狠添 | 少妇av片 | 成人免费观看在线视频 | 一区二区欧美在线观看 | 黄色av电影一级片 | 久久久久久久国产精品影院 | 麻豆94tv免费版 | 欧美激情精品久久久久久免费印度 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 粉嫩av一区二区三区四区五区 | 999ZYZ玖玖资源站永久 | 久久视 | 91亚洲精| 日韩精品久久一区二区 | 成人免费视频a | 日韩精品亚洲专区在线观看 | 欧美日韩高清免费 | 欧美美女视频在线观看 | 中日韩在线视频 | aaa亚洲精品一二三区 | www.日日日.com| 91xav | 韩日三级在线 | 中文字幕视频三区 | 成人精品一区二区三区中文字幕 | 久操视频在线 | 亚洲综合视频在线 | 色综合亚洲精品激情狠狠 | 曰韩精品 | 国产成人61精品免费看片 | 日韩精品五月天 | 丝袜美腿亚洲 | 欧美一区二区在线刺激视频 | 国产女人18毛片水真多18精品 | 欧美日韩一区二区在线 | 九九免费观看全部免费视频 | 亚洲精品一区二区在线观看 | 国产三级精品三级在线观看 | 欧美精品久久天天躁 | 啪啪免费视频网站 | 免费美女av | 国产午夜在线观看视频 | 国产又粗又猛又色又黄网站 | 免费看高清毛片 | 久久国产精品精品国产色婷婷 | 国产精品理论片在线观看 | av在线免费播放网站 | 美女一二三区 | 在线看岛国av | 久久久久99精品成人片三人毛片 | 久久久久五月 | 国产精品手机在线观看 | 99热精品在线 | 久久久久久免费网 | 色婷婷久久久综合中文字幕 | 成人中文字幕+乱码+中文字幕 | 午夜影院在线观看18 | 在线观看香蕉视频 | 西西人体www444 | 99久久综合精品五月天 | 一区 二区电影免费在线观看 | 国产一区二区三区免费在线观看 | 国产91在线免费视频 | 成年人免费观看在线视频 | 久久视了 | 国产日韩精品欧美 | 97超碰人人爱| 国产日韩亚洲 | 人人干人人爽 | 99这里只有| 欧美孕妇视频 | 久久黄色免费视频 | 黄色国产区 | 亚洲国产欧美一区二区三区丁香婷 | 菠萝菠萝在线精品视频 | 久久狠狠婷婷 | 黄色av大片 | 有码中文字幕在线观看 | 欧美aa在线| av九九| 国产一区二区高清视频 | 午夜精品久久久久久久久久久 | 天天色天天干天天色 | 亚洲精品久久久久久久不卡四虎 | www.在线看片.com | 日韩精品高清视频 | 九九久久在线看 | 久久精品站 | 日本午夜在线观看 | 国产精品成人久久 | 91精品导航 | 中文字幕一二三区 | 综合色站导航 | 精品国产亚洲一区二区麻豆 | 亚洲成人黄色 | 波多野结衣在线播放视频 | 亚洲一区精品二人人爽久久 | 精品在线观看免费 | 国产视频18 | 九色精品免费永久在线 | 免费日韩 精品中文字幕视频在线 | 精品国产三级 | 在线你懂 | 免费在线观看一区二区三区 | www天天操 | av福利第一导航 | 高清av在线 | 欧美日韩一区二区三区在线免费观看 | 涩五月婷婷 | 国产精品资源在线观看 | 亚洲午夜电影网 | av在线播放一区二区三区 | 亚洲高清av | 国产成人综| 亚洲爱视频 | 日本精品在线看 | 黄色成年片 | 国产精品成人自产拍在线观看 | 亚洲电影黄色 | 婷婷五天天在线视频 | 999日韩| 国产美女无遮挡永久免费 | 伊人五月天婷婷 | 黄色字幕网 | 在线视频福利 | 丝袜精品视频 | 免费又黄又爽 | 天天射天天拍 | 在线观看视频亚洲 | 99在线视频播放 | 免费高清男女打扑克视频 | 久久久久网址 | 亚洲欧洲xxxx | 久久精品国产第一区二区三区 | 久草在| 成人黄色大片在线观看 | 6080yy午夜一二三区久久 | 一区二区三区免费在线观看 | 国产黄色免费看 | 色视频网站免费观看 | 九九视频精品在线 | 黄色影院在线免费观看 | 91亚洲精品久久久久图片蜜桃 | 国产精品对白一区二区三区 | 4p变态网欧美系列 | 99超碰在线播放 | 久久精品中文字幕少妇 | 亚洲精品国久久99热 | 亚洲国产精品日韩 | 又污又黄网站 | 网址你懂的在线观看 | 99久久激情视频 | 成人久久久久 | 国产精品久久9 | 免费视频三区 | 最新av免费在线 | 久久久黄色 | 亚洲视频每日更新 | 亚洲一二三在线 | 国产成人三级在线观看 | 天天色天天干天天 | 在线观看的av网站 | 香蕉视频久久久 | 久久婷亚洲五月一区天天躁 | 中文字幕免费 | 婷婷九月激情 | 国产视频精品免费播放 | 成 人 a v天堂 | 国产精品久久一区二区三区不卡 | 超级碰视频 | 欧美一二三专区 | 中文一区在线观看 | 最近中文字幕国语免费av | 免费色视频网站 | 91在线免费视频 | 久久久免费看片 | 91毛片在线观看 | 成人免费在线观看av | 日本免费一二三区 | 超碰在97| 欧美日韩99 | 91豆花在线| 97精品国产手机 | 黄色成人av网址 | 五月婷婷综合在线视频 | 精品免费| 亚洲国产精品小视频 | 日韩精品一区二区不卡 | 伊人av综合 | 99久久精品免费看国产一区二区三区 | 色综合激情网 | 国产精品一区二区av麻豆 | 国产一级视频在线免费观看 | 精品亚洲二区 | 亚洲成熟女人毛片在线 | 色视频在线观看 | 国产手机在线观看 | 九九热久久免费视频 | 亚洲综合爱 | 免费欧美精品 | 国产韩国精品一区二区三区 | 区一区二区三区中文字幕 | 婷婷色中文网 | 四虎影视成人精品国库在线观看 | 日本高清dvd | 国产999精品视频 | 久久久久国产一区二区三区四区 | www.av免费 | 九九热视频在线免费观看 | 91福利视频久久久久 | 欧美精品做受xxx性少妇 | se婷婷| 91精品国产99久久久久久久 | 91久久国产精品 | 欧美日韩精品在线播放 | 亚洲成人欧美 | 嫩嫩影院理论片 | 337p欧美| 日韩三级视频在线观看 | 91视频午夜 | 久久久久久久久久久福利 | 狠狠精品 | 黄色一二级片 | 手机看片1042 | 人人干人人超 | 一区二区三区国产精品 | 亚洲成av人片在线观看www | av国产网站 | h视频在线看 | 国产午夜精品理论片在线 | 一级特黄aaa大片在线观看 | 日韩久久精品一区二区 | 精品福利国产 | 婷婷去俺也去六月色 | 在线观看国产永久免费视频 | 国内免费的中文字幕 | 亚洲爽爽网 | 亚洲综合黄色 | 国产一级片在线播放 | 久久tv| 久久歪歪 | 国产高清视频免费观看 | 日韩欧美精品一区 | 国产精品婷婷 | 欧美国产亚洲精品久久久8v | 国产v亚洲v | 在线亚洲精品 | 欧美色图狠狠干 | 午夜视频欧美 | 一区二区三区不卡在线 | 欧美综合色在线图区 | 国产精品综合久久久久久 | 精品一区电影 | 国产精品刺激对白麻豆99 | 日日操天天射 | 黄色在线看网站 | 五月天六月婷 | 中文字幕区| 国产特黄色片 | 国产精品久久久久久久久大全 | 黄色片免费在线 | 手机看片国产日韩 | 韩国av在线 | 国产69久久久欧美一级 | 亚洲免费永久精品国产 | 99久久精品电影 | 亚洲黄色影院 | 9999国产精品 | 国产精品自在线拍国产 | 黄色成年网站 | 丁香在线观看完整电影视频 | 91看片一区二区三区 | 免费久久久久久久 | 91人人视频在线观看 | 六月丁香激情综合 | 国产123区在线观看 国产精品麻豆91 | 国产欧美日韩视频 | 久久免费精彩视频 | 在线激情小视频 | 97偷拍视频 | 国语麻豆 | 日韩精品欧美专区 | 中文字幕在线国产 | 中文字幕日本在线观看 | 色狠狠狠 | 天天射天天做 | 麻豆国产在线视频 | 99久久婷婷国产一区二区三区 | 国产精品综合av一区二区国产馆 | 亚洲精品小视频 | 日p视频 | 久久久国产精品亚洲一区 | 男女免费av | 久久九精品| 久久久国产成人 | 天天躁日日躁狠狠躁av麻豆 | 精品国产大片 | 国产精品视频全国免费观看 | 色综合天天综合网国产成人网 | 国产精品综合在线观看 | 五月激情在线 | 中文字幕美女免费在线 | 国产在线1区 | 综合在线亚洲 | 激情欧美国产 | 欧美地下肉体性派对 | 国产精品一码二码三码在线 | 成人黄色大片网站 | 欧美精品一区二区在线观看 | 深爱五月激情五月 | 婷婷五综合 | 日韩mv欧美mv国产精品 | 中文字幕av影院 | 午夜婷婷综合 | 久久不卡免费视频 | 色狠狠综合天天综合综合 | 天天天天色综合 | 不卡视频国产 | 欧美日韩在线看 | 国产精品乱看 | 91自拍视频在线 | 国产剧情在线一区 | 久草网站在线观看 | 亚洲开心色 | 久久久久免费精品 | 国产aaa大片 | 欧美精彩视频 | 手机在线小视频 | 91禁看片 | 日韩专区av| 欧美日韩精品影院 | 99精品视频在线 | 99久久日韩精品视频免费在线观看 | 精品国产aⅴ麻豆 | 91av电影网| 91视频在线免费看 | 欧美美女一级片 | av免费在线网站 | 99热精品免费观看 | 九九99 | 国产亚洲精品久久久久久无几年桃 | 亚洲九九 | 日韩欧美xx | 欧美专区日韩专区 | 国产精品久久久久久久久久东京 | 久久久官网 | 99麻豆久久久国产精品免费 | 成人在线播放免费观看 | 国产精品麻豆视频 | 四虎www | 曰本免费av| 国产精品国产毛片 | 亚洲蜜桃av | 欧美做受高潮1 | 中文字幕日韩国产 | 丁香六月国产 | av成人动漫| 在线免费看黄网站 | 国产成人333kkk| 91麻豆网站| 国产一二三区在线观看 | 91成人精品观看 | 国产精品毛片一区二区 | 93久久精品日日躁夜夜躁欧美 | 国产欧美精品xxxx另类 | 久草在线视频新 | 亚洲激情视频 | 色在线视频网 | 国产亚洲精品久久久久秋 | 久久久一本精品99久久精品66 | 日韩亚洲国产中文字幕 | av成人动漫 | 91精品伦理| 成人综合婷婷国产精品久久免费 | 中文字幕在线影院 | 成 人 黄 色 视频 免费观看 | 色爱区综合激月婷婷 | 中文字幕丰满人伦在线 | 亚洲国产综合在线 | 日韩av网站在线播放 | 午夜在线资源 | 五月开心色 | 日韩午夜高清 | 亚洲v欧美v国产v在线观看 | 久久久精品午夜 | 久久久亚洲麻豆日韩精品一区三区 | 欧美福利网址 | 日韩一区二区三区免费电影 | 亚洲日韩欧美一区二区在线 | 91中文字幕在线播放 | 日韩性片 | 伊人黄色网| 丁香六月综合网 | 午夜精品一区二区国产 | 久久艹国产 | 中文字幕在线观看的网站 | 色av男人的天堂免费在线 | 五月天婷亚洲天综合网精品偷 | 又色又爽又激情的59视频 | 国产亚洲日| 日韩高清免费电影 | 国产精品美女视频网站 | 亚洲精品欧洲精品 | 亚洲精品乱码久久久久久蜜桃不爽 | 91香蕉视频好色先生 | 午夜丁香视频在线观看 | 麻豆视频网址 | 国产精品欧美久久久久三级 | 久久99九九99精品 | 亚洲国产中文字幕 | 在线免费观看羞羞视频 | 91人人爱 | a在线播放 | 国产一区成人 | mm1313亚洲精品国产 | 国产精品免费人成网站 | 麻豆你懂的 | 91久久精品一区二区二区 | 亚洲欧美视频在线观看 | 国产福利电影网址 | 干av在线 | 日韩有码在线播放 | 在线观看中文字幕一区 | 在线观看视频免费播放 | www.夜色321.com | 在线精品亚洲一区二区 | 99久久久国产精品免费观看 | 久艹视频免费观看 | 成人av在线直播 | 黄色日本免费 | 国产剧情一区二区在线观看 | 成片视频免费观看 | 日韩激情精品 | 91看片在线免费观看 | 欧美精品久久久久久久久久丰满 | 免费网站v | 欧美色伊人 | 在线观看av大片 | 99在线视频网站 | 高清av中文在线字幕观看1 | 午夜精品一区二区三区在线播放 | 精品国产一区二区三区久久久 | 在线视频 日韩 | 91丨九色丨国产丨porny精品 | 天天射射天天 | 色狠狠一区二区 | 一本一本久久a久久精品综合妖精 | 国内毛片毛片 | 狠狠色网| 91av短视频 | 国产看片 色| 亚洲视频免费在线看 | 欧美日韩在线免费观看视频 | 又黄又爽又湿又无遮挡的在线视频 | 国产午夜一区 | 黄色免费网站下载 | 91激情视频在线观看 | 你操综合 | 81国产精品久久久久久久久久 | 丁香五香天综合情 | 久草在线最新视频 | 激情欧美一区二区三区免费看 | 在线观看a视频 | 国产一卡二卡在线 | 99色视频 | 激情开心 | 国产精品av免费观看 | 色老板在线视频 | 91av视频导航 | 国产真实精品久久二三区 | 永久免费毛片在线观看 | 免费观看黄色av | 91精品国产91久久久久久三级 | 国产男女爽爽爽免费视频 | 狠狠地操 | 少妇高潮流白浆在线观看 | 日韩免费精品 | 97免费视频在线播放 | www国产亚洲 | 99热在线这里只有精品 | 久久视频这里有久久精品视频11 | 一区二区三区免费在线观看 | 免费99精品国产自在在线 | 91成年人网站 | 91人人在线| 中文字幕高清免费日韩视频在线 | 成人av在线影院 | 国产麻豆剧果冻传媒视频播放量 | 精品国产99 | 免费在线看成人av | 午夜久久久久久久久 | 国产日韩在线一区 | 视频国产一区二区三区 | 国产精品va最新国产精品视频 | 国产精品大片免费观看 | 色91av| 激情婷婷在线观看 | 免费观看成人 | 国产精品日韩高清 | 国产色婷婷在线 | 久久精品爱爱视频 | 亚洲自拍偷拍色图 | 99热精品国产 | 日日爽天天爽 | 国产视频一区二区在线观看 | 超碰在线成人 | 日韩欧美国产成人 | 99久久久国产精品免费99 | 色综合天天射 | 久久97久久 | 久久大香线蕉app | 久久网站免费 | 综合网天天 | 91欧美视频网站 | 亚洲精品短视频 | 三级午夜片 | 丁香六月五月婷婷 | 亚洲国产精品久久 | 亚洲精品国产麻豆 | 香蕉色综合 | 青青草在久久免费久久免费 | 午夜视频日本 | 日本超碰在线 | 久久草在线视频国产 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 人人插人人澡 | 免费的黄色av | 亚洲精品乱码久久久久久久久久 | 中文字幕日本电影 | 在线精品视频在线观看高清 | 香蕉免费在线 | 在线免费观看的av | 欧美性生活久久 | 99久久超碰中文字幕伊人 | 色婷婷狠 | 最近日本mv字幕免费观看 | 福利区在线观看 | 视频高清 | 7777xxxx| 欧美日韩国产在线观看 | 亚洲区另类春色综合小说校园片 | 午夜精品一区二区三区在线观看 | 久色伊人| 超碰在线97免费 | 国产成人精品一区二三区 | 久久久久成 | 激情久久影院 | 黄色大片入口 | av免费在线免费观看 | 日韩精品免费在线视频 | av片在线观看 | 免费av网站在线看 | 国产手机精品视频 | 99热这里只有精品8 久久综合毛片 | 在线电影日韩 | 日本在线观看中文字幕 | 欧美福利视频 | 中文字幕精品一区二区精品 | 色网站黄 | 欧美日韩综合在线 | 国产精品成人久久久久久久 | 日韩久久精品一区二区 | 久久久久久久久爱 | 久久综合狠狠综合久久狠狠色综合 | 亚洲美女免费精品视频在线观看 | 极品久久久 | 伊人狠狠色丁香婷婷综合 | 中文字幕在线观看国产 | 亚洲电影一区二区 | 99亚洲精品在线 | 亚洲影音先锋 | 91av资源在线| 色天天综合久久久久综合片 | 久久国产一区 | 日本中文字幕系列 | 国产主播大尺度精品福利免费 | 国产精品久久久久久久久免费看 | 在线观看免费色 | 久久久久国产精品免费 | 国产精品福利在线播放 | 超碰97在线资源 | 精品一区 精品二区 | 狠狠色噜噜狠狠狠合久 | 日本乱码在线 | a在线观看免费视频 | 青青河边草免费直播 | 一区二区三区国 | 欧美日本啪啪无遮挡网站 | 狠狠色狠狠色综合系列 | 香蕉影视在线观看 | 精品久久久99 | 亚洲色影爱久久精品 | 波多野结衣网址 | 日韩在线观看影院 | 五月天六月色 | 欧美性网站 | 国产色婷婷在线 | 国产在线自 | 国产精品不卡在线观看 | 国产精品一区二区在线播放 | 四虎免费在线观看视频 | 成人试看120秒 | 午夜精品一区二区三区在线视频 | 91热视频| 免费高清在线观看成人 | 密桃av在线 | 韩国在线一区二区 | 女人高潮一级片 | 成年美女黄网站色大片免费看 | 天天干夜夜擦 | 成人av在线观| 九九电影在线 | 色夜视频 | 久久精品视频免费播放 | 91最新在线观看 | 狠狠色丁香婷婷综合 | 九色在线 | av丝袜在线 | 国产精品一区二区在线 | 夜夜天天干 | 99精品在线看 | 精品国产黄色片 | 久久影院中文字幕 | 色小说在线| 国产伦精品一区二区三区高清 | 一本之道乱码区 | 天天摸天天舔 | 久色小说 | 日韩理论影院 | 国产 一区二区三区 在线 | 成人国产精品久久久久久亚洲 | 欧美天天射| 国产精品免费一区二区 | 亚洲精品99久久久久中文字幕 | 日韩一区二区在线免费观看 | 狠狠操天天操 | 久久黄色影院 | 国产精品麻豆欧美日韩ww | 日韩在线精品视频 | 国产一级黄色电影 | 国产成人高清在线 | 国产精品不卡一区 | 亚洲男男gaygay无套 | 天天色天天干天天 | 国产美女被啪进深处喷白浆视频 | 久久精品专区 | 嫩草av影院 | 日日干狠狠操 | 免费瑟瑟网站 | 国产精品区二区三区日本 | 国内精品久久久久久久久久久久 | 日韩mv欧美mv国产精品 | 亚洲欧美日韩国产一区二区 | 久久久亚洲麻豆日韩精品一区三区 | 17婷婷久久www | 四虎在线观看 | 五月婷婷综合激情 | 久久久精品久久 | 99视频| 国产免费专区 | 最新av网址在线观看 | 69国产精品成人在线播放 | 五月婷婷视频在线 | 成人免费在线视频观看 | 黄污视频网站 | 国产精品二区三区 | 丁香五月缴情综合网 | 九九热精品视频在线播放 | 久久躁日日躁aaaaxxxx | 97超级碰碰碰视频在线观看 | 国产精品色在线 | 日韩欧美视频二区 | 久久免费av电影 | 欧美精品三级 | 日韩av成人免费看 | 日韩精品aaa | 国产成人av一区二区三区在线观看 | 日本在线观看一区 | 久久99免费视频 | 久久99视频免费观看 | 久久久国产在线视频 | 国产精品午夜免费福利视频 | 国产精品日韩高清 | 丁香婷婷在线观看 | 二区三区毛片 | 毛片网在线 | 正在播放五月婷婷狠狠干 | 香蕉视频4aa| 在线观看亚洲国产精品 | 国产精品一区二区三区在线看 | 天天操天天射天天爱 | 香蕉视频18 | 一区二区三区国产精品 | www中文在线| 婷婷视频 | 精品字幕在线 | 欧美一级网站 | 91麻豆精品国产91久久久久久 | 免费观看国产成人 | 日韩精品视频网站 | 久操视频在线免费看 | 久久99视频精品 | 久久国产剧场电影 | 亚洲精品高清视频在线观看 | 麻豆精品传媒视频 | 成人中文字幕+乱码+中文字幕 | 精品一二 | 久草青青在线观看 | 另类老妇性bbwbbw高清 | 久久av伊人| 国产精品成人国产乱一区 | 国产在线精品一区 | 亚洲伊人婷婷 | 99久久综合精品五月天 | 日韩精品免费一区二区三区 | 在线观看国产 | 天天操天 | 国产尤物在线视频 | 开心激情婷婷 | 欧美另类老妇 | 欧美日韩三区二区 | 91在线公开视频 | 久久视频免费 | 国产玖玖精品视频 | 在线视频 一区二区 | 久久久69 | 97超碰人人模人人人爽人人爱 | 久久麻豆视频 | 成年人免费看片 | 成人九九视频 | 国产免费av一区二区三区 | 日本激情视频中文字幕 | 久久视频在线观看中文字幕 | 欧美精品999| 丁香六月伊人 | 国产伦精品一区二区三区高清 | 欧美日韩视频一区二区三区 | 91av色| 18国产精品福利片久久婷 | 国产精品久久久一区二区 | 成人在线播放网站 | 亚洲爱视频 | 日韩精品视频在线免费观看 | 精品亚洲国产视频 | 婷婷香蕉 | 麻豆影视在线免费观看 | 免费福利视频导航 | 国产高清在线 | 免费看在线看www777 | 丁香综合 | 69精品视频| 最近中文字幕mv免费高清在线 | 国产福利一区二区在线 | av性在线 | 天天综合网久久综合网 | 夜夜躁日日躁狠狠久久88av | 夜夜躁狠狠燥 | 亚洲精品在线观看网站 | 国内精品亚洲 | 亚洲开心激情 | 久久人人爽人人爽人人片av免费 | 天天干天天操天天爱 | 久久精品香蕉 | 国产精品久久久久免费 | 狠狠插狠狠操 | 亚洲激情六月 | 欧美 另类 交 | 免费在线观看黄网站 | 精品久久久影院 | 黄色大片免费播放 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 久久1电影院 | v片在线播放 | 伊人中文在线 | 国产精品国产毛片 | 成人一区二区三区在线 | 欧美日韩不卡一区二区 | 国产日本亚洲高清 | 在线国产视频一区 | 国产精品久久久久一区二区国产 | 久久久久久久影视 | adn—256中文在线观看 | 国产精品久久99综合免费观看尤物 | 亚洲精品视频在线播放 | 麻豆国产视频 | 中文av免费| 亚洲国产中文字幕在线观看 | 久久久久国产精品一区二区 | 九九热精品视频在线观看 | 亚洲精品xx | 欧美一区免费观看 | 国产一区在线免费 | 国产精品入口传媒 | 免费观看的黄色 | 国产视频综合在线 | 国产亚洲午夜高清国产拍精品 | 黄网站色视频免费观看 | 国偷自产视频一区二区久 | 亚洲专区欧美专区 | 高清av网 | 久久伊人精品天天 | 免费亚洲视频在线观看 | 五月开心色 | 欧美精品生活片 | 日韩特级毛片 | 国产成人精品亚洲精品 | 亚洲男男gaygay无套 | 色天天天 | 天天射天天操天天干 | 2019中文字幕第一页 | 日韩av成人免费看 | 手机av观看 | 黄色软件网站在线观看 | 天天插天天干天天操 | 欧美日韩亚洲精品在线 | 欧美一区三区四区 | 久久看视频 | 2000xxx影视 | 国产视频 亚洲视频 | 久久午夜鲁丝片 | 中文在线字幕免费观看 | 91一区二区在线 | 欧美日视频| 亚洲精品在线免费观看视频 | 天天做日日爱夜夜爽 | 中文字幕av有码 | 免费人成网ww44kk44 | 久久国产亚洲精品 | 久久视频在线 | 91香蕉久久 | 国产福利91精品一区二区三区 | 国产精品免费视频一区二区 | 久久久久成人精品 | 88av视频 | 国产精品久久久久久久免费 | 一级黄色电影网站 | 国产精品久久久久久久久久久久 | 免费日韩电影 | .国产精品成人自产拍在线观看6 | 天天操夜夜操 | 婷婷五天天在线视频 | 免费网址在线播放 | 91av中文 | 日韩视频在线观看视频 | 国产自在线 | 国产福利精品一区二区 | 日本中文字幕网站 | 国产情侣一区 | 国产打女人屁股调教97 | 亚洲欧美视频网站 | 91综合色| 日本中文字幕免费观看 | 99国产精品久久久久老师 | 久久夜靖品 | 亚洲精品国产免费 | 精品色综合| 中文字幕视频播放 | 超碰在线人人艹 | 99热这里只有精品国产首页 | 国产视频一区二区三区在线 | 成人影视免费看 | 天天操天天射天天 | 久久久久久免费网 | 99精品国产一区二区三区麻豆 | 国产在线精品一区 | 欧美日韩伦理一区 | 成人免费看片98欧美 | 日韩一区二区三区视频在线 | 久久久久久久久久久影视 | 91免费看黄 | 欧美成人猛片 | 一区二区三区av在线 | 99热这里有精品 | 精品一二三四视频 | 国产精品久久久久久久久久久杏吧 | 天天综合入口 | 国产99精品 | 精品国内自产拍在线观看视频 | 97av色| 香蕉视频导航 | 中文字幕观看在线 | 日韩成人在线一区二区 | 国产日韩一区在线 | 丁香九月激情综合 | 天海翼一区二区三区免费 | 丁香婷婷综合网 | 精品亚洲国产视频 | av永久网址 | 最新国产精品久久精品 | 国产亚洲激情视频在线 | 精品久久网| 久久久久久久久影院 | 黄色av电影一级片 | 99精品视频免费观看 | 天天操天天爽天天干 | 免费久草视频 | 欧美在线视频免费 | 99r在线 | 夜夜视频欧洲 | 久久久久免费网 | 精品在线免费观看 | 91九色精品国产 | 欧美日韩国产亚洲乱码字幕 | 欧洲黄色片| 欧美久久成人 | 美女视频黄的免费的 | 亚洲国内精品视频 | 欧美日韩视频网站 | 国产精品久久久久久久久免费 | 免费看久久 | 在线观看中文字幕网站 | 日韩在线国产精品 | 草久久久久 | 久久久久久久久久久久久久免费看 | 国产视频一二三 | 日本黄色大片儿 | 91亚洲精品久久久久图片蜜桃 | 亚洲欧美视频一区二区三区 | 中文字幕资源站 | 国产亚洲综合性久久久影院 | 黄色免费视频在线观看 | 色狠狠综合天天综合综合 | 青草视频免费观看 | 一区二区三区免费播放 | 国产日韩欧美在线影视 | 日韩精品中文字幕有码 | 中文字幕精品三区 | 天天综合网国产 | 久久久免费精品国产一区二区 | 岛国精品一区二区 | 激情欧美xxxx | 91av九色| 男女拍拍免费视频 | 九九久久精品 | 在线看成人 | 成人免费电影 | 天天操天天色综合 | 久久免费一 | 精品国产视频在线 | 91精品毛片 | 在线观看免费 | 国产一区二区视频在线 | 婷婷久久网站 | 日日操天天操狠狠操 | 亚洲国产精品va在线 | 91精品国产成人观看 | 91九色国产 | 欧美精品国产综合久久 | 国产资源在线观看 |