計(jì)算機(jī)網(wǎng)絡(luò):傳輸層(1)

傳輸層的概述(也叫運(yùn)輸層):

從網(wǎng)絡(luò)層來說,通信的兩端是兩個(gè)主機(jī),但“兩個(gè)主機(jī)之間的通信”這種說法還不夠清楚姻采。這是因?yàn)槌缍拢嬲M(jìn)行通信的實(shí)體是在主機(jī)中的進(jìn)程型诚,是這個(gè)主機(jī)中的一個(gè)進(jìn)程和另一個(gè)主機(jī)中的一個(gè)進(jìn)程在交換數(shù)據(jù)(即通信)。因此嚴(yán)格地講鸳劳,兩個(gè)主機(jī)進(jìn)行通信就是兩個(gè)主機(jī)中的應(yīng)用進(jìn)程互相通信狰贯。
比如微信要發(fā)送的消息是到達(dá)另一個(gè)微信程序。
IP協(xié)議雖然能把分組送到目的主機(jī)赏廓,但是這個(gè)分組還停留在主機(jī)的網(wǎng)絡(luò)層而沒有交付給主機(jī)中的應(yīng)用進(jìn)程涵紊。從運(yùn)輸層的角度看,通信的真正端點(diǎn)并不是主機(jī)而是主機(jī)中的進(jìn)程幔摸。也就是說栖袋,端到端的通信是應(yīng)用進(jìn)程之間的通信

在一個(gè)主機(jī)中經(jīng)常有多個(gè)應(yīng)用進(jìn)程同時(shí)分別和另一個(gè)主機(jī)中的多個(gè)應(yīng)用進(jìn)程通信抚太。例如塘幅,某用戶在使用瀏覽器查找某網(wǎng)站的信息時(shí),其主機(jī)的應(yīng)用層運(yùn)行瀏覽器客戶進(jìn)程尿贫。如果在瀏覽網(wǎng)頁的同時(shí)电媳,還要用電子郵件給網(wǎng)站發(fā)送反饋意見,那么主機(jī)的應(yīng)用層就還要運(yùn)行電子郵件的客戶進(jìn)程庆亡。


運(yùn)輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議的主要區(qū)別

在圖中匾乓,主機(jī)A的應(yīng)用進(jìn)程AP1和主機(jī)B的應(yīng)用進(jìn)程AP3通信,而與此同時(shí)又谋,應(yīng)用進(jìn)程AP2也和對方的應(yīng)用進(jìn)程AP4通信拼缝。這表明運(yùn)輸層有一個(gè)很重要的功能——復(fù)用( multiplexing)和分用( demultiplexing)娱局。
這里的“復(fù)用”是指在發(fā)送方不同的應(yīng)用進(jìn)程都可以使用同一個(gè)運(yùn)輸層協(xié)議傳送數(shù)據(jù)(當(dāng)然需要加上適當(dāng)?shù)氖撞浚胺钟谩笔侵附邮辗降倪\(yùn)輸層在剝?nèi)?bào)文的首部后能夠把這些數(shù)據(jù)正確交付到目的應(yīng)用進(jìn)程咧七。
上圖中兩個(gè)運(yùn)輸層之間有一個(gè)雙向粗箭頭衰齐,寫明“運(yùn)輸層提供應(yīng)用進(jìn)程間的邏輯通信”〖套瑁“邏輯通信”的意思是:運(yùn)輸層之間的通信好像是沿水平方向傳送數(shù)據(jù)耻涛。但事實(shí)上這兩個(gè)運(yùn)輸層之間并沒有一條水平方向的物理連接。要傳送的數(shù)據(jù)是沿著圖中的虛線方向(經(jīng)過多個(gè)層次)傳送的瘟檩。

運(yùn)輸層還要對收到的報(bào)文進(jìn)行差錯檢測抹缕。在網(wǎng)絡(luò)層,IP數(shù)據(jù)報(bào)首部中的檢驗(yàn)和字段墨辛,只檢驗(yàn)首部是否出現(xiàn)差錯而不檢查數(shù)據(jù)部分卓研。
根據(jù)應(yīng)用程序的不同需求,運(yùn)輸層需要有兩種不同的運(yùn)輸協(xié)議睹簇,即面向連接的TCP和無連接的UDP鉴分。

