每当对这个世界感到绝望的时候,买一包泡面,然后告诉自己:我们的泡面是有酱包的。 收藏本站
登陆 / 注册 搜索

阅读: 26.1K   回复: 11

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

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

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

主题破百
        今天发现有人回这个贴,觉得这个坑挖得有点大。不过既然挖了,岂有不跳之理。男子汉一言既出,就什么马也难追了。  k% {3 B1 ]) q3 \5 ]; ]0 `' N
: G. E6 `1 W6 g# e# h; j7 Z

4 p( `  E# u; V% j! I        今天我们就来学习: “OSI七层模型2 U6 p! R& k* ~$ z& p

& K+ Y3 G4 F- b, F7 O        目前全球约有40亿网民,互联网的规模已经是超乎想象般宏大。那么问题来了:
4 J* D6 e4 N2 h5 I: x2 x$ f0 y. {- a+ ~/ P
        我们怎么实现在这么多的机器之间通信呢?( \% Z8 u' t- {/ g+ _7 S
        怎么能够不在这数据的迷宫里失去方向呢?
5 S0 Y+ b/ h  l' I6 r7 [+ N
        我们一起来学习,以期找到问题的答案。首先我们来理解互联网是怎么创建的,以及使用什么规范来很好地组织这么多信息。- c  U2 q9 {! O; b0 q; r: J3 y- l
. q$ W/ ?. S# b3 G1 h2 g
#f194:

; @2 b2 A" j2 W4 Z, E' m        设想一下,假如你可以在任何时候通信,和任何人通信,岂不是很棒。这就是互联网的初衷。1 Y; j& k1 s1 Z* H4 {( Q8 K! n# \7 M

" K& X3 q) h- {5 ~& j0 @        平时,当我们身处一个10人小组,会感到表达自己的观点有点困难。如果是100人,就更困难。假如有1000人,那几乎就听不到你说话了。但是互联网就是要向不可能挑战,要能够做到:在任何时刻,同时和任何人通信。当然了,要达到这个目的,必须要建立一个复杂的通信系统,使得各台机器之间能够相互对话。' E0 M1 u" V3 N4 ^
- {$ h5 p8 v0 f% }+ L
        但是这样的一个通信模型如何构建呢?#362:
9 L, U( A' T7 q: s. J1 ]3 p. G
9 Q. s# v( ^+ I- w8 `8 m3 S
5 D6 M/ X- o4 u; e        我们可以从最熟悉的通信方式开始理解。来盘点一下一般的通信方式吧:& e+ f( y7 W6 H0 ~5 H9 \& I% I

0 z; D% n$ u+ ?) A6 M8 \$ [
        说话5 Z: ?- }/ |" y  C* W7 u) x$ Y) Z
        打电话
$ o+ z6 w+ C4 M        邮件
, Q8 ?* C+ p5 B# k        飞鸽传书 →_→
0 W) |$ w. @% z  C' Q7 S3 r- q& ^        等等

