笑话段子:今天陪同事去法院旁听,这是我第一次去就闹笑话了

爱文胸黑客业务网2022-11-3038

今天陪同事去法院旁听,这是我第一次去,真的挺紧张的,进去后大家正在那正襟危坐很严肃的样子,法官出庭后突然有人喊“全体起立”!这时我脑子抽了,站起来大喊:“老师好”!全场顿时哄笑一片。而我则被扰乱公堂秩序赶了出来...

真的假的,大爷这么牛啊

编辑

大哥,敞篷车不错,这到公路上一开多拉风啊!回头率老高了

编辑

多年的学校生活让我练出一项绝技!

展开全文

编辑

让突如其来的幸福压垮了。

编辑

局部地区有冰雹,闪电,请注意出行安全

编辑

当新买的东西

编辑

原来我已经50岁了

编辑

越来越大

编辑

我觉得我好聪明,小外甥女缠着我让我陪她玩,然后我就在她头上拔了根头发,打上两个结,说你把结打开了我就陪你玩。然后现在好安静......

闺蜜男友因为不上课挂科延迟毕业,男友的妈妈打电话跟闺蜜闹,说:就顾着自己毕业,为什么她儿子不上课的时候不知道叮嘱他上课去,这么自私以后怎么在一起。。。

博士小明学驾照,开车时候对教练说:“你说的我不懂,你只要告诉我以每小时十公里的速度,我这个转方向盘的速度,方向盘转一圈轮胎转多少度,车转多少度就行了。”教练:“滚下去!”

为帮助学生更好地理解应用题,老师就打了个比方:“商场里开冷气,要求室内外温差是4度。那么当室外温度是24度时,室内的冷气应开到几度?”一个学生回答:“20度。”老师:“正确。如果室外是14度呢?”学生:“室内就是10度。”老师:“很好。如果室外是4度呢?”学生:“室外都这么冷了,还要开冷气吗?”

一个女孩让我帮她寄快递,给了我一个空纸箱让我打包,我好奇的问她:“这是寄给谁的”她说:“我喜欢很久的一个男生”我懵了一下:“可是里面没有东西啊,她说:有些东西只有我自己能看见,我一听更懵了。神秘的问她到底是什么,她说:“一箱情愿! ”

(以上图片均来源于网络,如有侵权联系即删)

一、搞笑图片笑话段子不好笑你找我:热恋,是一个从量变到质变的过程

老师评早恋的学生

生物老师:他们相识,是属于胚芽期,相恋属于成长高峰期,分手属于基因突变。

物理老师:相识,属于异性相吸的原理;热恋,是一个从量变到质变的过程;分手,是核变,水火不容,好死不相往来。

历史老师:相识,是战国七雄,谁都有称霸的可能;相恋是秦始皇统一天下;分手是三国演义,你有你的高招,我有我的计谋。

地理老师:相识是板块运动,荡到哪就与哪结合,凭的是感觉;相恋是天地合一;分手,就是地震,吵他个天翻地覆!

化学老师:相识是分子内部运动;相恋是化合反应,找到平衡点;分手是反应中有爆炸气体,到了临界点就得爆炸!

人生很长,几个阶段就是三种车:自行车,摩托车,小汽车。

1、青年人要像骑自行车,要自食其力,自己动手,丰衣足食,否则,不可能进步。中年人要像驱摩托车,记得给自己不停地加油,争取快速高效完成人生事业。老年人要象驾驶小汽车,注意把自己保护好,免受雪雨风霜的伤害,小心谨慎保持晚节,安顿晚年。

展开全文

2、初恋要像骑自行车,不舍得出力流汗,不能让感情长驱进入。热恋要像骑摩托车,不时给自己喊“加油”鼓励,趁热打铁巩固感情。结婚象驾驶小汽车,夫妻两人在温暖的小空间愉快过日子,不再迷恋别的帅哥美女,否则,开车就算闯红灯。

3、创业初期就像骑自行车,靠自己脚踏实地地干,你的脚力多大就有多快的速度,在经过一段个人奋斗后,你的路程会令人刮目相看。创业中期就像骑摩托车,你有了物质基础改善自己的创业条件,从而充分燃烧自己的创业热情,向自己的创业目标加速度前进。创业成功就象驾驶小汽车,你不必饱尝世态炎凉而在温馨的环境中行进,只要遵守规则,决不酒驾超速就可以轻松向远大的目标迈进。