另外,運(yùn)輸層向高層用戶屏蔽了下面網(wǎng)絡(luò)核心的細(xì)節(jié)(如網(wǎng)絡(luò)拓?fù)浯颉⑺捎玫穆酚蛇x擇協(xié)議等)志珍,它使應(yīng)用進(jìn)程看見的就是好像在兩個(gè)運(yùn)輸層實(shí)體之間有一條端到端的邏輯通信信道,但這條邏輯通信信道對上層的表現(xiàn)卻因運(yùn)輸層使用的不同協(xié)議而有很大的差別垛叨。當(dāng)運(yùn)輸層采用面向連接的TCP協(xié)議時(shí)伦糯,盡管下面的網(wǎng)絡(luò)是不可靠的(只提供盡最大努力服務(wù)),但這種邏輯通信信道就相當(dāng)于一條全雙工的可靠信道嗽元。但當(dāng)運(yùn)輸層采用無連接的UDP協(xié)議時(shí)敛纲,這種邏輯通信信道仍然是一條不可靠信道。

傳輸層的兩個(gè)主要協(xié)議

TCPP運(yùn)輸層的兩個(gè)主要協(xié)議都是因特網(wǎng)的正式標(biāo)準(zhǔn)剂癌,即
(1)用戶數(shù)據(jù)報(bào)協(xié)議UDP( User Datagram Protoco)【RFC768】
(2)傳輸控制協(xié)議TCP( Transmission Control Protocol)【RFC793】
UDP在傳送數(shù)據(jù)之前不需要先建立連接淤翔。遠(yuǎn)地主機(jī)的運(yùn)輸層在收到UDP報(bào)文后,不需要給出任何確認(rèn)佩谷。雖然UDP不提供可靠交付旁壮,但在某些情況下UDP卻是一種最有效的工作方式。
TCP則提供面向連接的服務(wù)谐檀。在傳送數(shù)據(jù)之前必須先建立連接抡谐,數(shù)據(jù)傳送結(jié)束后要釋放連接。TCP不提供廣播或多播服務(wù)桐猬。由于TCP要提供可靠的麦撵、面向連接的運(yùn)輸服務(wù),因此不可避免地增加了許多的開銷,如確認(rèn)免胃、流量控制音五、計(jì)時(shí)器以及連接管理等。這不僅使協(xié)議數(shù)據(jù)單元的首部增大很多羔沙,還要占用許多的處理機(jī)資源躺涝。

傳輸層的端口