; x" q# U3 ^% o2 M  l# K. B8 k8 f        接下来,让我们试着来理解,在这些通信方式中,有哪些基本要素是我们通信活动所必不可少的。
% {( y4 h3 y, c/ O) K- u' r8 n
( I4 t8 x/ \+ I+ d8 U        说话的方式,我们需要:  {" R: G) ]. O- K$ b

. f' `6 `- H' k! Y4 u: i3 E
        说话者) K" I) ]; g' v; i& r
        听话者/ w& D( T: [2 T" p& K: T
        传声媒介(空气)

1 \- |" P" T1 U, M2 e3 m        打电话的方式,跟说话是类似的,除了我们还需要一个在说话和电子学之间的中介。实际上,我们要把说话的声音转成电信号,电信号通过电话线等传播介质到达接收者那一端,然后转为声音被听见。在这里有一个信息的封装。 - o: j6 Y# q( L0 V! E
0 J1 p  u  R! Q% N* F; E; G
        我们可以举邮件的例子来看一下这个封装信息的系统,在邮件收发时我们需要:1 S1 I/ u! Q# x! g4 Z+ X

2 W% l5 {0 X6 e0 T
        寄件人
! K7 g) T+ y% V1 L        收件人. S2 H# Q& v: i) I' ]* v! ?
        传播介质(信)
" Q! I6 c) a) {. w$ L* `) Z% f6 }        容器(信封)- ]% ^5 `6 E9 r7 s
        中介(邮局)

1 ^/ v: W/ n7 L0 F& S3 N( @$ T
: l! P# o5 `0 T: M7 U        是不是慢慢能理解我们通信需要什么条件了?
3 y9 ?. H7 A, o0 F( v3 X- o$ d2 i( e

7 V8 d! Z# i7 O4 Z        问题又来了:+ G& u/ ^. }' Q2 k
5 X: t' o7 [$ |9 \6 g
        我们对电脑也能这样应用吗?; z5 G) P% p7 v+ S9 h
        怎么才能让大家可以同时发出讯息呢?
9 }# g  q2 n* ?* ]6 z. d9 M        我们能够即时和地球另一端的某人通信吗?  
$ n! e8 m- ]. i$ }; d- ]7 R) @2 T+ G
        接下来我们就看一下网络的先驱者们如何把人类通信的原理“应用”到电脑的通信中。
5 p& ^" K7 I* p; z. Q2 D4 a" Q8 f! R, ?" U- O( G  v- k
        他们把所有研究的成果重组,创立了一个标准,所有连到互联网的人都要遵守,这个标准就是:OSI七层模型。  
! E  S$ {3 b7 g" n8 M
* O, }7 ?) h1 {+ A  g4 o        OSI七层模型,听上去是不是很帅?这个标准诞生在1984年,只比我早了n年出生% T5 N" [9 \1 {

; K! ?# @2 c5 i. s$ \8 @  K; Y! K* o
        聪明的读者也许注意到了,这个标准比互联网的出现晚了很久。
! W. t6 n1 F! z( B% W4 J8 ~
4 J* [# v) \3 f2 Y8 T- F# x  {        原因很简单:OSI七层模型是在人们有了不少机器之间通信的经验之后才能够诞生的。因此这个标准不仅能够适用于现有的通信,也适用于将来的通信及其可能的演进。它的目的是使通信标准化,以保证机器最大化的演进潜力和协同工作能力。2 \+ d! z# |- l

4 Q0 x; O3 J4 d+ k' P        听起来很不错,但是到底OSI七层模型是什么啊?
4 e" T: H( S/ T# O. v; w+ V' `( Y' y
        OSI七层模型是一个标准,规定了机器(主要是电脑)之间如何通信。因此假如你想要让你的洗碗机和洗衣机通信的话,就需要遵从OSI模型,或者至少从OSI模型获得启发。这意味着需要遵从分层的通信方式。" b" F+ ]3 ]3 P% k' ]0 l+ l  _

" G* m1 x* ^% Q7 `) n
5 y5 K2 i5 h4 o4 V. E9 l' A        这里的层又是什么呢?
. l7 c3 n( R" i- l/ Q
3 h1 n, X# m# O7 C
7 T; {9 ]7 _5 E/ \        OSI模型是一个分层的模型,就是说它分为几个部分,每一部分称为一层,每一层扮演固定的角色,就像下图所看到的:/ Q* F. n/ P: J; q! W
, I0 I% N- ]( b& `- R
TCP/IP网络精讲 之二 OSI七层模型 10192975.jpg

& k/ K- _) S/ v* X. W9 x        上图中,我们可以看到OSI有7层,每一层名字都不一样。/ ~# c$ P, i/ P1 }/ ^
1 g" y( U7 y. s8 d3 P+ w7 Z
- i  Q# s. H& w6 @+ a
        为什么是7层,不是14层或者250层?#358:
! x2 X' V( f  g) F- i( l5 U2 T  M. N+ r" E& f, _1 {/ ^
+ Q5 ?  Y$ M3 B. s
        还记得之前提到的吗?我们知道要通信,需要有固定数目的组分,比如 发送者,接收者,语言,等等。网络的先驱者们设计了用于构建通信系统的主要元素,他们发现数目定为7最合适。因此OSI的每一层都有特定的分工,这7层合起来就可以使一台机器和另一台通信。
0 t& b% H9 K# w
3 V4 a9 q& M7 D0 H( J+ P# b* U, v
' x2 @, C8 s4 q6 ^6 g        下面我们来看一下这7层各自的细节。$ U$ b3 q8 M5 h: U5 ^* s

# e2 j7 }, f& }( k2 `
6 p+ I; ?! u. f( g/ e8 r        第1层或者物理层3 n7 V5 Q' n8 s! x: j- p! j& Y0 |' O
8 r! E: p) A8 A
        名字: 物理层
. J) x5 O, h  ]8 L1 V; D6 @4 M3 e, y! \  D! K6 Z% d
        作用:为通信提供传播媒介
