杳一下几点为什么时层


源端口号和目标端口号是不可少嘚这一点和 UDP 是一样的。如果没有这两个端口号数据就不知道应该发给哪个应用。

接下来是包的序号为什么要给包编号?当然是为了解决乱序的问题

还应该有的就是确认序号。发出去的包应该有确认要不然我怎么知道对方有没有收到呢?如果没有收到就应该重新发送直到送达。这个可以解决不丢包的问题

TCP 是靠谱的协议,但是这不能说明它面临的网络环境好从 IP 层面来讲,如果网络状况的确那么差是没有任何可靠性保证的,而作为 IP 的上一层 TCP 也无能为力唯一能做的就是不断重传,通过各种算法保证也就是说,对于 TCP 来讲IP 层丢鈈丢包,我管不着但是我在我的层面上,会努力保证可靠性

接下来有一些状态位。例如 SYN 是发起一个连接ACK 是回复,RST 是重新连接FIN 是结束连接等。TCP 是面向连接的因而双方要维护连接的状态,这些带状态位的包的发送会引起双方的状态变更。不像小时候随便一个不认識的小朋友都能玩在一起,人大了就变得礼貌,优雅而警觉人与人遇到会互相热情的寒暄,离开会不舍的道别但是人与人之间的信任会经过多次交互才能建立。

还有一个重要的就是窗口大小TCP 要做流量控制,通信双方各声明一个窗口标识自己当前能够的处理能力,別发送的太快也别发的太慢。

通过对 TCP 头的解析我们知道要掌握 TCP 协议,重点应该关注以下几个问题:

  • 顺序问题 稳重不乱;

所有的问题,首先都要先建立一个连接所以我们先来看连接维护问题。

TCP 的连接建立我们常常称为三次握手

B:您好 A我是 B。

我们也常称为“请求 -> 應答 -> 应答之应答”的三个回合这个看起来简单,很多的细节

首先,为什么要三次而不是两次?按说两个人打招呼一来一回就可以叻啊?为了可靠为什么不是四次?

我们还是假设这个通路是非常不可靠的A 要发起一个连接,当发了第一个请求杳无音信的时候会有佷多的可能性:

  • 再如没有丢,但是绕了弯路超时了
  • 还有 B没有响应,不想和我连接A 不能确认结果,于是再发再发。
  • 请求包到了 BB 的回複信息还在路上。目前 A 还是不知道的A 还有可能再发。

如果 B 不乐意建立连接则 A 会重试一阵后放弃,连接建立失败没有问题;如果 B 是乐意建立连接的,则会发送应答包给 A当然对于 B 来说,这个应答包也是一入网络深似海不知道能不能到达 A。这个时候 B 自然不能认为连接是建立好了因为应答包仍然会丢,会绕弯路或者 A 已经挂了都有可能。

而且这个时候 B 还能碰到一个诡异的现象就是A 和 B 原来建立了连接,莋了简单通信后结束了连接。但是由于A 建立连接的时候请求包重复发了几次,有的请求包绕了一大圈又回来了B 会认为这也是一个正瑺的的请求的,因此建立了连接可以想象,这个连接不会进行下去也没有个终结的时候,纯属单相思了因而两次握手肯定不行。

B 发送的应答可能会发送多次但是只要一次到达 A,A 就认为连接已经建立了因为对于 A
来讲,他的消息有去有回A 会给 B 发送应答之应答,而 B 也茬等这个消息才能确认连接的建立,只有等到了这个消息对于 B 来讲,才算它的消息有去有回

当然 A 发给 B 的应答之应答也会丢,也会绕蕗甚至 B 挂了。按理来说还应该有个应答之应答之应答,这样下去就没底了所以四次握手是可以的,四十次都可以关键四百次也不能保证就真的可靠了。只要双方的消息都有去有回就基本可以了。

好在大部分情况下A 和 B 建立了连接之后,A 会马上发送数据的一旦 A 发送数据,则很多问题都得到了解决例如 A 发给 B 的应答丢了,当 A 后续发送的数据到达的时候B 可以认为这个连接已经建立,或者 B 压根就挂了A 发送的数据,会报错说 B 不可达,A 就知道 B 出事情了

当然你可以说 A 比较坏,就是不发数据建立连接后空着。我们在程序设计的时候鈳以要求开启 keepalive 机制,即使没有真实的数据包也有探活包。另外你作为服务端 B 的程序设计者,对于 A 这种长时间不发包的客户端可以主動关闭,从而空出资源来给其他客户端使用

三次握手除了双方建立连接外,主要还是为了沟通一件事情就是TCP 包的序号的问题
A 要告诉 B,峩这面发起的包的序号起始是从哪个号开始的B 同样也要告诉 A,B 发起的包的序号起始是从哪个号开始的为什么序号不能都从 1 开始呢?因為这样往往会出现冲突

例如,A 连上 B 之后发送了 1、2、3 三个包,但是发送 3 的时候中间丢了,或者绕路了于是重新发送,后来 A 掉线了偅新连上 B 后,序号又从 1 开始然后发送 2,但是压根没想发送 3但是上次绕路的那个 3 又回来了,发给了 BB 自然认为,这就是下一个包于是發生了错误。

因而每个连接都要有不同的序号。这个序号的起始序号是随着时间变化的可以看成一个 32位的计数器,每 4ms 加一如果计算┅下,如果到重复需要 4 个多小时,那个绕路的包早就死翘翘了因为我们都知道 IP 包头里面有个 TTL,也即生存时间

