想了解喜欢的人,可是,却不能理解。 收藏本站
登陆 / 注册 搜索

阅读: 6.5K   回复: 4

一块网卡的自述

仗剑天涯论坛大牛 2017-7-4 23:49 |显示全部楼层

今生相逢便是缘分,何苦去怨恨,何苦去仇视。

主题破百
        我知道我一生的使命就是传递信件,但有一个前提:我需要知道对方的地址才行,其实我们网卡都有一个全球唯一的地址,这个地址一出生就确定了,就像你们人类的身份证一样,终生不变。/ `$ t! l6 ~8 |4 ]' Q4 e
  H! A* \/ J7 l' z2 c
        无论我走到哪里,我都拥有这个唯一的标志:11:27:F5:8A:79:54
+ L7 c% `0 w: L# F( w/ E4 b# s1 g' M7 C
0 p! D' {% k  l' t        挺长的是吧,你们人类把它叫做MAC地址,简单起见,你可以叫我“TP-Link7954”9 N% s0 E% {# X9 Y- T; K7 V/ M* D- v& R

8 c! ?/ D5 [& }' H/ t: y        刚开始的时候我非常孤独,因为这台电脑虽然经常开机,但却不联网,真不知道主人是怎么想的!7 `. Q$ d& h. }8 K: S* [

2 s1 |! f. u3 X+ q; C  |4 n        不上网就没人来找我发信,不发信我也就没什么价值,也没人搭理我,我整天听着CPU阿甘和金士顿内存在那里喋喋不休的聊天,真是烦死了。: D/ A1 B& [: I4 j# \( o, f
) Z7 I" a2 F* u$ k) p
一块网卡的自述 Internet-Service.jpg

- n5 C+ I/ N$ i, s9 I2 a* P$ [) g% n        只是这两人都记不住对方,每次重启都像是第一次相识,实在是太搞笑了。#j318:
- F  M0 M8 p9 e2 t5 m9 p0 v: k3 W- r1 _+ n, ~7 B
D H C P
       
        在我入住机箱30天以后,音箱向大家报告说:“主人终于决定要上网了”这绝对是个重磅新闻!  K' A- f4 G1 \1 Z, W3 [& {* E7 y

) F" W  }4 L2 G% m" [  ?8 `        我很兴奋,大家也很兴奋,早就听说外边的世界很精彩了。一天晚上,只听到“咔嗒”一声,一个RJ45的网线插头便和我亲密接触了。$ T% Y5 y/ Z5 A" G" [# v
" D1 o8 h& e: n2 \% Q# x! `# l# X
        网线的那头传来了陌生而熟悉的声音,我的潜意识告诉我,那是交换机在转发信件。CPU阿甘看到了这种情况,也不和金士顿内存聊天了,他对着我大叫一声:TP-Link你在等啥,赶紧上网啊。
( c+ x0 a& S0 w, m9 ]2 V) s
& l- A5 M2 V. w8 @  r9 ~$ I5 D        这是他第一次和我说话。
, I5 [% ^' @' {7 n% _; y8 @( U3 p5 i% G! }# V* z: ]$ d
        操作系统老大是见过世面的,他镇定的说:“心急吃不了热豆腐,我们得先搞一个IP地址才行。这需要用到DHCP(动态主机配置协议)”
/ R/ P% N6 v7 `5 c$ \8 b7 Z1 T" B( h& u- Z3 r; J
        阿甘说:“谁那里有IP地址啊?”* n9 ]* X# W% K# x. }) [
; I# O: G3 V& o  I
        “这个网络里应该有DHCP服务器,可以动态的分配地址,我们可以发个信广播下”老大接着说“阿甘,你和金士顿赶紧写一封信:”2 M2 Y  w' j' m
- K; Q$ W+ @. Y  |7 Y
        收件人:255.255.255.255:67) P; ]7 W6 q! I6 e: ~
        发件人:0.0.0.0:68
& R) G  u- J3 b" T- m, H% H: Q- u        内容:我想租用一个ip地址,谁有啊?
2 G5 i$ p9 G9 ~" w- b" T8 e' x9 W1 z8 v! ]( D. N5 v( B' X; M% s8 g6 s
        (注:这里做了简化,实际上这里首先是一个应用层的DHCP发现报文,然后被一个UDP的报文封装,然后再被一个IP的数据报封装。形象化一点如下图所示)
6 V& x: S% U9 \7 o" o" O! e9 O" |' D9 w$ @
一块网卡的自述 1-网卡.png

$ Q  M' u; L- W  e        阿甘傻乎乎的,也不问为什么收件人和发件人这么奇怪,只是飞快的按老大的指示写信,信马上写好了,交到我的手里。“给你,TP-Link7954,赶紧发出去吧”。
- q0 e! ]( h% U1 Q) d( T5 e7 l' m; H
5 B1 H/ C2 n0 Y/ V6 O/ e        我对外发信是有原则的:我工作在数据链路层,必须得知道对方的MAC地址才能发信,如果不知道,我就对外广播,那就是所有的电脑都会收到。4 A, }* w; O6 Y" m8 c& K: Y
0 ^; u. c# ~# A+ r
        这封信显然就是要广播的,因为到目前为止,我们还是网络大海中的一个孤岛,和外界没有任何联系,我还不知道任何其他电脑的MAC地址。- t0 ]8 W* P- ]$ `

. G( L  a' x) \# B; w2 Z6 a        按照规定,我又把阿甘写的信封装了一下,装到另外一个信封里,只有这样,我最重要的伙伴交换机才能看懂。' x# f) U8 m! B1 z9 E; K- `/ o
! ^# k& s- i# Y& o7 g5 v! H
        目的地:FF:FF:FF:FF:FF:FF (广播到同一子网内的所有电脑)
$ ~4 A( n9 [2 i; ?4 ?/ P! q        发件人:11:27:F5:8A:79:54(就是我自己了!). o; X) c4 I" `1 p* \/ ]

# H' |) ^/ ?8 l% l: `6 b( d
一块网卡的自述 2-网卡.png

; i8 @6 F% i$ x& r        我把它通过网线发给了交换机。交换机看到FF:FF:FF:FF:FF:FF,立刻转发给了所有连到交换机的设备。* G- h6 ]6 L" F5 H6 S
/ _; [; C- {2 ?3 ]7 P' O( {
        如同老大所料,这个局域网里确实有DHCP服务器,还不止一个!因为没有多久,交换机转来两封信,我拆开其中一封,里边写着:$ N# E8 R8 x6 Q7 J) M) L3 k
/ B- k# g/ v: t- {# X- M2 b
        “我是DHCP服务器192.168.1.1,我这里有个空闲的IP 192.168.1.2, 你租不租?”$ C" m/ B' A) J3 @: r) P
: S7 L. ^/ g; V. P! D
        另外一封信也差不多,是另外一个DHCP服务器发来的,提供了另外一个IP地址。CPU阿甘迫不及待了:“看来我们很受欢迎啊,这么多人愿意给我们IP,老大,快抢一个吧。”- k8 z3 |; t* o3 U2 V( N

6 T9 ?, U  P0 h1 Q* L# q1 e( b+ n# o        操作系统老大说:好,我们要这个192.168.1.2吧,再写一封信:
: K. C9 J7 n1 C& W; d. t6 d7 S        4 @, @& Z8 ?0 G  q
        “你好,服务器192.168.1.1,我们就要这个IP192.168.1.2了”# ]' N  G; t# U& M* P

4 N9 ^  @( ^, a; R/ J/ k1 a        我又把这封信广播出去,看来我们所处的网络非常快,确认的回信眨眼间就到:
7 k2 ^' G1 O. A; W6 c# y% u' E        & C3 A0 E5 T5 d+ B( B
        “这是一个确认信,IP192.168.1.2给你了。网关路由器是192.168.1.1,DNS服务器的地址是202.102.224.69”& |  ]: j3 @! P$ O( F) z3 \

  U& t4 g+ C% |4 j9 U0 f3 k        金士顿内存说:“不容易啊,终于搞定一个IP了,我把它记下来”。6 W0 b9 S- |$ z% T! g/ G# B

4 z* ]* o* y6 t' F        操作系统老大说:“把所有信息都记下来,接下来很快就会用到”。
' d& F, d! u4 O  ]       
; o" _8 m& J7 ~0 z3 t: E        我们的IP:192.168.1.2( P2 O' W: h9 k4 [
        网关路由器:192.168.1.1
$ F5 Y+ j: P9 i) \0 T) M3 h        DNS服务器:202.102.224.69
2 o' f! K& D8 H$ O2 {1 ~; g/ t. x% h2 _; u6 w7 {# |7 f7 T
        阿甘说:“要是重启了,我们是不是要这么重来一遍?”" g; g' i: r1 H5 y

9 R& R5 R7 _' }& h8 ^2 A2 R        “阿甘,你现在越来越聪明了,确实是这样,除非主人手动的给我们配置IP地址,网关,DNS,但是那样很烦,容易出错,所以一般情况下,主人都是依赖我们自动的去用DHCP搞定一个IP。”
: G3 B! w+ o% Y/ F5 }: ^
; w: U3 [" I( r        经过这一番折腾,我也初步了解了我们所在的网络结构:
  U1 o5 Y, J% K, \6 p. ^$ i' `9 F( `8 R* l
一块网卡的自述 3-网卡.jpg

1 y# @7 a. g4 X" V/ h/ T' d
DNS 和 ARP
# c7 K9 k3 B* o. Q, Z! O' L
        搞定了IP地址,大家都喜气洋洋。我们赶紧把浏览器村的老IE叫来,让它访问一下著名的google网站。
& C+ R: Z; W& }+ H* h. C6 [/ Q/ h4 ]0 U5 P4 T( b0 Y
        老IE说:“你们还不知道?google在中国被屏蔽了,访问不了,要不访问百度吧。”#j319:
% {7 U) d- _0 U
( L' h/ @7 A4 Y2 X$ ^. }        我说:“都行,我们先访问一下试试。”
( c1 E- p' Z& L' G6 k: {7 `' {& ~
  _4 j1 q7 ~( \2 P$ w1 V! P0 ]        老IE说:”百度的域名是www.baidu.com,你们给我查查它对应的IP地址呗!”
; W( y- H8 ]/ O1 @2 z2 _! J; T$ ?3 i; s1 b& m* G1 Y# G
        阿甘说:“上个网这么麻烦,这么多地址要查”
. @9 s! s$ E/ m6 t2 }
; X$ D. O6 ^3 A: l        “是啊,网络世界的规矩就是这样,想要互联,我们得有IP地址,也得知道对方的IP地址,现在只知道域名www.baidu.com,我们得给他翻译成IP才行,阿甘你准备一个DNS查询吧”老大说& N" G0 J7 H4 R4 H' v/ U
# ]9 {% k& t8 |4 |2 o
        CPU阿甘遵照指示,先向金士顿内存问了DNS服务器的地址,然后写了这么一封信,交给我:! J4 ?6 a$ E; g% n
       
+ \6 N) o7 v/ t8 [, R2 |6 X        发件人:192.168.1.2(我们刚刚搞定的IP)
0 i7 O4 q$ f1 q1 w+ g/ Z        收件人:202.102.224.69(DNS服务器)4 o: J. x( p* A7 ]
        内容:哥们,给我查查www.baidu.com的IP地址吧5 S5 j( `' z8 i; b. O" a
" Z4 W# T! Q0 s) i# U! Y( U. ]
        “但是这封信发给谁呢,我需要知道对方MAC地址啊,总不成还是对外广播吧。“我心里想。, ^) V( U0 _) W% T) O

3 d9 ]) b* R* ~2 e9 H        操作系统老大看出了我的疑虑,解释说:“DNS服务器不在我们的局域网内,我们要把这个信发给网关路由器,他会想办法转给DNS服务器的。”, I+ P& O6 e% E$ B1 T5 }

$ z0 \0 G/ D# L2 y3 E1 _" O        我说:“可是我不知道网关路由器的MAC地址啊”
. V6 z0 T& ~1 ?: {6 O2 l
% l. |" h6 o, Y1 r: @1 `        金士顿内存说:“别急,我查查之前我们存下来没有,我靠,刚才那个DHCP服务器(192.168.1.1)也是网关服务器,他怎么没把MAC地址顺便发过来啊!”
  w* k8 F; i# d9 q7 O  ?* N- j6 x5 u# v
        CPU阿甘急了:“TP-LINK7954,你是怎么干活的,怎么非得要MAC地址,直接用IP地址不行吗?”
1 o' C4 K: y. u: L" B' ~" t
' K- ~2 U5 W1 w# }        我回答说:“没办法,这是规定,你不知道网络是分层的吗? 我只工作在数据链路层,就得用MAC地址。另外网络多种多样,可不仅仅是TCP/IP,我要是只用IP地址,那其他网络怎么工作?”& R) A4 Y% `. ?8 F

( t6 o4 w0 d) X4 ?8 O        操作系统老大说:“我记得好像有个叫ARP东西,可以通过广播查询一个IP地址对应的MAC地址,你试试”。
% o- N: x+ k' _7 q- r3 n, u) @3 P& u( Z8 M) s5 l! e5 Y% y
        其实我也想起来了,这个ARP叫地址解析协议,我可以把下面的消息广播出去,这个子网内的所有机器都会收到,网关路由器也不例外,他收到以后,一看是查询自己的MAC地址,就会创建一个ARP的应答。1 y* ~; L% s  r$ w
( n& O, S& j- v& ~/ h+ k
        收件人:FF:FF:FF:FF:FF:FF (同一子网内的所有电脑)/ f& ~0 e/ k. B: J/ D
        发件人:11:27:F5:8A:79:54(就是我自己了!)
; F1 t# o, r: U" N  t8 a* Y, ^        内容:呼叫网关路由器(192.168.1.1),请问你的MAC地址是什么?
; G2 ^8 ~) H) s5 P2 l7 X0 U# N  `+ D# b
        过了一会,ARP应答果然来了,我们看到了网关路由器的MAC地址:88-25-93-79-E0-C8
6 o0 @2 s6 q7 w! m, F4 C* V" {" t& \+ T5 a9 g7 o+ @' B; {- J8 c1 c
        我告诉金士顿内存:“赶紧记下来,下次咱就不用再查询了”1 l6 n2 @% G8 @7 K' v. u0 s3 F, w
       
- N) B$ s* ?3 V4 a& h  X        192.168.1.1<-->88-25-93-79-E0-C8
  C0 `1 a: \8 b1 Q( R$ p3 W- \1 i3 {: d2 _! V7 a
        有了网关路由器的MAC地址,剩下的事情就好办了,我只需要把之前准备好的DNS查询发给网关路由器即可。& y3 }% v% R- h

0 f  P. R( g: _/ }0 M' W% p        阿甘好奇问我:“你只把这个信发到网关路由器,剩下的事就不管了?”* w/ r2 e9 j* s

' M5 [& d" e& D9 L- T        我没声好气的回答它说:“那当然了,我只能管局域网的事情,出了局域网,那就是路由器的事情了,路由器能抽取这个DNS查询的数据报,看到收件人是202.102.224.69(DNS服务器),自然可以转发出去,我们完全不用担心。”& |5 c  O% a8 B# o/ a. }
% U. j; G) I) U4 U. x
        我们等了一会,DNS服务器很快就返回了www.baidu.com的IP:115.239.211.112
3 i8 \% J3 P; v# a  y) ?' S3 }" y2 ~: q' {- q
        金士顿内存说:“我记下来了,上网看来一点都不好玩啊,这么费劲。”
, Z$ q/ v& @3 _( Z/ P7 A- w# F) o8 ^7 M3 I. u4 \% E7 v
        老IE说:“好玩的在后面呢,现在所有的东西都齐活了,开工~”5 u& f5 O5 m+ Q1 _: m4 l7 x" l
, Z, q9 k- R8 r7 k
        老IE开始创建TCP连接,然后通过TCP发送HTTGET请求,轻轻松松的把百度的主页给取了下来,展示了出来。( ^! r+ E$ z! z$ U$ p
, w: t  H& T' k) |6 i3 U3 L4 V
        大家第一次看到外边的世界,激动万分。
; R, P* g1 i1 ^8 `% u- K# E# k9 T+ S6 H4 X
        当然还是我最忙,因为老IE的所有信件都需要我去发送和接收。