前面提到過了復(fù)用分用兩個(gè)概念。
舉一個(gè)生活化的例子就是撬碟,在寄快遞時(shí)诞挨,我們把快遞都寄到一個(gè)快遞點(diǎn)莉撇,快遞點(diǎn)再把各各快遞統(tǒng)一裝車運(yùn)輸呢蛤,我們就是復(fù)用了快遞點(diǎn)。而快遞到達(dá)一個(gè)站點(diǎn)需要派送時(shí)棍郎,快遞被送到不同的小區(qū)和門牌號其障,就是分用。
運(yùn)輸層的復(fù)用和分用功能也是類似的涂佃。應(yīng)用層所有的應(yīng)用進(jìn)程都可以通過運(yùn)輸層再傳送到IP層励翼,這就是復(fù)用。運(yùn)輸層從IP層收到數(shù)據(jù)后必須交付給指明的應(yīng)用進(jìn)程辜荠。這就是分用汽抚。顯然,給應(yīng)用層的每個(gè)應(yīng)用進(jìn)程賦予一個(gè)非常明確的標(biāo)志是至關(guān)重要的伯病。
在單個(gè)計(jì)算機(jī)中的進(jìn)程是用進(jìn)程標(biāo)識符(一個(gè)不大的整數(shù))來標(biāo)志的造烁。但是在因特網(wǎng)環(huán)境下,用計(jì)算機(jī)操作系統(tǒng)所指派的這種進(jìn)程標(biāo)識符來標(biāo)志運(yùn)行在應(yīng)用層的各種應(yīng)用進(jìn)程則是不行的午笛。這是因?yàn)樵谝蛱鼐W(wǎng)上使用的計(jì)算機(jī)的操作系統(tǒng)種類很多惭蟋,而不同的操作系統(tǒng)又使用不同格式的進(jìn)程標(biāo)識符。為了使運(yùn)行不同操作系統(tǒng)的計(jì)算機(jī)的應(yīng)用進(jìn)程能夠互相通信药磺,就必須用統(tǒng)一的方法(而這種方法必須與特定操作系統(tǒng)無關(guān))對TCP體系的應(yīng)用進(jìn)程進(jìn)行標(biāo)志告组。
但是,把一個(gè)特定機(jī)器上運(yùn)行的特定進(jìn)程指明為因特網(wǎng)上通信最后的終點(diǎn)還是不可行的癌佩。這是因?yàn)檫M(jìn)程的創(chuàng)建和撤銷都是動態(tài)的木缝,通信的一方幾乎無法識別對方機(jī)器上的進(jìn)程。
另外围辙,我們往往需要利用目的主機(jī)提供的功能來識別終點(diǎn)氨肌,而不需要知道具體實(shí)現(xiàn)這個(gè)功能的進(jìn)程是哪一個(gè)(例如,要和因特網(wǎng)上的某個(gè)郵件服務(wù)器聯(lián)系酌畜,并不一定要知道這個(gè)服務(wù)器功能是由目的主機(jī)上的哪個(gè)進(jìn)程實(shí)現(xiàn)的)怎囚。
解決這個(gè)問題的方法就是在運(yùn)輸層使用協(xié)議端口號( protocol port number),或通常簡稱為端口(port)。這就是說恳守,雖然通信的終點(diǎn)是應(yīng)用進(jìn)程考婴,但我們只要把要傳送的報(bào)文交到目的主機(jī)的某一個(gè)合適的目的端口,剩下的工作(即最后交付給目的進(jìn)程)就由TCP來完成催烘。

在UDP和TCP的首部格式中沥阱,它們都有源端口和目的端口這兩個(gè)重要字段。當(dāng)運(yùn)輸層收到IP層交上來的運(yùn)輸層報(bào)文時(shí)伊群,就能夠根據(jù)其首部中的目的端口號把數(shù)據(jù)交付給應(yīng)用層的目的應(yīng)用進(jìn)程TCPP的運(yùn)輸層用一個(gè)16位端口號來標(biāo)志一個(gè)端口考杉。但端口號只具有本地意義,它只是為了標(biāo)志本計(jì)算機(jī)應(yīng)用層中的各個(gè)進(jìn)程在和運(yùn)輸層交互時(shí)的層間接口舰始。在因特網(wǎng)不同計(jì)算機(jī)中崇棠,相同的端口號是沒有關(guān)聯(lián)的。16位的端口號可允許有65535個(gè)不同的端口號丸卷,這個(gè)數(shù)目對一個(gè)計(jì)算機(jī)來說是足夠用的枕稀。

由此可見,兩個(gè)計(jì)算機(jī)中的進(jìn)程要互相通信谜嫉,不僅必須知道對方的IP地址(為了找到對方的計(jì)算機(jī))萎坷,而且還要知道對方的端口號(為了找到對方計(jì)算機(jī)中的應(yīng)用進(jìn)程)。這和我們寄信的過程類似沐兰。當(dāng)我們要和某人寫信時(shí)哆档,就必須知道他的通信地址。在信封上會寫明自己的地址住闯。當(dāng)收信人回信時(shí)瓜浸,很容易在信封上看到發(fā)信人的地址。因特網(wǎng)上的計(jì)算機(jī)通信是采用客戶服務(wù)器方式寞秃≌宓穑客戶在發(fā)起通信請求時(shí),必須先知道對方服務(wù)器的IP地址和端口號春寿。

因此運(yùn)輸層的端口號共分為下面的兩大類朗涩。

端口號分類:

(1)服務(wù)器端使用的端口號
這里又分為兩類,最重要的一類叫做熟知端口號well knownportnumber)或系統(tǒng)端口號绑改,數(shù)值為0-1023.這些數(shù)值可在網(wǎng)址www.lana.org查到谢床。
IANA把這些端口號指派給了TCPP最重要的一些應(yīng)用程序,讓所有的用戶都知道厘线。當(dāng)種新的應(yīng)用程序出現(xiàn)后识腿,IANA必須為它指派一個(gè)熟知端口,否則因特網(wǎng)上的其他應(yīng)用進(jìn)程就無法和它進(jìn)行通信造壮。下面給出一些常用的熟知端口號:

image.png

另一類叫做登記端口號渡讼,數(shù)值為1024-49151骂束。這類端口號是為沒有熟知端口號的應(yīng)用程序使用的。使用這類端口號必須在IANA按照規(guī)定的手續(xù)登記成箫,以防止重復(fù)展箱。

(2)客戶端使用的端口號
數(shù)值為49152~65535。由于這類端口號僅在客戶進(jìn)程運(yùn)行時(shí)才動態(tài)選擇蹬昌,因此又叫做短暫端口號混驰。這類端口號是留給客戶進(jìn)程選擇暫時(shí)使用。當(dāng)服務(wù)器進(jìn)程收到客戶進(jìn)程的報(bào)文時(shí)皂贩,就知道了客戶進(jìn)程所使用的端口號栖榨,因而可以把數(shù)據(jù)發(fā)送給客戶進(jìn)程。通信結(jié)束后明刷,剛才已使用過的客戶端口號就不復(fù)存在婴栽。這個(gè)端口號就可以供其他客戶進(jìn)程以后使用。

UDP協(xié)議

UDP概述

用戶數(shù)據(jù)報(bào)協(xié)議UDP只在IP的數(shù)據(jù)報(bào)服務(wù)之上增加了很少一點(diǎn)的功能遮精,這就是復(fù)用和分用的功能以及差錯檢測的功能居夹。UDP的主要特點(diǎn)是:
(1)UDP是無連接的败潦,即發(fā)送數(shù)據(jù)之前不需要建立連接(當(dāng)然發(fā)送數(shù)據(jù)結(jié)束時(shí)也沒有連接可釋放)本冲,因此減少了開銷和發(fā)送數(shù)據(jù)之前的時(shí)延。
(2)UDP使用盡最大努力交付劫扒,即不保證可靠交付檬洞,因此主機(jī)不需要維持復(fù)雜的連接狀態(tài)表(這里面有許多參數(shù))。
(3)UDP是面向報(bào)文的沟饥。發(fā)送方的UDP對應(yīng)用程序交下來的報(bào)文添怔,在添加首部后就向下交付給IP層。UDP對應(yīng)用層交下來的報(bào)文贤旷,既不合并广料,也不拆分,而是保留這些報(bào)文的邊界幼驶。這就是說艾杏,應(yīng)用層交給UDP多長的報(bào)文,UDP就照樣發(fā)送盅藻,即一次發(fā)送一個(gè)報(bào)文购桑,如圖所示。


UDP是面向報(bào)文的

在接收方的UDP氏淑,對IP層交上來的UDP用戶數(shù)據(jù)報(bào)勃蜘,在去除首部后就原封不動地交付給上層的應(yīng)用進(jìn)程。也就是說假残,UDP一次交付一個(gè)完整的報(bào)文缭贡。因此,應(yīng)用程序必須選擇合適大小的報(bào)文。若報(bào)文太長阳惹,UDP把它交給IP層后坑资,IP層在傳送時(shí)可能要進(jìn)行分片,這會降低IP層的效率穆端。反之袱贮,若報(bào)文太短,UDP把它交給IP層后体啰,會使IP數(shù)據(jù)報(bào)的首部的相對長度太大攒巍,這也降低了IP層的效率。