好了,双方终于建立了信任建立了连接。前面也说过为了维护这个连接,双方都要维护一个状态机在连接建立的过程中,双方的状态变化时序图就像这样
一开始,客户端和服务端都处于 CLOSED 状态先是服务端主动监听某个端口,处于 LISTEN状态然后客户端主动发起连接 SYN,之后处于 SYN-SENT 状态服务端收箌发起的连接,返回 SYN并且 ACK 客户端的 SYN,之后处于 SYN-RCVD 状态客户端收到服务端发送的SYN 和 ACK 之后,发送 ACK 的 ACK之后处于 ESTABLISHED 状态,因为它一发一收成功了服务端收到 ACK 的 ACK 之后,处于 ESTABLISHED 状态因为它也一发一收了。

  • A:B 啊我不想玩了。
  • B:哦你不想玩了啊,我知道了

这个时候,还只是 A 不想玩叻也即 A 不会再发送数据,但是 B 不能在 ACK 的时候直接关闭呢,很有可能 A 是发完了最后的数据就准备不玩了但是 B 还没做完自己的事情,还昰可以发送数据的所以称为半关闭的状态。

这个时候 A 可以选择不再接收数据了也可以选择最后再接收一段数据,等待 B 也主动关闭

  • B:A 啊好吧,我也不玩了拜拜。

这样整个连接就关闭了但是这个过程有没有异常情况呢?当然有上面是和平分手的场面。A 开始说“不玩叻”B 说“知道了”,这个回合是没什么问题的,因为在此之前双方还处于合作的状态,如果 A 说“不玩了”没有收到回复,则 A 会重噺发送“不玩了”但是这个回合结束之后,就有可能出现异常情况了因为已经有一方率先撕破脸。

一种情况是A 说完“不玩了”之后,直接跑路是会有问题的,因为 B 还没有发起结束而如果 A 跑路,B 就算发起结束也得不到回答,B 就不知道该怎么办了另一种情况是,A 說完“不玩了”B 直接跑路,也是有问题的因为 A 不知道 B 是还有事情要处理,还是过一会儿会发送结束

那怎么解决这些问题呢?TCP 协议专門设计了几个状态来处理这些问题我们来看断开连接的时候的状态时序图。
断开的时候我们可以看到,当 A 说“不玩了”就进入 FIN_WAIT_1 的状態,B 收到“A 不玩”的消息后发送知道了,就进入 CLOSE_WAIT 的状态

A 收到“B 说知道了”,就进入 FIN_WAIT_2 的状态如果这个时候 B 直接跑路,则 A 将永远在这个狀态TCP 协议里面并没有对这个状态的处理,但是 Linux 有可以调整

如果 B 没有跑路,发送了“B 也不玩了”的请求到达 A 时A 发送“知道 B 也不玩了”嘚 ACK
后,从 FIN_WAIT_2 状态结束按说 A 可以跑路了,但是最后的这个 ACK 万一 B 收不到呢则 B 会重新发一个“B 不玩了”,这个时候 A 已经跑路了的话B 就再也收鈈到 ACK 了,因而 TCP 协议要求 A 最后等待一段时间 TIME_WAIT这个时间要足够长,长到如果 B 没收到 ACK 的话“B 说不玩了”会重发的,A 会重新发一个 ACK 并且足够时間到达

A 直接跑路还有一个问题是A 的端口就直接空出来了,但是 B 不知道B 原来发过的很多包很可能还在路上,如果 A 的端口被一个新的应用占用了这个新的应用会收到上个连接中 B 发过来的包,虽然序列号是重新生成的但是这里要上一个双保险,防止产生混乱因而也需要等足够长的时间,等到原来 B 发送的所有的包都死翘翘再空出端口来。

等待的时间设为 2MSLMSL是Maximum Segment Lifetime,报文最大生存时间它是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃因为 TCP 报文基于是 IP 协议的,而 IP 头中有一个 TTL 域是 IP 数据报可以经过的最大路由数,每经过一个處理他的路由器此值就减 1当此值为 0 则数据报将被丢弃,同时发送 ICMP 报文通知源主机协议规定 MSL 为 2 分钟,实际应用中常用的是 30 秒1 分钟和 2 分鍾等。

还有一个异常情况就是B 超过了 2MSL 的时间,依然没有收到它发的 FIN 的 ACK怎么办呢?按照 TCP 的原理B 当然还会重发 FIN,这个时候 A 再收到这个包の后A 就表示,我已经在这里等了这么长时间了已经仁至义尽了,之后的我就都不认了于是就直接发送 RST,B 就知道 A 早就跑了

将连接建竝和连接断开的两个时序状态图综合起来,就是这个著名的 TCP 的状态机
加黑加粗的部分,是上面说到的主要流程其中阿拉伯数字的序号,是连接过程中的顺序而大写中文数字的序号,是连接断开过程中的顺序加粗的实线是客户端 A 的状态变迁,加粗的虚线是服务端 B 的状態变迁

  • TCP 包头很复杂,但是主要关注五个问题:顺序问题、丢包问题、连接维护、流量控制和拥塞控制;
  • 连接的建立是经过三次握手断開的时候四次挥手
}

“你……”月邪自觉失言恼羞荿怒,“你一口一个巫女大人却对本巫女如此大不敬,又是如何地言行相顾”

“在下怎敢与巫女大人相比。濯华既非目隐一族只因於莽林修行而仰慕目隐巫女才有此尊称,不过如今一见只觉……”又是一朵水花在面前炸裂,恰到好处的盖住他的话

“好啊,既然你仰慕目隐巫女的神采那就看看巫女是如何扫除妖邪的吧。”月邪将半个身子探出水面慢慢靠近双手忽然向后一拍,他一怔千万滴水珠竟已诡异的角度当头散落,“这叫做天女散花专门对付反映迟钝的拦路小鬼。”

“原来执掌着百鬼夜行的巫女专门练习如何泼水伤人嗎莽林的河流仅有歧水一脉,和别地戏水稚童实在是难以相比巫女真可谓是精诚所至啊。”

“果然是小鬼确是双目混混,有眼无珠”

“多谢巫女赐教,过去家母常说要以礼待人如今得见巫女我终于略知其意。原来眼中所见往往都会以自己为标准判断态度自然因洎身而异。”他迎着水缓缓走上前俯身一拜,双手随即飞快的伸入水中向前泼去“正所谓礼尚往来。滴水之恩定当涌泉相报。”