一哥们出差,给热恋中的女朋友打电话,还没唠完,女朋友手机欠费停机了,哥们赶紧给对方充了100元话费。女朋友从家乡那边把电话打了过来,开门见山第一句话就是“老公,太好啦,告诉你一件开心的事情,不知道那个傻B,充话费充错了,充到我手机里啦!”

屌丝男追女生,讨要对方手机号,女生死活不给。最后,屌丝男也愤怒了于是,把自己的手机号给她了。

女朋友问屌丝男:咱俩在一起的时间会有多长?屌丝男答:比咱班主任脸还长。女朋友幸福的笑了……

笑笑人不老!您开心小编辛苦也值得!

您的认可是小编的不竭动力!

如果您笑了,别忘记点赞+转发喔!

如果您没笑,请留言“我没笑”,以便小编统计改进!谢谢!

二、我是一个Java class

前言:本文主要想讲一下Java虚拟机的故事, 可能有点偏门,不妥之处欢迎留言交流。

第一回 陌生警察

我出生在C盘下面一个很深层次的目录下, 也不知道是谁把我放到这里的。

我一直在睡觉,外边的日出日落,风雨雷电和我一点关系都没有。

直到有一天,有个家伙咣咣咣砸我房门把我叫醒。

这个家伙穿着像警察的制服, 左手拿着一个对讲机, 右手递过来他的工作证: "你好, 我是Classloader, 请问你是Account类吗"

"是啊, 怎么了?"

这个Classloader 没回答我, 反而拿起对讲机:

"头儿,你看看你能不能装载这个Account类?”

对讲机那头好像也在问他的上司,过了半天,终于有了回音:

"我装载不了, 我的上级也说了,他们也装载不了, 你来干吧"

"那就报数吧~” 我这次注意到旁边站着另外一个笑眯眯的小个子。

"报什么数?" 我一脸诧异。

"唉,果然没有被装载过, 你是个class 文件,当然要报文件开头的那几个数了, 就是Java 他爸James Gosling 在jdk 1.0时确定的那个数啊"

"奥, 我看看, 0xCAFEBABE"

"不错, 是个java 类, 把你后边的两个数也报一下", 小个子继续问

"50 , 0"

"看来版本不高啊, 是jdk 1.6编译出来的啊", 小个子接着说 "最新的虚拟机都1.8了, 都函数式了,你造不?”

我哪里知道? 我这才模模糊糊的回想起来, 好像是有个什么javac 把我创建出来,扔到了这个屋子里。

"现在奉命带你去Java 虚拟机, 有人需要你的帮助" , 这个Classloader 态度冷冰冰的, 我不喜欢他。

"大哥,你们咋找到我的?" 我决定和小个子套近乎。

"那还不简单, 我们老板有个列表, 上面列举着所有应该检查的目录,我们顺藤摸瓜,一个一个找,肯定能找到"

展开全文

"那万一找不到咋办?"

"基本不可能, 你看老板给我们的目录列表中有 C:\workspace\myTaobao\bin , 我们在下面再找三级 com/mytaobao/domain, 这不就找到你了吗,

Account.class , 话说回来, 万一真找不到, 将来在执行时会抛出ClassNotFound异常了, 那不归我们管"

我后来才知道, 我的全名其实叫做com.mytaobao.domain.Account !

"来来来, 让我验证一下, 你这class编译的对不对" ,小个子拿出一个放大镜

"恩, 常量池, 访问标识, 字段,方法... 看起来没有问题“ , 小个子对Classloader说。

被人拿着放大镜看,这种感觉极为不爽。

"走, 去虚拟机" , Classloader还是冷冰冰的。

这哥俩不容我带任何东西, 便把我推上车,飞奔向我没听说过的“虚拟机”。

第二回 刺探信息

我感到前途未卜, 但也不能坐以待毙, 一定得多了解信息。

"大哥, 你叫什么名字" , 我看小个子还算和气。

"我就是大名鼎鼎的文件验证器了, 能管很多事"

"那刚才他为啥还得请示上级呢" , 我用眼神指了一下开车的ClassLoader

