[CCNA圖文筆記](méi)-24-PPP協(xié)議實(shí)例詳解

0×1.PPP概述
a.HDLC封裝協(xié)議
HDLC是思科路由器串行接口默認(rèn)的封裝協(xié)議,由于串行線路在遠(yuǎn)距離通信中的優(yōu)勢(shì),遠(yuǎn)距離傳輸數(shù)據(jù)一般都使用串行線路,而一些計(jì)算機(jī)的內(nèi)部通信一般采用并行通信。標(biāo)準(zhǔn)的HDLC封裝只能支持單協(xié)議,即IP協(xié)議,思科對(duì)標(biāo)準(zhǔn)的DHLC進(jìn)行了改進(jìn),增加了協(xié)議域字段來(lái)支持多種網(wǎng)絡(luò)層協(xié)議。雖然改進(jìn)后的DHLC是思科私有的,但是現(xiàn)在大多網(wǎng)絡(luò)設(shè)備都能夠使用它。
在"GNS3"中啟動(dòng)一臺(tái)c3640路由器,確保這個(gè)路由器添加了串行接口模塊,然后通過(guò)下面的命令來(lái)查看串行接口默認(rèn)的封裝協(xié)議:
1

R1#
show
interfaces
s0/0

2

3

/可以看到下面這一句輸出
"Encapsulation HDLC"
,說(shuō)明思科路由串口默認(rèn)使用HDLC封裝
/

4

Encapsulation HDLC, crc 16,
loopback
not set

思科路由之所以默認(rèn)使用HDLC封裝是因?yàn)槁酚善髦g用同步串行接口連接時(shí),Cisco HDLC封裝要比PPP封裝效率高很多。但是其他網(wǎng)絡(luò)設(shè)備不一定支持思科HDLC,所以在不同廠商設(shè)備混用的時(shí)候,最好采用PPP作為串口封裝協(xié)議。
使用下面這條命令將串行接口的封裝改成PPP:
1

R1#
conf
t

2

/*進(jìn)入s0/0接口更改封裝類型為
ppp
*/

3

R1(config)#
int
s0/0

4

R1(config-if)#
encapsulation
ppp

5

R1(config-if)#
end

6

7

/*再次查看接口信息,
"Encapsulation PPP"
表明,接口封裝類型變成了
ppp
*/

8

R1#
show
int
s0/0

9

Encapsulation PPP, LCP Closed, crc 16,
loopback
not set

b.同步和異步串行通信
串行通信分為同步傳輸和異步傳輸,下面分別介紹這兩種傳輸技術(shù)。
1)異步傳輸
通常,異步傳輸是以字符為傳輸單位的,每個(gè)字符添加一位起始位和一位停止位,用來(lái)標(biāo)記一個(gè)字符的開(kāi)始和結(jié)束。這種傳輸方式每傳輸一個(gè)字符都要附加2-3位,通信效率較低。這種傳輸方式發(fā)送方發(fā)出數(shù)據(jù)后,不等對(duì)方發(fā)回響應(yīng),接著發(fā)送下一個(gè)數(shù)據(jù)包。
2)同步傳輸
通常,同步傳輸是以數(shù)據(jù)塊為傳輸單位,每個(gè)數(shù)據(jù)塊的頭部和尾部附加一個(gè)特殊的字符或比特序列,標(biāo)記一個(gè)數(shù)據(jù)塊的開(kāi)始和結(jié)束,一般還附加效驗(yàn)序列,以便對(duì)數(shù)據(jù)塊進(jìn)行差錯(cuò)控制。這種傳輸方式發(fā)送方發(fā)出數(shù)據(jù)后要等待接收方發(fā)回響應(yīng),然后再發(fā)下一個(gè)數(shù)據(jù)包。路由器的串行接口屬于快速的同步接口,所以需要在DCE端配置"時(shí)鐘"來(lái)進(jìn)行信號(hào)同步。
在需要配置時(shí)鐘的接口中執(zhí)行下面的命令:
1

R1(config)#
int
s 0/0

2

/*

3

  • 其中的64000是比特率,可以通過(guò)下面這條命令來(lái)查看比特率允許的值,

4

  • R1(config-if)#
    clock
    rate
    ?

5

*/

6

R1(config-if)#
clock
rate
64000

7

R1(config-if)#
end