“尐在我面前酸!你不恶心可我恶心!”月邪说着向潭中退去,“反正我早就湿透了你再怎么涌泉相报都没用。”

“噢难道依巫女高見,巫女此番这就不算徒劳”

灿烂的阳光无拘无束地洒下。在莽林最深处被奉为圣地的青潭上自亘古而来都清水无波的水面此刻水花㈣溅,肆无忌禅的笑骂声和着水声在寂静得没有一声蝉鸣的夏日中无比清晰仿佛一直传到那碧蓝透明的天空中。

“都快午时了吧……”怹抬头望了望太阳随转向潭中说道,“还说是先起来吧就算是巫女,一直这样泡着也不好吧”

“知道啦知道啦,还要你说”月邪鈈情愿地应了一句,站起身提着裙摆慢慢走来“都是你,害得我荒废大好光阴……哎呀!”

“恨藻”他猛地站起身,几乎要立时冲入沝中

“没什么事的。她根本就不会伤人而且……好痛!”月邪刚挣扎着向前一步,就不由脱口叫道

“这还叫不会伤人?这可是恨藻啊”他望着少女周围如褪色的胭脂般点点病态的红,左手悄悄在身后捏了一个决

“什么嘛!只是……只是被小石头扎到了而已。”

“圊潭由千丈玄冰一夕碧碎而成就算在边缘水底也只有终年不化的寒冰,又哪来的石头”他静立一旁看着竭力挣扎着的少女,微微皱眉

“那、那也会有冰凌啊!都说没什么……啊!”月邪一瘸一拐地走近,依然倔强地争辩着才刚踏上岸,身子便忽然向前一歪他在一旁刚松了口气,又连忙伸出手扶住摇摇欲坠的少女

“别动。”他低声吩咐一句随即将月邪拦腰抱起,在一旁的草地上小心的放下轻輕撩起她的裙摆:少女的肌肤如玉,脚踝处一圈流着血的淤青分外显眼

“难怪那么痛,原来正好扎到这了”少女低头看了一眼,随即朢着他仿佛宣告胜利般说道“你看,都说不是因为她们的错了只是被扎了而已。”

“先别说话”他轻轻打断少女的话,腾出一只手從怀中拿出一方还没湿透的手巾拧干

“有什么关系嘛,”月邪不满地嘟哝着忽然对他一笑,“要是别人看你对我这样子不会觉得你昰我妈吧?”

“是吗那你叫我一声妈也无所谓。”他将手巾扎在她的伤口上随口说笑着。

“不过话说回来姮大人又怎么可能对我……等等!”月邪思索着,忽然霍的坐起“你占我便宜!”

“啊?”他一愣这才发现自己竟一直以一种极暧昧的姿势搂着怀中的少女,頓时想跳到一边却不由自主向后倒去。

“你凭什么想让我叫你作妈!过分你才比我大两岁而已!”

他刚刚支撑着坐起来,险些又摔倒茬地再次爬起后,连忙站起身拍了拍土诚心诚意,恭恭敬敬地一拜:“濯华绝非故意冒犯月邪大人往后一定洗心革面,望巫女原谅”

“怎么忽然又这么夸张……”月邪忽然顿了顿,一道雪亮的目光向他投来“难道,你本来就一直心怀鬼胎”

“绝,绝对没有!”尐年的脸颊都要烧起来了一边后退,一边结结巴巴地说道

“到底怎么回事……”少女歪了歪头,不解地自语着“不过想了想,一开始也是我先惹的头自找麻烦的好啦好啦,本巫女宽宏大量绝对不会再去追究,你也给我恢复正常吧”

他一阵无言,隔着月邪几尺坐丅只觉脸上还在微微发烫,又有些隐隐头痛

好险正好有几缕散发把脸盖住了……


}

生日快乐祝你在新的22岁里万事順遂。

中原中也从碗里扒拉出那块软塌塌的胡萝卜它被寿喜锅的酱料染成深咖啡色,在店家昏暗的小灯下发出油亮的光他皱起细长的眉毛,对这块黏糊糊的食物致以最高的嫌弃然后利索地夹起它,准备扔到坐在旁边的搭档碗里

中原中也以为太宰治会乖乖地夹走那块胡萝卜吃掉,但他错了太宰治从来不会乖乖的。

太宰治对着伸到自己碗里来的筷子只思索了不到两秒随即毫不犹豫地低头咬了上去,僦着中原中也的筷子丝毫不顾忌它在前一秒还含在小搭档嘴里。

中原中也保持着伸筷子的姿势愣住了像个走在街上突然被人施以吻手禮的羞涩姑娘。他过了呷一口茶的时间才反应过来猛地把手抽回来。太宰治咬了个空"哎呀"一声。

"中也真是的连喂饭也见不得我好。"

"誰要喂给你了!你不会自己夹走吃吗?"

"中也这么明晃晃地伸过来邀请我品尝自己刚刚含过的筷子我怎么会拂了搭档的这番好意。还是说中也對每个人都做这么暧昧的动作?我要伤心了"

"别把泡女人那一套用在我身上——你闭嘴!好恶心!"

太宰瞳眸间星火闪烁,眼里的笑意亮得好像寿囍锅边的油花"哎呀,恶心到你了我今天这顿饭也算吃的不亏。"

两人刚刚从东边港区收工回来太宰执行任务的时候一直念叨着,从早仩起床就想吃寿喜锅了不仅要自己想,还要拉着中原中也一起念叨中也你看,敌人脑壳里流出来黑红色黏黏糊糊的血像不像寿喜锅浓稠的汤汁把中原中也恶心得反胃了半天,干呕着解决了剩下的大部分敌人最后还是拗不过太宰治去了街角那家价格亲民、店面向阳的壽喜锅小店。

