日子过的象流水一般。它静静的从我们身边缓缓流过,不带半分声响。那些我们当年执着的人,执着的事,执着之后,却变成一种负担。 收藏本站
登陆 / 注册 搜索

阅读: 5.9K   回复: 4

一块网卡的自述

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

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

主题破百
        我知道我一生的使命就是传递信件,但有一个前提:我需要知道对方的地址才行,其实我们网卡都有一个全球唯一的地址,这个地址一出生就确定了,就像你们人类的身份证一样,终生不变。
% ^" T! f& z" \5 q8 z
" O! |, g7 f+ V9 V  k        无论我走到哪里,我都拥有这个唯一的标志:11:27:F5:8A:79:54
$ f. \' ~0 k- s% U) b" e
3 ~3 l* l. U9 m  e9 B        挺长的是吧,你们人类把它叫做MAC地址,简单起见,你可以叫我“TP-Link7954”( P2 e0 }. K7 v0 M
3 e# ~- V- ]/ v/ O! N2 E
        刚开始的时候我非常孤独,因为这台电脑虽然经常开机,但却不联网,真不知道主人是怎么想的!+ M$ I1 I' F0 n8 Q9 K
0 x6 i- b5 ^7 \- H4 q: r/ n
        不上网就没人来找我发信,不发信我也就没什么价值,也没人搭理我,我整天听着CPU阿甘和金士顿内存在那里喋喋不休的聊天,真是烦死了。
) a$ |" D0 {4 w
) n/ ~+ z6 m( F
一块网卡的自述 Internet-Service.jpg

' ]5 ?' q1 L, {2 O) G: e        只是这两人都记不住对方,每次重启都像是第一次相识,实在是太搞笑了。#j318:
# \8 b3 X3 I2 Q: e8 E6 W, t) x# D5 }
D H C P
       
        在我入住机箱30天以后,音箱向大家报告说:“主人终于决定要上网了”这绝对是个重磅新闻!
" l5 }# E' ~" a- _
+ _7 C7 ?7 q' Q7 Y) U! g        我很兴奋,大家也很兴奋,早就听说外边的世界很精彩了。一天晚上,只听到“咔嗒”一声,一个RJ45的网线插头便和我亲密接触了。8 N1 d  ]' j7 ]1 T) u

$ \4 |* ^% h) q+ u        网线的那头传来了陌生而熟悉的声音,我的潜意识告诉我,那是交换机在转发信件。CPU阿甘看到了这种情况,也不和金士顿内存聊天了,他对着我大叫一声:TP-Link你在等啥,赶紧上网啊。
3 ~* [9 ]9 [: j8 s+ M2 C: n/ t4 n, S* n
        这是他第一次和我说话。! R0 Y# E2 ]0 x3 _) k
. d5 g9 _% K& b. u; K& f& V
        操作系统老大是见过世面的,他镇定的说:“心急吃不了热豆腐,我们得先搞一个IP地址才行。这需要用到DHCP(动态主机配置协议)”
* u: w( _) C6 k2 d+ U0 N% @) X' X% y
        阿甘说:“谁那里有IP地址啊?”
5 S, B9 Q9 m  d0 U4 g' K6 N
  q$ q# u/ m8 c3 L  r        “这个网络里应该有DHCP服务器,可以动态的分配地址,我们可以发个信广播下”老大接着说“阿甘,你和金士顿赶紧写一封信:”