7 r% ~. `, w1 A- z8 l5 T/ ]  x9 W% M9 a
尾 声
        % d4 L+ `3 Q6 h  Z! @
        这几个月以来我都是电脑里的最忙碌的人,一旦可以上网,大家都上瘾了,浏览网页,刷微博,看视频,玩游戏,每天把我累的要死。
3 i( K, `9 T5 M! J6 s/ Y, j$ j5 i( U) `# V7 h+ O! o6 K* }1 A
        日子就这么一天天过去,有一天,大家发现主人把一个新家伙通过USB接口插到了电脑上,然后顺手拔掉了网线!( R* J2 I" e& s1 N: Z8 f# I8 P

/ o5 ^; p* t5 J        我失去了和交换机的联系,无法联网了,难道我们电脑又要成为一个孤岛了吗?
; [+ L# o: j. w/ A" l8 Q4 X% |7 G2 u: }. w; E
        老IE还正在访问一个博客网站呢,一下子就断了。7 {$ k1 K3 Y# V. B. H
; }7 P$ _* _2 G. k; d8 z3 `! P! P7 y
        不过奇怪的是,CPU阿甘,金士顿内存,操作系统老大竟然都围着新来的家伙重新玩起了DHCP,DNS,ARP,并且连上网了,所有的信件都由这个新家伙来传递。
( @- H: v; w" l1 _( R9 c9 d* j) E& I9 v4 U; I* V0 S
        我偷偷的问老IE:“这是怎么回事?”
7 V  e+ O: m9 M* R  t; W7 A* q  \/ [8 h
        老IE说:“看来你已经失宠了,新来的家伙叫无线网卡!”" j! w/ ?9 H8 y4 I* Y; X
( @$ i* J. m9 o* K; i! t
上一篇
下一篇
糟糕!小执念长得太帅路遇劫匪,赎金 2 个 金币.


清风霁月 「出类拔萃」 2017-8-31 19:28 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

我想说我什么也不想说、
雾月 「出类拔萃」 2017-9-18 17:18 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

让人奔走相告曰须阅读的好帖   H) H- g" |) E! ~
故事,还未完、 「锋芒初露」 2018-1-20 22:41 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

我想说我什么也不想说、
一起一伏 「龙战于野」 2018-1-23 13:18 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这句话后,才发这现里的字全是都乱的。#375:
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2021-7-24 21:55 , Processed in 0.031510 second(s), 21 queries , Redis On.

© 2015-2021 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表