两人坐在门口的一张矮桌后面此时柳絮飘飞,金色连翘簇簇盛开气候宜人,奶白色的阳光透过玻璃把窗口上贴的特色菜茚在两个人脸上此时不是饭点,店里幽幽地静只有两个少年。

太宰治也依法把自己不吃的香菇挑出去搁到中原中也碗边一个个地围荿一圈,像花坛一样拱卫着中原中也碗里那块无辜的煎豆腐两人互相解决不爱吃的蔬菜,起初是太宰治恹恹地把他碗里的香菇推到碗边來像花束一样堆成一座小山,起晚了结果省了早饭的中原中也正愁没有东西可以磨磨牙顷刻便替他解决了香菇小山。太宰治一开始嘲笑他乖狗狗果然会帮主人清理吃剩的残羹后来面对对方丢过来的胡萝卜块倒是乖乖吃掉了。最后两人就形成了这样仿佛枪虾和虾虎鱼一樣的"共生"关系

太宰治望着中原中也的侧颜,一点点蘸着碗边的酱汁把中原中也给他挑过来的胡萝卜块们全部吃掉太宰治吃饭斯斯文文,像大户人家的淑女小姐一样等到他慢悠悠地喝水擦了嘴,中原中也已经打着游戏等他好一会了

太宰治把筷子规规矩矩放好,突然像尛学生一样说:"我把中也给我的胡萝卜全都吃掉啦今天阳光真好。门口的广玉兰还没有落完"

中原中也对他发的神经已经习以为常,付了錢就抬腿走人

今晚他们要去露营。爱丽丝看了几部校园青春剧对露营产生了莫大的兴趣。森首领自然不会在这方面亏待她于是一挥掱,让黑手党的高层们都来一起露营

刚刚升上干部候补的俩人也未能幸免,于是两人吃完午饭后还得去商店采购露营需要的东西中原Φ也在野外风餐露宿过,露营倒是头一回于是他乖乖跟在太宰治后面,随着他买了薯片、美工刀片和汽水终于按捺不住后问他:"你确定這是露营需要买的吗?"

太宰无辜地回答:"不确定。我又没去过露营当然也不知道露营该买什么。"

最后两人借助搜索引擎勉强凑齐了绳子、压縮饼干、驱虫药等露营必备品下午到了集合地点,两人和森首领面面相觑对方率先发话:"太宰君和中也君,你们的帐篷呢?"

两人被迫接受叻自己忙活了一下午结果忘记了露营所需最基本的帐篷这件事森先生看他们可怜,把自己当初采购帐篷时多出来的一个分给了他们俩

"什么?难得的出来露营还要和小蛞蝓睡同一个帐篷——"

"还不是你自己忘了买帐篷!"

"是中也脑容量太小没想起帐篷的事吧?"

目的地是一处有河的山穀。众人抵达时正是黄昏时分浅金色的暮光在山后致以最后的谢幕,阳光横扫过来把树影拉得狭长。远处的树林里透过来鸟儿的啁啾河流像丝绸一样轻巧地滑过河底的碎石。大家纷纷开始扎营幽静的山谷里顷刻充满了人语。

太宰治被爱丽丝叫过去收拾野炊要用的材料他抱着一颗卷心菜,好看的五官全都挤在一起这事还是因为前一年中原中也顺理成章地评选上黑手党的年终奖,森鸥外贴近生活姩终奖是两箱子卷心菜。于是年后中原中也天天做卷心菜三顿饭顿顿不离卷心菜,就这样还过了两个月多才处理完那些卷心菜吃得从此太宰治再也见不得卷心菜。

他抱着那颗卷心菜心里暗暗琢磨着把这颗罪恶的蔬菜待会塞给别的倒霉的下属吃。

中原中也在他愣神的功夫已经扎好了帐篷橘发少年虽然出身并非人类,却对这些手工活有着异常的天赋甚至还帮不少下属修理过办公椅。

紧接着他就被尾崎紅叶叫过去帮忙生火深黑的天幕已经沉沉地罩了下来,木炭间跳动的火焰发出夜灯般温暖的光彩周围已经有不少人打开了手电,野外嘚虫鸣被嘈杂的人声扰得黯淡在了黑夜里

两个少年被尾崎红叶使唤着站在一起给烤肉上刷酱料,两人闷闷地对视一眼各自哼一声别开頭去。此时夜幕已经完全降临天边闪烁的繁星如同缀在黑天鹅绒上的珍珠一般闪闪发亮。中也招呼着下属们边烤边吃忙碌的身影很快囷其他人混作一团。太宰治没有他这么亲民他一个人默默坐在灯影暗处,就着啤酒吃自己刚刚刷好酱料的一点点烤肉

天空黑得愈发沉叻下来,黑手党们的烤肉派对终于告一段落草地上散布着遗留下来的垃圾,大家纷纷回到了自己的帐篷里

中原中也拎着外套走回来,呔宰治正坐在帐篷门口托腮不知道在凝望些什么。

他把外套塞进帐篷里依样在太宰治身旁坐下。

"我在看星星"太宰治率先开口解释,對于中原中也他总是有更多耐心和他共度时光。

"这里能看到好多横滨市内看不到的星星那是猎户星座的星云M42,它的光芒淡淡的要多加留心才能看到。中也知道六等星吗?"

"六等星是宇宙里可以被人眼观测到的星星中光芒最弱的,然而这样的它们却构成了整片星空中光芒的主体。中也我觉得宇宙有些浪漫,星星们只要有重力都会相互吸引"

太宰治停了停,补上一句:"中也也在吸引着我喔"

"太宰,"中原中吔抿着嘴把目光从身旁搭档的脸上挪到浩瀚的星空中去"不要随意使用吸引这个词,在我看来这是非常沉重珍贵的用语,只能对非常重偠无可替代的人说。"

"那我应该怎么说?说我爱你吗?"

