計算機網(wǎng)絡常見面試題匯總·

1、你知道TCP協(xié)議、IP協(xié)議、HTTP協(xié)議分別在哪一層嗎?

運輸層,網(wǎng)絡層,應用層。

2、請你解釋一下TCP為什么可靠一些

三次握手,超時重傳,滑動窗口,擁塞控制。


[1] 確認和重傳機制

建立連接時三次握手同步雙方的“序列號 + 確認號 + 窗口大小信息”,是確認重傳、流控的基礎

傳輸過程中,如果Checksum校驗失敗、丟包或延時,發(fā)送端重傳。

[2] 數(shù)據(jù)排序

TCP有專門的序列號SN字段,可提供數(shù)據(jù)re-order

[3] 流量控制

滑動窗口和計時器的使用。TCP窗口中會指明雙方能夠發(fā)送接收的最大數(shù)據(jù)量,發(fā)送方通過維持一個發(fā)送滑動窗口來確保不會發(fā)生由于發(fā)送方報文發(fā)送太快接收方無法及時處理的問題。

[4] 擁塞控制

TCP的擁塞控制由4個核心算法組成:

“慢啟動”(Slow Start)

“擁塞避免”(Congestion avoidance)

“快速重傳 ”(Fast Retransmit)

“快速恢復”(Fast Recovery)


3、請說明一下哪種應用場景會使用TCP協(xié)議,使用它的意義

當對網(wǎng)絡通訊質(zhì)量有要求的時候,比如:整個數(shù)據(jù)要準確無誤的傳遞給對方,這往往用于一些要求可靠的應用,比如HTTP、HTTPS、FTP等傳輸文件的協(xié)議,POP、SMTP等郵件傳輸?shù)膮f(xié)議

4、請你說一下tcp和udp的區(qū)別

1、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接

2、TCP提供可靠的服務。也就是說,通過TCP連接傳送的數(shù)據(jù),無差錯,不丟失,不重復,且按序到達;UDP盡最大努力交付,即不保證可靠交付

3、TCP面向字節(jié)流,實際上是TCP把數(shù)據(jù)看成一連串無結(jié)構(gòu)的字節(jié)流;UDP是面向報文的,應用層交給UDP多長的報文,UDP就照樣發(fā)送,即一次發(fā)送一個報文。UDP沒有擁塞控制,因此網(wǎng)絡出現(xiàn)擁塞不會使源主機的發(fā)送速率降低(對實時應用很有用,如IP電話,實時視頻會議等)

4、每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信

5、TCP首部開銷20字節(jié);UDP的首部開銷小,只有8個字節(jié)

6、TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道


5、 ip報文經(jīng)過一個路由器改變哪些字段?? ??

源和目的的MAC地址以及TTL值。(TTL減1)

6、TCP建立連接的三次握手過程

第一次握手:起初兩端都處于CLOSED關閉狀態(tài),Client將標志位SYN置為1,隨機產(chǎn)生一個值seq=x,并將該數(shù)據(jù)包發(fā)送給Server,Client進入SYN-SENT狀態(tài),等待Server確認;

第二次握手:Server收到數(shù)據(jù)包后由標志位SYN=1得知Client請求建立連接Server將標志位SYN和ACK都置為1,ack=x+1隨機產(chǎn)生一個值seq=y,并將該數(shù)據(jù)包發(fā)送給Client以確認連接請求,Server進入SYN-RCVD狀態(tài),此時操作系統(tǒng)為該TCP連接分配TCP緩存和變量;

第三次握手:Client收到確認后,檢查ack是否為x+1,ACK是否為1,如果正確則將標志位ACK置為1,ack=y+1,并且此時操作系統(tǒng)為該TCP連接分配TCP緩存和變量,并將該數(shù)據(jù)包發(fā)送給Server,Server檢查ack是否為y+1,ACK是否為1,如果正確則連接建立成功,Client和Server進入ESTABLISHED狀態(tài),完成三次握手,隨后Client和Server就可以開始傳輸數(shù)據(jù)。

7、請你說明一下,TCP協(xié)議的4次握手。