(4)UDP沒有擁塞控制荒勇,因此網(wǎng)絡(luò)出現(xiàn)的擁塞不會使源主機(jī)的發(fā)送速率降低柒莉。這對某些實(shí)時(shí)應(yīng)用是很重要的。很多的實(shí)時(shí)應(yīng)用(如IP電話沽翔、實(shí)時(shí)視頻會議等)要求源主機(jī)以恒定的速率發(fā)送數(shù)據(jù)兢孝,并且允許在網(wǎng)絡(luò)發(fā)生擁塞時(shí)丟失一些數(shù)據(jù),但卻不允許數(shù)據(jù)有太大的時(shí)延仅偎。UDP正好適合這種要求
(5)UDP支持一對一跨蟹、一對多、多對一和多對多的交互通信橘沥。
(6)UDP的首部開銷小窗轩,只有8個(gè)字節(jié),比TCP的20個(gè)字節(jié)的首部要短雖然某些實(shí)時(shí)應(yīng)用需要使用沒有擁塞控制的UDP座咆,但當(dāng)很多的源主機(jī)同時(shí)都向網(wǎng)絡(luò)發(fā)送高速率的實(shí)時(shí)視頻流時(shí)痢艺,網(wǎng)絡(luò)就有可能發(fā)生擁塞,結(jié)果大家都無法正常接收介陶。因此堤舒,不使用擁塞控制功能的UDP有可能會引起網(wǎng)絡(luò)產(chǎn)生嚴(yán)重的擁塞問題。
還有一些使用UDP的實(shí)時(shí)應(yīng)用哺呜,需要對UDP的不可靠的傳輸進(jìn)行適當(dāng)?shù)母倪M(jìn)舌缤,以減少數(shù)據(jù)的丟失。在這種情況下弦牡,應(yīng)用進(jìn)程本身可以在不影響應(yīng)用的實(shí)時(shí)性的前提下友驮,增加些提高可靠性的措施,如采用前向糾錯或重傳已丟失的報(bào)文驾锰。

UDP的首部格式

用戶數(shù)據(jù)報(bào)UDP有兩個(gè)字段:數(shù)據(jù)字段和首部字段卸留。首部字段很簡單,只有8個(gè)字節(jié)椭豫,由四個(gè)字段組成耻瑟,每個(gè)字段的長度都是兩個(gè)字節(jié)旨指。各字段意義如下:
(1)源端口源端口號。在需要對方回信時(shí)選用喳整。不需要時(shí)可用全0谆构。
(2)目的端口目的端口號。這在終點(diǎn)交付報(bào)文時(shí)必須要使用到
(3)長度UDP用戶數(shù)據(jù)報(bào)的長度框都,其最小值是8(僅有首部)搬素。
(4)檢驗(yàn)和檢測UDP用戶數(shù)據(jù)報(bào)在傳輸中是否有錯。有錯就丟棄魏保。


UDP用戶數(shù)據(jù)報(bào)的首部和偽首部

當(dāng)運(yùn)輸層從IP層收到UDP數(shù)據(jù)報(bào)時(shí)熬尺,就根據(jù)首部中的目的端口,把UDP數(shù)據(jù)報(bào)通過相應(yīng)的端口谓罗,上交最后的終點(diǎn)——應(yīng)用進(jìn)程粱哼。


UDP基于端口的分用

如果接收方UDP發(fā)現(xiàn)收到的報(bào)文中的目的端口號不正確(即不存在對應(yīng)于該端口號的應(yīng)用進(jìn)程),就丟棄該報(bào)文檩咱,并由ICMP發(fā)送“端口不可達(dá)”差錯報(bào)文給發(fā)送方揭措。

UDP用戶數(shù)據(jù)報(bào)首部中檢驗(yàn)和的計(jì)算方法有些特殊。在計(jì)算檢驗(yàn)和時(shí)刻蚯,要在UDP用戶數(shù)據(jù)報(bào)之前增加12個(gè)字節(jié)的偽首部绊含。所謂“偽首部”是因?yàn)檫@種偽首部并不是UDP用戶數(shù)據(jù)報(bào)真正的首部。只是在計(jì)算檢驗(yàn)和時(shí)芦倒,臨時(shí)添加在UDP用戶數(shù)據(jù)報(bào)前面艺挪,得到一個(gè)臨時(shí)的UDP用戶數(shù)據(jù)報(bào)不翩。檢驗(yàn)和就是按照這個(gè)臨時(shí)的UDP用戶數(shù)據(jù)報(bào)來計(jì)算的兵扬。偽首部既不向下傳送也不向上遞交,而僅僅是為了計(jì)算檢驗(yàn)和口蝠。