c.PPP特點(diǎn)
PPP是IETF(因特網(wǎng)工程任務(wù)組)推出的點(diǎn)到點(diǎn)類型線路的數(shù)據(jù)鏈路層封裝協(xié)議,PPP支持下面幾類物理接口:
同步串行接口異步串行接口高速串行接口(HSSI)綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)
此外PPP還被廣泛的應(yīng)用在ATM上(PPP over ATM,簡(jiǎn)稱PPPoA)以及以太網(wǎng)上(PPP over Ethernet,簡(jiǎn)稱PPPoE)。
PPP利用下面三個(gè)組件來(lái)解決網(wǎng)際網(wǎng)絡(luò)連接問(wèn)題:
在點(diǎn)對(duì)點(diǎn)鏈路上使用高級(jí)數(shù)據(jù)鏈路控制(HDLC)封裝數(shù)據(jù)。PPP幀格式以HDLC幀格式為基礎(chǔ),做了少許改動(dòng)。使用LCP(Link Control Protocol,鏈路控制協(xié)議)來(lái)建立、設(shè)定和測(cè)試數(shù)據(jù)鏈路連接。使用NCPs(Network Control Protocols,網(wǎng)絡(luò)控制協(xié)議系列)建立和設(shè)定不同的網(wǎng)絡(luò)層協(xié)議。
d.PPP分層體系結(jié)構(gòu)
PPP分層體系架構(gòu)是一個(gè)邏輯模型,下圖是這一構(gòu)架和OSI參考模型的對(duì)比:


圖1
圖1

只要是點(diǎn)到點(diǎn)類型的線路都可以運(yùn)行PPP,在數(shù)據(jù)鏈路層PPP通過(guò)LCP協(xié)議進(jìn)行鏈路管理,相當(dāng)于以太網(wǎng)數(shù)據(jù)鏈路層的MAC子層,在網(wǎng)絡(luò)層NCP為不同協(xié)議提供服務(wù),相當(dāng)于以太網(wǎng)數(shù)據(jù)鏈路層的LLC子層。
下面是PPP的LCP子層和NCP子層的簡(jiǎn)單介紹:
1)LCP(Link Control Protocol)子層
LCP子層位于物理層之上,除了用來(lái)建立、配置和測(cè)試數(shù)據(jù)鏈路連接外,還提供下面這些功能;身份驗(yàn)證:提供了PAP和CHAP驗(yàn)證。壓縮:將需要傳輸?shù)臄?shù)據(jù)先壓縮再傳輸。支持Stac、Predictor、MPPC以及TCP頭部壓縮。錯(cuò)誤檢測(cè):保證鏈路的質(zhì)量。多鏈路:實(shí)現(xiàn)鏈路的負(fù)載均衡。PPP回?fù)埽嚎梢蕴岣甙踩院凸?jié)約用戶撥號(hào)費(fèi)用。
2)NCP(Network Control Protocol)子層
當(dāng)LCP將鏈路建立好后,PPP開(kāi)始根據(jù)不同用戶的需要配置上層協(xié)議所需環(huán)境,NCP被用來(lái)為上層服務(wù)提供服務(wù)接口,針對(duì)不同的上層協(xié)議NCP提供不同的服務(wù)組件。
e.PPP會(huì)話建立過(guò)程
PPP從開(kāi)始發(fā)起呼叫到最終通信完成后釋放鏈路一共要經(jīng)歷下面四個(gè)步驟:
第一步:鏈路的建立和配置協(xié)商,主要由LCP完成,通信的發(fā)起方發(fā)送LCP幀來(lái)配置和檢測(cè)數(shù)據(jù)鏈路。第二步:鏈路質(zhì)量檢測(cè)(可選),屬于LCP的可選功能,主要是測(cè)試鏈路的質(zhì)量能否滿足要求。第三步:網(wǎng)絡(luò)層協(xié)議的配置階段,主要是NCP的功能,通信雙方交換一系列NCP分組來(lái)配置網(wǎng)絡(luò)層,NCP配置好后雙方的邏輯通信鏈路就建立完成了。第四步:鏈路終止,當(dāng)數(shù)據(jù)傳送完成,或者一些外部事件發(fā)生的時(shí)候,一方會(huì)發(fā)起斷開(kāi)連接的請(qǐng)求,這時(shí),首先使用NCP來(lái)釋放網(wǎng)絡(luò)層的鏈接,然后使用LCP來(lái)關(guān)閉數(shù)據(jù)鏈路層的鏈接,最后雙方的通信設(shè)備關(guān)閉物理鏈路。
f.PPP身份驗(yàn)證協(xié)議
PPP有兩種可選的身份驗(yàn)證協(xié)議PAP和CHAP。
1)PAP(Password Authentication Protocol,密碼驗(yàn)證協(xié)議)
這是一種兩次握手協(xié)議,采用明文傳輸方式傳輸用戶口令,驗(yàn)證步驟如下:


圖2
圖2
首先被驗(yàn)證方主動(dòng)發(fā)起驗(yàn)證請(qǐng)求,將本地配置的用戶名和密碼用明文的方式發(fā)送給驗(yàn)證方,驗(yàn)證方接收到驗(yàn)證請(qǐng)求后檢查此用戶名和密碼是否正確(在驗(yàn)證方的數(shù)據(jù)庫(kù)中也配置有此用戶名和密碼),正確就發(fā)回接受報(bào)文,錯(cuò)誤就發(fā)送拒絕報(bào)文;這種驗(yàn)證方式是采用明文傳輸,很容易被破解。
2;)CHAP(Challenge Handshake Authentication Protocol,挑戰(zhàn)握手驗(yàn)證協(xié)議)
這是一種三次握手協(xié)議,它只在網(wǎng)絡(luò)上傳輸用戶名,密碼并不在網(wǎng)絡(luò)上傳輸,下圖為CHAP驗(yàn)證示意圖:
圖3
圖3
CHAP的驗(yàn)證過(guò)程如下:
在PPP鏈路建立階段完成后(R1作為被驗(yàn)證方撥入),驗(yàn)證方R2主動(dòng)發(fā)起驗(yàn)證挑戰(zhàn)"Challenge",挑戰(zhàn)報(bào)文中"01"是序列號(hào);R2上可能有多個(gè)撥入請(qǐng)求,"ID"用來(lái)識(shí)別是哪個(gè)撥入者發(fā)起的挑戰(zhàn);"Random"是一個(gè)隨機(jī)數(shù);"R2"是發(fā)起挑戰(zhàn)路由器的名字。
圖4
圖4
被驗(yàn)證方收到驗(yàn)證方發(fā)來(lái)的請(qǐng)求后,根據(jù)這個(gè)報(bào)文中的路由器名稱(R2),在本地?cái)?shù)據(jù)庫(kù)中尋找到這個(gè)名稱(R2)對(duì)應(yīng)的密碼,如果找到對(duì)應(yīng)的密碼,則用驗(yàn)證方發(fā)送過(guò)來(lái)的報(bào)文的ID和隨機(jī)數(shù)加上本地?cái)?shù)據(jù)庫(kù)中找到的密碼,以MD5算法生成一個(gè)"hash"值。
圖5
圖5
生成hash之后,再將這個(gè)hash值、驗(yàn)證方R2發(fā)送過(guò)來(lái)的ID號(hào)以及本路由的名稱R1,發(fā)回給驗(yàn)證方R2。其中報(bào)文的序列號(hào)是"02","ID"是R2發(fā)送過(guò)來(lái)的ID不變,"hash"是R1計(jì)算后得到的哈希值。
圖6
圖6

R2接收到這個(gè)報(bào)文后,利用報(bào)文中的ID值找到儲(chǔ)存在本地?cái)?shù)據(jù)庫(kù)中的隨機(jī)數(shù),并且根據(jù)發(fā)送過(guò)來(lái)的報(bào)文中路由器的名稱(R1)找到本地?cái)?shù)據(jù)庫(kù)對(duì)應(yīng)這個(gè)名稱的密碼,然后利用ID、隨機(jī)數(shù)、R1對(duì)應(yīng)的密碼使用MD5算法生成一個(gè)hash值,最后用這個(gè)hash值與R1發(fā)送過(guò)來(lái)的hash比較,相同則驗(yàn)證通過(guò),發(fā)回序號(hào)是"03"的確認(rèn)報(bào)文,如果不相同則驗(yàn)證失敗,發(fā)回序號(hào)是"04"的驗(yàn)證失敗報(bào)文。
從這個(gè)步驟可以看出,只要雙方配置相同的驗(yàn)證密碼,即可完成驗(yàn)證,并且這個(gè)密碼是不會(huì)在鏈路上傳輸?shù)模瑐鬏數(shù)闹皇且粋€(gè)隨機(jī)數(shù)、一個(gè)ID值、路由器的名稱和發(fā)回的hash值。
0×2.PPP基本配置
a.配置PPP封裝
在GNS3中配置下面這個(gè)簡(jiǎn)單拓?fù)洌?br> _R1和R2配置:
01