由于TCP連接是全雙工的,因此每個方向都必須單獨進行關閉。這個原則是當一方完成它的數(shù)據(jù)發(fā)送任務后就能發(fā)送一個FIN來終止這個方向的連接。收到一個?FIN只意味著這一方向上沒有數(shù)據(jù)流動,一個TCP連接在收到一個FIN后仍能發(fā)送數(shù)據(jù)。首先進行關閉的一方將執(zhí)行主動關閉,而另一方執(zhí)行被動關閉。

TCP的連接的拆除需要發(fā)送四個包,因此稱為四次揮手(four-way handshake)??蛻舳嘶蚍掌骶芍鲃影l(fā)起揮手動作,在socket編程中,任何一方執(zhí)行close()操作即可產(chǎn)生揮手操作。

(1)客戶端A發(fā)送一個FIN,用來關閉客戶A到服務器B的數(shù)據(jù)傳送。

(2)服務器B收到這個FIN,它發(fā)回一個ACK,確認序號為收到的序號加1。和SYN一樣,一個FIN將占用一個序號。

(3)服務器B關閉與客戶端A的連接,發(fā)送一個FIN給客戶端A。

(4)客戶端A發(fā)回ACK報文確認,并將確認序號設置為收到序號加1。

8、 搜索baidu,會用到計算機網(wǎng)絡中的什么層?每層是干什么的

瀏覽器中輸入URL

瀏覽器要將URL解析為IP地址,解析域名就要用到DNS協(xié)議,首先主機會查詢DNS的緩存,如果沒有就給本地DNS發(fā)送查詢請求。DNS查詢分為兩種方式,一種是遞歸查詢,一種是迭代查詢。如果是迭代查詢,本地的DNS服務器,向根域名服務器發(fā)送查詢請求,根域名服務器告知該域名的一級域名服務器,然后本地服務器給該一級域名服務器發(fā)送查詢請求,然后依次類推直到查詢到該域名的IP地址。DNS服務器是基于UDP的,因此會用到UDP協(xié)議。? ??

得到IP地址后,瀏覽器就要與服務器建立一個http連接。因此要用到http協(xié)議,http協(xié)議報文格式上面已經(jīng)提到。http生成一個get請求報文,將該報文傳給TCP層處理,所以還會用到TCP協(xié)議。如果采用https還會使用https協(xié)議先對http數(shù)據(jù)進行加密。TCP層如果有需要先將HTTP數(shù)據(jù)包分片,分片依據(jù)路徑MTU和MSS。TCP的數(shù)據(jù)包然后會發(fā)送給IP層,用到IP協(xié)議。IP層通過路由選路,一跳一跳發(fā)送到目的地址。當然在一個網(wǎng)段內(nèi)的尋址是通過以太網(wǎng)協(xié)議實現(xiàn)(也可以是其他物理層協(xié)議,比如PPP,SLIP),以太網(wǎng)協(xié)議需要直到目的IP地址的物理地址,有需要ARP協(xié)議。

其中:

1、DNS協(xié)議,http協(xié)議,https協(xié)議屬于應用層

應用層是體系結(jié)構(gòu)中的最高層。應用層確定進程之間通信的性質(zhì)以滿足用戶的需要。這里的進程就是指正在運行的程序。應用層不僅要提供應用進程所需要的信息交換和遠地操作,而且還要作為互相作用的應用進程的用戶代理,來完成一些為進行語義上有意義的信息交換所必須的功能。應用層直接為用戶的應用進程提供服務。

2、TCP/UDP屬于傳輸層

傳輸層的任務就是負責主機中兩個進程之間的通信。因特網(wǎng)的傳輸層可使用兩種不同協(xié)議:即面向連接的傳輸控制協(xié)議TCP,和無連接的用戶數(shù)據(jù)報協(xié)議UDP。面向連接的服務能夠提供可靠的交付,但無連接服務則不保證提供可靠的交付,它只是“盡最大努力交付”。這兩種服務方式都很有用,備有其優(yōu)缺點。在分組交換網(wǎng)內(nèi)的各個交換結(jié)點機都沒有傳輸層。

