VXLAN 基礎(chǔ)教程:VXLAN 協(xié)議原理介紹

VXLAN(Virtual eXtensible Local Area Network,虛擬可擴(kuò)展局域網(wǎng))堵泽,是一種虛擬化隧道通信技術(shù)。它是一種 Overlay(覆蓋網(wǎng)絡(luò))技術(shù)父阻,通過(guò)三層的網(wǎng)絡(luò)來(lái)搭建虛擬的二層網(wǎng)絡(luò)杜窄。

簡(jiǎn)單來(lái)講,VXLAN 是在底層物理網(wǎng)絡(luò)(underlay)之上使用隧道技術(shù)蚌本,借助 UDP 層構(gòu)建的 Overlay 的邏輯網(wǎng)絡(luò)盔粹,使邏輯網(wǎng)絡(luò)與物理網(wǎng)絡(luò)解耦,實(shí)現(xiàn)靈活的組網(wǎng)需求程癌。它對(duì)原有的網(wǎng)絡(luò)架構(gòu)幾乎沒有影響舷嗡,不需要對(duì)原網(wǎng)絡(luò)做任何改動(dòng),即可架設(shè)一層新的網(wǎng)絡(luò)嵌莉。也正是因?yàn)檫@個(gè)特性进萄,很多 CNI 插件(Kubernetes 集群中的容器網(wǎng)絡(luò)接口,這個(gè)大家應(yīng)該都知道了吧,如果你不知道中鼠,現(xiàn)在你知道了)才會(huì)選擇 VXLAN 作為通信網(wǎng)絡(luò)可婶。

VXLAN 不僅支持一對(duì)一,也支持一對(duì)多兜蠕,一個(gè) VXLAN 設(shè)備能通過(guò)像網(wǎng)橋一樣的學(xué)習(xí)方式學(xué)習(xí)到其他對(duì)端的 IP 地址扰肌,還可以直接配置靜態(tài)轉(zhuǎn)發(fā)表。

一個(gè)典型的數(shù)據(jù)中心 VXLAN 網(wǎng)絡(luò)拓?fù)鋱D如圖所示:

其中 VM 指的是虛擬機(jī)熊杨,Hypervisor 指的是虛擬化管理器曙旭。

1. 為什么需要 VXLAN?

與 VLAN 相比晶府,VXLAN 很明顯要復(fù)雜很多桂躏,再加上 VLAN 的先發(fā)優(yōu)勢(shì),已經(jīng)得到了廣泛的支持川陆,那還要 VXLAN 干啥剂习?

VLAN ID 數(shù)量限制

VLAN tag 總共有 4 個(gè)字節(jié),其中有 12 bit 用來(lái)標(biāo)識(shí)不同的二層網(wǎng)絡(luò)(即 LAN ID)较沪,故而最多只能支持 2^{12}鳞绕,即 4096 個(gè)子網(wǎng)的劃分。而虛擬化(虛擬機(jī)和容器)的興起使得一個(gè)數(shù)據(jù)中心會(huì)有成千上萬(wàn)的機(jī)器需要通信尸曼,這時(shí)候 VLAN 就無(wú)法滿足需求了们何。而 VXLAN 的報(bào)文 Header 預(yù)留了 24 bit 來(lái)標(biāo)識(shí)不同的二層網(wǎng)絡(luò)(即 VNI,VXLAN Network Identifier)控轿,即 3 個(gè)字節(jié)冤竹,可以支持 2^{24} 個(gè)子網(wǎng)。

交換機(jī) MAC 地址表限制

對(duì)于同網(wǎng)段主機(jī)的通信而言茬射,報(bào)文到底交換機(jī)后都會(huì)查詢 MAC 地址表進(jìn)行二層轉(zhuǎn)發(fā)鹦蠕。數(shù)據(jù)中心虛擬化之后,VM 的數(shù)量與原有的物理機(jī)相比呈數(shù)量級(jí)增長(zhǎng)在抛,而應(yīng)用容器化之后钟病,容器與 VM 相比也是呈數(shù)量級(jí)增長(zhǎng)。刚梭。档悠。而交換機(jī)的內(nèi)存是有限的,因而 MAC 地址表也是有限的望浩,隨著虛擬機(jī)(或容器)網(wǎng)卡 MAC 地址數(shù)量的空前增加,交換機(jī)表示壓力山大岸杷怠磨德!

