Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
圖:徐括
五老巔——石船山線徒步線路分析
由于本次徒步使我基本搞清了雁蕩山脈最精華部分:五老巔——石船山一線山脊走向和山峰分布,所以先來(lái)全面分析下這一區(qū)域由各登山口上到這條山脊線所形成的徒步線路。
為什么說(shuō)“五老巔——石船山”一線的山脈是雁蕩山的最精華所在?因?yàn)檠闶幧斤L(fēng)景名勝區(qū)最精華的“兩靈一龍”、方洞、三折瀑和森林公園六大景區(qū)都分布于這片山脈的山下。靈峰在東南,三折瀑、森林公園、靈巖、方洞在南側(cè)的山下依次排列,大龍湫則在它西側(cè)山谷中,正是這條山脈蘊(yùn)育了雁蕩山最壯美的絕佳風(fēng)景。如果把我之前諸文章中介紹的“線路1、2、3、4”叫做“雁蕩山主景區(qū)中路徒步”的話,今天所介紹的這條線路則可稱做“雁蕩山主景區(qū)高路徒步”。
如下圖衛(wèi)星截圖可知,從山脊線走向看,五老巔山脊與“麒麟背”所在的石船山山脊呈“Y”字形最終在靈巖景區(qū)內(nèi)的臥龍谷上方北側(cè)聚合,山脊雖有斷裂,但總體保持上升態(tài)勢(shì),一直延伸至雁蕩山最高峰——百崗尖。從南側(cè)山下來(lái)看,登上五老巔山脊的山徑主要有朝陽(yáng)嶂下的兩個(gè)登山口(詳見(jiàn)“雁蕩山 經(jīng)典徒步線路攻略(四)- 朝陽(yáng)嶂:https://www.mafengwo.cn/i/7295375.html”);登上石船山山脊的山徑正是本線路要介紹的位于靈巖景區(qū)上方的蓮花洞附近茶園的上山野道,和位于臥龍谷上方新建玻璃棧道某處的上山野道。另外,從森林公園景區(qū)內(nèi)一直向上爬升,可到達(dá)圖中位于五老巔山脊上的“埡口1”,向左可去石船山,向右可去登頂五老巔,如果翻越這個(gè)埡口沿野道可一直走到百崗尖(詳見(jiàn)“最全登頂 雁蕩山最高峰“百崗尖”線路:https://www.mafengwo.cn/i/7289960.htm”)。所以,綜上所述,徒步者可以在山下選擇上面介紹的任意兩個(gè)上山口做為起點(diǎn)和終點(diǎn),規(guī)劃一條自己的徒步石船山或五老巔山脊的線路。
本線路分析:森林公園景區(qū)停車場(chǎng)--游絲嶂背---蓮花洞附近茶園------石船山山脊與五老巔山山脊交點(diǎn)---埡口2---箬竹林---臥龍谷玻璃棧道---靈巖寺---靈巖景區(qū)出入口---景區(qū)公路---森林公園景區(qū)停車場(chǎng)
推薦指數(shù):AAAA
難度指數(shù):AAAA
適合人群:有一定經(jīng)驗(yàn)的戶外徒步愛(ài)好者
預(yù)估全程時(shí)間:5-6小時(shí)(大環(huán)線13km),4小時(shí)左右(小環(huán)線8km)
綜合評(píng)述:此線路的精華段在于石船山山脊,特別是麒麟背一段,確實(shí)驚險(xiǎn)、壯美,而且一路可以遠(yuǎn)眺方洞上方的板嶂巖,高險(xiǎn)奇絕。最艱難的一段是由埡口2下到靈巖景區(qū)臥龍谷玻璃棧道段,全為臨時(shí)開(kāi)辟的土路和溪流巖石段(后面有詳細(xì)照片為證),強(qiáng)烈建議勿在雨天前往。下圖所繪制的為大環(huán)線,但如果你不想走太多冤枉路,只想感受下這條線路的精華,可以走本線路的小環(huán)線:靈巖景區(qū)出入口---靈巖寺---蓮花洞附近茶園---石船山山脊(麒麟背)---石船山山脊與五老巔山山脊交點(diǎn)---埡口2---箬竹林---臥龍谷玻璃棧道---靈巖寺---靈巖景區(qū)出入口,這樣至少可以節(jié)省一個(gè)半小時(shí)以上的時(shí)間。但代價(jià)是需要購(gòu)買(mǎi)靈巖景區(qū)的門(mén)票。另外,如果你在到達(dá)埡口2后仍有體力,可以嘗試?yán)^續(xù)向前登上雁蕩最高峰——百崗尖,再由JY公路走下來(lái),或叫輛車上來(lái)接你(車費(fèi)得自己談,一般在150-300元間)。那就是個(gè)超大的環(huán)線了。
麒麟背大環(huán)線徒步線路圖,如果走小環(huán)線,需要先進(jìn)入靈巖景區(qū)核心——靈巖寺所在的谷地。
本人華為運(yùn)動(dòng)手表記錄的實(shí)際線路情況,由于在穿越“箬竹林”時(shí)操作失誤,手表運(yùn)動(dòng)軌跡重啟了一次,所以這里看到有兩段,僅供參考。
第一段:森林公園停車場(chǎng)至蓮花洞附近茶園
這一段線路與“雁蕩山經(jīng)典徒步線路攻略(二)-森林公園門(mén)外至靈巖:https://www.mafengwo.cn/i/7305893.html”中介紹的”線路2“完全相同,所以不再做詳細(xì)介紹。由于“線路2”寫(xiě)作于十多年前,所以山下的部分建筑和設(shè)施有些改變,請(qǐng)注意區(qū)分。
上圖為線路起點(diǎn)的,即位于森林公園景區(qū)入口左側(cè)的登山道。注意不要進(jìn)入景區(qū),這條道位于景區(qū)外的停車場(chǎng)。
十年前看到此墓非常平常,現(xiàn)在已明顯被修葺過(guò),由于清明剛過(guò)不久,應(yīng)該有人祭掃過(guò)。
剛開(kāi)始段現(xiàn)在的路旁有座挺大的民宿叫“林下見(jiàn)鹿”,之前還真沒(méi)聽(tīng)說(shuō)過(guò),以這樣的規(guī)模,有些低調(diào)了。
”線路2“現(xiàn)在已非常成熟,沿途可以看到大量戶外團(tuán)隊(duì)遺留的紅絲帶,它上升段坡度很大,很費(fèi)體力,但總體不長(zhǎng),約一小時(shí)就能免費(fèi)進(jìn)入靈巖景區(qū)了。估計(jì)這就是它受歡迎的原因了。
第二段:蓮花洞附近茶園至埡口2
在”線路2”上我們花了很多時(shí)間去尋找上山道,最后才發(fā)現(xiàn)是在靈巖景區(qū)上方的蓮花洞附近的茶園邊。標(biāo)志就是這個(gè)“禁止通行”的牌子和非常非常多的紅絲帶。了解到這里我們還是有些后悔,因?yàn)槿绻琰c(diǎn)知道在這個(gè)位置,我們就會(huì)從靈巖景區(qū)直接進(jìn)來(lái)了,因?yàn)闀r(shí)下,景區(qū)對(duì)所有樂(lè)清人仍是免門(mén)票的。
入口的標(biāo)志就是這個(gè)牌子和數(shù)不清的戶外絲帶了。
10:43 這里實(shí)際上離山下高度至少有150多米,可以平齊看到對(duì)面的天柱峰頂。從靈巖寺走上來(lái),雖然有很好的石階路,但坡度很大,相當(dāng)耗費(fèi)體力。這里開(kāi)始就都是土路了,開(kāi)始段基本在茶園的左側(cè)。
走出一點(diǎn)就開(kāi)始爬升了,路跡非常明顯,不用擔(dān)心迷路。
11:11,不到半小時(shí)的時(shí)間,我們就登上了山脊。
再向前走出100來(lái)米,我們便看到這峭立的山脊,可以斷定是麒麟背到了。
為了詳細(xì)記錄麒麟背的美景,我和同伴R用山脊上的片石搭起一個(gè)平臺(tái),方便無(wú)人機(jī)起落。R負(fù)責(zé)操控?zé)o人機(jī)拍攝,我則在這段山脊上走了兩個(gè)來(lái)回。
麒麟背盡頭的一座山峰,走完麒麟背后就要翻越它。
東北方向是五老巔,它們間的峽谷就是凈名谷。
麒麟背的巖石呈片狀,在千萬(wàn)年的地質(zhì)作用下被壓斷、轉(zhuǎn)動(dòng),直戳天穹。
麒麟背這名稱的由來(lái),應(yīng)該是因?yàn)檫@巖壁的紋理類似于傳說(shuō)中麒麟身上的鱗片。
11:58,在完成航拍后,我們繼續(xù)前行。
翻越過(guò)一座小山峰后,又是一段類似于麒麟背樣的山脊,但寬度要大些,看起來(lái)沒(méi)之前那么驚險(xiǎn)。
12:34接下來(lái)的路大多是在懸崖邊行走,眼在天堂,腳若稍有閃失,就可能墜落地獄了,必須小心對(duì)待。
南側(cè)山下可以清楚地看到去年剛建的連接方洞景區(qū)與靈巖景區(qū)的玻璃棧道。它所在的山谷就是小龍湫上方的臥龍谷。
12:38前面又是一座筆直的山峰,R說(shuō)好象沒(méi)路了,我說(shuō)走到跟前就有了。
12:45我爬上峰頂時(shí)R還在峰底的茶園。一路上很多地方都被種上了茶樹(shù),使山間野道感受起來(lái)不那么荒蕪了。
這個(gè)角度可以比較完整地看到凈名谷內(nèi)的全貌,雁蕩山的險(xiǎn)峻可不是浪得虛名。認(rèn)為雁蕩山可輕松拿下的估計(jì)都是只游歷過(guò)山下主景區(qū)的人。
13:05,又行一段后,我們來(lái)到了一個(gè)三叉路口,我才意識(shí)到這里就是石船山山脊與五老巔山脊相交的地方,至此兩條山脊匯合成一條繼續(xù)向西北方向的雁蕩主峰——百崗尖延伸開(kāi)去。這里有很多垃圾,應(yīng)該徒行到此進(jìn)行休憩的團(tuán)隊(duì)比較多,我們甚至還撿到了一個(gè)保溫杯(上圖這個(gè)),里面盛的茶液都還沒(méi)有變質(zhì)。
此地遠(yuǎn)眺五老巔,完整的山形對(duì)稱端正,莊嚴(yán)老成。
在西北側(cè)石船山山脊與五老巔山脊匯合成一條繼續(xù)向雁蕩主峰——百崗尖延伸開(kāi)去。就近的這段山脊比麒麟背還要狹窄,而且怪石突起,粗看根本無(wú)處下腳。與R商量后我們決定繼續(xù)前行,如果真沒(méi)路再折回。
正南側(cè)的臥龍谷就在腳下。更遠(yuǎn)處是飛泉寺所在的山脈。
繼續(xù)向前,拍了張已走過(guò)的路。
12:25我們來(lái)到了一座斷崖前,明明可以看到對(duì)面山崖上的路,但已疲憊不堪的我們必須先下到崖下才能再爬上去。
居高臨下是看不到下面路的情況,只能循著還算清晰的路跡向下探尋。
很快在山腰的右側(cè)找到了一條下降的繩索。
循繩下降,在中途發(fā)現(xiàn)一條向右的叉道,我懷疑這路是去“埡口1”的一條土路,但人已很疲憊,就沒(méi)有去探證。
下到峰底,路跡變得有些模糊,好在樹(shù)上的紅絲帶一路指引。
然后我們又爬上了對(duì)面的一座山峰,在這里可以看到北面的群山,遠(yuǎn)處那幾列應(yīng)該已是永嘉地域了。
在我們東北方向的不遠(yuǎn)處,隱約有條山道,我推斷那就是從森林公園登頂百崗尖的山道(詳見(jiàn)“最全登頂 雁蕩山最高峰“百崗尖”線路:https://www.mafengwo.cn/i/7289960.htm”)。
13:53又躍上一峰的峰頂,看起來(lái)百崗尖已經(jīng)很近,但估計(jì)真走到那里,沒(méi)個(gè)把小時(shí)是拿不下來(lái)的。在我們到達(dá)五老巔與石船山交叉口時(shí),我們本打算再向前探索一段就折回下山的。沒(méi)想到越走越深,兩邊也一直看不到下山的路。
又下一峰。
14:07我們下到了峰底的一塊空地,這塊地方拋滿了很多垃圾。R催促我快點(diǎn)繼續(xù)向前,我卻感覺(jué)有些不對(duì),為什么那么多團(tuán)隊(duì)選擇在這里駐足?所以我在空地的四周仔細(xì)巡視了一遍,很快就在峰底的巖石邊發(fā)現(xiàn)了一條隱藏在箬竹林中的小道(下圖)。于是我們決定由此處回,因?yàn)槿绻@里能順利進(jìn)入靈巖景區(qū)的話,將大大節(jié)省回程的時(shí)間。而如果我們?nèi)サ琼敯賺徏猓堑竭_(dá)百崗尖的時(shí)間目測(cè)是還需要一小時(shí),但實(shí)際情況無(wú)法預(yù)知,并且上到百崗尖的JY公路,走下來(lái)至少還要1.5小時(shí)。為了標(biāo)記這個(gè)可以折入靈巖景區(qū)的地方,我把它標(biāo)記為“埡口2”。
第三段:埡口2至靈巖景區(qū)
箬竹林的路況如上圖所示,總體有約400米的長(zhǎng)度。竹比人高,環(huán)境幽閉,路面濕滑,一個(gè)人走這種是要點(diǎn)膽量的。R滑倒了兩次,我建議他拋掉手中的木棒,改用雙手都去抓住兩邊的竹節(jié),加強(qiáng)身體穩(wěn)定性,減緩下沖勢(shì)能。
14:25我倆終于走出了箬竹林,這時(shí)可以清楚地聽(tīng)到山下傳來(lái)的人聲,我們推斷是行走在玻璃棧道上的人發(fā)出的。
接下來(lái)的路也好不到哪里去,先是一段灌木叢和著杉木林的下降路,再是沿著一段溪流下行。腳下雖然艱難,谷中的人聲卻越來(lái)越清,有時(shí)仿佛就是從前方不遠(yuǎn)處傳過(guò)來(lái),我們心情大好。
最后一段就是沿著水管走。
15:04 水管盡,小屋現(xiàn),玻璃棧道到達(dá)了。
從玻璃棧道上看我們下來(lái)的地方,同樣是個(gè)“禁止通行”的牌子。
抬頭仰望我們下來(lái)的“埡口2”所在處,我們估計(jì)應(yīng)該是上圖左側(cè)的凹處。
我們沿玻璃棧道下行,就下到臥龍谷中,再繼續(xù)向下就到達(dá)靈巖景區(qū)內(nèi),出景區(qū),沿公路又走了半小時(shí)回到了森林公園停車場(chǎng)時(shí)已近下午四點(diǎn),提車歸家。
有互聯(lián)網(wǎng)服務(wù),均依賴于TCP/IP協(xié)議棧。懂得數(shù)據(jù)是如何在協(xié)議棧傳輸?shù)模瑢?huì)幫助你提升互聯(lián)網(wǎng)程序的性能和解決TCP相關(guān)問(wèn)題的能力。
我們講述在Linux場(chǎng)景下數(shù)據(jù)包是如何在協(xié)議層傳輸?shù)摹?/p>
1、發(fā)送數(shù)據(jù)
應(yīng)用層發(fā)送數(shù)據(jù)的過(guò)程大致如下:
我們把上述處理過(guò)程的區(qū)域大致分為:
1. User區(qū)域
2. Kernel 區(qū)域
3. Device區(qū)域
在user和kernel區(qū)域的任務(wù)都是由本機(jī)cpu執(zhí)行,這兩個(gè)區(qū)域合并稱為host區(qū)域,以區(qū)分device區(qū)域(網(wǎng)絡(luò)接口卡上有單獨(dú)的cpu)。device是接收和發(fā)送數(shù)據(jù)包的網(wǎng)絡(luò)接口卡(Network Interface Card),一般也稱為L(zhǎng)AN card。
當(dāng)應(yīng)用程序調(diào)用write(fd, buf, len)來(lái)發(fā)送數(shù)據(jù)時(shí),用戶態(tài)區(qū)域會(huì)進(jìn)入內(nèi)核態(tài)區(qū)域,建立這個(gè)關(guān)系的紐帶是socket fd和系統(tǒng)調(diào)用write。
在內(nèi)核態(tài)的socket有兩個(gè)buffer:
1. send socket buffer,用于發(fā)送數(shù)據(jù)
2. receive socket buffer,用于接收數(shù)據(jù)
當(dāng)write系統(tǒng)調(diào)用被執(zhí)行,用戶態(tài)的數(shù)據(jù)(buf,長(zhǎng)度)會(huì)被拷貝到內(nèi)核區(qū)域的內(nèi)存,并被放入到send socket buffer的末尾(見(jiàn)下圖,發(fā)送是按照順序發(fā)送的),然后TCP就會(huì)被調(diào)用。
TCP中的數(shù)據(jù)結(jié)構(gòu)是TCB(TCP Control Block)。TCB包含了執(zhí)行TCP會(huì)話所需要的信息,包括TCP連接狀態(tài),接收窗口,擁塞窗口,序號(hào),重傳timer 等。
TCP會(huì)創(chuàng)建TCP數(shù)據(jù)分段,而TCP數(shù)據(jù)分段包括TCP header和payload,如下圖:
Payload是待發(fā)送的socket buffer中的數(shù)據(jù),而TCP header是為了TCP可靠發(fā)送數(shù)據(jù)而加的輔助信息。
這些數(shù)據(jù)分段會(huì)進(jìn)入到IP層,IP層會(huì)加上IP頭部信息到數(shù)據(jù)分段,如下圖:
IP在執(zhí)行路由之前會(huì)去檢查Netfilter LOCAL_OUT鉤子,看是否需要執(zhí)行iptables相關(guān)配置。之后執(zhí)行IP路由。IP路由主要功能是尋找下一跳(例如網(wǎng)關(guān)或路由器)的IP地址,而路由的目的是到達(dá)目的地IP地址所在的機(jī)器。
IP執(zhí)行路由之后,檢查Netfilter POST_ROUTING鉤子,如果有iptables在這方面的配置,就會(huì)去執(zhí)行相關(guān)操作。委托給數(shù)據(jù)鏈路層之前,IP層還會(huì)執(zhí)行ARP(網(wǎng)絡(luò)地址轉(zhuǎn)換),通過(guò)下一跳IP地址來(lái)查找目的MAC地址,并把Ethernet頭部添加到IP數(shù)據(jù)包,如下圖。
IP層同時(shí)還給用戶提供了raw socket接口,即發(fā)送數(shù)據(jù)包的接口。raw socket發(fā)送的數(shù)據(jù)包與正常流程的數(shù)據(jù)包不一樣,在執(zhí)行Netfilter的時(shí)候,會(huì)跳過(guò)這些鉤子。
IP層做完工作以后,會(huì)把數(shù)據(jù)包(上圖中的數(shù)據(jù)包,一般稱frame)委托給數(shù)據(jù)鏈路層。
由于ARP已經(jīng)把目的MAC地址寫(xiě)入到數(shù)據(jù)包頭部,這樣就減輕了驅(qū)動(dòng)driver的工作。進(jìn)入數(shù)據(jù)鏈路層后,內(nèi)核會(huì)去檢測(cè)是否有抓包工具在監(jiān)聽(tīng)抓包(例如tcpdump),如果有,內(nèi)核會(huì)拷貝數(shù)據(jù)包信息到抓包工具的內(nèi)存地址空間。
之后,根據(jù)一定的協(xié)議規(guī)則,驅(qū)動(dòng)driver會(huì)要求NIC傳遞這個(gè)數(shù)據(jù)包。當(dāng)NIC收到這個(gè)請(qǐng)求后,NIC復(fù)制數(shù)據(jù)包到自己的內(nèi)存里,并且發(fā)送給網(wǎng)絡(luò)。當(dāng)NIC發(fā)送完一個(gè)數(shù)據(jù)包,會(huì)產(chǎn)生一個(gè)中斷, 主機(jī) cpu去執(zhí)行中斷處理程序,完成后續(xù)工作。
2、接收數(shù)據(jù)
應(yīng)用程序接收數(shù)據(jù)的過(guò)程大致如下:
首先NIC把數(shù)據(jù)包寫(xiě)入自己的內(nèi)存,并校驗(yàn)數(shù)據(jù)包是不是有效的,如果是有效的,把數(shù)據(jù)包寫(xiě)入主機(jī)的內(nèi)存空間,然后NIC給主機(jī)操作系統(tǒng)發(fā)送一個(gè)中斷信號(hào),這時(shí)就進(jìn)入到kernel區(qū)域。
在數(shù)據(jù)鏈路層,內(nèi)核首先會(huì)做數(shù)據(jù)包檢測(cè),然后Driver驅(qū)動(dòng)把數(shù)據(jù)包進(jìn)行改裝,以便后續(xù)TCP/IP能夠理解這個(gè)數(shù)據(jù)包。改裝完以后,根據(jù)Ethernet頭部信息中的Ethertype分發(fā)給上層,假設(shè)為IPv4,去除Ethernet頭部,并發(fā)送給IP層。值得注意的是,委托給IP層之前,如果有抓包工具在監(jiān)聽(tīng)抓包,那么內(nèi)核就會(huì)拷貝數(shù)據(jù)包信息到抓包工具的內(nèi)存地址空間。
IP層通過(guò)計(jì)算checksum來(lái)校驗(yàn)IP頭部的checksum是否有效,如果有效,接著檢查PRE_ROUTING鉤子(比如查看是否有iptables的相應(yīng)配置需要執(zhí)行),然后執(zhí)行IP路由,IP路由會(huì)判斷這個(gè)數(shù)據(jù)包是本地處理還是轉(zhuǎn)發(fā)當(dāng)前數(shù)據(jù)包到其它主機(jī)。如果是轉(zhuǎn)發(fā)數(shù)據(jù)包,執(zhí)行FORWARD和POST_ROUTING鉤子,并轉(zhuǎn)發(fā)給數(shù)據(jù)鏈路層;如果是本地處理,IP還會(huì)檢查L(zhǎng)OCAL_IN鉤子,執(zhí)行完以后,根據(jù)IP頭部信息的proto值,假設(shè)為T(mén)CP,去除IP頭部,并把數(shù)據(jù)包傳遞給上層TCP。值得注意的是,委托給TCP層之前,如果有raw socket在監(jiān)聽(tīng)抓包,那么內(nèi)核會(huì)拷貝數(shù)據(jù)包信息到raw socket的內(nèi)存地址空間(默認(rèn)tcpcopy利用raw socket來(lái)監(jiān)聽(tīng)I(yíng)P層的數(shù)據(jù)包)。
TCP層會(huì)根據(jù)TCP checksum來(lái)檢測(cè)數(shù)據(jù)包是否有效(如果采用了checksum offload,NIC會(huì)去做相關(guān)計(jì)算),然后就給這個(gè)數(shù)據(jù)包查找相應(yīng)的TCB(TCP control block),查找的方法是通過(guò)如下組合信息來(lái)查找:
<source IP, source port, target IP, target port>
如果沒(méi)有查到,一般會(huì)發(fā)送reset數(shù)據(jù)包;如果查到了,進(jìn)入TCP數(shù)據(jù)包處理環(huán)節(jié)。
如果是接收到新數(shù)據(jù),TCP就會(huì)把它放入到socket接收緩沖區(qū),然后根據(jù)TCP狀態(tài),必要時(shí)發(fā)送ack確認(rèn)數(shù)據(jù)包。Socket接收緩沖區(qū)的大小就是TCP接收窗口大小。在某種程度上,如果接收窗口很大,TCP吞吐量就會(huì)很大。目前較新的內(nèi)核都能動(dòng)態(tài)調(diào)整窗口的大小,無(wú)需用戶去修改系統(tǒng)參數(shù)。
用戶應(yīng)用程序根據(jù)讀事件去執(zhí)行讀操作,用戶態(tài)空間進(jìn)入到內(nèi)核空間。內(nèi)核把socket buffer里面的內(nèi)容復(fù)制到用戶指定的內(nèi)存區(qū)域,然后把socket buffer讀取過(guò)的內(nèi)容釋放,TCP增加接收窗口大小,如果有必要,會(huì)傳遞一個(gè)更新窗口的數(shù)據(jù)包給對(duì)端TCP。例如下圖,TCP發(fā)送了一個(gè)ack數(shù)據(jù)包,用于通知對(duì)端TCP,本方TCP接收窗口更新了。
讀取操作完成后,返回應(yīng)用程序,應(yīng)用程序就可以進(jìn)行對(duì)數(shù)據(jù)進(jìn)行處理了。
3、抓包工具工作原理
知道了數(shù)據(jù)如何發(fā)送和接收以后,我們分析一下tcpdump抓包原理。
在數(shù)據(jù)鏈路層和IP層交界的地方(屬于數(shù)據(jù)鏈路層,如下圖),是數(shù)據(jù)包被tcpdump捕獲的場(chǎng)所。
執(zhí)行到這個(gè)交界處時(shí),內(nèi)核會(huì)去查看tcpdump是否在監(jiān)聽(tīng),一旦有監(jiān)聽(tīng),就把數(shù)據(jù)包內(nèi)容放入到tcpdump設(shè)置的緩沖區(qū)。理論上只要tcpdump及時(shí)去提取數(shù)據(jù),在線上壓力不大的情況下,抓包不會(huì)丟包。
tcpdump所抓到的數(shù)據(jù)包,僅僅是代表數(shù)據(jù)包經(jīng)過(guò)了鏈路層和網(wǎng)絡(luò)層之間的交界處。從網(wǎng)卡進(jìn)來(lái)的數(shù)據(jù)包未來(lái)的命運(yùn),可能是繼續(xù)一路往前走到TCP,也有可能在IP層被干掉,還有可能被路由轉(zhuǎn)發(fā)出去;從本機(jī)發(fā)送出去的數(shù)據(jù)包,一旦被tcpdump捕獲到,說(shuō)明已經(jīng)到了數(shù)據(jù)鏈路層,沒(méi)有被IP層過(guò)濾掉,因?yàn)槿绻麛?shù)據(jù)包被IP層過(guò)濾掉,這些數(shù)據(jù)包就不會(huì)到達(dá)tcpdump捕獲點(diǎn),也不會(huì)出現(xiàn)在抓包文件里。
下面我們通過(guò)一些實(shí)驗(yàn)來(lái)驗(yàn)證上述結(jié)論。
實(shí)驗(yàn)之前,我們先介紹一下iptables工具。iptables是被廣泛使用的防火墻工具,它主要跟內(nèi)核netfilter數(shù)據(jù)包過(guò)濾框架進(jìn)行交互。
3.1 實(shí)驗(yàn) LOCAL_IN過(guò)濾
我們?cè)诜?wù)器上面配置如下的iptables命令:
iptables -I INPUT -p tcp --dport 3306 -s 172.17.0.2 -j QUEUE
上述iptables命令設(shè)置了"-I INPUT"參數(shù),意味著在netfilter LOCAL_IN鉤子處執(zhí)行上述iptables規(guī)則,即通往服務(wù)器端TCP之前,如果匹配到上述iptables規(guī)則,則會(huì)被放入目標(biāo)QUEUE(默認(rèn)情況下是直接丟棄數(shù)據(jù)包),不再繼續(xù)前行。
具體命令執(zhí)行見(jiàn)下圖:
設(shè)置上述iptables后,當(dāng)172.17.0.2訪問(wèn)172.17.0.3 3306服務(wù)時(shí),IP數(shù)據(jù)包(如下圖綠色箭頭)會(huì)在服務(wù)器端IP層被丟棄掉,而紅色箭頭所指方向是tcpdump抓包的地方。
我們開(kāi)啟tcpdump抓包:
tcpdump -i any tcp and port 3306 and host 172.17.0.2 -n -v
在172.17.0.2上利用MySQL客戶端命令訪問(wèn)172.17.0.3上面的3306服務(wù),如下圖:
結(jié)果經(jīng)過(guò)長(zhǎng)時(shí)間等待,最終顯示連接不上。
服務(wù)器端抓包結(jié)果如下:
我們看到第一次握手?jǐn)?shù)據(jù)包反復(fù)重傳。
利用netstat命令,查看有沒(méi)有相應(yīng)的TCP狀態(tài),結(jié)果發(fā)現(xiàn)沒(méi)有,如下圖:
正常情況下,沒(méi)有TCP狀態(tài),說(shuō)明數(shù)據(jù)包沒(méi)有進(jìn)入服務(wù)器端TCP,第一次握手?jǐn)?shù)據(jù)包在服務(wù)器端IP層被干掉了。
利用netstat -s命令,在服務(wù)器端TCP/IP統(tǒng)計(jì)參數(shù)里找線索:
上圖服務(wù)器端IP層接收到20079個(gè)數(shù)據(jù)包,下圖接收到20086個(gè)數(shù)據(jù)包,MySQL客戶端登入過(guò)程累計(jì)增加了7個(gè)數(shù)據(jù)包,正好符合抓包文件顯示的7個(gè)第一次握手?jǐn)?shù)據(jù)包。
在服務(wù)器端TCP層,對(duì)比上面兩張圖,數(shù)據(jù)沒(méi)有任何變化,說(shuō)明了服務(wù)器端TCP沒(méi)有收到任何數(shù)據(jù)包。
實(shí)驗(yàn)說(shuō)明了在服務(wù)器端IP層進(jìn)來(lái)的方向干掉數(shù)據(jù)包,服務(wù)器端TCP層不會(huì)有任何變化。
3.2 實(shí)驗(yàn) LOCAL_OUT過(guò)濾
我們這次實(shí)驗(yàn)的目的是查看IP層netfilter LOCAL_OUT情況下的抓包情況。
如下圖:
我們?cè)O(shè)置如下iptables命令:
iptables -I OUTPUT -p tcp --sport 3306 -d 172.17.0.2 -j QUEUE
具體操作如下圖:
上述iptables命令設(shè)置了OUTPUT參數(shù),意味著在netfilter LOCAL_OUT鉤子處會(huì)執(zhí)行上述iptables規(guī)則,即IP數(shù)據(jù)包在IP路由之前,如果匹配上述iptables規(guī)則,則會(huì)被放入目標(biāo)QUEUE(默認(rèn)情況下直接丟棄數(shù)據(jù)包),不會(huì)繼續(xù)往下走。
在172.17.0.2上利用MySQL客戶端命令訪問(wèn)172.17.0.3上面的3306服務(wù),如下圖:
結(jié)果經(jīng)過(guò)長(zhǎng)時(shí)間等待,最終顯示連接不上。
服務(wù)器端抓包結(jié)果如下:
我們看到第一次握手?jǐn)?shù)據(jù)包反復(fù)重傳,跟上一個(gè)抓包結(jié)果幾乎一模一樣
利用netstat命令,查看有沒(méi)有相應(yīng)的TCP狀態(tài),結(jié)果發(fā)現(xiàn)有SYN_RECV狀態(tài),如下圖:
有TCP狀態(tài),說(shuō)明數(shù)據(jù)包進(jìn)入服務(wù)器端TCP,并進(jìn)入SYN_RECV狀態(tài),服務(wù)器端TCP會(huì)發(fā)送第二次握手?jǐn)?shù)據(jù)包,但抓包顯示并沒(méi)有第二次握手?jǐn)?shù)據(jù)包,說(shuō)明被iptables配置干掉了。
查看netstat -s結(jié)果:
上圖顯示了實(shí)驗(yàn)之前的值,下圖顯示了實(shí)驗(yàn)之后的值。
從TCP層面信息來(lái)看,發(fā)送了17個(gè)數(shù)據(jù)分段,說(shuō)明服務(wù)器端TCP發(fā)送了第二次握手?jǐn)?shù)據(jù)包,而且發(fā)送了很多次,但因?yàn)樵O(shè)置了iptables,這些數(shù)據(jù)包被攔截掉了,所以到不了數(shù)據(jù)鏈路層,也就沒(méi)法被tcpdump捕獲到。
從這兩個(gè)實(shí)驗(yàn)來(lái)看,tcpdump抓的數(shù)據(jù)包是一樣的,都是在努力重傳第一次握手?jǐn)?shù)據(jù)包,但iptables設(shè)置的位置不一樣,一個(gè)在入口,在TCP層無(wú)狀態(tài),一個(gè)在出口,在TCP層有狀態(tài)。
進(jìn)一步的分析可以嘗試下面兩個(gè)方向:
1. 通過(guò)分析TCP狀態(tài)來(lái)區(qū)分這兩種情況
2. 利用netstat -s給出的TCP/IP統(tǒng)計(jì)參數(shù)變化
通過(guò)上面實(shí)驗(yàn),我們看出tcpdump抓包只是從一個(gè)點(diǎn)來(lái)觀察世界,并不能看到全貌,這個(gè)時(shí)候就需要通過(guò)推理來(lái)輔助解決問(wèn)題。
4、潛在協(xié)議層的干擾
4.1 接收數(shù)據(jù)
下圖展示了數(shù)據(jù)包從NIC到協(xié)議棧,再到應(yīng)用程序的過(guò)程。
TCP offload由NIC完成,目的是減輕TCP的工作量,但存在潛在坑;在數(shù)據(jù)鏈路層,存在抓包接口,供tcpdump等抓包工具抓包,同時(shí)也存在著raw socket原始抓包方式接口;在網(wǎng)絡(luò)層,存在raw socket抓包接口,IP Forward轉(zhuǎn)發(fā)功能,還有一整套Netfilter框架(存在大量坑的地方);在TCP層則相對(duì)比較清靜,干擾少;用戶程序通過(guò)socket接口從TCP取出數(shù)據(jù)或者獲取新建連接。
4.2 發(fā)送數(shù)據(jù)
下圖展示了數(shù)據(jù)包從應(yīng)用發(fā)送數(shù)據(jù)到NIC的過(guò)程。
用戶程序通過(guò)socket接口來(lái)委托TCP發(fā)送數(shù)據(jù)或者建立連接;在網(wǎng)絡(luò)層,存在raw socket發(fā)包接口,還有一整套Netfilter框架(存在大量坑的地方);在數(shù)據(jù)鏈路層,存在pcap發(fā)包接口,同時(shí)也存在著raw socket原始發(fā)包接口;TCP offload是NIC做的,目的為了提升減輕TCP的工作量(比如分段,checksum),我們也遇到過(guò)由于TCP offload不當(dāng)導(dǎo)致的丟包問(wèn)題。
4.3 案例
下面是一個(gè)從NIC接收數(shù)據(jù)包,并一路到應(yīng)用,再發(fā)送響應(yīng)出去的案例:
我們的應(yīng)用程序是Nginx(Web服務(wù)器軟件),其中Nginx配置監(jiān)聽(tīng)端口為8080,且開(kāi)啟access log。
上圖設(shè)置了nginx keepalive_timeout=0,即保持客戶端空閑連接(方便實(shí)驗(yàn))。
啟動(dòng)nginx,通過(guò)netstat查看,nginx已經(jīng)在監(jiān)聽(tīng)8080端口的連接請(qǐng)求。
剛開(kāi)始nginx沒(méi)有任何訪問(wèn),access log都為空,iptables也沒(méi)有設(shè)置。
在172.17.0.2機(jī)器,利用telnet訪問(wèn)172.17.0.3上面的8080端口服務(wù),如下圖:
這樣telnet跟nginx建立連接,下圖可以看出服務(wù)器端相應(yīng)連接已經(jīng)進(jìn)入ESTABLISHED狀態(tài)。
建立連接后,我們?cè)O(shè)置iptables命令,如下圖,對(duì)返回172.17.0.2的nginx響應(yīng)進(jìn)行攔截并丟棄。
我們?cè)诳蛻舳耍?72.17.0.2)上面繼續(xù)執(zhí)行telnet命令,鍵入"GET hello.html",然后回車執(zhí)行。
從nginx日志來(lái)看,這個(gè)請(qǐng)求已經(jīng)被處理了,雖然是非法請(qǐng)求,但請(qǐng)求已經(jīng)確認(rèn)到達(dá)nginx了。
大概過(guò)了2分鐘,查看客戶端抓包情況,累計(jì)捕獲了16個(gè)數(shù)據(jù)包,客戶端還顯示連接處于ESTABLISHED狀態(tài)。
我們查看服務(wù)器端情況,利用netstat已經(jīng)查不到服務(wù)器端的相應(yīng)連接了,說(shuō)明連接在服務(wù)器端的TCP層已經(jīng)不存在了。
我們分析抓包情況(服務(wù)器抓包和客戶端抓包效果一樣):
自從發(fā)送了請(qǐng)求數(shù)據(jù)包,客戶端由于沒(méi)有看到任何服務(wù)器端的數(shù)據(jù)包回來(lái),一直在重傳請(qǐng)求數(shù)據(jù)包。客戶端以為服務(wù)器還沒(méi)有收到請(qǐng)求,但其實(shí)請(qǐng)求已經(jīng)被nginx處理完畢。
在服務(wù)器端查看netstat -st的統(tǒng)計(jì)情況。
上圖是執(zhí)行telnet請(qǐng)求之前的狀況,下圖是執(zhí)行telnet請(qǐng)求之后的狀況。
從上圖我們可以看出connection aborted due to timeout增加了一個(gè),說(shuō)明在服務(wù)器端TCP看來(lái),請(qǐng)求的響應(yīng)數(shù)據(jù)包(同時(shí)帶有關(guān)閉fin標(biāo)志)由于發(fā)送不出去,連接被aborted,這個(gè)時(shí)候在服務(wù)器端看不到連接相應(yīng)狀態(tài)的存在。
在上層nginx看來(lái),遇到了非法請(qǐng)求,回復(fù)了響應(yīng)并關(guān)閉了連接。在TCP層看來(lái),由于帶有關(guān)閉fin的數(shù)據(jù)包到不了tcpdump抓包接口,服務(wù)器端的TCP狀態(tài)會(huì)處于FIN_WAIT_1狀態(tài)("遇到大量FIN_WAIT1,怎么破?"會(huì)有詳細(xì)介紹),會(huì)維持一段時(shí)間并不斷努力重傳。由于重傳一直得不到響應(yīng),TCP就把FIN_WAIT_1狀態(tài)變?yōu)镃LOSED狀態(tài),在服務(wù)器端查不到該連接了。
這里案例中,我們事先知道我們?cè)O(shè)置了iptables,但如果不知道呢,我們?nèi)绾闻袛喑鰡?wèn)題出在哪一個(gè)環(huán)節(jié)呢?
僅僅靠tcpdump抓包,明顯不夠,因?yàn)橥ㄟ^(guò)抓包分析,我們只能得出服務(wù)器端沒(méi)有接收到請(qǐng)求,我們還需要利用服務(wù)器端的信息,才能繼續(xù)進(jìn)一步判斷。通過(guò)nginx日志,判斷出請(qǐng)求已經(jīng)被應(yīng)用層處理了,說(shuō)明請(qǐng)求數(shù)據(jù)包已經(jīng)到達(dá)應(yīng)用層,nginx已經(jīng)處理請(qǐng)求,并作了響應(yīng)處理,接著委托服務(wù)器端TCP去發(fā)送這些響應(yīng)數(shù)據(jù)包,但顯然服務(wù)器端TCP發(fā)送的響應(yīng)都沒(méi)有到達(dá)抓包接口,說(shuō)明在IP層干掉了,于是可以根據(jù)這些信息去找數(shù)據(jù)包出去方向(outgoing)的netfilter相關(guān)配置,看看有沒(méi)有這樣針對(duì)這些響應(yīng)進(jìn)行過(guò)濾。
從上面案例,可以看出僅僅利用tcpdump是不夠的,還需要綜合利用各種信息,并加以推理,最終得出問(wèn)題出在哪一個(gè)環(huán)節(jié),才能解決問(wèn)題。如果不會(huì)利用這些知識(shí),客戶端就就會(huì)得出服務(wù)器端沒(méi)有收到請(qǐng)求的錯(cuò)誤判斷。
5、跨機(jī)器判斷
在跨機(jī)器訪問(wèn)過(guò)程中,存在著如下潛在干涉(坑):
1. 本機(jī)器自身IP層安全過(guò)濾
2. 鏈路層發(fā)送QUEUE丟包
3. 鏈路層TCP offload潛在問(wèn)題(這里把NIC歸入數(shù)據(jù)鏈路層)
4. 中途設(shè)備各種問(wèn)題(設(shè)備包括路由器/交換機(jī)/防火墻/網(wǎng)關(guān)/負(fù)載均衡器等)
5. 對(duì)端機(jī)器鏈路層接收QUEUE丟包
6. 對(duì)端鏈路層TCP offload(NIC)潛在問(wèn)題
7. 對(duì)端IP層安全過(guò)濾
8. 對(duì)端TCP異常狀態(tài)干擾
這些問(wèn)題將在TCPCopy和其它章節(jié)會(huì)有所介紹,這里不再詳細(xì)描述。
6、常用工具工作層次分析
上圖展示了部分流行性工具的工作層次,比如tcpcopy默認(rèn)工作在4層,調(diào)用IP層提供的raw socket接口來(lái)抓包和發(fā)包;netstat或者ss工具可以去獲取TCP/IP各種統(tǒng)計(jì)值;LVS工作在4層,利用Netfilter來(lái)強(qiáng)行改變路由;tcpdump工作在數(shù)據(jù)鏈路層;HTTP應(yīng)用工作在應(yīng)用層。
懂得了這些工作原理,可以更加深刻的理解問(wèn)題,并解決各種TCP相關(guān)問(wèn)題。
克線---這些年,在普通游客中知之甚少,而在戶外圈卻聲名鵲起。說(shuō)到洛克線,難免先要把戶外圈大家都知道的故事復(fù)述一遍,這也是為了普通讀者能夠多一點(diǎn)了解。
1928年3月,美國(guó)探險(xiǎn)家約瑟夫·洛克從木里出發(fā),穿越稻城、亞丁等地,深入貢嘎嶺地區(qū)。他兩次穿越稻城亞丁之后,在美國(guó)《國(guó)家地理雜志》發(fā)表了他撰寫(xiě)的文章和拍攝的照片。
1933年4月,詹姆斯·希爾頓(James Hilton)以此約瑟夫·洛克穿越時(shí)的文章和照片為素材,尤其是洛克貢嘎嶺三座神山(仙乃日、央邁勇、夏諾多吉)的探險(xiǎn)經(jīng)歷,創(chuàng)作了著名的小說(shuō)——《消失的地平線》》(Lost Horizon)
人們將小說(shuō)中所描述的“世外桃源”稱之為“香格里拉”,同時(shí)也在世界范圍內(nèi)興起了尋找香格里拉的熱潮,洛克探險(xiǎn)時(shí)從木里穿越到貢嘎嶺地區(qū)的這條線路,就是后人所說(shuō)“洛克線”。
想一睹風(fēng)景的人都必須得踏上千百年來(lái)的茶馬古道,徒步深入自然,轉(zhuǎn)三座神山,才能一睹尋常人無(wú)法窺探的瑰麗。由于交通和自然條件所限,洛克線至今沒(méi)有被開(kāi)發(fā),這里是地球上所剩不多的一塊凈土,這里是一塊人類涉足有限的處女地。
“洛克線”,是一條世界級(jí)的精品徒步穿越路線,由木里縣境內(nèi)的水洛鄉(xiāng)起,沿白水河而上,穿越水洛貢嘎,圍繞夏朗多吉、仙乃日、央邁勇三座神山而行,直至進(jìn)入稻城亞丁。沿途景色是由森林、河流、山澗瀑布、湖泊、雪峰組成的高原風(fēng)光,整個(gè)旅程美景不斷,目不暇接。
(圖片來(lái)源網(wǎng)絡(luò))
雖然關(guān)注了好幾年,但是2019年起才提上日程,當(dāng)年各種原因沒(méi)有成行。今年,從6月起,也有幾次機(jī)會(huì)但都未能實(shí)現(xiàn),進(jìn)入8月,各種不利因素輪番出現(xiàn),先是,成都到西昌的火車因塌方中斷,不知何時(shí)能在通行。然后,四川多地8月暴雨塌方不斷,天氣預(yù)報(bào)也看不出何時(shí)能好轉(zhuǎn)。
不過(guò),既然下了決心就盡力去實(shí)現(xiàn)。這條線路出于安全考慮(要讓家人放心),同時(shí)還出于出行成本(比如西昌到水洛鄉(xiāng)需要包車2000多元,穿越需要請(qǐng)向?qū)刻?00元等,一個(gè)人負(fù)擔(dān)會(huì)比較高)需要約上通行驢友。于是,又花了一些時(shí)間在網(wǎng)上約人,總算跟上一個(gè)8月18日西昌會(huì)合的隊(duì)伍,最后確定下來(lái)的有5個(gè)人,重慶2人,杭州1人,洛陽(yáng)1人,加上我,別的沒(méi)多了解,只知道我年紀(jì)最大。
其實(shí),我已經(jīng)好多年沒(méi)有背包穿越了,2018年徒步雨崩,因?yàn)榭梢猿宰≡诖遄永铮裕瑳](méi)有帶露營(yíng)裝備和準(zhǔn)備餐食,相對(duì)而言輕松很多。這次提前準(zhǔn)備,把很久不用的帳篷等裝備拿出來(lái),檢查發(fā)現(xiàn),充氣墊也漏氣了,換成蛋巢。一雙買(mǎi)了幾年的麥樂(lè)徒步鞋沒(méi)用過(guò)也拿出來(lái)用。背包擔(dān)心被馱馬磨壞,用了朋友送的從來(lái)沒(méi)用過(guò)的軍警背包。其他基本上沒(méi)多大問(wèn)題。
8.17 遵義到成都,上午7點(diǎn)過(guò)的火車,一路感覺(jué)天氣都還好,不時(shí)有點(diǎn)太陽(yáng),快到成都時(shí)天陰了下來(lái),但是沒(méi)下雨,心里多少有點(diǎn)安慰。不過(guò)各種資訊傳來(lái)的消息似乎并不樂(lè)觀,四川很多地方仍然是大雨乃至暴雨,各地交通管制,黃色和紅色預(yù)警,家里一直表示很擔(dān)心。
晚上到永輝超市買(mǎi)食品,回來(lái)又遇大雨,心理還真有點(diǎn)不踏實(shí)。和隊(duì)友約的西昌會(huì)合,本來(lái)可以選北門(mén)車站或者茶店子車站,后面有石家莊過(guò)來(lái)一個(gè)隊(duì),說(shuō)她們約了車,8點(diǎn)過(guò)到成都站,想想很方便就確定跟她們包的車走。后來(lái)說(shuō)晚點(diǎn)2小時(shí),也還好。
最后,補(bǔ)充的食品和背包一起稱,足有20公斤。
8.18 第二天早上,最新消息,石家莊隊(duì)火車晚點(diǎn)5小時(shí)多,有點(diǎn)糾結(jié)了。隨后,重慶過(guò)來(lái)的隊(duì)友2人已確定在東站客車站坐11點(diǎn)的班車,所以,爭(zhēng)求幾方意見(jiàn)后我網(wǎng)上訂到11點(diǎn)半客車東站到車,心想到車站改簽到11點(diǎn)和隊(duì)友一起走。
到客車東站改簽窗口,售票員說(shuō)路上塌方交通中段,只能退票,這就尷尬了!重慶2隊(duì)友短褲和猴子也得知消息趕過(guò)來(lái)退票。我聯(lián)絡(luò)一些網(wǎng)約車,這時(shí)都亂喊價(jià),240380400 一個(gè)人不等,短褲在車站門(mén)口聯(lián)絡(luò)到說(shuō)有客車220一人,這時(shí)杭州隊(duì)友丸子也下飛機(jī)趕過(guò)來(lái)了,確定就坐這個(gè)車。一輛車?yán)覀兊匠膳砺犯呒芟旅嬉惠v晉M牌照的大巴車上,50來(lái)個(gè)人湊齊開(kāi)車,這時(shí)明白是黑車但也沒(méi)別的更好辦法,1點(diǎn)過(guò)了才發(fā)車。
出去雖然比較慢天氣也不太好,但還算順利,下午6點(diǎn)來(lái)鐘車到石棉下道,路邊停了好多車,大巴車開(kāi)進(jìn)一停車場(chǎng)說(shuō)交通管制不知道啥時(shí)候能走,通知各自散開(kāi),9點(diǎn)過(guò)來(lái)聽(tīng)消息,如果不行就只有等明天再說(shuō)了。無(wú)奈,先填飽肚子再說(shuō),4個(gè)人轉(zhuǎn)了下找了家順眼的燒烤店撮一頓,好像沒(méi)影響胃口。
8點(diǎn)半回大巴,好消息是說(shuō)往西昌方向可以放行了,壞消息是,司機(jī)清點(diǎn)人數(shù)差4個(gè)人他不敢走,如果這時(shí)不走不知道什么時(shí)候還能走,大寫(xiě)的尷尬!不行,我們選擇報(bào)警,警察來(lái)了解了情況同意讓車走,把沒(méi)來(lái)人的行李帶到西昌讓他們聯(lián)系司機(jī)取行李,車開(kāi)進(jìn)高速我們才松了一口氣,這時(shí)已經(jīng)是晚上9點(diǎn)過(guò)。折騰了一天晚上12點(diǎn)過(guò)終于到達(dá)西昌,下午到西昌到隊(duì)友洛陽(yáng)已取了氣罐,折騰了一整天,5個(gè)人終于聚齊了。丸子說(shuō),好累啊,明天睡到自然醒。
后面,短褲聯(lián)系包車司機(jī),由于錯(cuò)過(guò)晚10點(diǎn)接我們,新的方案是明早5點(diǎn)另一個(gè)車接我們送到木里,再趕包車司機(jī)的車到呷洛村,那里還有自然醒。
8.19 凌晨1點(diǎn)過(guò)才睡覺(jué),早上4點(diǎn)過(guò)就被司機(jī)電話吵醒,起來(lái)收拾東西退房,5點(diǎn)準(zhǔn)時(shí)出發(fā)。睡意朦朧有點(diǎn)難受,天慢慢亮了,霧氣很重,雖然基本沒(méi)下雨了,但還是陰沉沉的,汽車在盤(pán)山路上一會(huì)兒上一會(huì)兒下,遠(yuǎn)處的云在山頂個(gè)山腰環(huán)繞,彎道太多,坐后排的隊(duì)友被甩得暈乎乎的。
路上見(jiàn)到多處塌方,還好都清理開(kāi)了,10點(diǎn)過(guò)到木里換了蘭小軍司機(jī)的長(zhǎng)安面包繼續(xù)往水洛鄉(xiāng)呷洛村進(jìn)發(fā),出木里吃了點(diǎn)東西踏實(shí)一點(diǎn)了。還是一路盤(pán)山道,還是多處塌方,雖然車坐得有點(diǎn)辛苦,但感覺(jué)離今天的目的地越來(lái)越近了,下午,天氣也慢慢亮點(diǎn)了。翻過(guò)一個(gè)大坡,從海拔4000米埡口一直下到3000米,在走了10來(lái)公里小路,下午4點(diǎn)來(lái)鐘終于到達(dá)呷洛村。
這一路從成都算起,足有1000公里多,用了2天時(shí)間,趕車坐車的辛苦很久沒(méi)有過(guò)了。稍作休息我們出門(mén)到村子的寺廟轉(zhuǎn)轉(zhuǎn),希望后面的行程順順利利。5點(diǎn)過(guò)鐘天有點(diǎn)晾開(kāi)了,一點(diǎn)點(diǎn)的白云和藍(lán)天讓我們好開(kāi)心,感覺(jué)明天的好天氣有希望。回到房東家,暖暖的酥油茶和熱騰騰的飯菜讓我們的胃也安心了,早早睡覺(jué)。
自左而右 短褲 司機(jī) 洛陽(yáng) 丸子 猴子 我 一個(gè)老大爺跟著一群年輕人:)
8.20 從呷洛村--菩薩洞--下滿措牛場(chǎng),六小時(shí)左右,17公里,海拔3000米到3700米左右。爽爽的天氣,徒步的好日子。
早上,一壺酥油茶,一盤(pán)奶酪還有才出鍋的青稞餅,吃飽喝足,收拾東西出發(fā)。除了隨身小背包,其他行李都交給了馬夫(正式名稱 解放色空打者次爾他說(shuō)叫依西 我們親切稱為一休哥 我們的馬夫是他夫人)。房東翁丁為我們掛上哈達(dá)和扎西德勒的祝福,我們出發(fā)了。
走一段后回頭看呷洛村 翠綠的村子點(diǎn)綴著彩色的藏式民居,微露的藍(lán)天下白云漂在村子的上面,十分的美麗,經(jīng)歷了兩天的趕路天氣好轉(zhuǎn)讓我們的心情格外愉快,興奮得邊走邊拍照,在埡口上,遠(yuǎn)處的盤(pán)山道,近綠遠(yuǎn)黛的群山 朵朵白云漂在天際,非常動(dòng)人的畫(huà)卷!從埡口下到河邊,我們沿白水河而上。
菩薩洞,好像洞口有點(diǎn)高沒(méi)看到,奔騰而下的河水咆哮著,伴隨舞動(dòng)的經(jīng)幡,我們繼續(xù)逆流而上。前些天太多下雨,有些大樹(shù)倒塌阻斷道路,向?qū)臀覀兎秸系K。
陽(yáng)光透過(guò)森林,藍(lán)天依稀可見(jiàn),空氣格外清新。森林中各種菌類包括林芝,拍一拍就好。后來(lái)還看到好多野韭菜,開(kāi)著美麗的紅色花朵。三點(diǎn)來(lái)鐘到達(dá)今天的營(yíng)地滿措牛場(chǎng),兩邊山溝一塊不大的營(yíng)地,過(guò)一陣,隊(duì)友和石家莊6人隊(duì)也陸續(xù)到了。他們的行程和我們一致。
扎好帳篷一陣雨漂來(lái),但不久之后云開(kāi)霧散,各自埋鍋造飯,好些年沒(méi)做戶外餐了,這次我做的米飯(快熟米),小塊火鍋底料煮的火腿肉加洋蔥和香菇,味道還行,超市買(mǎi)的熟菜,努力讓自己吃飽了。跑后泡了一杯紅茶,很滿足!
夜晚,白水河的聲音加上馱馬的鈴聲不絕于耳,營(yíng)地地面不是很平,雖然不覺(jué)得難受,但久久不能入睡。其實(shí),這也是輕微的高反癥狀。
8.21 下滿措牛場(chǎng)--滿措牛場(chǎng)--藏別牛場(chǎng)--萬(wàn)花池牛場(chǎng),7.8公里 約4個(gè)半小時(shí),一路野地爬升,海拔提升至4200米左右
昨晚沒(méi)下雨,7點(diǎn)過(guò)起來(lái)收拾帳篷行李,煮了一鍋方便面加鹵蛋,吃飽了,天空云霧散開(kāi),8點(diǎn)半左右出發(fā),很長(zhǎng)一段路依然沿白水河而上,道路比昨天難走些,基本上都是馬道,海拔也繼續(xù)上升,風(fēng)景依然養(yǎng)眼,10點(diǎn)過(guò)鐘,上到藏別牛場(chǎng),滿地的紅花,后面是白雪點(diǎn)綴的雜巴拉山,十分美麗!再往前,山腳下,婉延的溪水穿過(guò)牧場(chǎng),牧場(chǎng)里到處是黃色的野花,秏牛和馬兒或悠閑吃草或奔跑嬉戲,婉若人間仙境!
繼續(xù)爬山,中午近1點(diǎn)到達(dá)今天的宿營(yíng)地萬(wàn)花池牛場(chǎng),天氣晴朗,收拾東西后晾曬帳篷睡袋,一休哥給我安排了一間免費(fèi)的牛棚,估計(jì)今晚能睡個(gè)好覺(jué)。
中午,夏諾多吉神山(金剛菩薩)抬頭可見(jiàn),但云霧環(huán)繞在山峰上,我們不停觀看和守候,終于在下午5點(diǎn)來(lái)鐘守得云開(kāi)霧山,得見(jiàn)神山真容,這次進(jìn)山也算非常幸運(yùn)!晚上,一休哥給我們送來(lái)土豆炒臘肉,還有菌菇湯,加上我們的香腸煮成一鍋,我們5人吃得很開(kāi)心,感謝一休哥夫婦對(duì)我們的關(guān)懷。
今天路上,向?qū)н€教會(huì)了我認(rèn)識(shí)當(dāng)歸,他給我挖了一些我也自己挖了一些。
從心開(kāi)始CSS 發(fā)表于 2020-9-23 22:44
算起時(shí)間的話,8.22中午后15:10,我們?cè)谛鹿?chǎng)埡口那里遇到的是樓主你們了,我們是3個(gè)人重裝反穿洛克線
發(fā)自8264手機(jī)版 m.8264.com
是的,我剛好下完坡,你們新果出來(lái)在上坡,我們聊了幾句,重裝反穿,你們好厲害!
又是很精彩的一天,昨晚滿以為會(huì)下雨結(jié)果沒(méi)下,早上,央邁勇出來(lái)露了一下臉就拉上到面巾,我們伴著濃霧往黑湖埡口爬升,雨也下來(lái)了,我這次穿了東麗公司為我們定制的沖鋒衣,靚麗的黃色,我叫它黃金戰(zhàn)袍。雨不大不小正好測(cè)試下新買(mǎi)的沖鋒衣。
海拔4800的黑湖埡口,還是得踹好幾口氣。中間一段長(zhǎng)長(zhǎng)的橫切碎石坡得小心行進(jìn),如果遇上大雨和下雪難度就會(huì)比較大。翻過(guò)埡口霧氣漸散,烏云依然,偶爾也有藍(lán)天一現(xiàn)白云漂過(guò)。過(guò)埡口遠(yuǎn)處可見(jiàn)黑湖,湖如其名黑色的湖水上空時(shí)有云霧,只拍拍照片沒(méi)走近看看。6公里多了往山下走,下面1公里多是非常著名的蝴蝶石,當(dāng)年洛克這張照片成了洛克線的標(biāo)志。
過(guò)一陣隊(duì)友到齊,大家合影,石家莊隊(duì)合向?qū)яR夫我們一齊大合影。蝴蝶石營(yíng)地的花也非常漂亮,配上悠閑吃草的馬兒十分好看。石家莊隊(duì)的馬夫是一個(gè)20多歲的小伙子,即興在蝴蝶石上跳起了藏族舞蹈,非常開(kāi)心。
吃過(guò)路餐繼續(xù)出發(fā),向?qū)Ыo我說(shuō)好路線又讓我先走,爬坡有點(diǎn)小累,但翻下蛇湖埡口卻有幾分驚險(xiǎn),坡度很陡,而且又有石砂,有些路段手腳并用才能應(yīng)對(duì)。下到湖邊,沒(méi)太久到達(dá)蛇湖營(yíng)地。一休哥說(shuō),今天最后一天大家一起吃吧,所以他們辛苦給我們大家做了晚餐,大家都吃得飽飽的。
做飯時(shí),下起了雨,越來(lái)越大,后來(lái)轉(zhuǎn)變成好大的冰雹,好擔(dān)心把帳篷給砸塌了,冰雹停了,地面都鋪上厚厚一層,久久不化。這是央邁勇神山再次露出臉來(lái),十分驚艷!我突然想到是否可以給央邁勇拍個(gè)倒影。于是踩著鋪滿冰雹的小路往山下跑去,400米左右才找到一個(gè)角度能拍到央邁勇的倒影,很神奇的是,兩分鐘后,倒影突然沒(méi)有了,拍不到了,不過(guò)我也很滿足了。很精彩的一天!
黃金戰(zhàn)袍經(jīng)受考驗(yàn),防雨透氣很棒!
前后不到30秒的央邁勇蛇湖倒影,隨后光線變化倒影消失,很神奇!
突如其來(lái)的冰雹,鋪滿地面
8.24 從蛇湖--松多埡口--牛奶海--五色海--洛絨牛場(chǎng)觀光車到?jīng)_古寺 (單程30) 大巴車到景區(qū)大門(mén)(正價(jià)120) 景區(qū)門(mén)票(正價(jià)146) 包車到稻城(每人50) 這些錢(qián)怎么花看各人操作, 沒(méi)有一定答案。
由于景區(qū)修路,找行李多走了5公里,后面又重裝走了3公里,多出了一半行程
昨晚10點(diǎn)下起了雨,雨越下越大伴隨著電閃雷鳴,兩小時(shí)了一直沒(méi)停,扎帳篷的石圍子里沒(méi)有泄水孔全靠自然滲水,所以積水越來(lái)越多,帳篷和睡袋也潮了,雨沒(méi)有停的意思,心里越來(lái)越擔(dān)心。幾經(jīng)猶豫之后收拾背包,抱著睡墊和睡袋跑到30米外的空牛棚里(好在我昨天就已經(jīng)看好),回頭又把丸子也喊了過(guò)來(lái)。
終于安心睡了一晚。天亮了,雨停了,大家收拾好7點(diǎn)半就早早出發(fā),出門(mén)就爬坡翻埡口,陰天霧氣濃濃翻過(guò)4700埡口后進(jìn)入到亞丁景區(qū)。最先看到的是牛奶海,粉藍(lán)色的海子鑲嵌著一圈白色的石子,像高原上到一塊藍(lán)寶石。在往下來(lái)到五色海,平靜的湖面仿佛寶藍(lán)色的緞帶,小伙伴們按捺不住穿越成功的喜悅,在湖邊放肆擺pose拍照。
指點(diǎn)江山
打靶歸來(lái)
逍遙一劍
陶醉其中
執(zhí)鞭在手
一直往下走到洛絨牛場(chǎng),由于溝通問(wèn)題,為了找到行李在棧道上來(lái)回走了5公里,又因?yàn)榫皡^(qū)修路,再背著大包走了3公里(洛絨牛場(chǎng)7號(hào)乘車點(diǎn)走到5號(hào)乘車點(diǎn)),坐觀光車景區(qū)大巴車離開(kāi)景區(qū),又包車到稻城(30+120+50)。終于,住進(jìn)了酒店睡到舒服的床上。晚上,和小伙伴們共聚一席,舉杯同慶。
此時(shí),亞丁景區(qū)對(duì)我已經(jīng)幾無(wú)興趣
隱約可見(jiàn)的仙乃日
順便說(shuō)下回程,3個(gè)小伙伴分別稻城飛重慶和杭州,我和洛陽(yáng)稻城大巴到成都,早上七點(diǎn)半出發(fā)晚9點(diǎn)半到成都新南門(mén)車站,除去新都橋堵車2小時(shí),坐車12小時(shí)。
也許,正是進(jìn)出線路的不易,對(duì)季節(jié)也有較高要求,洛克線沒(méi)有成為大眾景點(diǎn),對(duì)于戶外人算得上是好事。當(dāng)然,5天徒步,其中3天一直在海拔4000以上行走,也是讓部分人放棄的原因。相對(duì)而言,如果不遇上極端天氣,線路的難度和強(qiáng)度并不算很高,有一定戶外經(jīng)歷的驢友都能勝任。這些是我個(gè)人的看法。
費(fèi)用方面,我個(gè)人大約2800元左右,包括遵義到成都來(lái)回火車,成都到西昌汽車,西昌到呷洛村包車,稻城到成都汽車,以及分擔(dān)的向?qū)ВW馬,餐費(fèi),亞丁景區(qū)費(fèi)用,等等,但是,費(fèi)用這東西每個(gè)人處理方式不同,消費(fèi)不同,不好作何推薦,也就沒(méi)必要詳細(xì)說(shuō)明。
非常感謝這一路對(duì)我們照顧有加的一休哥夫婦!
——轉(zhuǎn)自8264,作者:吳楓
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。