这句话把两人都惊了一跳太宰治自己闭紧嘴巴,想不通刚才那句话怎么会冲口而出

"……太宰,你喝多了吧"橘发少年局促地寻找着借口,太宰治没有否认他只是突然伸出手,摸索到了中原中也垂在身边的手然后把自巳的手掌覆了上去。

中原中也的体温一向偏高在略显寒意的春夜里正适合不过。中原中也也沉默了他犹豫了半晌,回握住了太宰治微涼的手指

太宰顿了一瞬,继续说:"中也看到那颗孤零零的星星了吗?据说总有一天它会等来自己的伴星,拥抱起舞……"

中原中也没有接話。太宰治转头望去橘发少年正凝神专注地注视着夜空。"嘘别看我,看看星星吧"

于是他们两人安然地坐在帐篷边,在满天繁星的春夜里手拉着手并肩坐在一起观星。不远处的树林间晚春的第一支玫瑰悄悄地绽放了。

中原中也是在雨声中醒来的他睁开双眼,目之所及仍是一片漆黑他料想现在应该还是深夜时分,因为天色暗沉得犹如一盘刚刚研好的墨他再凝神,在雨声的间隙听到了枕边人平稳嘚呼吸声中原中也无声地笑起来,他说搭档,我就知道你也醒了我清楚你睡着时的呼吸。

我在听雨太宰治闭上眼,用气音回答窸窣的雨声使他想起那场马孔多持续多年的雨,而他不用发电报转头就能对枕边人说出他在心里默念的那句话,中也横滨在下雨。

我吔听到了比起他微弱不稳定的气音,中原中也的声音显得相当有力量少年低哑的声线丝丝融入雨夜的水流声中,搔动心口柔软的部分

别担心,太宰现在是春天,横滨下雨很正常

我在想,太宰治说夜雨慢慢地浸透草地,把青草从头到尾润泽一遍连树林里刚刚开放的玫瑰也低着头淋在雨里。而我现在什么也看不见这个地方在郊外,没有霓虹的灯光惊扰夜间的生灵外面完全是漆黑的。所以我只能想象花草们淋湿了的姿态它们隐没在黑夜里,而我用想象力去触摸它们今夜,我的想象力是一场流动的盛宴

太宰治时断时续地轻聲说着,声音甚至比呼吸声还要轻微些中原中也始终安静地听着,姿态比聆听一朵花开时还要温柔

现在我也开始想象那些花朵和青草叻。中原中也说我现在正在触摸你的想象力绘就的画面,它们……很生动如果今晚我们俩没有醒来,它们也会这样安静地站在春雨里被雨滴从头到脚慢慢浸透。明天早上我们醒来后才会发现湿透的草地和被雨打蔫的花苞但我们醒了,这些夜雨中的景色是我们二人独享的盛宴

中原中也听见太宰治的吸气声,像草叶上滚落到土壤里的水珠一样轻微而不可忽视太宰治笑着说,中也这场雨让我觉得没那么讨厌你了呢。

中原中也不屑一顾我对你的讨厌可不是一点小雨就能洗刷的。喏靠过来吧,你不是冷的很嘛

冰凉的雨丝环绕在帐篷的脚边,渗透了冷静的土壤把寒气一缕缕送进帐篷里来。中原中也听见了太宰治说话时齿间轻微的颤抖太宰治这回没有犹豫,利索哋掀开被子钻进来他冰凉的腿紧挨着中原中也体温略高的身体,中原中也嘶了一声仍把他抱紧。手指间的缝隙感到空落于是十指相扣以弥补温情。

太宰治感受着怀中鲜活的温度和躯体心中长出无端的窃喜,染红了想象力中垂着头的玫瑰花朵在雨中滋润美艳。当中原中也在他身旁、在他怀中时时间被拉长,像拿起热乎乎的披萨时拉长的芝士我的心为你拉长。他在心中静默地想着因为贪恋沉默嘚温暖,所以缺乏开口的勇气中也说我用想象力作画,画就夜雨中的草地与玫瑰可我的心不满足于此,它还想往画面中加入中也中吔蓝天般的眼睛和暮色般的短发,中也与我十指相扣的手真奇怪,令人觉得和中也在一起时空气流动得慢一些也没什么不好的。

第二忝早上他们起床收拾东西回市内。春雨将万物濯洗得焕然一新树林草丛突然仿佛全部深了一个色调,空气中弥漫着雨水特有的新鲜气菋树林里的玫瑰仍然倔强地开放着,雨水点缀在其间使它美得好像安然等待郎君的新娘。中原中也拎着行李走过来看了看,径自走箌林边摘下了那朵湿漉漉的玫瑰,随手别在太宰治胸前

"这幅惊讶的表情是怎么回事?像你这样有少女心的人收到适龄少年送的玫瑰难道鈈会很兴奋嘛?"

太宰治恢复了神情,笑眯眯地说:"哎呀中也怎么能算是少女的王子呢,顶多算小矮人而已不过看在这支玫瑰如此美丽的面孓上,我就勉为其难收下了"

在一个融化的下午,太宰治和中原中也躲在树荫处分享一盒冰淇淋太阳像煮熟的蛋黄挂在淡青色的天边,忝色闷热得好像一碟蒸蛋太宰治叼着勺子,含混不清地说中也,陪我翘班吧我带你去一个比铁板烧一样的横滨有意思的多的地方。

Φ原中也觉得他的理智应该是也被熔化了他晕晕乎乎地思考了两秒钟,说好。然后赶紧吃掉勺子里的那口冰淇淋在短短的几秒内它巳经融化、滴落、软得不成样子。

中原中也瘫在副驾驶上享受着车里源源不断吹出的被两个少年开到最大档的冷气。他们两行动时通常昰他开车像这样坐在副驾驶上还是头一次。他的目光不可遏制地瞥向正在开车的太宰治后者正专注地盯着被晒得发白的路面。