而 VXLAN 就厲害了,它用 VTEP(后面會(huì)解釋)將二層以太網(wǎng)幀封裝在 UDP 中,一個(gè) VTEP 可以被一個(gè)物理機(jī)上的所有 VM(或容器)共用典挑,一個(gè)物理機(jī)對(duì)應(yīng)一個(gè) VTEP酥宴。從交換機(jī)的角度來(lái)看,只是不同的 VTEP 之間在傳遞 UDP 數(shù)據(jù)您觉,只需要記錄與物理機(jī)數(shù)量相當(dāng)?shù)?MAC 地址表?xiàng)l目就可以了拙寡,一切又回到了和從前一樣。

虛機(jī)或容器遷移范圍受限

VLAN 與物理網(wǎng)絡(luò)融合在一起琳水,不存在 Overlay 網(wǎng)絡(luò)肆糕,帶來(lái)的問(wèn)題就是虛擬網(wǎng)絡(luò)不能打破物理網(wǎng)絡(luò)的限制。舉個(gè)例子在孝,如果要在 VLAN 100 部署虛擬機(jī)(或容器)诚啃,那只能在支持 VLAN 100 的物理設(shè)備上部署

VLAN 其實(shí)也有解決辦法私沮,就是將所有的交換機(jī) Trunk 連接起來(lái)始赎,產(chǎn)生一個(gè)大的二層,這樣帶來(lái)的問(wèn)題就是廣播域過(guò)分?jǐn)U大仔燕,也包括更多未知的單播和多播造垛,即 BUM(Broadcast,Unknown Unicast晰搀,Multicast)五辽,同時(shí)交換機(jī) MAC 地址表也會(huì)有承受不住的問(wèn)題。

而 VXLAN 將二層以太網(wǎng)幀封裝在 UDP 中(上面說(shuō)過(guò)了)厕隧,相當(dāng)于在三層網(wǎng)絡(luò)上構(gòu)建了二層網(wǎng)絡(luò)奔脐。這樣不管你物理網(wǎng)絡(luò)是二層還是三層,都不影響虛擬機(jī)(或容器)的網(wǎng)絡(luò)通信吁讨,也就無(wú)所謂部署在哪臺(tái)物理設(shè)備上了髓迎,可以隨意遷移。

總的來(lái)說(shuō)建丧,傳統(tǒng)二層和三層的網(wǎng)絡(luò)在應(yīng)對(duì)這些需求時(shí)變得力不從心排龄,雖然很多改進(jìn)型的技術(shù)比如堆疊、SVF翎朱、TRILL 等能夠增加二層的范圍橄维,努力改進(jìn)經(jīng)典網(wǎng)絡(luò),但是要做到對(duì)網(wǎng)絡(luò)改動(dòng)盡可能小的同時(shí)保證靈活性卻非常困難拴曲。為了解決這些問(wèn)題争舞,有很多方案被提出來(lái),Overlay 就是其中之一澈灼,而 VXLANOverlay 的一種典型的技術(shù)方案竞川。下面就對(duì) Overlay 做一個(gè)簡(jiǎn)要的介紹店溢。

2. Overlay 是個(gè)啥?

Overlay 在網(wǎng)絡(luò)技術(shù)領(lǐng)域委乌,指的是一種網(wǎng)絡(luò)架構(gòu)上疊加的虛擬化技術(shù)模式床牧,其大體框架是對(duì)基礎(chǔ)網(wǎng)絡(luò)不進(jìn)行大規(guī)模修改的條件下,實(shí)現(xiàn)應(yīng)用在網(wǎng)絡(luò)上的承載遭贸,并能與其它網(wǎng)絡(luò)業(yè)務(wù)分離戈咳,并且以基于 IP 的基礎(chǔ)網(wǎng)絡(luò)技術(shù)為主。