文件验证器的声音一下子就压低了:

"你不知道,说来话长, 我们之前出现过事故,有个黑客写了个类java.lang.String, 和我们老板手下有一个干活最卖力的员工名字一模一样,只是这个黑客类里边竟然有格式化硬盘的代码,我们的小兵Classloader 不明就里,就把这个黑客类给先装载了,也执行了, 最后的结果,唉,很惨的... "

"那后来怎么办?"

"后来我们老板就定下了规矩:他的骨干员工像String, ArrayList等只能由他自己的心腹去装载, 我听说老板的心腹都是分层级的,像传销一样, 每个都有上线, 最顶层的叫Bootstrap Classloader , 下一次级叫Extension Classloader, 现在开车的这位其实叫App Classloader,位于最底层, 咱这位Classloader 在装载一个类之前,一定要问一问这几位权利极高的大爷,请他们先装载,这几位爷装载不了,才由我们这些小兵来出马。“

"这能避免黑客攻击?"

"能啊! 你想想, 那个黑客写了个攻击的java.lang.String, 我们在装载之前,肯定要请示Extension, Bootstrap这些大爷先来装载, 由于String是老板的核心员工,肯定会他们先装载啊, 这些大爷把String 直接就给我们了, 我们就不会装载黑客类了"

“你能不能少说两句” Classloader 似乎生气了。

我和文件验证器只好禁声。

其实文件验证器也不是只会给我吹牛, 他也很敬业, 这家伙在车上把我全部的字节码都要了过去, 对这些天书一般的东西一遍一遍的检查分析,确保每个指令都是正确的, 检查是不是有超类, 是不是覆盖了final方法,跳转指令是不是正确....

第三回 初识虚拟机

很快我们就来到了目的地, 我一看虚拟机不就是几个大楼嘛, 不过这几座大楼可真是高啊。

他俩把我带进其中一座叫“方法区”的大楼,进了电梯, 输入2048 。

很快来到第2048层, 无数的格子间平铺开来,他们七拐八拐,轻松的把我带到了我的位置, 上面写着我的名字“com.mytaobao.domain.Account”.

我问文件验证器: “这楼这么高, 这么多格子间, 人会坐满吗?”

"只有极少情况会坐满, 一旦满了,那时候会抛出异常, 我们就完蛋了。 你自己好自为之吧, 再见 "

他们把我安顿好就立刻离开了。

我往周边一看, 咦,这不是著名的java.lang.String吗。

我本想和他打个招呼, 可以他的电话似乎一直没断过, 嘴里一直说着什么store, load之类我听不懂但是似乎有点熟悉的话。

正无聊着呢,我桌子上的电话也响了, 电脑屏幕也亮了,我看到一个人对我笑着说:

"你好, 我刚刚new 出来的Account对象, 我的编号是Account@659e0bfd"

晕倒 ! 这家伙和我什么关系?

看我一脸的诧异, 他说,“ 很快就会有个线程到CPU车间了,他会联系你, 我就是想确认下你在不在, 奥对了, 我在一个叫做堆的地方, 有空找我玩啊, byebye ”, 说完就消失了。

果然没多久, 视频电话又响了。

这次我看到一个人站在一个明亮的车间里, 抱着一个包裹, 他按了一个按钮, 面前立刻升起一个工作台 , 台子上立了一个有很多抽屉的柜子,每个抽屉上都有一个编号, 旁边还有一个深桶。

(后来我就知道, 那个柜子的学名叫做局部变量区 , 那个桶叫做 操作数栈)

我正想问问问怎么回事呢, 就听到了他的声音:

"我是线程0x3704, 我要调用你第二个方法了“

(码农翻身注: 不认识线程0x3704的同学可以回复“我是一个线程”查看)

我一看, 我的第二个方法是add :

public void add(int x , int y ){

x = x + y;

.....其他代码略....

(码农翻身注: Account类当然看不到这些源码, 这是为了方便你看的 :-) )

"请把第一条指令给我说一下" 0x3704 继续问我要东西

我还不太熟练,找了半天才说:

"iload_0"

于是他就操作柜子上的机械手把0号抽屉的一个数30扔到到了工作台上的一个桶里,这个桶很窄,没法并排放两个数, 但是很深。