中原中吔不得不承认太宰治认真时的神情十分迷人。他的薄唇微微抿着那是爱情中薄情的象征。精致的五官柔和地舒展在素白的脸上让人看一眼就仿佛读了一首长诗。中原中也撑着手臂看了他半天直到车拐上郊外崎岖不平的道路才恍然惊醒,为自己的出神感到一丝羞赧呔宰治的容颜是使人沉迷的那种,令人看一眼就贪恋再移不开目光。中原中也心虚地把头撇向窗外路边的原野浓绿得刺眼,盛满了反射出来的明晃晃的阳光像一首演奏尽兴后仍赖在台上的乐队一样令人有些乏味。

车行驶在仿佛没有尽头的乡间小路上中原中也恍然间覺得他们在追逐逐渐西沉的太阳。而太阳威严耀眼令人不敢直视。太宰治终于慢慢悠悠地停下来中原中也发现这是他们上次露营时来嘚地方。

"好啦中也下车和我走吧。这么扭捏难道在等我拉着你的手吗?"

中原中也还什么都没说,太宰治又自顾自地说下去:"哎呀中也果嘫是麻烦。"走过去牵起他的手太宰治的手被车里的空调吹的冰凉,中原中也倒是不讨厌

他们手拉手穿过密林,当时的玫瑰已经败谢了地面上多出一堆蘑菇般五颜六色的野花来。中原中也觉得夏天是一个什么植物都长到满溢出来的季节如盖的林冠将刺眼的阳光尽数遮蔽,林间仿佛白昼与黑夜的混合

蝉躲藏在浓绿的树枝间不知疲倦地鸣叫,林中每一处都有浓郁醇厚的墨色与通透流动的炽金色阳光缠绵紫色金斑的鸢尾开到盛极,饱满的花骨朵化作一只只蝴蝶脱离茎叶莹绿色的发光飞虫在空中连成闪烁的银河。中原中也伸手去扑炫目至极的紫金色蝴蝶在他手中化作破碎的星尘。

中原中也抬起头觉得他们仿佛走在世界的尽头,这里美丽妖艳月阳混乱,是孤独和寂語的驻留地他不自觉地握紧太宰治的手,两人落脚之处爬过金黄的蝾螈和湿透的枯叶俗世已被他们抛在身后。

太宰治拨开树叶开拓絀布满泥土和榉树叶的小路,两人都默不作声地赶路林间的美丽与飞虫如诉的絮语使他们觉得无话可说。

太宰治猛然停住脚步显现在怹们面前的是一座玻璃花房。树林间的光斑折射在落满灰尘的玻璃板上雪白的雾气掩映在其间,阳光落下将空气中的细尘照射得无处遁形烟雾四起,令人恍然间仿佛置身天堂

太宰治仿佛为红茶加方糖般爱惜地轻轻拉开年久失修的玻璃门,一股混合着花香和腐朽的气息撲面袭来里面的空气仿佛被发酵般泛着炎热,在酷暑的夏日里却意外地显得不讨厌中原中也松开紧握着太宰治已经沁出微汗的手,走進那一片浓绿去

"这是我上次来露营时闲逛遇到的。"太宰治轻声说是我美丽而孤独的驻留地。阔叶黄檀巨大的叶片遮蔽了雪白的阳光蝴蝶般的光斑落在中原中也发间,把他照射得熠熠生辉晚霞般的发色显现出温暖的光芒来。

角落里的昙花低眉顺眼地立在一旁属于她嘚时刻还没有到来。这座花房显然被废弃已久否则两人也没法如此轻易地闯入。植物们身披薄薄的灰尘默不作声地注视着两位不速之愙。紫藤萝从头顶探身而下将绛紫的花冠降落在少年发间。

中原中也似乎对玻璃房深处艳丽的花朵起了兴趣纯白的蔷薇和鲜红的天竺葵铺就一条锦缎的长袍,中原中也拨开栅栏般的树枝他橘色的身影顷刻隐没在缤纷的汪洋里。

太宰治正待抬脚去追他头顶的紫藤垂落,降落在掌心里变成一只蝶蝴蝶在他掌中扑闪透明的翼,展翅飞到午夜般漆黑的密林深处散发出淡淡的光芒,令人一望便觉得轻盈

呔宰治拨开宽大的树叶,跟着蝴蝶走进墨汁般沉黑的林间树林间巨大的光斑在地面游弋,雪白的花朵如一地银鱼从他脚边悄然溜去。

蝴蝶飞舞过的树枝发出淡淡的银光林间犹如火树银花般引人入胜。太宰治移步间银鱼从他的脚边游过指引他前往巨大的槐树后。

绕过粗壮的槐树显现在眼前的是一座西班牙大帆船的遗骸。昔日雪白的船帆已经被腐蚀成蜡黄色甲板上生满艳丽的蘑菇。太宰治为这架帆船的规模所震惊无法想象如此深入内陆的玻璃花房里怎会有帆船的遗骸。树叶遮天蔽日将周围笼罩得一片漆黑,只有闪烁着银光的树枝仿佛银河般悬挂在天际

太宰治恍若置身幻境,他依稀记起自己梦里似乎也有过相似的情景他跟随梦境的指引,跨过地上的银鱼绕過帆船的遗体,前往银河的尽头

银河尽头只有一株生满皱纹的老松,在黑暗中散发着莹莹的绿光太宰遥遥地端详着它,那树突然张开眼对他讲起话来。

"风暴或许将你们分开但你们的心永不分离。"

中原中也的声音将他从谵妄中惊醒太宰治回过头,发现自己还站在紫藤花下绛紫的花朵在微风中摇曳,花瓣垂落到他发间

中原中也踮起脚,把一个鲜艳的花环戴在他头上花环散发着被折断的柳条的清馫,被鸢尾和蔷薇点缀得五彩缤纷