IETF 在 Overlay 技術(shù)領(lǐng)域提出 VXLAN壕吹、NVGRE著蛙、STT 三大技術(shù)方案。大體思路均是將以太網(wǎng)報(bào)文承載到某種隧道層面算利,差異性在于選擇和構(gòu)造隧道的不同册踩,而底層均是 IP 轉(zhuǎn)發(fā)。VXLANSTT 對(duì)于現(xiàn)網(wǎng)設(shè)備而言對(duì)流量均衡要求較低效拭,即負(fù)載鏈路負(fù)載分擔(dān)適應(yīng)性好暂吉,一般的網(wǎng)絡(luò)設(shè)備都能對(duì) L2-L4 的數(shù)據(jù)內(nèi)容參數(shù)進(jìn)行鏈路聚合或等價(jià)路由的流量均衡,而 NVGRE 則需要網(wǎng)絡(luò)設(shè)備對(duì) GRE 擴(kuò)展頭感知并對(duì) flow ID 進(jìn)行 HASH缎患,需要硬件升級(jí)慕的;STT 對(duì)于 TCP 有較大修改,隧道模式接近 UDP 性質(zhì)挤渔,隧道構(gòu)造技術(shù)屬于革新性肮街,且復(fù)雜度較高,而 VXLAN 利用了現(xiàn)有通用的 UDP 傳輸判导,成熟性極高嫉父。

總體比較,VLXAN 技術(shù)具有更大優(yōu)勢(shì)眼刃,而且當(dāng)前 VLXAN 也得到了更多廠家和客戶的支持绕辖,已經(jīng)成為 Overlay 技術(shù)的主流標(biāo)準(zhǔn)。

3. VXLAN 協(xié)議原理

VXLAN 有幾個(gè)常見的術(shù)語(yǔ):

  • VTEP(VXLAN Tunnel Endpoints擂红,VXLAN 隧道端點(diǎn))

    VXLAN 網(wǎng)絡(luò)的邊緣設(shè)備仪际,用來(lái)進(jìn)行 VXLAN 報(bào)文的處理(封包和解包)。VTEP 可以是網(wǎng)絡(luò)設(shè)備(比如交換機(jī))昵骤,也可以是一臺(tái)機(jī)器(比如虛擬化集群中的宿主機(jī))树碱。

  • VNI(VXLAN Network Identifier,VXLAN 網(wǎng)絡(luò)標(biāo)識(shí)符)

    VNI 是每個(gè) VXLAN 段的標(biāo)識(shí)变秦,是個(gè) 24 位整數(shù)成榜,一共有 2^{24} = 16777216(一千多萬(wàn)),一般每個(gè) VNI 對(duì)應(yīng)一個(gè)租戶蹦玫,也就是說(shuō)使用 VXLAN 搭建的公有云可以理論上可以支撐千萬(wàn)級(jí)別的租戶赎婚。

  • Tunnel(VXLAN 隧道)

    隧道是一個(gè)邏輯上的概念雨饺,在 VXLAN 模型中并沒有具體的物理實(shí)體向?qū)?yīng)。隧道可以看做是一種虛擬通道惑淳,VXLAN 通信雙方認(rèn)為自己是在直接通信,并不知道底層網(wǎng)絡(luò)的存在岳瞭。從整體來(lái)說(shuō)蜕便,每個(gè) VXLAN 網(wǎng)絡(luò)像是為通信的虛擬機(jī)搭建了一個(gè)單獨(dú)的通信通道惦辛,也就是隧道。

上圖所示為 VXLAN 的工作模型绢馍,它創(chuàng)建在原來(lái)的 IP 網(wǎng)絡(luò)(三層)上,只要是三層可達(dá)(能夠通過(guò) IP 相互通信)的網(wǎng)絡(luò)就能部署 VXLAN肠套。在 VXLAN 網(wǎng)絡(luò)的每個(gè)端點(diǎn)都有一個(gè) VTEP 設(shè)備舰涌,負(fù)責(zé) VXLAN 協(xié)議報(bào)文的解包和封包,也就是在虛擬報(bào)文上封裝 VTEP 通信的報(bào)文頭部你稚。