然后0x3704说 “下一条指令”

"iload_1"

于是1号抽屉的一个数40也被扔到了桶里,正好压在30上面, 从桶上面就看不到30了。

“下一条指令”

”iadd“

于是他就把两个数从桶里取了出来, 做了个飞快的动作, 这两个数变成了一个数 70 !, 然后他又把70 放到了桶里。

“下一条指令”

"istore_0"

于是他把70从桶里捞出来, 放到了柜子上编号为0的地方, 之前的30就被扔掉了。

我看的目瞪口呆,这厮是在干嘛???

我问他: “0x3704, 不就是把两个数加起来吗? 为啥搞的这么麻烦”

他不理我, 只是继续说, “下一条指令”

我只有配合它玩这个游戏。

java.lang.String 难得的悠闲, 端着一杯咖啡一边看我手忙脚乱的取指令, 一边说:

"新人都这样, 别着急,等你熟练了,闭着眼睛就搞定了, 就像我一样,你可能不知道 , 我们这个虚拟机叫做基于堆栈的虚拟机, 看到那个桶没有,其实就是个先进后出的栈啊, 我们虚拟机的所有指令其实都是在对栈进行操作"

可是我还是好奇: “这栈有什么好啊”

旁边的格子间的java.util.Stack 立刻说:

"这事儿你得问我啊, 怎么说呢, 主要是为了简单, 你看我们只用一个简单的桶,奥对了,栈, 就能完成所有的工作, 你做要的就是往栈里扔东西(入栈), 然后从最上面拿东西(出栈) 就行了。 不像intel 的CPU, 搞了巨多的桶,每个桶只能容纳一个数, 他们还美名其曰寄存器, 做加法的时候, 先把一个数放到第一个桶, 再把另外一个数放到第二个桶,加起来以后的结果还得找个桶,有些桶还不通用,这么多桶找起来麻烦死了。 "

"可是我们的栈操作起来就麻烦了啊, 你看一个简单的加法都得操作半天" ,我不依不饶。

"我们的指令可以优化啊, 不过这我也不太懂"

这个游戏我整整完了一天,没有线程找我的时候, 我就闲着, String说得对, 熟练以后简直太简单了。

String 就不一样了, 几乎每时每刻都线程给他打电话要指令, 这么没办法, String确实是虚拟机的骨干和精英, 使用频繁,业务纯熟,忙而不乱。

有时候我会看到线程有不止一个工作台, 而是一摞子工作台, 也是一个压一个, 线程们都很老实,永远在最上面那个工作, 从来不会先干下面的活。

我问java.util.Stack :"这些工作台也是栈吧"

"猜的不错,学名叫Java 栈,每个线程都有一个, 其中的每个工作台你看过了 ,学名叫栈帧, 知道不? 每个台子都代表一个方法调用, 这一摞工作台就方法调用方法导致的啊 "

确实是, 因为我发现一旦调用新方法, 立刻就会形成一个新的工作台, 压在老的上面。 方法调用完成后, 栈顶的工作台就被销毁了, 线程会在底下的工作台继续机械的干活。

第四回 快乐假期

第二天, 0x3704又问我要指令, 我有点生气: 你就不会记住吗

0x3704说: 我可不能记住, 万一你被重新装载了, 指令变了怎么办?

我告诉他指令是"iload_0" , 他刚把数据扔到桶里, 古怪的事情发生了, 身手敏捷的0x3704突然好像凝固了一样,不动了。

只听到String欢呼: “遇到断点了,码农开始调试了, 我们放假了!”

"调试?什么调试?"

"就是码农会单步、手工的执行这些指令,他们慢死了, 可能一秒才能执行一步, 由于我们的时间比他们快的多, 他们的一秒,简直就是我们的10几天, 走, 出去玩去"

"出去玩? 能上哪儿玩” 我觉得这里无聊透顶。

"找我们new 出来的对象玩去"

我想到了之前联系过我的 对象Account@659e0bfd , 想着去看看也不错。

这个叫"堆"的大楼更加拥挤, 全是人, String 的对象当然最多,Stirng类左右逢源,不停的打招呼, 从我创建出来的Account对象几乎找不到。

一队全副武装的士兵不停的在巡逻, 时不时的把对象拉出来,塞到车里去。