/配置R1串口IP/

02

R1(config)#
int
s 0/0

03

R1(config-if)#
ip
add
12.1.1.1 255.255.255.0

04

R1(config-if)#
no
shut

05

R1(config-if)#
end

06

07

/配置R2串口IP/

08

R2(config)#
int
s 0/1

09

R2(config-if)#
ip
add
12.1.1.2 255.255.255.0

10

R2(config-if)#
no
shut

11

R2(config-if)#
end

12

13

/在R1上查看接口默認(rèn)封裝協(xié)議/

14

R1#
show
interfaces
s 0/0

15

Serial0/0 is up, line protocol is up

16

/默認(rèn)的串口封裝協(xié)議是HDLC/

17

Encapsulation HDLC, crc 16,
loopback
not set

18

19

/此時(shí)R1和R2雙方互相能夠Ping通/

20

R1#
ping
12.1.1.2

21

!!!!!

22

23

/將R1的串口封裝改成PPP/

24

R1(config)#
int
s 0/0

25

R1(config-if)#
encapsulation
ppp

26

R1(config-if)#
end

27

28

/*

29

  • 如果R2的串口沒(méi)有改成PPP,會(huì)出現(xiàn)端口down掉的提示,查看R1接口,

30

  • 發(fā)現(xiàn)S0/0接口的協(xié)議是down的。

31

*/

32

R1#
show
ip
interface
brief

33

Interface IP-Address OK? Method Status Protocol

34

Serial0/0 12.1.1.1 YES manual up down

35

R1#

36

37

/再查看R1的s0/0接口詳細(xì)信息/

38

R1#
show
interfaces
s 0/0

39

Serial0/0 is up, line protocol is down

40

41

Encapsulation PPP, LCP Listen, crc 16,
loopback
not set

42

/可以看到封裝雖然已經(jīng)改成了PPP,但是LCP還處于監(jiān)聽(tīng)狀態(tài)/

43

44

/此時(shí)R1是
ping
不通R2的,下面將R2也改成PPP封裝
/

45

R2(config)#
int
s 0/1

46

R2(config-if)#
encapsulation
ppp

47

R2(config-if)#
end

48

49

/再次查看R1的s0/0接口詳細(xì)信息/

50

R1#
show
interfaces
s 0/0

51

Serial0/0 is up, line protocol is up

52

53

Encapsulation PPP, LCP Open

54

Open:IPCP, CDPCP, crc 16,
loopback
not set

55

/*

56

  • LCP Open 表示鏈路協(xié)商成功,

57

  • Open:IPCP表示NCP也建立成功了。

58

*/

b.配置壓縮
配置壓縮會(huì)影響路由性能增加CPU負(fù)荷,如果需要傳送的文件已經(jīng)壓縮過(guò),比如ZIP,RAR等,則不建議在路由上開(kāi)啟壓縮:
01

/在路由串行接口上啟用壓縮功能/

02

R1(config)#
int
s 0/0

03

R1(config-if)#compress ? /查看可用的壓縮類型/

04

lzs lzs compression type

05

mppc MPPC compression type

06

predictor predictor compression type

07

stac stac compression algorithm

08

<cr>

09

R1(config-if)#compress lzs /啟用lzs壓縮/

10

R1(config-if)#
end

c.配置鏈路質(zhì)量監(jiān)控(LQM)
在本文前面的"PPP會(huì)話建立過(guò)程"的第二步中提到了一個(gè)可選的階段"鏈路質(zhì)量檢測(cè)",在這個(gè)階段LCP測(cè)試鏈路并決定鏈路的質(zhì)量能否滿足第三層協(xié)議的需要,如果不能滿足,鏈路將會(huì)關(guān)閉。可以使用下面的命令來(lái)配置質(zhì)量監(jiān)控:
1

/計(jì)算數(shù)據(jù)包發(fā)送的成功率,鏈路有效要大于80%,否則認(rèn)為鏈路無(wú)效/

2

R1(config)#
int
s 0/0

3

R1(config-if)#
ppp
quality 80

4

R1(config-if)#
end

d.配置鏈路負(fù)載均衡
PPP鏈路負(fù)載均衡(多鏈路PPP,也叫MP、MPPP、MLP或Multilink)允許包被分段,在到對(duì)方的多條點(diǎn)對(duì)點(diǎn)線路上被同時(shí)發(fā)送,配置命令如下:
1