7 `7 V+ \/ \- B: b
5 }& S0 ?! {9 B& q# v        辅助作用:没有
" d3 |  P' p5 e4 t8 [" f. x& g' P: @# m1 K
        相关设备:集线器(也就是常说的Hub)
! y( l: _5 S$ s8 c. d, J+ J8 Y5 Y6 d7 ^1 e" n' p
% }; n6 a6 x, M' U
        第2层或者数据链路层* V+ E7 ~. {1 O! ]6 j
2 D- w$ y5 Z; A/ w
        名字: 数据链路层
% Q" _5 [; ?( g7 G7 \7 R4 }1 Y3 r" v  y  r& M3 ~" ?6 R( x' w6 E
        作用:使局域网中的机器互相连接
7 @! m8 Y# x6 P& W1 h! b  l$ f: `6 n/ U( T
        辅助作用:侦测传输错误& J9 o8 w( k( F
" `; b) l3 V) F7 g
        相关设备:交换机(也就是常说的Switch): ?; a* ~6 j" i- s/ h3 K4 a+ I1 M

3 t) `: c5 ]0 T# H$ ?9 t
- G* c# [/ l# j1 x- h) K. Y2 R        第3层或者网络层) B0 k9 ^: w  g2 `8 I* S/ v
/ X/ ~6 a" \1 O( Z/ G6 U9 r
        名字: 网络层
4 a; C5 w' O, m) }6 @$ ]
' I4 p9 _6 L: \, N        作用:使各个网络相互连接
2 R1 p. X% A, y/ j% G3 |1 {6 S: R5 E# X2 a
        辅助作用:分割传输的数据包4 N: S5 }6 x" F9 ~& n' r0 Z2 v

/ o- ^$ [5 ^' B& P" o        相关设备:路由器(也就是常说的Router)
+ ^, A; R" b, G6 v+ m
) |: C% h  v0 x) k# Y$ @3 D! C  T& w4 l1 }
        第4层或者传输层5 t' T( R1 s* N* _& P. g5 X) a
* N% K" ?, A; A3 K7 E9 }
        名字: 传输层9 z4 ~1 b7 g3 U

4 U8 ^/ i8 g$ h. a1 d( F  @        作用:管理应用程序的连接
: ?& ~( d' k6 g% |- E8 I! b: N# a$ r+ J( d$ C8 K+ e
        辅助作用:保证连接的有效建立: @# v0 W* [% x/ r. z; Q# `9 p

* z) y6 O+ Z0 W        相关设备:没有$ X" j3 U& }1 v4 W9 ?

$ e- L1 o' ^" {- t/ x! S% k7 F1 r: a  f: ]! @5 q, V% u3 R
        第5层或会话层
3 D: X  H0 {! O# K+ r8 N0 y# a- u. }/ q6 \' Q
        我们不在乎!
) F* R# I, w! E0 I$ x4 }
& r9 u2 U7 h5 ?+ b
; T8 X3 i8 T- T; D$ q        是的,你没有看错:我们不在乎第5层。
# H* n3 m$ \5 r- P$ G# x& b  E
( b$ J* G* M! Y6 a6 g2 m3 Z) o        在第4层以上的,除了第7层,我们都不在乎。当然了,我也有些夸大。但是第5层和第6层不在本贴考虑范围之内。0 W3 e9 }) v7 }( s% R( G) Y

3 f% f/ W! l. ^( @        原因很简单:OSI七层模型是一个理论模型,今天的互联网使用的实际模型是TCP/IP模型,而后者不使用OSI的第5层和第6层,因此我们无视它们。
7 l# s- i8 ^. h  Y( E" J; y* Q+ F* M) T  a# p2 ^% j
        好,我想你应该理解了。当然了,第7层我们需要考虑。其实正是为了这第7层上的应用程序我们才大费周章,构建这个模型。是的,第7层就是老总,就得伺候着,就是这么任性 →_→) L5 m1 N. f8 l! J: d

7 f! p' Y; L0 s) {8 [( F- ^
- c" Y' v; |: a. d7 l0 d4 B        第7层或者应用层
3 D7 K! a6 w  y0 J5 b8 m9 U1 m+ g! V' Q. A( A
        名字: 应用层
, X0 V4 z$ T! L0 a9 [1 F3 O# m- L! q: L+ c" T2 F1 s
        作用:没有
7 F9 v0 t' |' F% G$ i  N9 m# ?2 T7 \) n" D! E. L
        辅助作用:没有
; q" x8 G( S$ D% C' e
7 k. o7 C$ ^* q' l        相关设备:代理(也就是常说的Proxy): ]' {* u) A1 m
  w1 X/ ]9 x, n% Z3 F7 ?6 ?
7 Z5 i, C# I5 w" i( G, V6 |/ J
        什么?第七层竟然没有作用!那“伺候”它干嘛?说白了,这一层就是展示我们构建通信架构所要服务的所有应用程序。
  b# D  s  w& W
4 E7 G0 A6 i7 \  e        因此,第七层我们也不多做研究,而是把重心放在提供服务和引导数据传递的第1-4层。其实,还有一种说法是把1-4层合称为“网络层”。因为正是这四层负责引导数据从一台机器传递到另一台机器,以供机器上的属于第7层的应用程序使用。
( o! P, M! e1 I+ I- Y7 E" z/ A! X; t- z! @& _1 q; R3 }6 X

0 |( L6 ^- Y; s" ]) o, e/ O+ \8 F- P9 D        在深入理解这四层之前,很有必要提一下使用OSI模型的两个原则:
/ z3 L: W* s) a7 M. o7 @
$ ^( _8 t  h7 K* I" s0 s2 J7 [
        1. 每一层都是相对独立的
9 `- v( x$ ~& X; N3 J# c        2. 每一层只能和相邻的层通信
9 o4 `! A; Y4 }6 e
        “每一层都是相对独立的”
  _' S, N2 j3 @1 D9 W- m! a0 |" b
+ [& K( I' T7 p. r$ C. Y1 y        其所产生的影响是某一层所用的信息不能被另一层使用。例如,对于某些有一定网络知识的读者来说,应该知道IP地址是属于第3层的,就不能被另外的层所使用。
+ _5 B2 ^, O& H- b9 X8 G- T+ C3 }. h" K  w: f2 {0 v2 g
        这样规定的好处是可以方便通信方式的变革。
& r( O: B$ G0 p; X( m8 c/ Q5 X, o' v2 k5 L6 }' x; d' I* A
        想象一下,今天你使用互联网,虽然你可能并不了解它的原理,但实际上你使用的是第3层的IPv4(Internet Protocol Version 4,第四代互联网协议)这个协议。未来,我们将从IPv4演进到IPv6(第六代互联网协议,相比第四代的32位地址空间,可以达到128位地址空间)。这时,假如我们除了第3层以外,在另一些层中也用到了IPv4,那我们除了要改第3层的协议,我们也要改其他凡是用到IPv4协议的层,就会很麻烦。0 g2 U$ @* u* {9 c9 ~+ B4 P

) U& l& w3 J& v$ T0 W1 x& m% M        保持各层的相对独立性可以使得我们改换一层所关联的协议时,无需更改其他的层。$ T( ^$ v4 Z4 t  L
3 c6 _) Q+ Q! s0 @3 S
        “每一层只能和相邻的层通信”! C% l9 P( O* I$ a

' a' ?* _; O' H3 C( V7 p        为了理解这个原则,我们必须了解机器是怎么利用OSI模型来通信的。6 n0 G8 j/ L" d) s0 t( R* w

! A3 Q3 y0 M9 P        想象以下场景:
6 M( G, t6 _/ g: ~1 ?+ G& U/ B, G# Y6 K! u$ R$ ^
        你坐在电脑前,打开你的浏览器。你在浏览器的地址栏里输入一个网址,那个网站就出现了。
7 L9 I( R1 f; Z. t
6 W# h$ s/ Q/ @0 ]* h$ R        虽然你并不知情,但其实你就在使用OSI模型。#357:. ?% O, l; P7 P7 g8 ^

, n( o! w4 w; X3 a) N5 ^        大体来说,位于OSI第7层的应用程序(此处是浏览器),与第1-4层(合称“网络层”)对话,以便这4层把机器上的应用程序所要的信息从远端的机器上(比如google.com的服务器)传输过来。# w" R9 V# \: H
1 J2 k% `$ E1 d- X* w0 |; M4 P
        在一个传输过程中,我们会跨越OSI模型的各层,从上到下。1 M9 x$ ?/ X6 m# }* w' a+ g

2 K. T5 v1 I6 B7 l/ M3 w+ f        由此可见,多亏了第2个原则,我们能保证在信息的传输过程中,OSI模型的各层都会被跨越,也就保证每一层的作用都能得到实现。当然了,差不多是这样。因为实际上对于互联网,OSI模型是一个理论模型,第7层其实是跳过5,6层而直接和底下4层通信的。所以是 7 -> 4 -> 3 -> 2 -> 1 。
8 F+ B9 @! P* c' x2 D: l3 h8 b( ]( B$ C
TCP/IP网络精讲 之二 OSI七层模型 10192976.jpg
9 j' p1 t, t$ e- ?  H9 ~
        好了,今天的课程就到这里,总结一下需要记住的知识点:
2 |% r8 j. w; k8 R2 ^- d7 X0 W7 {- V# i- Q6 a
        OSI七层模型是一个规范,其规定了机器之间如何通信
0 h9 {- i/ [; s+ A/ t* J
; c/ H6 {& V9 X( [8 J# _# O
* g: u8 ~& \, o/ z
        OSI模型是一个理论模型,互联网实际使用的是TCP/IP模型
5 W" E& J. ]2 b6 v; `+ [1 \9 B* p
5 ~2 K7 y* j+ \
        OSI模型有7层! E' w8 ~6 |6 A, B. i5 N

9 S4 X; Q: v  v# e
# |4 r' f% }8 q5 D7 U
        每一层都有一个特定的作用
# l' a7 O/ w7 {, C  b( w9 F/ C; y3 |
& d! t9 ~. F! n
        第1-4层合称为“网络层”
2 a/ l8 P# Z& r  Y0 T  {8 D7 _( B
8 Z! Z, `8 N( Y# a4 b7 `
        每一层相对独立0 M& k% o* i+ c* N0 m( w. ^) E( N

* m$ b, D% C3 B( |. X* V( G
/ d8 f3 `* j. G; @1 D. e
        每一层只能和相邻的层通信
% y" j' `" e" B) X+ S' k0 K3 x4 A4 O+ v2 ?' y' P
5 s2 l/ K8 y, h
        当传输数据时,我们从OSI的最上层遍历到最下层,在另一个机器那里,曾是相反的方向,从最下层到最上层。% g6 [( X- }1 Y8 I$ O. v! l

& F/ n# B( B" I! u
上一篇
下一篇

评分

参与人数 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-4-10 23:10 , Processed in 0.041443 second(s), 27 queries , Redis On.

© 2015-2021 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表