我是最强的! 收藏本站
登陆 / 注册 搜索

阅读: 26.7K   回复: 11

[# 网络基础] TCP/IP网络精讲 之二 OSI七层模型

仗剑天涯论坛大牛 2016-6-28 23:54 |显示全部楼层

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

主题破百
        今天发现有人回这个贴,觉得这个坑挖得有点大。不过既然挖了,岂有不跳之理。男子汉一言既出,就什么马也难追了。( ]9 c- g0 r; Y- z0 L

2 p. l0 O/ ]. d& @; J% A6 L9 s; M) c  L7 Q
        今天我们就来学习: “OSI七层模型! U& p. z& J. J- s& p& ?9 Y

2 Q1 n4 ^' N3 ^        目前全球约有40亿网民,互联网的规模已经是超乎想象般宏大。那么问题来了:
/ x+ a# s& _/ I2 t9 r& H4 ]
, W4 K' ~) e/ ]% _7 a
        我们怎么实现在这么多的机器之间通信呢?
8 I( \4 l* j6 Z- B  s9 D        怎么能够不在这数据的迷宫里失去方向呢?

. i  e! H* c9 s, M3 |2 U        我们一起来学习,以期找到问题的答案。首先我们来理解互联网是怎么创建的,以及使用什么规范来很好地组织这么多信息。3 x& P0 \4 C3 z/ }
) ~1 ?, d# }' \# i9 r2 d
#f194:
$ p; y( |( p8 _1 G9 f1 i2 {9 p
        设想一下,假如你可以在任何时候通信,和任何人通信,岂不是很棒。这就是互联网的初衷。) P: v% }5 v& d

: I/ r9 _* w* ^4 u( T        平时,当我们身处一个10人小组,会感到表达自己的观点有点困难。如果是100人,就更困难。假如有1000人,那几乎就听不到你说话了。但是互联网就是要向不可能挑战,要能够做到:在任何时刻,同时和任何人通信。当然了,要达到这个目的,必须要建立一个复杂的通信系统,使得各台机器之间能够相互对话。( Q: S( m3 X6 D6 }& i# x
" j% F( |1 \/ w! Q  M  g9 ?+ m
        但是这样的一个通信模型如何构建呢?#362:' D+ w2 R) z$ h$ _! ^; r  K, i! X

6 T7 ^! T7 i# T5 J  r* F
/ q( O6 @% g4 Z2 l! }" k        我们可以从最熟悉的通信方式开始理解。来盘点一下一般的通信方式吧:/ K- _- ]0 ^7 G

1 z+ D" a# i+ }$ {7 p: O  Q
        说话& X- E" B7 D$ H! B) z, ^6 D
        打电话
. @$ R# p( e- \1 v1 p        邮件# F: R: t: x$ @! G, o: Y; C
        飞鸽传书 →_→
6 Y  N) {$ P* a. W        等等

; S8 @# }( W, e! S: R3 \% [        接下来,让我们试着来理解,在这些通信方式中,有哪些基本要素是我们通信活动所必不可少的。
. b' a8 `& ?' E: Z
0 L5 ]9 S7 N- q( N: h& l8 z, G3 H        说话的方式,我们需要:
# I: E( W3 O- T+ c) B' ~3 z" I  o9 P0 J; f. T* I- h
        说话者& A3 {5 Q7 i7 M6 W
        听话者
" X8 E" p! j( R6 i9 P! ?- J        传声媒介(空气)

6 m" i- m3 g, {0 K0 X        打电话的方式,跟说话是类似的,除了我们还需要一个在说话和电子学之间的中介。实际上,我们要把说话的声音转成电信号,电信号通过电话线等传播介质到达接收者那一端,然后转为声音被听见。在这里有一个信息的封装。
: }$ C- c9 R# @, t4 r5 I" `: G1 W4 V; |- H- E  R
        我们可以举邮件的例子来看一下这个封装信息的系统,在邮件收发时我们需要:" Y3 Q, ~/ ^/ R* R% m( L5 m

* Y, ~6 [+ G: A7 |# i2 t
        寄件人
% \2 u* e7 v9 m: l6 `        收件人
8 t/ v2 t; G  `4 B% O        传播介质(信)0 F1 Q; v5 t" }9 i! w+ u1 _
        容器(信封)* Q1 l" R& o2 i, u! U; D0 C
        中介(邮局)
6 \- X- m0 s4 B7 Y6 g4 X

" j9 T  q+ U2 G        是不是慢慢能理解我们通信需要什么条件了?8 [) h2 o$ h/ o3 b$ X

' U, c6 p& z* E7 x1 i; T, a# z& c2 m) Y
        问题又来了:
% I; j) K# M6 o- x8 P! A0 A0 @& D) g* M/ P9 B- ]1 S" c
        我们对电脑也能这样应用吗?# d, d' M& l8 m5 T# ]; U8 |
        怎么才能让大家可以同时发出讯息呢?
& f2 B- N2 M1 ?- P" f* K* b# }  ~        我们能够即时和地球另一端的某人通信吗?  

" N5 B  D. q, c- l        接下来我们就看一下网络的先驱者们如何把人类通信的原理“应用”到电脑的通信中。3 S2 e& ?  u  I3 a+ A5 B
2 W, S4 i; N1 j2 U* \
        他们把所有研究的成果重组,创立了一个标准,所有连到互联网的人都要遵守,这个标准就是:OSI七层模型。  
5 i: A3 F6 X" N* ~# e, q
/ k0 K$ m. H( |; F# j        OSI七层模型,听上去是不是很帅?这个标准诞生在1984年,只比我早了n年出生
2 x7 z3 g4 S2 T4 D
9 n; N" u- j. P7 e0 z* o
, Y# L7 Q$ _2 ^, P# N        聪明的读者也许注意到了,这个标准比互联网的出现晚了很久。
& M* ~7 w, i1 ?. H- l6 [6 {0 U, T2 ~5 ~% F' Q( L
        原因很简单:OSI七层模型是在人们有了不少机器之间通信的经验之后才能够诞生的。因此这个标准不仅能够适用于现有的通信,也适用于将来的通信及其可能的演进。它的目的是使通信标准化,以保证机器最大化的演进潜力和协同工作能力。
0 D8 l* E& E: q9 G5 k' E7 \9 u+ Q7 F  U$ y- {
        听起来很不错,但是到底OSI七层模型是什么啊?
0 Q3 l5 j% Z! t0 P* V7 X
& N6 a$ n, U3 g3 b3 q        OSI七层模型是一个标准,规定了机器(主要是电脑)之间如何通信。因此假如你想要让你的洗碗机和洗衣机通信的话,就需要遵从OSI模型,或者至少从OSI模型获得启发。这意味着需要遵从分层的通信方式。
" z  \& Q  d" d3 c! C* e+ s, {* T* ]& ~

& ~) \( A( V; [4 i- E        这里的层又是什么呢?
0 }+ w+ b1 P) h- {% I1 [( i
5 [! O5 T$ i+ b8 ~5 t) k) s$ B/ @4 L% w, _
        OSI模型是一个分层的模型,就是说它分为几个部分,每一部分称为一层,每一层扮演固定的角色,就像下图所看到的:
: {; A% H9 K. w7 I6 ~7 w- V
) \  s/ {6 t7 q4 i+ [9 b
TCP/IP网络精讲 之二 OSI七层模型 10192975.jpg

$ `3 I( v- C7 H& P. X/ T        上图中,我们可以看到OSI有7层,每一层名字都不一样。. J5 T$ Y8 l9 m7 b) a
0 v/ P: J4 z8 [6 M
1 k2 g4 A0 V. ^1 j6 \
        为什么是7层,不是14层或者250层?#358:; Y5 n% d, U: E

* P# @* y2 j" j1 U, u' N2 l6 D- i9 a6 e$ O' L6 C) a/ r" U
        还记得之前提到的吗?我们知道要通信,需要有固定数目的组分,比如 发送者,接收者,语言,等等。网络的先驱者们设计了用于构建通信系统的主要元素,他们发现数目定为7最合适。因此OSI的每一层都有特定的分工,这7层合起来就可以使一台机器和另一台通信。; Z8 I/ ^. \5 @5 T

/ c( b  S  I' d
7 P8 {0 @( B  M, q        下面我们来看一下这7层各自的细节。
3 ^! J2 U" e& s  L7 e8 k6 F% `) y
! ~9 Y* I4 n1 h+ @: [
0 C; g/ o& @3 A# Q% P        第1层或者物理层" R+ K: f( d) h' i6 m

$ `- k' l+ f1 J  r        名字: 物理层
. ?4 c8 F7 m, _0 Y! `0 T7 F/ G! `- m2 X' Y5 O
        作用:为通信提供传播媒介. w% w0 d1 j# s2 N. |9 [( ?2 A9 g6 g

- m: \' r" F$ q        辅助作用:没有+ z, W7 F% {# v& a) N
  a- k( b$ S5 r( I
        相关设备:集线器(也就是常说的Hub)
0 L+ H' B) C* ~) V; r; i8 {3 R' _2 T7 i* j
3 g' l/ H' i9 H  c  J# \( r. i( ^
        第2层或者数据链路层' `2 m+ _. D$ r
  I4 a2 E2 T- p. m4 L: |( I
        名字: 数据链路层' T4 l9 h# P) ^2 B( S
  }9 N% o% G5 L2 @0 W) h
        作用:使局域网中的机器互相连接
: s$ c( L& h" B9 \9 m
6 y  q- v& \% y; ?        辅助作用:侦测传输错误2 n7 k- j4 T: Z
* y7 ?5 k9 ^% Y# A) P! R
        相关设备:交换机(也就是常说的Switch). b5 B) ~7 _+ F, g, T" r

8 M2 B+ d2 y3 F9 |8 X2 V2 g/ T/ n3 {& Q: G7 P" G) m
        第3层或者网络层' ?/ ~, C* m+ ^: m6 U. M% a# j
$ j0 b, x' s! B8 z
        名字: 网络层' j: s$ ]0 m( ^0 f$ n
& p6 S+ z$ c; A6 v( e
        作用:使各个网络相互连接& O" ~1 p) _5 \' M. s$ E- p$ b9 p- R

( ?* b4 j0 C% N: k* X; \0 n        辅助作用:分割传输的数据包
8 R) z8 h8 U: h5 K4 X+ b
% p. L) c/ H) l3 A- ^        相关设备:路由器(也就是常说的Router)! v4 F$ V, C5 R3 k$ P, R8 `' g+ ^
; H6 _; B3 B4 m6 Z

; q! h, _/ w, z) f( p  U        第4层或者传输层' D4 b3 [) k, G. \4 S& ]+ V4 r

* L( r8 P& [* @+ h% `# V        名字: 传输层- l! A1 s0 m' S0 \7 m
- n6 f- ~6 S3 [" A; r, y8 Q0 a
        作用:管理应用程序的连接
; ^5 x7 t+ n; t) }% f9 t# Y% L
1 A1 Z2 ~  B/ `$ F- d' V+ i$ j        辅助作用:保证连接的有效建立
- T  k+ f6 c# J- P/ Q8 a7 b# H& u8 \0 Q8 m: }1 S8 B* l
        相关设备:没有, V2 I# M' v- O0 u$ G' u. P

/ ?1 v2 x6 c8 e+ z" O0 |$ v7 ?( v9 y* S; f0 N/ R' |
        第5层或会话层
  r9 b/ T- G2 O
6 k8 y+ \% T4 H# i2 z        我们不在乎!" ~& D7 f/ h* B+ a2 m5 E1 s, _2 }
# p2 c+ {4 l" _# h# z

+ @7 ?9 ?5 M  d+ Z        是的,你没有看错:我们不在乎第5层。" d' m  ^, n& i' g

. h) f' V* i$ a# p- W6 [% m, C$ p        在第4层以上的,除了第7层,我们都不在乎。当然了,我也有些夸大。但是第5层和第6层不在本贴考虑范围之内。0 o! U! P' d$ ?3 S5 Z

" t: c/ B, n0 l$ i        原因很简单:OSI七层模型是一个理论模型,今天的互联网使用的实际模型是TCP/IP模型,而后者不使用OSI的第5层和第6层,因此我们无视它们。
1 }7 d$ @: @+ Q
# i$ m: D9 ~* _9 |3 m        好,我想你应该理解了。当然了,第7层我们需要考虑。其实正是为了这第7层上的应用程序我们才大费周章,构建这个模型。是的,第7层就是老总,就得伺候着,就是这么任性 →_→
- _4 I9 o& p  O6 \# Q5 X" p% _8 ]) d! H7 `) w- a( y  g: p) }  D) r
' K3 e) P7 @5 ^* u# @# t# }; l
        第7层或者应用层
1 D6 C# a; @+ o2 H; N9 q8 {: N
        名字: 应用层2 K* C- r4 ~, [+ \5 A3 S

5 j# T2 |# }% F! W: d/ e& t        作用:没有
+ w3 e" t% ~' D: R: v% Y$ K) w% j6 B7 b+ v( `9 d
        辅助作用:没有- w7 S2 `, q4 O+ K

9 n% {6 c6 {; ~/ B        相关设备:代理(也就是常说的Proxy)8 ]3 A7 I7 G* ]/ q. b
% Z8 {/ B* M* S/ F6 g. ]/ w& D
; s3 k/ i0 N. h& W
        什么?第七层竟然没有作用!那“伺候”它干嘛?说白了,这一层就是展示我们构建通信架构所要服务的所有应用程序。
* L9 ?7 L. P1 j
7 `: t; k) C  s1 f8 A$ ~& Q* r6 W        因此,第七层我们也不多做研究,而是把重心放在提供服务和引导数据传递的第1-4层。其实,还有一种说法是把1-4层合称为“网络层”。因为正是这四层负责引导数据从一台机器传递到另一台机器,以供机器上的属于第7层的应用程序使用。; y/ |- H" d- Z+ E/ y* E! _/ }2 M' W) [

! V& p6 p" @) Y) Z  {
+ L/ R( N/ b" J9 P0 D        在深入理解这四层之前,很有必要提一下使用OSI模型的两个原则:
* ]1 Q3 [6 @; Q4 M5 L8 L% i* E3 B  a1 ~- k+ E% S+ v
        1. 每一层都是相对独立的& j) @; ~, Q% k. l& e: r
        2. 每一层只能和相邻的层通信
, [) C8 c! O  P" t
        “每一层都是相对独立的”9 M2 y8 W* I/ {! }0 `$ W8 g

, U, y; f7 F6 {4 v/ G        其所产生的影响是某一层所用的信息不能被另一层使用。例如,对于某些有一定网络知识的读者来说,应该知道IP地址是属于第3层的,就不能被另外的层所使用。, j9 l; _. D1 ^9 \
5 j3 y# }+ a* r& D' K
        这样规定的好处是可以方便通信方式的变革。
- M5 n: w- X: w8 P) K
! O; h' N# v2 h4 @8 c2 d& m# @$ c        想象一下,今天你使用互联网,虽然你可能并不了解它的原理,但实际上你使用的是第3层的IPv4(Internet Protocol Version 4,第四代互联网协议)这个协议。未来,我们将从IPv4演进到IPv6(第六代互联网协议,相比第四代的32位地址空间,可以达到128位地址空间)。这时,假如我们除了第3层以外,在另一些层中也用到了IPv4,那我们除了要改第3层的协议,我们也要改其他凡是用到IPv4协议的层,就会很麻烦。
; z0 e+ N) [* Q, h+ j- r  l5 B6 d7 `: Q' r: |3 m- t
        保持各层的相对独立性可以使得我们改换一层所关联的协议时,无需更改其他的层。
' s1 x0 |, ?% e5 Z' j4 {. N3 R( G' f
/ e; z, ]  D# ?0 J! ^& k; J' a& c, |        “每一层只能和相邻的层通信”
& u5 X/ N3 u2 ^& |9 a. @* k; @* r: m7 K: y" G
        为了理解这个原则,我们必须了解机器是怎么利用OSI模型来通信的。) ~, w3 U7 Q9 H0 l" E- Q( l8 N
: _& e4 k& }4 _$ D) Y
        想象以下场景:2 A% d* Y0 Q' D! n( L

/ g1 S: B$ g3 K6 M        你坐在电脑前,打开你的浏览器。你在浏览器的地址栏里输入一个网址,那个网站就出现了。' W# H, B- A+ q: Z. P9 G
  ~3 s' w3 R! |1 n& R, |# o
        虽然你并不知情,但其实你就在使用OSI模型。#357:$ z) ?; g, _; ~) N) M
( D+ @3 T2 s/ {7 Q3 |; x
        大体来说,位于OSI第7层的应用程序(此处是浏览器),与第1-4层(合称“网络层”)对话,以便这4层把机器上的应用程序所要的信息从远端的机器上(比如google.com的服务器)传输过来。
% w+ e$ d0 U* x/ I+ s+ g4 K2 H. V$ e! g+ O4 Y* d
        在一个传输过程中,我们会跨越OSI模型的各层,从上到下。3 X1 i7 x9 c! V+ Q
6 o, i$ W! @+ N! `( k5 e* P
        由此可见,多亏了第2个原则,我们能保证在信息的传输过程中,OSI模型的各层都会被跨越,也就保证每一层的作用都能得到实现。当然了,差不多是这样。因为实际上对于互联网,OSI模型是一个理论模型,第7层其实是跳过5,6层而直接和底下4层通信的。所以是 7 -> 4 -> 3 -> 2 -> 1 。
% j! h; F0 {, J) [% o: \# w, O! M4 o5 a/ n$ J. M
TCP/IP网络精讲 之二 OSI七层模型 10192976.jpg
# Z% j; A2 [  ?2 d1 ?' }
        好了,今天的课程就到这里,总结一下需要记住的知识点:3 o5 P- c* C+ o% ]3 z7 T) g
0 f( ^. v5 W9 G! }4 \! [% J6 w1 }3 D
        OSI七层模型是一个规范,其规定了机器之间如何通信. M* t- t1 K5 x- `( m! h
, s& \! t* R# {0 Z0 j& T
* M, f" J9 K6 F/ q
        OSI模型是一个理论模型,互联网实际使用的是TCP/IP模型
& s+ x" ]1 v/ ?6 [
$ N" P  I; k3 i" [* V/ y

1 A2 I" \( b5 W6 }        OSI模型有7层& W# f) W* i2 H; \9 C
, z, k: Z- v" y. [
6 Y  Z# Z* j: Q
        每一层都有一个特定的作用
# L9 A3 R+ ^* Q( L. z. i! n" L; f# q

9 L- a5 n* |: w. ?) S7 @* v1 E        第1-4层合称为“网络层”: X! q- V$ U3 b4 |& W

* D6 A% d2 g$ R! W. T' K! I

" e5 L  @; r) X' }; I        每一层相对独立5 t* F# V9 g1 t8 A8 d/ F/ Y

* v: m% X. |# W6 P
  s$ {9 F- P" B! s
        每一层只能和相邻的层通信- G: l# K; I: e+ i

: T$ G- Q. A% L  ~) K

" d6 C0 t  I  p& Q. ^8 e4 U8 A        当传输数据时,我们从OSI的最上层遍历到最下层,在另一个机器那里,曾是相反的方向,从最下层到最上层。3 R" U( N& Q+ q

5 B  m5 |' ?; x. ]
上一篇
下一篇

评分

参与人数 2成长值 +2 金币 +2 展开 理由
Sunglassescat + 1 + 1 很给力!
sirius + 1 + 1

查看全部评分


sirius 「初入古黑」 2016-6-29 06:17 来自手机 |显示全部楼层

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

在这里明白了要多学基础 正好昨天在啃tcipip协议的书似懂非懂 希望这帖能继续下去 来自: iPhone客户端
胡雅亦林 「初入古黑」 2016-7-5 12:42 |显示全部楼层

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

鼓励鼓励。支持支持。为你点赞!
hanschin 「初入古黑」 2016-7-14 17:06 |显示全部楼层

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

学通信原理时都是死记硬背,你的这套 HUB-Switch-Router-Proxy比喻很生动形象,利于记忆
hanschin被钱袋砸中进医院,看病花了 2 个 金币.
灵芝sama 「初入古黑」 2016-12-9 18:24 |显示全部楼层

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

顶楼主,非常有用的讲解w
Sunglassescat 「龙战于野」 2017-7-27 22:59 |显示全部楼层

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

大大,我百度了一下,为啥上面说PROXY代理的工作主要在会话层
Sunglassescat殷勤地给楼主揉揉肩捶捶背,楼主奖励2 个 金币.
Sunglassescat 「龙战于野」 2017-7-27 23:06 |显示全部楼层

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

给大佬点赞。都记住了#365:
Sunglassescat在电影院邂逅美女,请美女吃大餐,花掉2 个 金币.
微雨黄昏 「出类拔萃」 2018-5-5 10:02 |显示全部楼层

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

网络安全不能一直靠司法政策压制,技术对抗才是保证安全的本源。
巴黎环抱的花海 「龙战于野」 2018-5-7 09:22 来自手机 |显示全部楼层

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

珍爱生命,果断回帖。
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

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

GMT+8, 2021-6-20 03:24 , Processed in 0.032050 second(s), 25 queries , Redis On.

© 2015-2021 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表