“这是在干嘛啊” 我问String类

"这些人叫清理者, 专门清理没有用的对象, 你看,车里那不是Account@659e0bfd 吗"

"啊? 昨天我还和他联系, 他怎么会没用了呢"

"他很有可能只是个方法的局部变量, 方法结束后, 就没人引用了, 白白的占用空间, 你看这楼太拥挤了, 如果不清理, 很快就会住满,系统崩溃, Out Of Memory了"

"那这个楼就不能盖的更高点吗?” 我心里有点可怜这些被回收的对象们

"楼有多高,是由码农们决定的, 他们在启动虚拟机的时候会指定参数"

"那士兵咋知道谁有用没用?"

"引用计数呗, 如果对象被使用, 计数就会增加, 不用的时候就会减少, 如果是0 , 那就可能被清理了。"

"那我们会被清理掉吗?" 我担心的问

String类神秘的笑了下: "我应该不会, 但是你是有可能的"

我当然明白了, String类是核心员工, 而我只是从外边加载过来的一个类而已, 不过我也确实有点想我的家了。

果然,又过了10天, 0x3704才动弹了一下,问我要第二条指令

我想都没想就告诉了他:“iload_1” 。

接下来又是10天的长假。

第五回 真相大白

漫长的调试假期终于结束了,我刚回到自己的工作间, 发生了更奇怪的事情, 整个世界毫无征兆的消失了。

我晕晕乎乎,发现还是躺在自家床上, 我是做了一场梦吗?

可是过去的记忆如此的真切, 到底是怎么回事?

管它呢, 我已经知道了自己所在的房子的门牌号是 C:\workspace\myTaobao\bin\com\mytaobao\domain

探索一下吧,唉 , 大部分人都非常无趣,不理我。

正当我准备要回去接着睡觉的时候, 我先发现了C:\workspace\myTaobao\src\ 下也有个一模一样的目录com\mytaobao\domain,关键是里边竟然有个Account.java !

出生的模糊记忆告诉我, javac 就是从这里把我生成的。

我正要给他打招呼,一个"hi"还没说出口。

javac 又一次运行, 我被新的Account.class 残忍的覆盖掉了!

临死前, 我终于明白了,这个一个码农的电脑,码农在开发程序, 调试程序, 不断的重启服务器。

而我这个类隐藏着一个Bug, 经过调试后被发现, 然后Fix了!

(全文完)

三、我是一个网卡

我出生在深圳的一家工厂,然后飘洋过海来到美国,被安装到一个电脑里, 然后这个电脑又漂洋过海, 被运到了中国。

我知道我的使命就是传递信件,但有一个前提:我需要知道对方的地址才行,其实我们网卡都有一个全球唯一的地址,这个地址一出生就确定了,就像你们人类的身份证一样,终生不变。 无论我走到哪里,我都拥有这个唯一的标志:11:27:F5: 8A:79:54 , 挺长的是吧,你们人类把它叫做MAC地址, 简单起见, 你可以叫我 “TP-Link 7954”

刚开始的时候我非常孤独,因为这台电脑虽然经常开机,但却不联网,真不知道主人是怎么想的!

不上网就没人来找我发信,不发信我也就没什么价值,也没人搭理我,我整天听着CPU阿甘和金士顿内存在那里喋喋不休的聊天,真是烦死了。

(公众号“码农翻身”注:参见文章《CPU阿甘》)

只是这两人都记不住对方,每次重启都像是第一次相识,实在是太搞笑了。

1

DHCP

在我入住机箱30天以后,音箱向大家报告说:“主人终于决定要上网了” 这绝对是个重磅新闻!

我很兴奋,大家也很兴奋,早就听说外边的世界很精彩了。

一天晚上,只听到“咔嗒”一声, 一个RJ45的网线插头便和我亲密接触了。

网线的那头传来了陌生而熟悉的声音,我的潜意识告诉我,那是交换机在转发信件 。

CPU阿甘看到了这种情况,也不和金士顿内存聊天了,他对着我大叫一声: TP-Link 你在等啥,赶紧上网啊。

这是他第一次和我说话。

操作系统老大是见过世面的,他镇定的说: “心急吃不了热豆腐, 我们得先搞一个IP地址才行。 这需要用到DHCP(动态主机配置协议)”

