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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux进程的创建函数fork()及其fork内核实现解析

發布時間:2025/4/14 linux 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux进程的创建函数fork()及其fork内核实现解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
進程的創建之fork()Linux系統下,進程可以調用fork函數來創建新的進程。調用進程為父進程,被創建的進程為子進程。fork函數的接口定義如下:
  • #include <unistd.h>
  • pid_t fork(void);
  • 與普通函數不同,fork函數會返回兩次。一般說來,創建兩個完全相同的進程并沒有太多的價值。大部分情況下,父子進程會執行不同的代碼分支。fork函數的返回值就成了區分父子進程的關鍵。fork函數向子進程返回0,并將子進程的進程ID返給父進程。當然了,如果fork失敗,該函數則返回-1,并設置errno。
    從2.6.24起,Linux采用完全公平調度(Completely Fair Scheduler,CFS)。用戶創建的普通進程,都采用CFS調度策略。對于CFS調度策略,procfs提供了如下控制選項:
  • /proc/sys/kernel/sched_child_runs_first
  • 該值默認是0,表示父進程優先獲得調度。如果將該值改成1,那么子進程會優先獲得調度。

    fork之后父子進程的內存關系fork之后的子進程完全拷貝了父進程的地址空間,包括棧、堆、代碼段等。通過下面的示例代碼,我們一起來查看父子進程的內存關系:
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <unistd.h>
  • #include <string.h>
  • #include <errno.h>
  • #include <sys/types.h>
  • #include <wait.h>
  • int g_int = 1;//數據段的全局變量
  • int main()
  • {
  • int local_int = 1;//棧上的局部變量
  • int *malloc_int = malloc(sizeof(int));//通過malloc動態分配在堆上的變量
  • *malloc_int = 1;
  • pid_t pid = fork();
  • if(pid == 0) /*子進程*/
  • {
  • local_int = 0;
  • g_int = 0;
  • *malloc_int = 0;
  • fprintf(stderr,"[CHILD ] child change local global malloc value to 0\n");
  • free(malloc_int);
  • sleep(10);
  • fprintf(stderr,"[CHILD ] child exit\n");
  • exit(0);
  • }
  • else if(pid < 0)
  • {
  • printf("fork failed (%s)",strerror(errno));
  • return 1;
  • }
  • fprintf(stderr,"[PARENT] wait child exit\n");
  • waitpid(pid,NULL,0);
  • fprintf(stderr,"[PARENT] child have exit\n");
  • printf("[PARENT] g_int = %d\n",g_int);
  • printf("[PARENT] local_int = %d\n",local_int);
  • printf("[PARENT] malloc_int = %d\n",local_int);
  • free(malloc_int);
  • return 0;
  • }
  • 這里刻意定義了三個變量,一個是位于數據段的全局變量,一個是位于棧上的局部變量,還有一個是通過malloc動態分配位于堆上的變量,三者的初始值都是1。然后調用fork創建子進程,子進程將三個變量的值都改成了0。按照fork的語義,子進程完全拷貝了父進程的數據段、棧和堆上的內存,如果父子進程對相應的數據進行修改,那么兩個進程是并行不悖、互不影響的。因此,在上面示例代碼中,盡管子進程將三個變量的值都改成了0,對父進程而言這三個值都沒有變化,仍然是1,代碼的輸出也證實了這一點。
  • [PARENT] wait child exit
  • [CHILD ] child change local global malloc value to 0
  • [CHILD ] child exit
  • [PARENT] child have exit
  • [PARENT] g_int = 1
  • [PARENT] local_int = 1
  • [PARENT] malloc_int = 1

  • 前文提到過,子進程和父進程執行一模一樣的代碼的情形比較少見。Linux提供了execve系統調用,構建在該系統調用之上,glibc提供了exec系列函數。這個系列函數會丟棄現存的程序代碼段,并構建新的數據段、棧及堆。調用fork之后,子進程幾乎總是通過調用exec系列函數,來執行新的程序。在這種背景下,fork時子進程完全拷貝父進程的數據段、棧和堆的做法是不明智的,因為接下來的exec系列函數會毫不留情地拋棄剛剛辛苦拷貝的內存。為了解決這個問題,Linux引入了寫時拷貝(copy-on-write)的技術。寫時拷貝是指子進程的頁表項指向與父進程相同的物理內存頁,這樣只拷貝父進程的頁表項就可以了,當然要把這些頁面標記成只讀(如圖4-4所示)。如果父子進程都不修改內存的內容,大家便相安無事,共用一份物理內存頁。但是一旦父子進程中有任何一方嘗試修改,就會引發缺頁異常(page fault)。此時,內核會嘗試為該頁面創建一個新的物理頁面,并將內容真正地復制到新的物理頁面中,讓父子進程真正地各自擁有自己的物理內存頁,然后將頁表中相應的表項標記為可寫。從上面的描述可以看出,對于沒有修改的頁面,內核并沒有真正地復制物理內存頁,僅僅是復制了父進程的頁表。這種機制的引入提升了fork的性能,從而使內核可以快速地創建一個新的進程。查看下copy_one_pte函數中有如下代碼:
  • /*如果是寫時拷貝, 那么無論是初始頁表, 還是拷貝的頁表, 都設置了寫保護
  • *后面無論父子進程, 修改頁表對應位置的內存時, 都會觸發page fault
  • */
  • if (is_cow_mapping(vm_flags)) {
  • ptep_set_wrprotect(src_mm, addr, src_pte);//設置為寫保護
  • pte = pte_wrprotect(pte);
  • }
  • 該代碼將頁表設置成寫保護,父子進程中任意一個進程嘗試修改寫保護的頁面時,都會引發缺頁中斷,內核會走向do_wp_page函數,該函數會負責創建副本,即真正的拷貝。寫時拷貝技術極大地提升了fork的性能,在一定程度上讓vfork成為了雞肋。

    父子進程共用了一套文件偏移量
    文件描述符還有一個文件描述符標志(file descriptor flag)。目前只定義了一個標志位:FD_CLOSEXEC,這是close_on_exec標志位。細心閱讀open函數手冊也會發現,open函數也有一個類似的標志位,即O_CLOSEXEC,該標志位也是用于設置文件描述符標志的。那么這個標志位到底有什么作用呢?如果文件描述符中將這個標志位置位,那么調用exec時會自動關閉對應的文件。可是為什么需要這個標志位呢?主要是出于安全的考慮。對于fork之后子進程執行exec這種場景,如果子進程可以操作父進程打開的文件,就會帶來嚴重的安全隱患。一般來講,調用exec的子進程時,因為它.會另起爐灶,因此父進程打開的文件描述符也應該一并關閉,但事實上內核并沒有主動這樣做。試想如下場景,Webserver首先以root權限啟動,打開只有擁有root權限才能打開的端口和日志等文件,再降到普通用戶,fork出一些worker進程,在進程中進行解析腳本、寫日志、輸出結果等操作。由于子進程完全可以操作父進程打開的文件,因此子進程中的腳本只要繼續操作這些文件描述符,就能越權操作root用戶才能操作的文件。為了解決這個問題,Linux引入了close on exec機制。設置了FD_CLOSEXEC標志位的文件,在子進程調用exec家族函數時會將相應的文件關閉。而設置該標志位的方法有兩種:
    ·open時,帶上O_CLOSEXEC標志位。·open時如果未設置,那就在后面調用fcntl函數的F_SETFD操作來設置。建議使用第一種方法。原因是第二種方法在某些時序條件下并不那么絕對的安全。考慮圖4-7的場景:Thread 1還沒來得及將FD_CLOSEXEC置位,由于Thread 2已經執行過fork,這時候fork出來的子進程就不會關閉相應的文件。盡管Thread1后來調用了fcntl的F_SETFD操作,但是為時已晚,文件已經泄露了。注意 圖4-7中,多線程程序執行了fork,僅僅是為了示意,實際中并不鼓勵這種做法。正相反,這種做法是十分危險的。多線程程序不應該調用fork來創建子進程,第8章會分析具體原因。前面提到,執行fork時,子進程會獲取父進程所有文件描述符的副本,但是測試結果表明,父子進程共享了文件的很多屬性。這到底是怎么回事?讓我們深入內核一探究竟。在內核的進程描述符task_struct結構體中,與打開文件相關的變量如下所示:
  • struct task_struct {
  • ...struct files_struct *files;...
  • }
  • 調用fork時,內核會在copy_files函數中處理拷貝父進程打開的文件的相關事宜:
  • static int copy_files(unsigned long clone_flags,
  • struct task_struct *tsk)
  • {
  • struct files_struct *oldf, *newf;
  • int error = 0;
  • oldf = current->files;//獲取父進程的文件結構體
  • if (!oldf)
  • goto out;
  • /*創建線程和vfork, 都不用復制父進程的文件描述符, 增加引用計數即可*/
  • if (clone_flags & CLONE_FILES) {
  • atomic_inc(&oldf->count);
  • goto out;
  • }
  • /*對于fork而言, 需要復制父進程的文件描述符*/
  • newf = dup_fd(oldf, &error); //復制一份文件描述符
  • if (!newf)
  • goto out;
  • tsk->files = newf;
  • error = 0;
  • out:
  • return error;
  • }
  • CLONE_FILES標志位用來控制是否共享父進程的文件描述符。如果該標志位置位,則表示不必費勁復制一份父進程的文件描述符了,增加引用計數,直接共用一份就可以了。對于vfork函數和創建線程的pthread_create函數來說都是如此。但是fork函數卻不同,調用fork函數時,該標志位為0,表示需要為子進程拷貝一份父進程的文件描述符。文件描述符的拷貝是通過內核的dup_fd函數來完成的。
  • struct files_struct *dup_fd(struct files_struct *oldf,
  • int *errorp)
  • {
  • struct files_struct *newf;
  • struct file **old_fds, **new_fds;
  • int open_files, size, i;
  • struct fdtable *old_fdt, *new_fdt;
  • *errorp = -ENOMEM;
  • newf = kmem_cache_alloc(files_cachep, GFP_KERNEL);
  • if (!newf)
  • goto out;
  • dup_fd函數首先會給子進程分配一個file_struct結構體,然后做一些賦值操作。這個結構體是進程描述符中與打開文件相關的數據結構,每一個打開的文件都會記錄在該結構體中。其定義代碼如下:
  • struct files_struct {
  • atomic_t count;
  • struct fdtable __rcu *fdt;
  • struct fdtable fdtab;
  • spinlock_t file_lock ____cacheline_aligned_in_smp;
  • int next_fd;
  • struct embedded_fd_set close_on_exec_init;
  • struct embedded_fd_set open_fds_init;
  • struct file __rcu * fd_array[NR_OPEN_DEFAULT];
  • };
  • struct fdtable //文件描述符表
  • {
  • unsigned int max_fds;
  • struct file __rcu **fd; /* current fd array */
  • fd_set *close_on_exec;
  • fd_set *open_fds;
  • struct rcu_head rcu;
  • struct fdtable *next;
  • };
  • struct embedded_fd_set {
  • unsigned long fds_bits[1];
  • };
  • 初看之下struct fdtable的內容與struct files_struct的內容有頗多重復之處,包括close_on_exec文件描述符位圖、打開文件描述符位圖及file指針數組等,但事實上并非如此。struct files_struct中的成員是相應數據結構的實例,而struct fdtable中的成員是相應的指針。
    Linux系統假設大多數的進程打開的文件不會太多。于是Linux選擇了一個long類型的位數(32位系統下為32位,64位系統下為64位)作為經驗值。以64位系統為例,file_struct結構體自帶了可以容納64個struct file類型指針的數組fd_array,也自帶了兩個大小為64的位圖,其中open_fds_init位圖用于記錄文件的打開情況,close_on_exec_init位圖用于記錄文件描述符的FD_CLOSEXCE標志位是否置位。只要進程打開的文件個數小于64,file_struct結構體自帶的指針數組和兩個位圖就足以滿足需要。因此在分配了file_struct結構體后,內核會初始化file_struct自帶的fdtable,代碼如下所示:
  • atomic_set(&newf->count, 1);
  • spin_lock_init(&newf->file_lock);
  • newf->next_fd = 0;
  • new_fdt = &newf->fdtab;
  • new_fdt->max_fds = NR_OPEN_DEFAULT;
  • new_fdt->close_on_exec = (fd_set *)&newf->close_on_exec_init;
  • new_fdt->open_fds = (fd_set *)&newf->open_fds_init;
  • new_fdt->fd = &newf->fd_array[0];
  • new_fdt->next = NULL;
  • 初始化之后,子進程的file_struct的情況如圖4-8所示。注意,此時file_struct結構體中的fdt指針并未指向file_struct自帶的struct fdtable類型的fdtab變量。原因很簡單,因為此時內核還沒有檢查父進程打開文件的個數,因此并不確定自帶的結構體能否滿足需要。
    接下來,內核會檢查父進程打開文件的個數。如果父進程打開的文件超過了64個,struct files_struct中自帶的數組和位圖就不能滿足需要了。這種情況下內核會分配一個新的struct fdtable,代媽如下:
  • spin_lock(&oldf->file_lock);
  • old_fdt = files_fdtable(oldf);
  • open_files = count_open_files(old_fdt);
  • /*如果父進程打開文件的個數超過NR_OPEN_DEFAULT*/
  • while (unlikely(open_files > new_fdt->max_fds)) {
  • spin_unlock(&oldf->file_lock); /* 如果不是自帶的fdtable而是曾經分配的fdtable, 則需要先釋放*/
  • if (new_fdt != &newf->fdtab)
  • __free_fdtable(new_fdt);
  • /*創建新的fdtable*/
  • new_fdt = alloc_fdtable(open_files - 1);
  • if (!new_fdt) {
  • *errorp = -ENOMEM;
  • goto out_release;
  • }
  • /*如果超出了系統限制, 則返回EMFILE*/
  • if (unlikely(new_fdt->max_fds < open_files)) {
  • __free_fdtable(new_fdt);
  • *errorp = -EMFILE;
  • goto out_release;
  • }
  • spin_lock(&oldf->file_lock);
  • old_fdt = files_fdtable(oldf);
  • open_files = count_open_files(old_fdt);
  • }
  • alloc_fdtable所做的事情,不過是分配fdtable結構體本身,以及分配一個指針數組和兩個位圖。分配之前會根據父進程打開文件的數目,計算出一個合理的值nr,以確保分配的數組和位圖能夠滿足需要。
    無論是使用file_struct結構體自帶的fdtable,還是使用alloc_fdtable分配的fdtable,接下來要做的事情都一樣,即將父進程的兩個位圖信息和打開文件的struct file類型指針拷貝到子進程的對應數據結構中,代碼如下:
  • old_fds = old_fdt->fd; /*父進程的struct file 指針數組*/
  • new_fds = new_fdt->fd; /*子進程的struct file 指針數組*/
  • /* 拷貝打開文件位圖 */
  • memcpy(new_fdt->open_fds->fds_bits,old_fdt->open_fds->fds_bits, open_files/8);
  • /* 拷貝 close_on_exec位圖 */
  • memcpy(new_fdt->close_on_exec->fds_bits,old_fdt->close_on_exec->fds_bits, open_files/8);
  • for (i = open_files; i != 0; i--) {
  • ?struct file *f = *old_fds++;
  • if (f) {
  • ?get_file(f); /* f對應的文件的引用計數加1 */
  • ?}?else {
  • FD_CLR(open_files - i, new_fdt->open_fds);
  • }
  • /* 子進程的struct file類型指針, *指向和父進程相同的struct file 結構體*/
  • rcu_assign_pointer(*new_fds++, f); ?
  • }
  • spin_unlock(&oldf->file_lock);/* compute the remainder to be cleared */
  • size = (new_fdt->max_fds - open_files) * sizeof(struct file *);
  • /*將尚未分配到的struct file結構的指針清零*/
  • ????memset(new_fds, 0, size);/*將尚未分配到的位圖區域清零*/
  • ????if (new_fdt->max_fds > open_files) {
  • int left = (new_fdt->max_fds-open_files)/8;
  • int start = open_files / (8 * sizeof(unsigned long));
  • memset(&new_fdt->open_fds->fds_bits[start], 0, left);
  • memset(&new_fdt->close_on_exec->fds_bits[start], 0, left);
  • }
  • ????rcu_assign_pointer(newf->fdt, new_fdt);
  • ????return newf;
  • out_release:
  • ????kmem_cache_free(files_cachep, newf);
  • out:
  • ????return NULL;
  • }
  • 通過對上述流程的梳理,不難看出,父子進程之間拷貝的是struct file的指針,而不是struct file的實例,父子進程的struct file類型指針,都指向同一個struct file實例。fork之后,父子進程的文件描述符關系如圖4-10所示。
    進程的創建之vfork()在早期的實現中,fork沒有實現寫時拷貝機制,而是直接對父進程的數據段、堆和棧進行完全拷貝,效率十分低下。很多程序在fork一個子進程后,會緊接著執行exec家族函數,這更是一種浪費。所以BSD引入了vfork。既然fork之后會執行exec函數,拷貝父進程的內存數據就變成了一種無意義的行為,所以引入的vfork壓根就不會拷貝父進程的內存數據,而是直接共享。再后來Linux引入了寫時拷貝的機制,其效率提高了很多,這樣一來,vfork其實就可以退出歷史舞臺了。除了一些需要將性能優化到極致的場景,大部分情況下不需要再使用vfork函數了。vfork會創建一個子進程,該子進程會共享父進程的內存數據,而且系統將保證子進程先于父進程獲得調度。子進程也會共享父進程的地址空間,而父進程將被一直掛起,直到子進程退出或執行exec。
    注意,vfork之后,子進程如果返回,則不要調用return,而應該使用_exit函數。如果使用return,就會出現詭異的錯誤。請看下面的示例代碼:
  • #include<stdio.h>
  • #include <stdlib.h>
  • #include <unistd.h>
  • int glob = 88 ;
  • int main(void) {
  • int var;
  • var = 88;
  • pid_t pid;
  • if ((pid = vfork()) < 0) {
  • printf("vfork error");
  • exit(-1);
  • } else if (pid == 0) { /* 子進程 */
  • var++;
  • glob++;
  • return 0;
  • }printf("pid=%d, glob=%d, var=%d\n",getpid(), glob, var);
  • return 0;
  • }
  • 調用子進程,如果使用return返回,就意味著main函數返回了,因為棧是父子進程共享的,所以程序的函數棧發生了變化。main函數return之后,通常會調用exit系的函數,父進程收到子進程的exit之后,就會開始從vfork返回,但是這時整個main函數的棧都已經不復存在了,所以父進程壓根無法執行。于是會返回一個詭異的棧地址,對于在某些內核版本中,進程會直接報棧錯誤然后退出,但是在某些內核版本中,有可能就會再次進出main,于是進入一個無限循環,直到vfork返回錯誤。筆者的Ubuntu版本就是后者。返回。一般來說,vfork創建的子進程會執行exec,執行完exec后應該調用_exit,注意是_exit而不是exit。因為exit會導致父進程stdio緩沖區的沖刷和關閉。我們會在后面講述exit和_exit的區別。

    來自為知筆記(Wiz)

    轉載于:https://www.cnblogs.com/zengyiwen/p/5755193.html

    總結

    以上是生活随笔為你收集整理的Linux进程的创建函数fork()及其fork内核实现解析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    看全黄大色黄大片 | 天天摸夜夜操 | 精品久久久久久久久久久久久久久久久久 | 一区二区不卡 | 久久黄网站 | 黄色大片网 | 精品人人人 | 久草精品在线播放 | 久久久久 免费视频 | 天天干夜夜想 | 在线免费观看av网站 | 黄色av成人在线观看 | 在线观看一区 | 亚洲人成网站精品片在线观看 | 91av在线视频免费观看 | 日韩久久久久久 | 免费99| 日本精品视频在线观看 | 国产美女精品人人做人人爽 | 国产精品露脸在线 | 日韩在线视频免费观看 | 中文字幕在线观看第三页 | 国产精品h在线观看 | 久久综合给合久久狠狠色 | 色噜噜日韩精品一区二区三区视频 | 精品亚洲国产视频 | 亚洲黄色在线看 | 精品免费久久 | 国产一级性生活视频 | 日韩三级不卡 | 亚洲国产99 | 久久精品欧美一区 | 国内精品久久久久久久久 | 中文字幕亚洲精品日韩 | 精品亚洲在线 | 色婷婷色 | 91精品国产高清 | 色综合天天狠天天透天天伊人 | 国产污视频在线观看 | 午夜电影一区 | 国产成人免费在线观看 | www.国产毛片 | 国产日韩精品一区二区三区 | 91丨九色丨91啦蝌蚪老版 | 99麻豆视频| 日韩精品一区二区三区第95 | 在线观看av免费 | av一区二区三区在线观看 | 中文在线√天堂 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 天天操天天舔天天干 | 欧美激情va永久在线播放 | 有码中文在线 | 天天操夜操视频 | av黄色亚洲 | 欧美日韩超碰 | 国产精品日韩在线播放 | 久久久综合| 91麻豆精品国产91久久久更新时间 | 中文字幕亚洲国产 | 99国内精品 | av网址在线播放 | 99视频在线 | 日韩在线观看视频中文字幕 | 久久久久免费精品 | 激情开心站 | 国产精品久久久久一区 | 99这里有精品 | 成人免费视频视频在线观看 免费 | 黄色小说在线观看视频 | 久久久综合香蕉尹人综合网 | 久久久久美女 | 99久久精品免费看国产免费软件 | 欧美日韩另类在线 | 黄色一区二区在线观看 | 三级在线视频播放 | 国产精品久久久久久久久久白浆 | 免费在线观看日韩欧美 | 精品福利在线 | 久久久久久久久久久久久久电影 | 一级黄色大片在线观看 | 欧美疯狂性受xxxxx另类 | 久久99热精品这里久久精品 | 国产剧情一区 | 国产精品一区二区三区四区在线观看 | 成人中文字幕在线 | av电影中文字幕在线观看 | 国产精品v a免费视频 | 亚洲全部视频 | 91成人蝌蚪 | 日韩理论影院 | 狠狠干婷婷 | 一区二区三区免费在线观看视频 | 麻豆综合网 | 超薄丝袜一二三区 | 黄色大片日本免费大片 | 日韩激情综合 | 亚洲精品免费视频 | 中文字幕国产精品 | 久久精品波多野结衣 | 99一区二区三区 | 日韩三级视频 | 日韩高清免费无专码区 | 亚洲 欧洲 国产 日本 综合 | 日韩高清免费电影 | 天天操狠狠操网站 | 久久色视频| 最近中文字幕在线播放 | av夜夜操| 久久9视频| 97精品在线观看 | 日日夜夜操操操操 | 国产区久久 | 免费视频国产 | 中文字幕免费高清在线 | 国产精品毛片一区二区三区 | 婷婷综合网 | 亚洲精选99| 国产成人三级在线 | 精品国产免费观看 | 玖玖精品在线 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 日韩成人中文字幕 | 成年人国产精品 | 又黄又爽又刺激的视频 | 在线免费观看视频你懂的 | a国产精品 | 亚洲日b视频| 狠狠狠狠狠狠狠狠 | 亚洲精品合集 | 欧美色婷婷 | 久久国产女人 | 18做爰免费视频网站 | 91精品国产一区二区在线观看 | 国产精品激情偷乱一区二区∴ | 操操操日日 | 97超碰人人澡人人 | 国产白浆在线观看 | 麻豆视频免费网站 | 91麻豆免费看 | 久久色在线播放 | www黄色| 成片人卡1卡2卡3手机免费看 | 欧美日韩国内在线 | 欧美日韩高清在线一区 | 四虎影视成人精品国库在线观看 | 欧美色黄 | 免费看国产一级片 | 碰天天操天天 | 国产视频观看 | 亚洲日本va中文字幕 | 国产精品久久久久久久久久尿 | 欧美成人精品三级在线观看播放 | 高清精品久久 | 永久免费精品视频 | 日本爱爱免费视频 | 五月天久久综合网 | 成人网在线免费视频 | 日韩中文字幕亚洲一区二区va在线 | 国产短视频在线播放 | 91成熟丰满女人少妇 | 日韩欧美在线高清 | 久久久久久久久毛片 | 亚洲视频一| 国内久久精品视频 | 少妇搡bbbb搡bbb搡忠贞 | 奇米四色影狠狠爱7777 | 久久久精品国产免费观看一区二区 | 国产在线观看午夜 | 毛片永久新网址首页 | 欧美伦理一区二区三区 | 亚洲在线视频免费 | 人人超碰在线 | 国产最新精品视频 | 中文av免费 | 久草在线视频免赞 | 精品日韩在线 | 久视频在线播放 | 四虎欧美| 日本公妇色中文字幕 | av福利电影 | 激情丁香5月 | 在线观看中文字幕dvd播放 | 大胆欧美gogo免费视频一二区 | 亚洲理论在线观看电影 | 欧美激情第一页xxx 午夜性福利 | 久久成人精品电影 | 久久精品视频在线 | 亚洲三级精品 | 天天搞天天干 | 人人插人人艹 | 日韩在线字幕 | 69亚洲乱 | 国产精品免费人成网站 | 亚洲日本三级 | 天天射综合| 视频二区在线视频 | 国产精品一区二区三区观看 | 久久久久久免费毛片精品 | 国产精品久久久久久久久久久久久久 | 国产精品久久久久久久久久久久冷 | 亚洲欧美乱综合图片区小说区 | av观看免费在线 | 色综合久久久久综合体 | 不卡av在线 | av久久久 | 日本精油按摩3 | 亚洲国产精品电影在线观看 | 久久久五月婷婷 | 丁香婷婷综合五月 | 国产精品成人aaaaa网站 | 在线a人v观看视频 | 中文字幕欧美日韩va免费视频 | 国产一区在线观看免费 | 黄色av电影一级片 | 视频在线99re | 日韩av免费一区二区 | 日韩欧美高清一区二区三区 | 欧美 日韩 国产 成人 在线 | 欧美激情视频一二三区 | 中文字幕视频免费观看 | 日韩色av色资源 | 国产高清视频在线播放 | 99爱国产精品 | 国产精品9区 | 日韩免费视频一区二区 | 日韩视频欧美视频 | 伊人官网 | 中文字幕在线观看一区二区 | av中文天堂 | 视频二区在线 | 日韩在线视频网 | 天天在线免费视频 | 国产精品久久久久久吹潮天美传媒 | 色99之美女主播在线视频 | 日韩电影中文字幕 | 国产一区网| 激情欧美丁香 | 91福利试看 | 亚洲精品91天天久久人人 | 私人av | 日韩在线观看中文字幕 | 成人一级免费电影 | 亚洲精品国产精品国自产在线 | 午夜黄网 | а天堂中文最新一区二区三区 | 国产精品免费在线视频 | 天天射综合 | 99热99| 18做爰免费视频网站 | 久久综合亚洲鲁鲁五月久久 | 在线日本看片免费人成视久网 | 日韩免费福利 | 精品国产精品久久 | 91成人网在线 | 人人澡人人爽 | 久久激情婷婷 | sm免费xx网站| 综合激情网... | 国产成人免费 | 九九热视频在线免费观看 | 国产小视频在线观看免费 | 天天草网站 | 黄色特一级片 | 热久精品 | caobi视频| 97av在线视频免费播放 | 在线观看岛国av | 一级做a爱片性色毛片www | 亚洲爱爱视频 | 一区 在线 影院 | 精品久久精品 | 伊人久操 | 91网在线看 | 中文字幕第一页在线 | 日韩综合精品 | 国产精品女教师 | 偷拍福利视频一区二区三区 | 综合激情av | 免费在线黄色av | 亚洲无毛专区 | 精品国产福利在线 | 69国产盗摄一区二区三区五区 | 午夜免费福利视频 | 成人av免费网站 | 国产一区二区手机在线观看 | 国产乱码精品一区二区蜜臀 | 国产精品人成电影在线观看 | 96亚洲精品久久 | 国产精品国内免费一区二区三区 | 午夜视频不卡 | 综合网在线视频 | 一区二区三区电影在线播 | 夜夜夜| 亚洲免费公开视频 | www.久久精品视频 | 激情视频一区二区三区 | 亚洲精品福利在线观看 | 久久午夜电影院 | 久久精品一区八戒影视 | 日韩在线视频一区二区三区 | 正在播放亚洲精品 | 欧美日在线 | 97视频免费看 | 成人免费共享视频 | 欧美成人播放 | 国产人成在线视频 | 日韩精品一区二 | 在线va网站 | 91亚洲精品久久久久图片蜜桃 | 黄色三级免费看 | 久久精品亚洲精品国产欧美 | www.天天色.com| 亚洲最大免费成人网 | 最新色站 | 亚洲精品高清视频 | 欧美男女爱爱视频 | 超碰精品在线 | 日日夜夜狠狠干 | 国产第一页在线播放 | 国产午夜精品福利视频 | 国产九九精品 | 色丁香色婷婷 | 久久激情视频 久久 | 国产无套精品久久久久久 | 亚洲h在线播放在线观看h | 夜夜爱av| 人人看黄色 | 久久综合一本 | 成人午夜性影院 | 亚洲 综合 专区 | 成人禁用看黄a在线 | 在线观看成人毛片 | 国产视频在线免费观看 | 日本69hd | 日韩精品视频免费在线观看 | 国产精品一区二区三区四 | 久久久精品一区二区 | 久久久伦理 | 操夜夜操 | 亚洲精品视频在线观看免费视频 | 国产九色视频在线观看 | 色综合天天综合网国产成人网 | 美国三级黄色大片 | 国产色一区 | 99久久99热这里只有精品 | 久久国产精品视频观看 | 五月天综合网站 | 日韩精品一区电影 | 四虎永久国产精品 | 六月激情| 国产精品久久久久久欧美 | 久草成人在线 | 天天操天天曰 | 久艹在线观看视频 | 人人艹视频 | 久久综合精品国产一区二区三区 | 日韩区视频 | 国产亚洲精品美女 | 在线观看91精品视频 | 亚洲高清网站 | 91九色最新地址 | 国产成人在线一区 | 五月花丁香婷婷 | 亚洲欧洲国产精品 | 国产黄av | 狠狠躁18三区二区一区ai明星 | 欧美日韩首页 | 日本激情视频中文字幕 | 美女视频永久黄网站免费观看国产 | 国产精品一区二区三区在线播放 | 五月婷婷丁香综合 | av在线收看 | 亚洲天天草 | 国产精品乱码久久久久久1区2区 | 狠狠狠色丁香综合久久天下网 | 成人小视频在线观看免费 | 深夜激情影院 | 国产成人一区二区在线观看 | 国产成人福利在线观看 | 99在线精品视频观看 | 亚洲成人午夜在线 | 日韩欧美网址 | av中文字幕av | 国产精品欧美久久 | 国产美女搞久久 | 久色 网 | 国产视频一区二区在线观看 | 久久综合久久88 | 啪一啪在线 | 久久色亚洲 | 欧美日韩色婷婷 | 久久婷婷丁香 | 三级av黄色 | 丝袜美腿亚洲综合 | 99热99热| 婷婷网五月天 | 亚洲无在线 | 在线91观看 | 婷婷色在线观看 | 狠狠色伊人亚洲综合网站色 | 在线影院av| 九九热只有这里有精品 | 日本中文字幕在线 | 成全在线视频免费观看 | 国产精品资源在线 | 国产精品毛片网 | 又黄又网站 | 国产精品久久久久av免费 | 久久视频热 | 国产女教师精品久久av | 欧美一二三视频 | 久久久久久久久久久高潮一区二区 | 国内精品亚洲 | 在线成人一区 | 精品国产大片 | 国产在线免费观看 | 日韩性久久 | 天天干天天插伊人网 | 久久1电影院 | 97国产精品免费 | 久草在线观看资源 | 久草视频在线新免费 | 天天综合中文 | 亚洲天堂免费视频 | 五月婷婷综合激情 | 精品久久久久久亚洲综合网站 | 在线观看中文字幕网站 | 91久色蝌蚪 | 精品国产一区二区在线 | 91九色视频在线观看 | 日本性动态图 | 久久毛片网站 | 天天草天天 | 91精品在线观看视频 | 精品少妇一区二区三区在线 | 国产日韩欧美在线 | 欧美日韩另类在线观看 | 中文在线字幕免费观看 | 天天操天天操天天操天天操天天操天天操 | 国产一区二区影院 | 国产精品视频你懂的 | 麻豆久久久 | 亚洲一区二区精品视频 | 91在线视频在线观看 | 久久久久成人精品 | 国产精品一区在线观看 | 特级黄色一级 | 国产色区 | 婷婷亚洲综合五月天小说 | 国产成人精品不卡 | 黄色不卡av | 国内精品久久久精品电影院 | 99综合电影在线视频 | 最近的中文字幕大全免费版 | 狠狠色综合欧美激情 | 久久国产精品二国产精品中国洋人 | av在线进入 | 在线观看的黄色 | 欧美一区二区三区四区夜夜大片 | 日韩乱色精品一区二区 | 久久精品免视看 | 国产精品欧美一区二区 | 国产不卡在线观看视频 | 69亚洲视频 | 色av资源网 | 久久丁香 | 成人黄视频| 91视频在线免费下载 | 少妇搡bbbb搡bbb搡aa | 在线视频1卡二卡三卡 | 超碰在线97观看 | 亚洲高清不卡av | 视频国产在线 | 精品亚洲国产视频 | 成人精品一区二区三区电影免费 | 91免费视频国产 | 色综合久久久 | 久久久久久久久久国产精品 | 亚洲精品黄色在线观看 | 婷婷丁香九月 | 亚洲影视资源 | 99久久er热在这里只有精品15 | 日本在线观看中文字幕 | 91av视频免费在线观看 | 中文成人字幕 | 黄色片网站av | 免费av片在线 | 国产精品美女视频网站 | 午夜久久福利视频 | 黄色1级毛片 | 欧美日韩在线电影 | 久草在线官网 | 精品国产91亚洲一区二区三区www | 欧美在线视频二区 | 波多野结衣在线播放视频 | 操处女逼 | 国产精品不卡视频 | 亚洲成av片人久久久 | 免费在线一区二区 | 色无五月| 99电影456麻豆 | 久久a v视频| 国产手机在线视频 | 麻豆91在线观看 | 色噜噜日韩精品一区二区三区视频 | 精品国产精品一区二区夜夜嗨 | 亚洲午夜精品久久久久久久久久久久 | 毛片激情永久免费 | 欧美性大战 | 欧美成人免费在线 | 开心激情五月婷婷 | 国产视频在线观看一区 | 国产在线观看91 | 午夜美女视频 | 97色综合| 欧美日韩亚洲精品在线 | 亚洲女同videos | 久久久久免费精品视频 | 三级黄色片子 | 麻豆 videos | 亚洲成av人片在线观看无 | 亚洲电影自拍 | 亚洲专区欧美专区 | 中文字幕av最新更新 | 日韩视频一区二区三区在线播放免费观看 | 狠狠色狠狠色 | 色婷婷免费视频 | 日本精品久久久一区二区三区 | 国产一级片免费播放 | 久久精品视频网站 | 91亚洲精品乱码久久久久久蜜桃 | 一区二区不卡高清 | 日韩有码中文字幕在线 | 欧美激情第八页 | 久久久久久久电影 | 亚洲一区 影院 | a成人v在线 | wwwav视频 | 99久久99 | 久久久精品小视频 | 特黄色大片 | 中文av在线播放 | 亚洲激情综合网 | 五月天婷婷丁香花 | 久久久精华网 | 操久久免费视频 | 2023亚洲精品国偷拍自产在线 | 综合激情av | 丁五月婷婷 | 日韩免费高清在线 | 久久久久女教师免费一区 | 亚洲天堂va | 成人一级片在线观看 | 又黄又刺激视频 | 亚洲一区不卡视频 | 热久久免费国产视频 | 精品女同一区二区三区在线观看 | 性色xxxxhd | 婷婷久久一区 | www.人人草 | 韩国三级一区 | www毛片com| 国产日韩在线视频 | 国产福利午夜 | 国产精品福利在线播放 | 西西444www大胆无视频 | 一级α片免费看 | 超碰人人舔 | 久草a在线| 国产精品 中文在线 | 国产一级视屏 | 丁香花在线视频观看免费 | 久草网在线 | 国产精品黑丝在线观看 | 九九精品久久久 | 国产精品免费观看久久 | 久久久久这里只有精品 | 国产99久久久国产精品免费看 | 欧美精彩视频在线观看 | 国产精品永久久久久久久久久 | 色婷婷五 | 天天操操操操操操 | 天天干,夜夜操 | 麻豆一区在线观看 | 黄色在线网站噜噜噜 | 国产中年夫妇高潮精品视频 | 亚洲 欧美 综合 在线 精品 | 欧美 日韩 性 | 日日成人网 | 性日韩欧美在线视频 | 精品uu| 天天色天天上天天操 | 久久久久久黄色 | 久久久久看片 | 88av网站 | 国产丝袜一区二区三区 | 99精品黄色片免费大全 | 久久精品一区 | 欧美做受高潮电影o | 成人动漫精品一区二区 | www.五月天婷婷 | 国产精品一区二区三区久久久 | 51久久成人国产精品麻豆 | 狠狠狠色丁香综合久久天下网 | 青青河边草免费 | 国产三级av在线 | 成人网看片| 涩涩爱夜夜爱 | 亚洲精品一区二区久 | 国产一级91| 亚洲高清精品在线 | 在线视频第一页 | 精品久久久久久久久久久久久久久久久久 | av中文在线| 国产精品美女久久久免费 | 最近中文字幕国语免费高清6 | 69av国产 | 99久久精品久久亚洲精品 | 国产在线观看免费 | 色婷婷亚洲婷婷 | www.久久免费视频 | 最近中文字幕mv免费高清在线 | 在线不卡视频 | av在线免费网 | 91精品国产一区二区在线观看 | 91手机电影| 久久久久久久久久影视 | 欧美 日韩 视频 | 日韩视频中文字幕 | 亚洲激情在线观看 | 国产精品免费久久久久影院仙踪林 | 国产黄色免费 | 69av久久 | 久久福利| 91九色porn在线资源 | 欧美 日韩 视频 | 免费看片网页 | 日韩在线观看你懂的 | 正在播放一区二区 | 久久久999| www.狠狠插.com | 狠狠操狠狠干天天操 | 玖玖爱在线观看 | 婷婷伊人综合亚洲综合网 | 一区在线播放 | 97av视频| 一区二区三区四区在线 | 99色国产 | 久久另类视频 | 国内丰满少妇猛烈精品播 | 国内精品免费 | 亚洲欧美日韩一区二区三区在线观看 | 国产亚洲精品久久久网站好莱 | 久草久草视频 | 97免费视频在线播放 | 97香蕉超级碰碰久久免费软件 | 成人欧美一区二区三区黑人麻豆 | 国产精品久久久精品 | 成人在线超碰 | 亚洲精品久久久久久中文传媒 | 91超国产 | 国产成人免费精品 | 精品久久在线 | 伊人亚洲精品 | 成人国产网址 | 人人插人人爱 | 人人玩人人添人人澡超碰 | 国产精品久久久久久69 | 久久久网址| 丰满少妇一级片 | 亚洲国产精品电影 | 久久精品123 | 亚洲国产综合在线 | 在线观看的av | 国产精品原创视频 | 亚洲视屏| 中文字幕在线视频一区 | 天天爽夜夜爽人人爽一区二区 | 五月天丁香视频 | 热九九精品 | 中文久久精品 | 国产精品第 | 免费高清影视 | 一区二区三区四区精品视频 | 国产免费区 | 国产看片 色 | 中文字幕在线视频国产 | 久久视频免费观看 | 超碰久热 | 婷婷中文在线 | 激情视频在线高清看 | 日韩成人中文字幕 | 日韩激情精品 | 国产精品电影在线 | 国产小视频91 | 最新日韩视频在线观看 | 国产一区久久 | 黄网站app在线观看免费视频 | 国产精品毛片一区二区 | 欧美 日韩 性 | 精品国产一区二区三区噜噜噜 | 亚洲成人家庭影院 | 另类老妇性bbwbbw高清 | 久久久久久久久福利 | 五月激情电影 | 亚洲国产丝袜在线观看 | 亚洲精品国产精品国自产 | 国产淫片免费看 | 国产夫妻性生活自拍 | 亚洲va欧美va国产va黑人 | 精品视频久久 | 久久久久成人免费 | 欧美在线视频免费 | 五月天中文在线 | 欧美日韩色婷婷 | 国产精品免费在线观看视频 | 在线免费视频a | 九九热视频在线免费观看 | 久久精品国产久精国产 | av+在线播放在线播放 | 黄污视频大全 | 国内精品久久影院 | 久久视频这里有久久精品视频11 | 丰满少妇高潮在线观看 | 精品国产乱子伦一区二区 | 激情婷婷在线 | 欧美日韩精品在线免费观看 | 欧美日韩久久不卡 | 国产黄免费 | 欧美日韩免费观看一区二区三区 | 日日干天天插 | 欧美a√大片 | 青青草国产成人99久久 | 夜色成人av | 亚洲1区在线 | 五月天综合| 天天在线免费视频 | 国产日韩精品一区二区在线观看播放 | 日韩在线视频观看 | 丁香资源影视免费观看 | 亚洲乱码久久久 | 亚洲涩涩网 | 激情综合五月婷婷 | 国产精品毛片一区二区三区 | 超碰97免费观看 | 日韩av免费在线看 | 国产二区精品 | 91网站在线视频 | 日本不卡一区二区三区在线观看 | 久久这里只有精品23 | 麻豆91精品91久久久 | 丁香色天天 | 日韩免费在线观看视频 | 欧美精品乱码久久久久久 | 最新国产在线观看 | 天堂av免费看 | 国产日产精品久久久久快鸭 | 国产91区 | 久草热久草视频 | a黄色影院 | 日韩免费一二三区 | 日韩中文字幕亚洲一区二区va在线 | 亚洲午夜久久久久久久久 | 欧美日韩高清在线观看 | 丁香网五月天 | 免费观看国产视频 | 久久艹国产 | 五月婷在线视频 | 国产视频一区在线免费观看 | 黄色www| 一区二区视频免费在线观看 | 在线视频 国产 日韩 | 欧美韩国日本在线 | 国产视频美女 | 久久久久久久99精品免费观看 | 亚洲一级片在线看 | 天天婷婷 | 久久综合成人 | 国产中文字幕三区 | 久精品一区 | 欧美精品久久 | 天天操操操操操 | mm1313亚洲精品国产 | 久久久久久久久久久成人 | 国产伦精品一区二区三区照片91 | 奇米影视8888在线观看大全免费 | 日韩欧美综合视频 | 成人免费在线观看入口 | 亚洲精品美女久久久久 | 成人黄色av免费在线观看 | 欧美激情视频一区二区三区 | 久草影视在线观看 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 在线看片成人 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 麻豆免费视频观看 | 国产高清精 | 婷婷六月丁 | 成人h视频 | 免费午夜在线视频 | 91桃色免费观看 | 国产精品久久久久国产精品日日 | 久久综合一本 | 国产高清免费在线播放 | 三级动态视频在线观看 | 国产在线精品视频 | 深爱婷婷网 | 国产一级大片在线观看 | 婷婷六月激情 | 中文字幕精品www乱入免费视频 | 在线一区电影 | 视频成人永久免费视频 | 69av久久 | 欧美午夜精品久久久久久浪潮 | 日日草av | 网站免费黄 | 日韩在线网址 | 中文字幕在线日本 | 国产一区久久久 | 国产精品区一区 | 欧美激情va永久在线播放 | 超碰人人91 | 成人毛片网 | 青青网视频 | www狠狠操 | 亚洲一二视频 | 国产精品入口66mio女同 | 免费视频一级片 | 国产一卡久久电影永久 | 日日躁夜夜躁xxxxaaaa | 国产99久久| 国产一二三区在线观看 | 六月丁香综合 | 午夜精品久久久久久久久久久久久久 | 国产精品视频全国免费观看 | 亚洲专区欧美专区 | 99国产视频 | 欧美精品久久久久性色 | 亚洲欧美激情精品一区二区 | 超碰人人乐 | 91看成人| 国产精品乱码高清在线看 | 韩国精品视频在线观看 | 成年人在线免费看视频 | 日韩午夜在线播放 | 九九九毛片| 国产v视频 | 97碰碰视频| 国产高清小视频 | 亚洲国产精品电影 | 又长又大又黑又粗欧美 | 国产精品久久久久毛片大屁完整版 | 久久久久久久久影院 | www五月 | 黄色www在线观看 | 午夜精品久久久久99热app | 高清av免费一区中文字幕 | 成人在线电影观看 | 中文字幕 国产视频 | 久久久久激情 | 91在线国内视频 | 国产日韩在线视频 | 日韩欧美视频在线观看免费 | 久久久久成人精品 | 精品久久九九 | 98久久 | 天天爱天天射天天干天天 | 最近高清中文字幕 | 久久精品99国产精品亚洲最刺激 | 亚洲国产精品免费 | 91免费日韩 | 九九激情视频 | 国产精品国产自产拍高清av | 成人91在线观看 | 国产福利在线不卡 | 九色视频网 | 日韩电影在线一区 | 黄色a大片 | 97视频免费播放 | 国产一区二区中文字幕 | 超碰在线网| 中文字幕av最新 | 国内免费久久久久久久久久久 | 在线观看国产www | 国产精品9区| 综合天天久久 | 久久99操| 久久论理| 久99久视频| 亚洲国产日韩在线 | 制服丝袜一区二区 | 久久精品日韩 | 97免费视频在线播放 | 国产精品18久久久久久不卡孕妇 | 五月天六月丁香 | 亚洲理论影院 | 91av免费在线观看 | 成人啪啪18免费游戏链接 | 久久久久久久久久久久久久免费看 | 国产资源在线观看 | 亚州精品天堂中文字幕 | 日韩成人邪恶影片 | 天天操天天色综合 | 国产系列在线观看 | 中文字幕日韩国产 | 四虎国产视频 | 黄网站免费大全入口 | 日本久久久久久科技有限公司 | 96av在线视频 | 18网站在线观看 | a天堂最新版中文在线地址 久久99久久精品国产 | 99爱视频在线观看 | 欧美日韩国产在线精品 | 91国内在线视频 | 就要色综合 | 国产精品视频久久久 | 亚洲欧美日韩精品一区二区 | 91视频在线自拍 | 午夜美女网站 | 亚洲精品美女在线观看播放 | 日韩视频中文字幕在线观看 | a久久久久| 日韩毛片在线一区二区毛片 | 麻豆传媒视频观看 | 9999在线 | 日韩在线国产 | 91精品国产乱码在线观看 | 欧美国产视频在线 | 成人午夜电影在线播放 | 中文字幕亚洲精品日韩 | 国产精品v a免费视频 | www视频在线观看 | 色a资源在线 | 亚洲国产精品久久久久婷婷884 | 日韩一区二区三区视频在线 | 国产精品久久久久9999吃药 | 亚洲精品国产精品久久99热 | 美女视频黄色免费 | 中文在线最新版天堂 | 久久国产麻豆 | 久久精品99精品国产香蕉 | 在线观看黄色小视频 | 国产精品久久久久aaaa九色 | 欧美另类交人妖 | 最近的中文字幕大全免费版 | 天堂av网站| 91av社区 | 午夜精品一区二区三区在线播放 | 乱男乱女www7788 | 国产高清视频在线播放一区 | 国产黄色精品在线 | 免费看片网址 | 日韩中出在线 | 成年人app网址 | 丁香六月婷婷开心 | 麻豆免费在线播放 | 国产亚洲成av人片在线观看桃 | 99久久婷婷国产精品综合 | 99精品欧美一区二区三区黑人哦 | 久久精品成人欧美大片古装 | 91麻豆视频网站 | 久精品一区 | 国产婷婷色 | 99欧美 | 国产美女搞久久 | 在线午夜电影神马影院 | 日日操网站 | 日韩高清 一区 | 久久草网站 | 亚洲成人av一区二区 | 高清不卡一区二区在线 | 丁香激情综合 | 91精品推荐 | 久久国产精品二国产精品中国洋人 | 免费看短 | 国产91影视 | 日韩成人在线一区二区 | 色香蕉在线 | 国产精品高清免费在线观看 | 国产成人777777 | 九色最新网址 | 国产淫片免费看 | 欧美二区视频 | 国产不卡在线观看 | 国产黄色av | 韩国av电影在线观看 | 日韩免费在线网站 | 国产小视频你懂的 | 丁香九月激情综合 | 久久精品观看 | 婷婷中文字幕在线观看 | 欧美日韩综合在线 | 久草在线视频在线观看 | 成人亚洲免费 | 黄色毛片视频免费观看中文 | 亚洲成人国产精品 | 青青久草在线视频 |