UDP計(jì)算檢驗(yàn)和的方法和計(jì)算IP數(shù)據(jù)報(bào)首部檢驗(yàn)和的方法相似器钟。但不同的是:IP數(shù)據(jù)報(bào)的檢驗(yàn)和只檢驗(yàn)IP數(shù)據(jù)報(bào)的首部,但UDP的檢驗(yàn)和是把首部和數(shù)據(jù)部分一起都檢驗(yàn)妙蔗。在發(fā)送方傲霸,首先是先把全零放入檢驗(yàn)和字段。再把偽首部以及UDP用戶數(shù)據(jù)報(bào)看成是由許多16位的字串接起來眉反。若UDP用戶數(shù)據(jù)報(bào)的數(shù)據(jù)部分不是偶數(shù)個(gè)字節(jié)昙啄,則要填入一個(gè)全零字節(jié)(但此字節(jié)不發(fā)送)。然后按二進(jìn)制反碼計(jì)算出這些16位字的和寸五。將此和的二進(jìn)制反碼寫入檢驗(yàn)和字段后梳凛,就發(fā)送這樣的UDP用戶數(shù)據(jù)報(bào)。在接收方梳杏,把收到的UDP用戶數(shù)據(jù)報(bào)連同偽首部(以及可能的填充全零字節(jié))一起韧拒,按二進(jìn)制反碼求這些16位字的和淹接。當(dāng)無差錯時(shí)其結(jié)果應(yīng)為全1,否則就表明有差錯出現(xiàn)叛溢,接收方就應(yīng)丟棄這個(gè)UDP用戶數(shù)據(jù)報(bào)(也可以上交給應(yīng)用層塑悼,但附上出現(xiàn)了差錯的警告)。


計(jì)算UDP檢驗(yàn)和的例子

這里假定用戶數(shù)據(jù)報(bào)的長度是15字節(jié)楷掉,因此要添加一個(gè)全0的字節(jié)厢蒜。讀者可以自己檢驗(yàn)下在接收端是怎樣對檢驗(yàn)和進(jìn)行檢驗(yàn)的。不難看出烹植,這種簡單的差錯檢驗(yàn)方法的檢錯能力并不強(qiáng)郭怪,但它的好處是簡單,處理起來較快刊橘。
偽首部的第3字段是全零鄙才,第4個(gè)字段是IP首部中的協(xié)議字段的值。對于UDP促绵,此協(xié)議字段值為17攒庵,第5字段是UDP用戶數(shù)據(jù)報(bào)的長度。因此败晴,這樣的檢驗(yàn)和浓冒,既檢査了UDP用戶數(shù)據(jù)報(bào)的源端口號和目的端口號以及UDP用戶數(shù)據(jù)報(bào)的數(shù)據(jù)部分,又檢查了IP數(shù)據(jù)報(bào)的源IP地址和目的地址尖坤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稳懒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子慢味,更是在濱河造成了極大的恐慌场梆,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纯路,死亡現(xiàn)場離奇詭異或油,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)驰唬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門顶岸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叫编,你說我怎么就攤上這事辖佣。” “怎么了搓逾?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵卷谈,是天一觀的道長。 經(jīng)常有香客問我恃逻,道長雏搂,這世上最難降的妖魔是什么藕施? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮凸郑,結(jié)果婚禮上裳食,老公的妹妹穿的比我還像新娘。我一直安慰自己芙沥,他們只是感情好诲祸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著而昨,像睡著了一般救氯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上歌憨,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天着憨,我揣著相機(jī)與錄音,去河邊找鬼务嫡。 笑死甲抖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的心铃。 我是一名探鬼主播准谚,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼去扣!你這毒婦竟也來了柱衔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤愉棱,失蹤者是張志新(化名)和其女友劉穎唆铐,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羽氮,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡或链,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了档押。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡祈纯,死狀恐怖令宿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腕窥,我是刑警寧澤粒没,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站簇爆,受9級特大地震影響癞松,放射性物質(zhì)發(fā)生泄漏爽撒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一响蓉、第九天 我趴在偏房一處隱蔽的房頂上張望硕勿。 院中可真熱鬧,春花似錦枫甲、人聲如沸源武。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粱栖。三九已至,卻和暖如春脏毯,著一層夾襖步出監(jiān)牢的瞬間闹究,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工食店, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跋核,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓叛买,卻偏偏與公主長得像砂代,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子率挣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容