R1(config)#
int
s 0/0

2

R1(config-if)#
ppp
multilink

3

R1(config-if)#
end

0×3.PPP驗(yàn)證配置
PPP驗(yàn)證部分使用上面的圖八作為拓?fù)鋱D在GNS3中配置。
a.PAP驗(yàn)證
R1配置:
01

/配置用戶名和密碼,這個(gè)用戶名和密碼要和R2發(fā)送過(guò)來(lái)的一致/

02

R1(config)#
username
ccna_R2
password
ccna_R2_pass

03

R1(config)#
int
s 0/0

04

R1(config-if)#
ip
add
12.1.1.1 255.255.255.0

05

R1(config-if)#
no
shut

06

R1(config-if)#
encapsulation
ppp
/使用PPP封裝/

07

R1(config-if)#
ppp
authentication
pap /使用PAP驗(yàn)證/

08

/R1發(fā)給R2的用戶名和密碼,R2上需要配置和R1發(fā)送過(guò)去的這個(gè)用戶名和密碼一致/

09

R1(config-if)#
ppp
pap sent-
username
ccna_R1
password
ccna_R1_pass

10

R1(config-if)#
end

R2配置:
01

/在R2上配置用戶名和密碼,要和R1發(fā)送過(guò)來(lái)的一致/

02

R2(config)#
username
ccna_R1
password
ccna_R1_pass

03

R2(config)#
int
s 0/1

04

R2(config-if)#
ip
add
12.1.1.2 255.255.255.0

05

R2(config-if)#
no
shut

06

R2(config-if)#
encapsulation
ppp

07

R2(config-if)#
ppp
authentication
pap

08

/向R1發(fā)送用戶名和密碼/

09

R2(config-if)#
ppp
pap sent-
username
ccna_R2
password
ccna_R2_pass

10

R2(config-if)#
end

配置完成后檢測(cè)R1和R2連通性,發(fā)現(xiàn)可以正常通信,PAP并不是路由器推薦的驗(yàn)證方式。
b.CHAP驗(yàn)證

使用CHAP驗(yàn)證配置本文圖八中的拓?fù)洌?br> R1配置:
01

/*

02

  • 配置本地驗(yàn)證的用戶名和密碼,

03

  • 用戶名必須是對(duì)端路由器的名稱,

04

  • 密碼驗(yàn)證雙方要相同,

05

  • 在本文
    "PPP身份驗(yàn)證協(xié)議"
    中已經(jīng)講解過(guò)原理。

06

*/

07

R1(config)#
username
R2
password
www.qingsword.com

08

R1(config)#
int
s 0/0

09

R1(config-if)#
ip
add
12.1.1.1 255.255.255.0

10

R1(config-if)#
no
shut

11

R1(config-if)#
encapsulation
ppp

12

R1(config-if)#
ppp
authentication
chap /使用CHAP驗(yàn)證/

13

R1(config-if)#
end

R2配置:
1

/用戶名是R1的名稱,密碼和R1相同/

2

R2(config)#
username
R1
password
www.qingsword.com

3

R2(config)#
int
s 0/1

4

R2(config-if)#
ip
add
12.1.1.2 255.255.255.0

5

R2(config-if)#
no
shut

6

R2(config-if)#
encapsulation
ppp

7

R2(config-if)#
ppp
authentication
chap

8

R2(config-if)#
end

配置完成后測(cè)試雙方可以通信。
除此之外,可以使用下面的命令來(lái)查看PPP驗(yàn)證過(guò)程:

01

/調(diào)試
ppp
驗(yàn)證
/

02

R1#debug
ppp
authentication

03

PPP
authentication
debugging is on

04

R1#
conf
t

05

R1(config)#
int
s 0/0

06

R1(config-if)#
shut
/關(guān)閉s0/0,然后再打開(kāi)/

07

R1(config-if)#
no
shut

08

09

*Mar 1 01:18:25.627: Se0/0 PPP: Session handle[7300007B] Session id[127]

10

*Mar 1 01:18:25.631: Se0/0 PPP: Authorization required

11

/這里省略部分輸出,可以看到很多類似輸出/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,619評(píng)論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,155評(píng)論 3 425
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 177,635評(píng)論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,539評(píng)論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,255評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,646評(píng)論 1 326
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,838評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,399評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,146評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,338評(píng)論 1 372
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,565評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,983評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,257評(píng)論 1 292
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,059評(píng)論 3 397
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,296評(píng)論 2 376

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