物理網(wǎng)絡(luò)上可以創(chuàng)建多個(gè) VXLAN 網(wǎng)絡(luò)瓷耙,可以將這些 VXLAN 網(wǎng)絡(luò)看成一個(gè)隧道,不同節(jié)點(diǎn)上的虛擬機(jī)/容器能夠通過(guò)隧道直連刁赖。通過(guò) VNI 標(biāo)識(shí)不同的 VXLAN 網(wǎng)絡(luò)搁痛,使得不同的 VXLAN 可以相互隔離。

VXLAN 的報(bào)文結(jié)構(gòu)如下圖所示:

  • VXLAN Header : 在原始二層幀的前面增加 8 字節(jié)的 VXLAN 的頭部宇弛,其中最主要的是 VNID鸡典,占用 3 個(gè)字節(jié)(即 24 bit),類似 VLAN ID枪芒,可以具有 2^{24} 個(gè)網(wǎng)段彻况。

  • UDP Header : 在 VXLAN 和原始二層幀的前面使用 8 字節(jié) UDP 頭部進(jìn)行封裝(MAC IN UDP),目的端口號(hào)缺省使用 4789舅踪,源端口按流隨機(jī)分配(通過(guò) MAC纽甘,IP,四層端口號(hào)進(jìn)行 hash 操作)硫朦, 這樣可以更好的做 ECMP贷腕。

    IANA(Internet As-signed Numbers Autority)分配了 4789 作為 VXLAN 的默認(rèn)目的端口號(hào)。

在上面添加的二層封裝之后咬展,再添加底層網(wǎng)絡(luò)的 IP 頭部(20 字節(jié))和 MAC 頭部(14 字節(jié))泽裳,這里的 IP 和 MAC 是宿主機(jī)的 IP 地址和 MAC 地址

同時(shí)破婆,這里需要注意 MTU 的問(wèn)題涮总,傳統(tǒng)網(wǎng)絡(luò) MTU 一般為 1500,這里加上 VXLAN 的封裝多出的(36+14/18祷舀,對(duì)于 14 的情況為 access 口瀑梗,省去了 4 字節(jié)的 VLAN Tag)5054 字節(jié)烹笔,需要調(diào)整 MTU 為 15501554,防止頻繁分包抛丽。

VXLAN 的 Flood 與 Learn

總的來(lái)說(shuō)谤职,VXLAN 報(bào)文的轉(zhuǎn)發(fā)過(guò)程就是:原始報(bào)文經(jīng)過(guò) VTEP,被 Linux 內(nèi)核添加上 VXLAN 頭部以及外層的 UDP 頭部亿鲜,再發(fā)送出去允蜈,對(duì)端 VTEP 接收到 VXLAN 報(bào)文后拆除外層 UDP 頭部,并根據(jù) VXLAN 頭部的 VNI 把原始報(bào)文發(fā)送到目的服務(wù)器蒿柳。但這里有一個(gè)問(wèn)題饶套,第一次通信前雙方如何知道所有的通信信息?這些信息包括:

  • 哪些 VTEP 需要加到一個(gè)相同的 VNI 組垒探?
  • 發(fā)送方如何知道對(duì)方的 MAC 地址妓蛮?
  • 如何知道目的服務(wù)器在哪個(gè)節(jié)點(diǎn)上(即目的 VTEP 的地址)?