3、IP協(xié)議,ARP協(xié)議屬于網(wǎng)絡層

網(wǎng)絡層負責為分組交換網(wǎng)上的不同主機提供通信。在發(fā)送數(shù)據(jù)時,網(wǎng)絡層將運輸層產(chǎn)生的報文段或用戶數(shù)據(jù)報封裝成分組或包進行傳送。在TCP/IP體系中,分組也叫作IP數(shù)據(jù)報,或簡稱為數(shù)據(jù)報。網(wǎng)絡層的另一個任務就是要選擇合適的路由,使源主機運輸層所傳下來的分組能夠交付到目的主機。

4、數(shù)據(jù)鏈路層

當發(fā)送數(shù)據(jù)時,數(shù)據(jù)鏈路層的任務是將在網(wǎng)絡層交下來的IP數(shù)據(jù)報組裝成幀,在兩個相鄰結(jié)點間的鏈路上傳送以幀為單位的數(shù)據(jù)。每一幀包括數(shù)據(jù)和必要的控制信息(如同步信息、地址信息、差錯控制、以及流量控制信息等)??刂菩畔⑹菇邮斩四軌蛑馈獋€幀從哪個比特開始和到哪個比特結(jié)束??刂菩畔⑦€使接收端能夠檢測到所收到的幀中有無差錯。

5、物理層

物理層的任務就是透明地傳送比特流。在物理層上所傳數(shù)據(jù)的單位是比特。傳遞信息所利用的一些物理媒體,如雙絞線、同軸電纜、光纜等,并不在物理層之內(nèi)而是在物理層的下面。因此也有人把物理媒體當做第0層。

9、請你說一說TCP擁塞控制?以及達到什么情況的時候開始減慢增長的速度?

擁塞控制是防止過多的數(shù)據(jù)注入網(wǎng)絡,使得網(wǎng)絡中的路由器或者鏈路過載。流量控制是點對點的通信量控制,而擁塞控制是全局的網(wǎng)絡流量整體性的控制。發(fā)送雙方都有一個擁塞窗口——cwnd。

1、慢開始

最開始發(fā)送方的擁塞窗口為1,由小到大逐漸增大發(fā)送窗口和擁塞窗口。每經(jīng)過一個傳輸輪次,擁塞窗口cwnd加倍。當cwnd超過慢開始門限,則使用擁塞避免算法,避免cwnd增長過大?!局笖?shù)】

2、擁塞避免

每經(jīng)過一個往返時間RTT,cwnd就增長1。

在慢開始和擁塞避免的過程中,一旦發(fā)現(xiàn)網(wǎng)絡擁塞,就把慢開始門限設為當前值的一半,并且重新設置cwnd為1,重新慢啟動。(乘法減小,加法增大)【線性】

3、快重傳

接收方每次收到一個失序的報文段后就立即發(fā)出重復確認,發(fā)送方只要連續(xù)收到三個重復確認就立即重傳(盡早重傳未被確認的報文段)。

4、快恢復

當發(fā)送方連續(xù)收到了三個重復確認,就乘法減半(慢開始門限減半),將當前的cwnd設置為慢開始門限,并且采用擁塞避免算法(連續(xù)收到了三個重復請求,說明當前網(wǎng)絡可能沒有擁塞)。

采用快恢復算法時,慢開始只在建立連接和網(wǎng)絡超時才使用。


達到什么情況的時候開始減慢增長的速度?

采用慢開始和擁塞避免算法的時候

1. 一旦cwnd>慢開始門限,就采用擁塞避免算法,減慢增長速度

2. 一旦出現(xiàn)丟包的情況,就重新進行慢開始,減慢增長速度

采用快恢復和快重傳算法的時候

1. 一旦cwnd>慢開始門限,就采用擁塞避免算法,減慢增長速度

2. 一旦發(fā)送方連續(xù)收到了三個重復確認,就采用擁塞避免算法,減慢增長速度

10、?請你說說傳遞到IP層怎么知道報文該給哪個應用程序,它怎么區(qū)分UDP報文還是TCP報文

看ip頭中的協(xié)議標識字段,17是udp,6是tcp