阿甘说: “谁那里有IP地址啊?”

“这个网络里应该有DHCP 服务器,可以动态的分配地址, 我们可以发个信广播下 ” 老大接着说 “ 阿甘,你和金士顿赶紧写一封信:”

收件人 : 255.255.255.255 : 67

发件人 : 0.0.0.0 :68

内容: 我想租用一个Ip地址, 谁有啊?

展开全文

(公众号“码农翻身”注: 这里我做了简化, 实际上这里首先是一个应用层的DHCP发现报文, 然后被一个UDP的报文封装,然后再被一个IP的数据报封装。形象化一点如下图所示)

阿甘傻乎乎的, 也不问为什么收件人和发件人这么奇怪, 只是飞快的按老大的指示写信, 信马上写好了,交到我的手里。

“给你, TP-Link 7954, 赶紧发出去吧”。

我对外发信是有原则的: 我工作在数据链路层, 必须得知道对方的MAC地址才能发信, 如果不知道, 我就对外广播, 那就是所有的电脑都会收到。

这封信显然就是要广播的,因为到目前为止, 我们还是网络大海中的一个孤岛, 和外界没有任何联系, 我还不知道任何其他电脑的MAC地址。

按照规定,我又把阿甘写的信封装了一下, 装到另外一个信封里, 只有这样,我最重要的伙伴交换机才能看懂。

目的地: FF:FF:FF:FF:FF:FF (广播到同一子网内的所有电脑)

发件人: 11:27:F5:8A:79:54 (就是我自己了!)

我把它通过网线发给了交换机。 交换机看到FF:FF:FF:FF:FF:FF, 立刻转发给了所有连到交换机的设备。

如同老大所料, 这个局域网里确实有DHCP服务器, 还不止一个!因为没有多久, 交换机转来两封信, 我拆开其中一封, 里边写着:

“我是DHCP服务器192.168.1.1 , 我这里有个空闲的IP 192.168.1.2, 你租不租?”

另外一封信也差不多, 是另外一个DHCP服务器发来的,提供了另外一个IP地址。

CPU阿甘迫不及待了: “看来我们很受欢迎啊,这么多人愿意给我们IP, 老大, 快抢一个吧。 ”

操作系统老大说: 好, 我们要这个192.168.1.2吧, 再写一封信:

“你好,服务器192.168.1.1 , 我们就要这个IP 192.168.1.2了”

我又把这封信广播出去, 看来我们所处的网络非常快, 确认的回信眨眼间就到:

“这是一个确认信, IP 192.168.1.2 给你了。 网关路由器是192.168.1.1 , DNS服务器的地址是 202.102.224.69”

金士顿内存说: “不容易啊, 终于搞定一个IP 了, 我把它记下来。 ”

操作系统老大说: “把所有信息都记下来, 接下来很快就会用到”

我们的IP : 192.168.1.2

网关路由器: 192.168.1.1

DNS服务器: 202.102.224.69

阿甘说:“ 要是重启了, 我们是不是要这么重来一遍? ”

“阿甘, 你现在越来越聪明了, 确实是这样, 除非主人手动的给我们配置IP地址,网关, DNS , 但是那样很烦,容易出错, 所以一般情况下, 主人都是依赖我们自动的去用DHCP搞定一个IP 。 ”

经过这一番折腾, 我也初步了解了我们所在的网络结构:

2

DNS和ARP

搞定了IP地址, 大家都喜气洋洋。

我们赶紧把浏览器村的老IE叫来, 让它访问一下著名的google网站。

(公众号“码农翻身”注:参见文章《老IE为什么把火狐和Chrome打伤了?》)

老IE说: “你们还不知道? google在中国被屏蔽了, 访问不了, 要不访问百度吧。 ”

我说: “都行, 我们先访问一下试试。 ”

老IE说: ”百度的域名是地址呗!”

阿甘说: “上个网这么麻烦, 这么多地址要查 ”

“是啊, 网络世界的规矩就是这样 ,想要互联, 我们得有IP地址, 也得知道对方的IP地址, 现在只知道域名查询吧 ” 老大说

CPU阿甘遵照指示,先向金士顿内存问了DNS服务器的地址, 然后写了这么一封信, 交给我