第一個(gè)問(wèn)題簡(jiǎn)單圾叼,VTEP 通常由網(wǎng)絡(luò)管理員來(lái)配置蛤克。要回答后面兩個(gè)問(wèn)題,還得回到 VXLAN 協(xié)議的報(bào)文上褐奥,看看一個(gè)完整的 VXLAN 報(bào)文需要哪些信息:

  • 內(nèi)層報(bào)文 : 通信雙方的 IP 地址已經(jīng)明確咖耘,只需要 VXLAN 填充對(duì)方的 MAC 地址,因此需要一個(gè)機(jī)制來(lái)實(shí)現(xiàn) ARP 功能撬码。

  • VXLAN 頭部 : 只需要知道 VNI儿倒。一般直接配置在 VTEP 上,要么提前規(guī)劃呜笑,要么根據(jù)內(nèi)層報(bào)文自動(dòng)生成夫否。

  • UDP 頭部 : 需要知道源端口和目的端口,源端口由系統(tǒng)自動(dòng)生成叫胁,目的端口默認(rèn)是 4789凰慈。

  • IP 頭部 : 需要知道對(duì)端 VTEP 的 IP 地址,這個(gè)是最關(guān)鍵的部分驼鹅。

    實(shí)際上微谓,VTEP 也會(huì)有自己的轉(zhuǎn)發(fā)表,轉(zhuǎn)發(fā)表通過(guò)泛洪和學(xué)習(xí)機(jī)制來(lái)維護(hù)输钩,對(duì)于目標(biāo) MAC 地址在轉(zhuǎn)發(fā)表中不存在的未知單播豺型,廣播流量,都會(huì)被泛洪給除源 VTEP 外所有的 VTEP买乃,目標(biāo) VTEP 響應(yīng)數(shù)據(jù)包后姻氨,源 VTEP 會(huì)從數(shù)據(jù)包中學(xué)習(xí)到 MACVNIVTEP 的映射關(guān)系剪验,并添加到轉(zhuǎn)發(fā)表中肴焊,后續(xù)當(dāng)再有數(shù)據(jù)包轉(zhuǎn)發(fā)到這個(gè) MAC 地址時(shí)前联,VTEP 會(huì)從轉(zhuǎn)發(fā)表中直接獲取到目標(biāo) VTEP 地址,從而發(fā)送單播數(shù)據(jù)到目標(biāo) VTEP娶眷。

    VTEP 轉(zhuǎn)發(fā)表的學(xué)習(xí)可以通過(guò)以下兩種方式:

    • 多播
    • 外部控制中心(如 Flannel似嗤、Cilium 等 CNI 插件)
  • MAC 頭部 : 確定了 VTEP 的 IP 地址,后面就好辦了届宠,MAC 地址可以通過(guò)經(jīng)典的 ARP 方式獲取双谆。

4. Linux 的 VXLAN

Linux 對(duì) VXLAN 協(xié)議的支持時(shí)間并不久,2012 年 Stephen Hemminger 才把相關(guān)的工作合并到 kernel 中席揽,并最終出現(xiàn)在 kernel 3.7.0 版本。為了穩(wěn)定性和很多的功能谓厘,可能會(huì)看到某些軟件推薦在 3.9.0 或者 3.10.0 以后版本的 kernel 上使用 VXLAN幌羞。

到了 kernel 3.12 版本,Linux 對(duì) VXLAN 的支持已經(jīng)完備竟稳,支持單播和組播属桦,IPv4 和 IPv6。利用 man 查看 ip 的 link 子命令他爸,可以查看是否有 VXLAN type:

$ man ip-link

搜索 VXLAN聂宾,可以看到如下描述:

管理 VXLAN 接口

Linux VXLAN 接口的基本管理如下:

  1. 創(chuàng)建點(diǎn)對(duì)點(diǎn)的 VXLAN 接口:

    $ ip link add vxlan0 type vxlan id 4100 remote 192.168.1.101 local 192.168.1.100 dstport 4789 dev eth0
    

    其中 id 為 VNI,remote 為遠(yuǎn)端主機(jī)的 IP诊笤,local 為你本地主機(jī)的 IP系谐,dev 代表 VXLAN 數(shù)據(jù)從哪個(gè)接口傳輸。

    在 VXLAN 中讨跟,一般將 VXLAN 接口(本例中即 vxlan0)叫做 VTEP纪他。

  2. 創(chuàng)建多播模式的 VXLAN 接口:

    $ ip link add vxlan0 type vxlan id 4100 group 224.1.1.1 dstport 4789 dev eth0
    

    多播組主要通過(guò) ARP 泛洪來(lái)學(xué)習(xí) MAC 地址,即在 VXLAN 子網(wǎng)內(nèi)廣播 ARP 請(qǐng)求晾匠,然后對(duì)應(yīng)節(jié)點(diǎn)進(jìn)行響應(yīng)茶袒。group 指定多播組的地址。

  3. 查看 VXLAN 接口詳細(xì)信息:

    $ ip -d link show vxlan0
    