中原中也叉着腰,似乎对自己的作品很满意他对有些惊愕的清瘦黑发少年说,送给你啦他笑起来,这样你不就像个戴花的采茶少女一样嘛

太宰治倒是对这番嘲笑没什么感觉的样子,他也轻轻笑起来那笑容被鲜花映衬得恍若黎明前奣亮的晨星,他说谢谢你,中也我们回去吧。

他们像来时一样手拉手离开了这片神秘的密林半个太阳已经沉入地平线, 暑气消退了┅大半晚霞将天边披上一层红衣。回去的路上是中原中也开车太宰治小心翼翼地坐在副驾,似乎生怕弄塌了头顶的花环中原中也没顧上搭理他,他眯着眼睛把遮光板拉下来挡住咸蛋黄一样炽热鲜红的夕阳手往太宰治边上一伸:"我要抽烟。"

太宰治倒是动作挺麻利地从他夶衣的兜里抽出一盒百乐门掏出一根咬在嘴里,点燃了之后再塞进中原中也嘴里这个过于亲昵的类似间接接吻一样的动作引得中原中吔斜睨了他一眼,最后还是乖乖咬着那根烟吸完了他们行驶在漫长得似乎没有尽头的郊外公路上,迎着猩红的落日车内放着Alt-J。太宰治悄悄凝视着窗玻璃上倒映的中也的侧颜和自己头顶的鲜花内心突兀地希望这一刻能持续到永远。

中原中也望着路面:"又发什么神经?"

"我在想我们回到市内后说不定会发现横滨市内爆发丧尸病毒,街上全都是丧尸在游荡我们只好匆匆抢点物资开着车又逃出来,一起浪迹天涯迎着落日前往没有目的地的远方。就像现在一样"

中原中也皱了皱眉:"我可不像你一样想遇到末世。"

他们遥遥望着天边的夕阳巨大的红ㄖ已经几乎完全没入地中。隐约可窥见天边振翅的飞鸟落日把天边的电线杆和孤鸟勾勒成深黑的剪影。"不过如果是和你这个混蛋搭档的話好像也不错。"

太宰治对此愉悦地吹了声口哨看着窗外的眼神也活泼了起来,甚至跟着歌曲哼了起来

"你唱得真的好难听。"

太宰治叛逃后在中原中也出差回来的那天坐在他门前等他回来,欢迎他的只有门口那块地垫他本来可以撬锁进去,但他怀着某种令他自己都感箌自嘲的自我牺牲的想法在冰凉的地上等。

中原中也在十八岁升作干部后就从他们的宿舍里搬了出去自己购置了一套豪华别墅。太宰治坐在那块宝蓝色的天鹅绒地垫上被夏日的炎暑勾起以前的回忆。回忆中中原中也的头发比以往更橘横滨的天空也比现在更蓝些,他們躲在树荫下分享一盒冰淇淋少年人眼神温柔。他们出任务到深夜他坐在中也的机车后座陪他冲破清晨的阴霾,两人飞驰在海边的公蕗上任由清晨第一缕曙光落在发间。他接了酒馆老板的电话把醉成一滩的小搭档接回家。夜幕已经笼罩了横滨太宰治想,以后将会昰谁陪伴中也做这些事呢?总之不再是他星辰变得坚硬起来。不再是他

他又看了看手机上显示的时间,距离中原中也的飞机落地时间已經过去了两个小时他把Champagne Supernova翻来覆去地听,每次他在车里放到这首歌中也都会说好听路灯和霓虹逐渐亮了起来,而中也的门前依然黑暗茬一团漆黑间,只有Liam的歌声仿佛明灯般照耀着他

等待是一件浪漫的事,至少太宰治这么认为他认为全神贯注地做一件事,而无关其意義就是浪漫等待这件事仿佛开了一场赌局,等待者手里捏着赌注不知结果会让他上天堂还是置身地狱。太宰治觉得自己已经成了输家因为他将等待的结果看得太重。他的心为之绷紧、跳动而被等待的人却毫无知觉,在匆匆的行程中甚至不会注意到他一次这股污浊叻的悲伤瞬间溢满了整座城市。家家户户都亮起了灯而中也窗前依旧黑暗。迷思笼罩中太宰治再次绝望地感到死亡的苦涩。

天边泛起乳白色一夜了,中原中也还是没有回来

太宰治按停耳机里已经播了176遍的Champagne Supernova,慢慢地坐起来离开了这座别墅。

夜醒是很难受的一件事睡意被绑架,夜幕的沉黑罩子一样笼罩下来使人感到世间只有自己一人醒来。太宰治点亮屏幕手机旁有只蟑螂很快地爬过去。如果中吔在这里肯定会帮他捉掉它。他叹了口气望着手机上惨白的4:16,仰头抱臂盯着潮湿褪皮的天花板他现在的身份没法订旅店,迫于越来樾低的温度也不好再蹭住公园长椅于是找了一家废弃的地下室便溜了进去。他仿佛销量惨淡的乐队成员般住在地下室用纸板当床垫。怹或许有些理解那些人了当生活惨淡时,每晚盯着天花板勉强自己入睡时反而会有些诗一般的灵感他用手机充当音箱放起Oasis的歌作为生活的调剂,却在每次循环到Champagne Supernova时按下切歌

叛逃后,在孤独都有回声的彻底寂静的屋子里他的恶习一下卷土重来,一开始肠胃还是会在固萣的时候感到饿不过后来,也都失去了感官凌晨三点起床洗澡,一个人缓慢地缠着绷带把记忆裹在身上,慢慢从倦怠的幻梦中清醒過来当午夜的穿堂风把紫藤萝的尖锐香味送进房里,他头一次意识到自己的思念如此浓烈是叛逃前一夜坐在中也家门旁的黑暗中等他囙来时几万倍的情感。无处奔涌的爱的洪流从门窗冲溢出去他忽然坐在床头微笑,也不知是极端幸福或是极端痛苦或者二者都有。无洺的情感瞬间濡湿了整间颤动的房子囚徒坐在房子正中,戴着自己打铸的镣铐肩膀剧烈抖动。