发件人: 192.168.1.2 (我们刚刚搞定的IP)

收件人: 202.102.224.69 (DNS服务器)

内容: 哥们, 给我查查地址吧

“但是这封信发给谁呢, 我需要知道对方MAC地址啊, 总不成还是对外广播吧。“ 我心里想。

操作系统老大看出了我的疑虑, 解释说: “DNS服务器不在我们的局域网内, 我们要把这个信发给 网关路由器 , 他会想办法转给 DNS服务器的。 ”

我说: “可是我不知道网关路由器的MAC地址啊”

金士顿内存说: “别急, 我查查之前我们存下来没有, 我靠, 刚才那个DHCP服务器(192.168.1.1)也是网关服务器, 他怎么没把MAC地址顺便发过来啊!”

CPU阿甘急了: “TP-LINK7954, 你是怎么干活的, 怎么非得要MAC地址, 直接用IP地址不行吗?”

我回答说: “没办法, 这是规定, 你不知道网络是分层的吗? 我只工作在数据链路层, 就得用MAC地址。 另外网络多种多样, 可不仅仅是TCP/IP , 我要是只用IP地址, 那其他网络怎么工作?”

操作系统老大说: “我记得好像有个叫ARP东西, 可以通过广播查询一个IP地址对应的MAC地址, 你试试”

其实我也想起来了, 这个ARP叫地址解析协议, 我可以把下面的消息广播出去, 这个子网内的所有机器都会收到, 网关路由器也不例外, 他收到以后,一看是查询自己的MAC地址, 就会创建一个ARP的应答。

收件人: FF:FF:FF:FF:FF:FF (同一子网内的所有电脑)

发件人: 11:27:F5:8A:79:54 (就是我自己了!)

内容:呼叫网关路由器(192.168.1.1), 请问你的MAC地址是什么?

过了一会, ARP应答果然来了, 我们看到了网关路由器的MAC地址: 88-25-93-79-E0-C8

我告诉金士顿内存: “赶紧记下来,下次咱就不用再查询了”

192.168.1.1 -- 88-25-93-79-E0-C8

有了网关路由器的MAC地址, 剩下的事情就好办了, 我只需要把之前准备好的DNS查询发给网关路由器即可。

阿甘好奇问我:“ 你只把这个信发到网关路由器, 剩下的事就不管了? ”

我没声好气的回答它说: “那当然了, 我只能管局域网的事情, 出了局域网, 那就是路由器的事情了, 路由器能抽取这个DNS查询的数据报, 看到收件人是202.102.224.69 (DNS服务器), 自然可以转发出去, 我们完全不用担心。”

我们等了一会, DNS服务器很快就返回了

金士顿内存说: “我记下来了, 上网看来一点都不好玩啊, 这么费劲。 ”

老IE 说: “好玩的在后面呢, 现在所有的东西都齐活了, 开工 ”

老IE开始创建TCP连接, 然后通过TCP 发送HTT GET请求, 轻轻松松的把百度的主页给取了下来,展示了出来。

大家第一次看到外边的世界, 激动万分。

当然还是我最忙, 因为老IE的所有信件都需要我去发送和接收。

2

尾声

这几个月以来我都是电脑里的最忙碌的人, 一旦可以上网, 大家都上瘾了, 浏览网页,刷微博, 看视频, 玩游戏, 每天把我累的要死。

日子就这么一天天过去, 有一天, 大家发现主人把一个新家伙通过USB接口插到了电脑上, 然后顺手拔掉了网线 !

我失去了和交换机的联系 , 无法联网了, 难道我们电脑又要成为一个孤岛了吗?

老IE还正在访问一个博客网站呢, 一下子就断了。

不过奇怪的是, CPU阿甘, 金士顿内存, 操作系统老大 竟然都围着新来的家伙重新玩起了DHCP, DNS , ARP , 并且连上网了, 所有的信件都由这个新家伙来传递。

我偷偷的问老IE :“ 这是怎么回事? ”

老IE说: “看来你已经失宠了, 新来的家伙叫无线网卡!”

网卡一个

上一篇:幽默笑话:叔,你是我见过第一个纹哪吒的,请问有什么含义吗?

下一篇:一个是我爱的女人,一个是爱我的女人,我该选择谁?

相关文章

网友评论