0 B/ S! e- E1 |% V) X* |3 d4 {. F$ N" m
        收件人:255.255.255.255:67; p9 d, D' ]8 F  B
        发件人:0.0.0.0:68+ Z: e' A* z2 ~7 }
        内容:我想租用一个ip地址,谁有啊?
4 b2 M& y. M5 h9 \
& u' u7 L8 [- T8 j, u$ d9 W: T/ g        (注:这里做了简化,实际上这里首先是一个应用层的DHCP发现报文,然后被一个UDP的报文封装,然后再被一个IP的数据报封装。形象化一点如下图所示)" A9 ?4 b/ C5 R3 n* X( M; P
$ ~' D+ U- t6 m7 Y0 U  U7 R3 p
一块网卡的自述 1-网卡.png
; Y  W/ {! G$ r1 ?% S
        阿甘傻乎乎的,也不问为什么收件人和发件人这么奇怪,只是飞快的按老大的指示写信,信马上写好了,交到我的手里。“给你,TP-Link7954,赶紧发出去吧”。
$ C1 y* x/ Y2 N6 ]
! d3 ^+ r+ B$ j- m& G        我对外发信是有原则的:我工作在数据链路层,必须得知道对方的MAC地址才能发信,如果不知道,我就对外广播,那就是所有的电脑都会收到。
  d+ `  h$ j( \: D; q3 w+ E* e) v! b0 W+ l  S0 g8 \# g' J
        这封信显然就是要广播的,因为到目前为止,我们还是网络大海中的一个孤岛,和外界没有任何联系,我还不知道任何其他电脑的MAC地址。8 ^* N. H# y! L
; m: x; U$ W. h
        按照规定,我又把阿甘写的信封装了一下,装到另外一个信封里,只有这样,我最重要的伙伴交换机才能看懂。
# S6 ?" e" Y$ i( [2 j$ j
- {9 d# H, f# F2 t1 e        目的地:FF:FF:FF:FF:FF:FF (广播到同一子网内的所有电脑)
7 N5 y6 }) T9 j        发件人:11:27:F5:8A:79:54(就是我自己了!)
$ [/ |/ E7 A+ v4 O; t; z% }2 ?0 }) X$ V) s. V( c/ K
一块网卡的自述 2-网卡.png
  q6 g; x7 S' C: P
        我把它通过网线发给了交换机。交换机看到FF:FF:FF:FF:FF:FF,立刻转发给了所有连到交换机的设备。0 B) V; {" e9 u* ]7 q! d! M6 g' s, ?

* C0 @; x1 N# j        如同老大所料,这个局域网里确实有DHCP服务器,还不止一个!因为没有多久,交换机转来两封信,我拆开其中一封,里边写着:6 ~2 F* F6 w* x2 ?' k
1 X, E& ^/ G5 Q; r  b; f6 p: L
        “我是DHCP服务器192.168.1.1,我这里有个空闲的IP 192.168.1.2, 你租不租?”3 F5 Q4 Q& z* C" f- w- y4 Z
  @' U( [+ l, h7 P, ?! A
        另外一封信也差不多,是另外一个DHCP服务器发来的,提供了另外一个IP地址。CPU阿甘迫不及待了:“看来我们很受欢迎啊,这么多人愿意给我们IP,老大,快抢一个吧。”& M& L/ \  X1 Z2 i# s3 {* {, R

! J& x, t3 u' c8 l- P        操作系统老大说:好,我们要这个192.168.1.2吧,再写一封信:. }" {/ e7 g1 c8 J# k; h7 s# ^
       
+ i/ s9 N2 Q. `/ Z1 m% e        “你好,服务器192.168.1.1,我们就要这个IP192.168.1.2了”
0 I8 X! U& s0 R- a' P; W6 J8 w
        我又把这封信广播出去,看来我们所处的网络非常快,确认的回信眨眼间就到:4 B* A3 ?6 _' h2 f  |/ {
       
/ w+ N- P3 n- f% [' ]        “这是一个确认信,IP192.168.1.2给你了。网关路由器是192.168.1.1,DNS服务器的地址是202.102.224.69”" v1 H; p! ?- ?6 G7 D

7 [& W: U3 H+ E+ T; \) u& @) u        金士顿内存说:“不容易啊,终于搞定一个IP了,我把它记下来”。
$ E0 _' u5 ~% d) N) K
* J; O6 T2 \9 y        操作系统老大说:“把所有信息都记下来,接下来很快就会用到”。
2 e4 O  ?4 A0 C8 ~' n1 Z' G* W       
' p0 ~4 j! Y9 a! N* g        我们的IP:192.168.1.2
# Y2 o# H3 H/ i; q2 y' O$ _4 n        网关路由器:192.168.1.1+ Y8 U/ K: ?  M* ?! K) M$ O0 \
        DNS服务器:202.102.224.692 C0 b& g4 C; B  Y5 k! l$ r
# ^* i: X8 @+ x+ ]7 _
        阿甘说:“要是重启了,我们是不是要这么重来一遍?”
1 n- X( `0 X% l/ v- l  ~* k9 h$ m3 T6 K" u  Q
        “阿甘,你现在越来越聪明了,确实是这样,除非主人手动的给我们配置IP地址,网关,DNS,但是那样很烦,容易出错,所以一般情况下,主人都是依赖我们自动的去用DHCP搞定一个IP。”! w2 r3 H, F* U4 q9 ]8 }
; T* V3 o. R& R. n8 |8 Y: s  |
        经过这一番折腾,我也初步了解了我们所在的网络结构:
; L" ^4 S+ c2 i
. W+ Q  \% I5 Y5 A5 x
一块网卡的自述 3-网卡.jpg
' ^1 M5 x- j4 p4 |5 v
DNS 和 ARP
' _% r* C" t  c8 m
        搞定了IP地址,大家都喜气洋洋。我们赶紧把浏览器村的老IE叫来,让它访问一下著名的google网站。
/ D& z2 U3 U) j8 Q% t6 r5 |4 p2 g, a1 C9 w/ o
        老IE说:“你们还不知道?google在中国被屏蔽了,访问不了,要不访问百度吧。”#j319:5 x5 B9 B2 K+ J# f& d3 j! b: f

, h9 L' p/ @8 X6 q. x0 t        我说:“都行,我们先访问一下试试。”
$ m, \9 v( k: t1 @& P/ }0 b
* E) C: M* ]# ^: p! j        老IE说:”百度的域名是www.baidu.com,你们给我查查它对应的IP地址呗!”4 p0 R# z/ [% X/ h6 s& W

/ V$ r/ T- M: s  v        阿甘说:“上个网这么麻烦,这么多地址要查”+ v& }4 t, ]9 F, f
7 J' U/ H" \: r) q6 F
        “是啊,网络世界的规矩就是这样,想要互联,我们得有IP地址,也得知道对方的IP地址,现在只知道域名www.baidu.com,我们得给他翻译成IP才行,阿甘你准备一个DNS查询吧”老大说
' n% D! H& g* M) h# y  g4 Q: D: ]" n1 ^! M' s
        CPU阿甘遵照指示,先向金士顿内存问了DNS服务器的地址,然后写了这么一封信,交给我:
; h  d1 B3 \* w. q3 `5 z# q( f        4 P" X* @3 D6 l
        发件人:192.168.1.2(我们刚刚搞定的IP)
# S( i: t  w# \) Y        收件人:202.102.224.69(DNS服务器)
* F6 F3 X; N$ @" r+ W        内容:哥们,给我查查www.baidu.com的IP地址吧3 [, E. Z, W" B8 M8 {

7 B% J" x6 i; e8 Z5 K3 S& ?/ k        “但是这封信发给谁呢,我需要知道对方MAC地址啊,总不成还是对外广播吧。“我心里想。  Z4 @( o, @' T  I( q

/ K2 h! V5 V- U# V8 e% r        操作系统老大看出了我的疑虑,解释说:“DNS服务器不在我们的局域网内,我们要把这个信发给网关路由器,他会想办法转给DNS服务器的。”- r4 l7 Z  ~! v% ~( `4 u3 O" Z
# T( o  L# e  F, b  T( u: u5 N5 S
        我说:“可是我不知道网关路由器的MAC地址啊”! `, P# R9 {% h) q2 Y/ l9 o: N/ q

! _. D' J7 x* o3 p0 L4 X1 x        金士顿内存说:“别急,我查查之前我们存下来没有,我靠,刚才那个DHCP服务器(192.168.1.1)也是网关服务器,他怎么没把MAC地址顺便发过来啊!”* R6 N( _: W9 n2 F1 o' y. D

2 p$ s& _, `8 A4 L$ V- T! c        CPU阿甘急了:“TP-LINK7954,你是怎么干活的,怎么非得要MAC地址,直接用IP地址不行吗?”# [' T# P$ f' W5 X9 [$ d4 p1 F4 ?
( B8 _0 m( g2 ~- j1 w' Y
        我回答说:“没办法,这是规定,你不知道网络是分层的吗? 我只工作在数据链路层,就得用MAC地址。另外网络多种多样,可不仅仅是TCP/IP,我要是只用IP地址,那其他网络怎么工作?”. |- M' R# O5 p9 q4 |/ o6 i1 c

' {) Y1 ]; \$ H" E6 \- |: u$ }        操作系统老大说:“我记得好像有个叫ARP东西,可以通过广播查询一个IP地址对应的MAC地址,你试试”。2 z0 M  y7 K7 c( b' z% d# ]% @# h

! ?7 C. H9 o8 m1 g+ ^' J        其实我也想起来了,这个ARP叫地址解析协议,我可以把下面的消息广播出去,这个子网内的所有机器都会收到,网关路由器也不例外,他收到以后,一看是查询自己的MAC地址,就会创建一个ARP的应答。
# N6 b$ I1 I8 Q# _3 R8 d
' x" @+ f9 x! [8 f! K$ M/ [        收件人:FF:FF:FF:FF:FF:FF (同一子网内的所有电脑). P5 S. R: m0 u1 P0 T( k- k4 u  f! A
        发件人:11:27:F5:8A:79:54(就是我自己了!)7 U. x9 K* x) j" t
        内容:呼叫网关路由器(192.168.1.1),请问你的MAC地址是什么?
: x" f! N% K9 I% R" E! @  p) j" Q
        过了一会,ARP应答果然来了,我们看到了网关路由器的MAC地址:88-25-93-79-E0-C8
. k. N+ Q6 z+ a, i& l$ M" N- \- d4 T; ~$ F( S! r( o  Z
        我告诉金士顿内存:“赶紧记下来,下次咱就不用再查询了”
! J' c/ Z( k! W. x       
* _' W$ t' C. X3 A: S2 V        192.168.1.1<-->88-25-93-79-E0-C8
) v/ u8 v6 D' t9 p. Y, x' x; B5 p( O/ K8 V, t! F+ s" Y1 V" H
        有了网关路由器的MAC地址,剩下的事情就好办了,我只需要把之前准备好的DNS查询发给网关路由器即可。9 n% q, o8 |/ V, x; V5 |

8 f3 h6 ^, r5 \0 G, Y' ~1 P! v& U2 N        阿甘好奇问我:“你只把这个信发到网关路由器,剩下的事就不管了?”
9 ~; B  c  Q' x$ l' e* t
, I# o% n$ A. o) Q  ^" G! p) B+ w        我没声好气的回答它说:“那当然了,我只能管局域网的事情,出了局域网,那就是路由器的事情了,路由器能抽取这个DNS查询的数据报,看到收件人是202.102.224.69(DNS服务器),自然可以转发出去,我们完全不用担心。”  v8 u+ n" u3 C# B1 V, G. j
# s" ^% l2 j  B, T- [
        我们等了一会,DNS服务器很快就返回了www.baidu.com的IP:115.239.211.112
) N8 Q' O- I: X( P9 X+ t
, O8 A( b0 t2 H/ s        金士顿内存说:“我记下来了,上网看来一点都不好玩啊,这么费劲。”
0 n: D/ `# G3 w
- @3 h4 k* p0 h3 g6 `        老IE说:“好玩的在后面呢,现在所有的东西都齐活了,开工~”
- K$ s/ {! E7 Y, y  G9 Y- j8 Z/ Q* E1 a
        老IE开始创建TCP连接,然后通过TCP发送HTTGET请求,轻轻松松的把百度的主页给取了下来,展示了出来。9 u0 V/ V' {* Q4 k

' ^) E3 X% [5 P        大家第一次看到外边的世界,激动万分。
4 |) M0 y0 D" b2 x3 ]* b
# X# p0 @) G% K# s0 @        当然还是我最忙,因为老IE的所有信件都需要我去发送和接收。0 b! y7 f! c% l& r$ O
8 H1 ~8 ?! B# A2 [
尾 声
        # _  q/ u& i) S
        这几个月以来我都是电脑里的最忙碌的人,一旦可以上网,大家都上瘾了,浏览网页,刷微博,看视频,玩游戏,每天把我累的要死。8 E+ W5 B4 X( \/ u4 Y. \

4 n  Y6 a' A" y6 g        日子就这么一天天过去,有一天,大家发现主人把一个新家伙通过USB接口插到了电脑上,然后顺手拔掉了网线!
! k  g& I& v! `" @& F4 a0 \) @3 |. ^
5 F( [: P9 f+ ?0 @        我失去了和交换机的联系,无法联网了,难道我们电脑又要成为一个孤岛了吗?
7 J7 b7 p0 R% p3 f$ c) l6 j
0 n! C' @. p2 @/ t        老IE还正在访问一个博客网站呢,一下子就断了。4 ?2 O5 c& q* Y2 r+ B0 s; Q9 w* d

" L. u5 g/ E) B* d        不过奇怪的是,CPU阿甘,金士顿内存,操作系统老大竟然都围着新来的家伙重新玩起了DHCP,DNS,ARP,并且连上网了,所有的信件都由这个新家伙来传递。% S( i& ?' m; ?$ B& z; n: B
5 r) @' T. L$ m# {
        我偷偷的问老IE:“这是怎么回事?”( x3 ^" s! {8 o2 }2 U% S; I/ e! Y
% X* O% w9 H- L# s( `  {3 M! p) t8 c
        老IE说:“看来你已经失宠了,新来的家伙叫无线网卡!”& ?* `4 I0 U9 V* a: [6 h$ |
, D. ~3 k& X% z: ?* P) U3 ]


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

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

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

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

让人奔走相告曰须阅读的好帖
, M) ?6 I, Z+ _4 z  o/ n
故事,还未完、 「锋芒初露」 2018-1-20 22:41 |显示全部楼层

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

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

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

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

本版积分规则

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

GMT+8, 2020-8-5 18:22 , Processed in 0.045717 second(s), 21 queries , Redis On.

© 2015-2020 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表