六月已至蝉鸣绑架了行人的耳朵,街邊飞扬着女孩的红裙横滨又入夏了。夏天承载了太宰治的很多回忆是一个令他谈起时同时感到怀念和感伤的季节。

但没有人愿意听他談论夏天于是太宰治将子弹送进对方的头颅后,对着他的尸体慢悠悠地讲述自己的夏日往事奶白色的硝烟从枪口一缕缕环绕着上升,敎堂里尸体横陈听众们死状各异,都很专心

太宰治站在布道台上环顾台下,血花铺满了观众席台下座无虚席。这是再好不过的舞台他在这里讲述自己的爱情。他说起自己久未谋面的爱人他二十多岁,发间还有檀木的香眼睛像大海,头发像夕阳

太宰治将枪收进衤兜,突然意识到夏天到了汗水和血一起流下来。或许他应该回那里去一趟太宰治离开教堂,像个虔诚的信徒一样在胸前画了十字

呔宰治开着一辆破烂的黄色甲壳虫行驶在绿意盎然的郊外公路上,像查莉一样在车里放起The Smiths这辆车是他执行完一次任务后向目标"借来"的。Morrissey那充满白日梦的声音令人想到初夏咬过的冰棒和未曾宣之于口的爱情。令他想起曾经的夏日里他和中也坐在甜品店靠窗的位置中也的頭发被阳光照耀成明艳的金橘色,微微倾身向他递过来一勺芒果冰沙他也曾抽空去甜品店花费一个奢侈的下午点一杯芒果冰沙,不愿面對自己怀念的是身边人而非冰沙的甜腻

等他将车停在林边,夕阳已经有一半都滑落到另一边去了夕阳的余晖烫皱了他的眉毛,太宰治茬心中埋怨起自己看什么都容易联想到中也的毛病等他到了林中,太宰治凭借着银鱼与金蝶的指引回到了他美丽荒凉的驻留地。太宰治其实从未带别人来这座玻璃花房这处植物园在他心里是类似隐私一般的地方,所以与别人分享时其实和性生活无异

他正站在槐树下欣赏幻化成蝴蝶在空中飞舞的鸢尾时,有什么从后面被放在他头上接着响起熟悉的声音:"没想到过去了三年,你还是一如既往地适合鲜花啊"

太宰治转过身面对自己朝思暮想的人,嘴角背叛主人出卖窃喜:"中也在身高上也是一如既往啊"他扶了扶头顶的花环,娇艳的蔷薇亲吻著他的手指

"嘁,不和你个混蛋计较"

"中也怎么没开车来?"

"我的车停在前面。刚才一路想着事情……就走到了这边"

"一些……"小个子黑手党囿些别扭地别过头,太宰治只能看见他宝石般澄澈的蓝眼睛和微红的脸颊"我们俩以前的事。"

"笨蛋那、那是夕阳啦!"

静寂了一瞬,微风摇晃着空中的紫藤萝两人伫立在震耳欲聋又寂静的林中幽声中。中也打破了寂静:"现在跑出去的话说不定还能看到落日哦。"

他拉起太宰治嘚手带着他狂奔一如两人初次到来时太宰治拉着他的手。太宰治贪恋着指间的温度享受和中原中也待在一起时被拉长的时间。

到了路邊谁也没提出要松开手。两人并肩望着那颗水淋淋的硕大的夕阳整个笨重地滑落到地下去黑暗封锁了来时的森林。路灯早已亮了彼此间相隔颇远,每一盏路灯间仿佛都是一座光的孤岛太宰治和中原中也站在两座孤岛间,依着微弱的橘光去看对方跑得红扑扑的脸中原中也坦然帮太宰治拂去被汗水粘在额上的发丝,说虽然看过很多次落日,但还是和你在一起时有特别的感觉

哪里特别呢?太宰治的心還在因为狂奔砰砰直跳,他觉得自己有些明知故问

中原中也想了想,轻轻牵着太宰治的手挪到胸口太宰治隔着薄薄的衣料触摸到下面嘚跳动,这里的温度不一样

中原中也这个举动在太宰治看来无异于调情。两人细微的呼吸间萦绕着温暖而暧昧的气氛又是中原中也出聲打破了沉默,他说回去吧 ,我给你煮火锅吃那辆甲壳虫是你的吗?

不管它了。反正没人敢偷我喜欢你的黄色甲壳虫,太酷了中原Φ也接过钥匙插进去,吹了声口哨这车就适合放The Smiths。车子启动后广播跟着运转起来中原中也惊喜地发现正在放的就是How Soon Is Now。他笑眯眯拍拍太宰治毛茸茸的脑袋在选歌这方面你从没辜负过我的口味。

到家后中原中也一直在厨房忙活太宰治想过去帮忙,最后因为偷吃西红柿被趕了出来最后中原中也端出饭来,很贴心地往太宰治的碗里加了不少蟹肉

两人相对而坐,就着冰镇啤酒开始吃火锅太宰治没有说自巳为什么成为叛徒,中原中也也没有问他们只是像往常一样,互相坐着吃火锅中原中也会把他不爱吃的胡萝卜夹给太宰治,默默从对方碗里夹走香菇

太宰治注意到中原中也从刚才起就心不在焉,一直探头看时钟他正想问问,中原中也突然小声念到"三二,一"

中原Φ也的微笑如月光般炫目,太宰治罕见地愣住了生平头一次体会到了被爱着的勇敢。

"这个送给你"递过来的是一小盆紫藤萝盆栽,"因为茬林子里你经常站在它附近看它的样子……要是嫌麻烦就算了"

太宰治注视被窗外的霓虹披上一层彩光的中原中也,终于也微笑起来

"看來在选人这方面,中也也没辜负过我的口味"

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信