11、請你說一說IP地址作用,以及MAC地址作用

MAC地址是一個硬件地址,用來定義網(wǎng)絡設備的位置,主要由數(shù)據(jù)鏈路層負責。而IP地址是IP協(xié)議提供的一種統(tǒng)一的地址格式,為互聯(lián)網(wǎng)上的每一個網(wǎng)絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。

12、請說明一下http和https的區(qū)別

1)? ?https協(xié)議要申請證書到ca,需要一定經(jīng)濟成本;

2)?http是明文傳輸,https是加密的安全傳輸;

3) 連接的端口不一樣,http是80,https是443;

4)http連接很簡單,沒有狀態(tài);https是ssl加密的傳輸,身份認證的網(wǎng)絡協(xié)議,相對http傳輸比較安全。

13、請講一下瀏覽器從接收到一個URL,到最后展示出頁面,經(jīng)歷了哪些過程

1.DNS解析?

2.TCP連接?

3.發(fā)送HTTP請求?

4.服務器處理請求并返回HTTP報文?

5.瀏覽器解析渲染頁面

14、 什么是icmp協(xié)議,它的作用是什么?

它是TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵妇W(wǎng)絡通不通、主機是否可達、路由是否可用等網(wǎng)絡本身的消息。這些控制消息雖然并不傳輸用戶數(shù)據(jù),但是對于用戶數(shù)據(jù)的傳遞起著重要的作用。【自動分配IP地址】

15、請你講一下路由器和交換機的區(qū)別?

1、工作層次不同:交換機比路由器更簡單,路由器比交換器能獲取更多信息

交換機工作在數(shù)據(jù)鏈路層,而路由器工作在網(wǎng)絡層

2、數(shù)據(jù)轉(zhuǎn)發(fā)所依據(jù)的對象不同

交換機的數(shù)據(jù)轉(zhuǎn)發(fā)依據(jù)是利用物理地址或者說MAC地址來確定轉(zhuǎn)發(fā)數(shù)據(jù)的目的地址

而路由器是依據(jù)ip地址進行工作的

3、傳統(tǒng)的交換機只能分割沖突域,不能分割廣播域;而路由器可以分割廣播域

路由器有交換機的功能,但是路由器比交換機復雜的多

16、路由器有交換機的功能,但是路由器比交換機復雜的多

(1)檢查瀏覽器緩存、檢查本地hosts文件是否有這個網(wǎng)址的映射,如果有,就調(diào)用這個IP地址映射,解析完成。

(2)如果沒有,則查找本地DNS解析器緩存是否有這個網(wǎng)址的映射,如果有,返回映射,解析完成。

(3)如果沒有,則查找填寫或分配的首選DNS服務器,稱為本地DNS服務器。服務器接收到查詢時:

如果要查詢的域名包含在本地配置區(qū)域資源中,返回解析結(jié)果,查詢結(jié)束,此解析具有權(quán)威性。

如果要查詢的域名不由本地DNS服務器區(qū)域解析,但服務器緩存了此網(wǎng)址的映射關系,返回解析結(jié)果,查詢結(jié)束,此解析不具有權(quán)威性。

(4)如果本地DNS服務器也失效:

如果未采用轉(zhuǎn)發(fā)模式(迭代),本地DNS就把請求發(fā)至13臺根DNS,根DNS服務器收到請求后,會判斷這個域名(如.com)是誰來授權(quán)管理,并返回一個負責該頂級域名服務器的IP,本地DNS服務器收到頂級域名服務器IP信息后,繼續(xù)向該頂級域名服務器IP發(fā)送請求,該服務器如果無法解析,則會找到負責這個域名的下一級DNS服務器(如http://baidu.com)的IP給本地DNS服務器,循環(huán)往復直至查詢到映射,將解析結(jié)果返回本地DNS服務器,再由本地DNS服務器返回解析結(jié)果,查詢完成。

如果采用轉(zhuǎn)發(fā)模式(遞歸),則此DNS服務器就會把請求轉(zhuǎn)發(fā)至上一級DNS服務器,如果上一級DNS服務器不能解析,則繼續(xù)向上請求。最終將解析結(jié)果依次返回本地DNS服務器,本地DNS服務器再返回給客戶機,查詢完成。

17、請你說說HTTP狀態(tài)碼

狀態(tài)碼,100~199表示請求已收到繼續(xù)處理,200~299表示成功,300~399表示資源重定向,400~499表示客戶端請求出錯,500~599表示服務器端出錯

200:響應成功

302:跳轉(zhuǎn),重定向

400:客戶端有語法錯誤

403:服務器拒絕提供服務

404:請求資源不存在

500:服務器內(nèi)部錯誤


狀態(tài)碼,100~199表示請求已收到繼續(xù)處理,200~299表示成功,300~399表示資源重定向,400~499表示客戶端請求出錯,500~599表示服務器端出錯

200:響應成功

302:跳轉(zhuǎn),重定向

400:客戶端有語法錯誤

403:服務器拒絕提供服務

404:請求資源不存在

500:服務器內(nèi)部錯誤狀態(tài)碼,100~199表示請求已收到繼續(xù)處理,200~299表示成功,300~399表示資源重定向,400~499表示客戶端請求出錯,500~599表示服務器端出錯

200:響應成功

302:跳轉(zhuǎn),重定向

400:客戶端有語法錯誤

403:服務器拒絕提供服務

404:請求資源不存在

500:服務器內(nèi)部錯誤

18、DNS域名系統(tǒng),簡單描述其工作原理。

當DNS客戶機需要在程序中使用名稱時,它會查詢DNS服務器來解析該名稱??蛻魴C發(fā)送的每條查詢信息包括三條信息:指定的DNS域名,指定的查詢類型,DNS域名的指定類別?;赨DP服務,端口53. 該應用一般不直接為用戶使用,而是為其他應用服務,如HTTP,SMTP等在其中需要完成主機名到IP地址的轉(zhuǎn)換。

(1)客戶機向其本地域名服務器發(fā)出DNS請求報文

(2)本地域名服務器收到請求后,查詢本地緩存,假設沒有該記錄,則以DNS客戶的身份向根域名服務器發(fā)出解析請求

(3)根域名服務器收到請求后,判斷該域名所屬域,將對應的頂級域名服務器的IP地址返回給本地域名服務器

(4)本地域名服務器向頂級域名服務器發(fā)出解析請求報文

(5)頂級域名服務器收到請求后,將所對應的授權(quán)域名服務器的IP地址返回給本地域名服務器

(6)本地域名服務器向授權(quán)域名服務器發(fā)起解析請求報文

(7)授權(quán)域名服務器收到請求后,將查詢結(jié)果返回給本地域名服務器

(8)本地域名服務器將查詢結(jié)果保存到本地緩存,同時返回給客戶機

19、TCP了解嗎,說一下滑動窗口

TCP(Transmission Control Protocol?傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義。

TCP協(xié)議如何來保證傳輸?shù)目煽啃?/b>

  TCP提供一種面向連接的、可靠的字節(jié)流服務。其中,面向連接意味著兩個使用TCP的應用(通常是一個客戶和一個服務器)在彼此交換數(shù)據(jù)之前必須先建立一個TCP連接。在一個TCP連接中,僅有兩方進行彼此通信;而字節(jié)流服務意味著兩個應用程序通過TCP鏈接交換8bit字節(jié)構(gòu)成的字節(jié)流,TCP不在字節(jié)流中插入記錄標識符。

  對于可靠性,TCP通過以下方式進行保證:

數(shù)據(jù)包校驗:目的是檢測數(shù)據(jù)在傳輸過程中的任何變化,若校驗出包有錯,則丟棄報文段并且不給出響應,這時TCP發(fā)送數(shù)據(jù)端超時后會重發(fā)數(shù)據(jù);

對失序數(shù)據(jù)包重排序:既然TCP報文段作為IP數(shù)據(jù)報來傳輸,而IP數(shù)據(jù)報的到達可能會失序,因此TCP報文段的到達也可能會失序。TCP將對失序數(shù)據(jù)進行重新排序,然后才交給應用層;

丟棄重復數(shù)據(jù):對于重復數(shù)據(jù),能夠丟棄重復數(shù)據(jù);

應答機制:當TCP收到發(fā)自TCP連接另一端的數(shù)據(jù),它將發(fā)送一個確認。這個確認不是立即發(fā)送,通常將推遲幾分之一秒;

超時重發(fā):當TCP發(fā)出一個段后,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發(fā)這個報文段;

流量控制:TCP連接的每一方都有固定大小的緩沖空間。TCP的接收端只允許另一端發(fā)送接收端緩沖區(qū)所能接納的數(shù)據(jù),這可以防止較快主機致使較慢主機的緩沖區(qū)溢出,這就是流量控制。TCP使用的流量控制協(xié)議是可變大小的滑動窗口協(xié)議。


窗口是緩存的一部分,用來暫時存放字節(jié)流。發(fā)送方和接收方各有一個窗口接收方通過 TCP 報文段中的窗口字段告訴發(fā)送方自己的窗口大小,發(fā)送方根據(jù)這個值和其它信息設置自己的窗口大小。

發(fā)送窗口內(nèi)的字節(jié)都允許被發(fā)送,接收窗口內(nèi)的字節(jié)都允許被接收。如果發(fā)送窗口左部的字節(jié)已經(jīng)發(fā)送并且收到了確認,那么就將發(fā)送窗口向右滑動一定距離,直到左部第一個字節(jié)不是已發(fā)送并且已確認的狀態(tài);接收窗口的滑動類似,接收窗口左部字節(jié)已經(jīng)發(fā)送確認并交付主機,就向右滑動接收窗口。

【重要】接收窗口只會對窗口內(nèi)最后一個按序到達的字節(jié)進行確認【重要】,例如接收窗口已經(jīng)收到的字節(jié)為 {31, 34, 35},其中 {31} 按序到達,而 {34, 35} 就不是,因此只對字節(jié) 31 進行確認。發(fā)送方得到一個字節(jié)的確認之后,就知道這個字節(jié)之前的所有字節(jié)都已經(jīng)被接收。


計算機網(wǎng)絡第七版書

20、TCP的擁塞控制怎么實現(xiàn)的

計算機網(wǎng)絡中的帶寬、交換結(jié)點中的緩存及處理機等都是網(wǎng)絡的資源。在某段時間,若對網(wǎng)絡中某一資源的需求超過了該資源所能提供的可用部分,網(wǎng)絡的性能就會變壞,這種情況就叫做擁塞。擁塞控制就是 防止過多的數(shù)據(jù)注入網(wǎng)絡中,這樣可以使網(wǎng)絡中的路由器或鏈路不致過載。

如果網(wǎng)絡出現(xiàn)擁塞,分組將會丟失,此時發(fā)送方會繼續(xù)重傳,從而導致網(wǎng)絡擁塞程度更高。因此當出現(xiàn)擁塞時,應當控制發(fā)送方的速率。這一點和流量控制很像,但是出發(fā)點不同。流量控制是為了讓接收方能來得及接收,而擁塞控制是為了降低整個網(wǎng)絡的擁塞程度。

附錄:常見知識點注意,擁塞控制和流量控制不同,前者是一個全局性的過程,而后者指點對點通信量的控制。擁塞控制的方法主要有以下四種: A、慢啟動 B、擁塞避免 C、快重傳 D、快恢復

發(fā)送方需要維護一個叫做擁塞窗口(cwnd)的狀態(tài)變量,注意擁塞窗口與發(fā)送方窗口的區(qū)別:擁塞窗口只是一個狀態(tài)變量,實際決定發(fā)送方能發(fā)送多少數(shù)據(jù)的是發(fā)送方窗口。

為了便于討論,做如下假設:

A、接收方有足夠大的接收緩存,因此不會發(fā)生流量控制;

B、雖然 TCP 的窗口基于字節(jié),但是這里設窗口的大小單位為報文段。

https://zhuanlan.zhihu.com/p/60305452

https://www.cnblogs.com/wuwuyong/p/12198928.html

https://www.imooc.com/article/48819

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容