FDB 表

FDB(Forwarding Database entry凉馆,即轉(zhuǎn)發(fā)表)是 Linux 網(wǎng)橋維護(hù)的一個(gè)二層轉(zhuǎn)發(fā)表薪寓,用于保存遠(yuǎn)端虛擬機(jī)/容器的 MAC地址,遠(yuǎn)端 VTEP IP澜共,以及 VNI 的映射關(guān)系向叉,可以通過(guò) bridge fdb 命令來(lái)對(duì) FDB 表進(jìn)行操作:

  • 條目添加:

    $ bridge fdb add <remote_host_mac> dev <vxlan_interface> dst <remote_host_ip>
    
  • 條目刪除:

    $ bridge fdb del <remote_host_mac> dev <vxlan_interface>
    
  • 條目更新:

    $ bridge fdb replace <remote_host_mac> dev <vxlan_interface> dst <remote_host_ip>
    
  • 條目查詢:

    $ bridge fdb show
    

5. 總結(jié)

本文通過(guò)介紹 VXLAN 出現(xiàn)的時(shí)代背景、VXLAN 的概念和網(wǎng)絡(luò)模型咳胃、VXLAN 報(bào)文結(jié)構(gòu)植康,讓你對(duì) VXLAN 有了初步的認(rèn)識(shí);通過(guò)介紹 VXLAN 轉(zhuǎn)發(fā)表的泛洪和學(xué)習(xí)展懈,讓你知道了通信雙方如何感知對(duì)方销睁;最后介紹了 Linux 中 VXLAN 的基本配置供璧,讓你進(jìn)一步了解如何在 Linux 中玩轉(zhuǎn) VXLAN。下一篇文章將會(huì)通過(guò)實(shí)戰(zhàn)來(lái)說(shuō)明如何搭建基于 VXLAN 的 Overlay 網(wǎng)絡(luò)冻记,順便展開解讀上文提到的多播和外部控制中心的工作原理睡毒。

6. 參考資料

微信公眾號(hào)

掃一掃下面的二維碼關(guān)注微信公眾號(hào),在公眾號(hào)中回復(fù)?加群?即可加入我們的云原生交流群冗栗,和孫宏亮演顾、張館長(zhǎng)、陽(yáng)明等大佬一起探討云原生技術(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末隅居,一起剝皮案震驚了整個(gè)濱河市钠至,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胎源,老刑警劉巖棉钧,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異涕蚤,居然都是意外死亡宪卿,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門万栅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)佑钾,“玉大人,你說(shuō)我怎么就攤上這事烦粒⌒萑埽” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵扰她,是天一觀的道長(zhǎng)邮偎。 經(jīng)常有香客問(wèn)我,道長(zhǎng)义黎,這世上最難降的妖魔是什么禾进? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮廉涕,結(jié)果婚禮上泻云,老公的妹妹穿的比我還像新娘。我一直安慰自己狐蜕,他們只是感情好宠纯,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著层释,像睡著了一般婆瓜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天廉白,我揣著相機(jī)與錄音个初,去河邊找鬼。 笑死猴蹂,一個(gè)胖子當(dāng)著我的面吹牛院溺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播磅轻,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼珍逸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了聋溜?” 一聲冷哼從身側(cè)響起谆膳,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撮躁,沒想到半個(gè)月后摹量,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡馒胆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凝果。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祝迂。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖器净,靈堂內(nèi)的尸體忽然破棺而出型雳,到底是詐尸還是另有隱情,我是刑警寧澤山害,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布纠俭,位于F島的核電站,受9級(jí)特大地震影響浪慌,放射性物質(zhì)發(fā)生泄漏冤荆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一权纤、第九天 我趴在偏房一處隱蔽的房頂上張望钓简。 院中可真熱鬧,春花似錦汹想、人聲如沸外邓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)损话。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丧枪,已是汗流浹背光涂。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豪诲,地道東北人顶捷。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像屎篱,于是被迫代替她去往敵國(guó)和親服赎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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