文能提笔控萝莉,武能床上定人妻。进可欺身压正太,退能提臀迎众基。 收藏本站
登陆 / 注册 搜索

阅读: 28K   回复: 11

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

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

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

主题破百
        今天发现有人回这个贴,觉得这个坑挖得有点大。不过既然挖了,岂有不跳之理。男子汉一言既出,就什么马也难追了。
* i; S' H8 G6 r7 u6 j7 Z0 D  @( [* Q. A, x$ {( v7 H2 P
! O  {0 b4 ~! N- W* I8 b
        今天我们就来学习: “OSI七层模型
: ^! c2 V9 n( |3 p4 {: u5 t3 b: }1 C
        目前全球约有40亿网民,互联网的规模已经是超乎想象般宏大。那么问题来了:
, J: w" s! c) ^/ x- D; D3 H
8 X+ [, S/ G+ q5 y
        我们怎么实现在这么多的机器之间通信呢?& Z6 j- H8 X9 D6 ]2 G7 l% @
        怎么能够不在这数据的迷宫里失去方向呢?
) u$ y, ~+ N1 Q  m: x- Q3 M7 ~
        我们一起来学习,以期找到问题的答案。首先我们来理解互联网是怎么创建的,以及使用什么规范来很好地组织这么多信息。
* @7 u9 X$ a" t6 L& K7 q6 B# T  ?' D% [7 [' l  z
#f194:
" n6 {$ C3 _; x- A
        设想一下,假如你可以在任何时候通信,和任何人通信,岂不是很棒。这就是互联网的初衷。
' U0 @; J/ ?4 k9 V9 p6 \+ ~
9 _, z0 K: p3 @3 T        平时,当我们身处一个10人小组,会感到表达自己的观点有点困难。如果是100人,就更困难。假如有1000人,那几乎就听不到你说话了。但是互联网就是要向不可能挑战,要能够做到:在任何时刻,同时和任何人通信。当然了,要达到这个目的,必须要建立一个复杂的通信系统,使得各台机器之间能够相互对话。1 N+ n' W( X. u/ G: d; m
2 ~2 `: x+ q' t. m2 v. {
        但是这样的一个通信模型如何构建呢?#362:5 I, F8 I% B  o( v$ X5 A3 N
) R4 v( t4 u, u- e( y

. L; {" _1 f( o8 s5 R: q* ~        我们可以从最熟悉的通信方式开始理解。来盘点一下一般的通信方式吧:( f( q% @7 X; k5 Z2 F  F3 V

5 G( ^* p2 w' h7 A" }: y
        说话
  {* A+ K( F9 M( O5 |4 D        打电话2 k0 g5 ?5 C- |! f0 m: B
        邮件9 {4 p" _9 x2 ~) A
        飞鸽传书 →_→: p/ X6 `& p8 E& x: S% S
        等等
' C) v1 u+ ^0 |5 j  _& i" z$ S8 s
        接下来,让我们试着来理解,在这些通信方式中,有哪些基本要素是我们通信活动所必不可少的。# b" u( R( l. Y5 N; q1 \6 Q* W) ^
. B9 X4 M/ j2 z7 T0 U7 M+ A
        说话的方式,我们需要:
6 ]) a' h' i7 Z' |6 C6 c& W# d0 H) ^- c
        说话者
( N( C9 h- @3 C7 ^! `% ~        听话者
7 m, H# {+ E2 ?" }8 V* V" F        传声媒介(空气)
2 g6 d7 `' p' s1 F) S3 L! j
        打电话的方式,跟说话是类似的,除了我们还需要一个在说话和电子学之间的中介。实际上,我们要把说话的声音转成电信号,电信号通过电话线等传播介质到达接收者那一端,然后转为声音被听见。在这里有一个信息的封装。 $ B( j+ s  l8 [- _' W: q8 j

% P2 h& r+ {+ ~: g        我们可以举邮件的例子来看一下这个封装信息的系统,在邮件收发时我们需要:" J9 |: @2 N4 `7 ~+ J: s6 n% d: s
( z4 [2 @, s6 Z- H( F; D
        寄件人; `$ q  }- Q) j  {: t4 G( {# T8 c- z
        收件人1 m9 G8 E4 i, |& d4 H( `$ D
        传播介质(信)  C# l; d6 A9 a+ K6 G$ f% H3 P* k6 h
        容器(信封): c/ l/ n1 o1 X8 D- o
        中介(邮局)
/ Y1 g% I0 j  Y4 H$ Q% M* O' j
3 c8 ]! ]" J( Z! N+ d; B; a% X( ?2 _
        是不是慢慢能理解我们通信需要什么条件了?5 M! d* B6 l, |; y/ a

& t1 v5 v' N- }: z! N3 M! X0 B/ p6 p$ E# d2 J+ j
        问题又来了:- n. U5 Y( i: u$ i: V

% [5 S  E7 n: Z: }; Y+ y8 m
        我们对电脑也能这样应用吗?
, {* r# c( B- k$ n; H        怎么才能让大家可以同时发出讯息呢?
4 C( D' M# _, v  f  C        我们能够即时和地球另一端的某人通信吗?  

. ^- D* s# t; X6 T* y3 |6 T        接下来我们就看一下网络的先驱者们如何把人类通信的原理“应用”到电脑的通信中。9 d& q$ B' `- {4 t. [: A$ h

+ i$ e5 K) @; b6 p1 J. m        他们把所有研究的成果重组,创立了一个标准,所有连到互联网的人都要遵守,这个标准就是:OSI七层模型。  : T+ a8 [9 p4 c8 X# e) F
( W% ]/ L2 _3 t! H) D& j/ _( G
        OSI七层模型,听上去是不是很帅?这个标准诞生在1984年,只比我早了n年出生1 X! E+ k5 f- a" j

. I( N/ }# Y; X. c0 b$ {
. n! f. U" n0 V7 E' `        聪明的读者也许注意到了,这个标准比互联网的出现晚了很久。 # ^! d% H* z, a% y5 V! Y! ~9 Y

) J+ L6 ^* y, q7 J8 d        原因很简单:OSI七层模型是在人们有了不少机器之间通信的经验之后才能够诞生的。因此这个标准不仅能够适用于现有的通信,也适用于将来的通信及其可能的演进。它的目的是使通信标准化,以保证机器最大化的演进潜力和协同工作能力。
( j. R, a9 `  \2 a. d: p9 V! Z, L+ G4 v
        听起来很不错,但是到底OSI七层模型是什么啊?
5 M+ F/ {2 x$ t* _1 g, _& t3 k) U- I. o) |/ P. }' ^* y2 B) b" z, V
        OSI七层模型是一个标准,规定了机器(主要是电脑)之间如何通信。因此假如你想要让你的洗碗机和洗衣机通信的话,就需要遵从OSI模型,或者至少从OSI模型获得启发。这意味着需要遵从分层的通信方式。
& P  |- `, O% \: x5 D* N
& Y. q1 M1 i/ E; r; [) |& s, }1 T+ \9 g+ z6 w% t, g% m4 I. C
        这里的层又是什么呢?6 t* y8 n5 h) e) o& @

3 n& M- E0 s: D& q# D) X6 L# E5 s
! y7 t4 n  ?  j8 t        OSI模型是一个分层的模型,就是说它分为几个部分,每一部分称为一层,每一层扮演固定的角色,就像下图所看到的:
/ ]/ N" Z4 U: @6 p# |9 }+ [
& t. k" Q, }( `5 p. S* h6 G9 T
TCP/IP网络精讲 之二 OSI七层模型 10192975.jpg

" e( B) ]0 x2 m# e) n% A4 f' S        上图中,我们可以看到OSI有7层,每一层名字都不一样。
# q- y( [( h) m. _, w& U" s( R/ q7 l" D7 y
3 x$ E4 C% I1 W  S" v
        为什么是7层,不是14层或者250层?#358:' I. T: e, k8 m! i' p/ O
& g: B- C/ [# Q1 ^
6 ^1 e  o' Y3 w2 k) g5 F' Y- h' R
        还记得之前提到的吗?我们知道要通信,需要有固定数目的组分,比如 发送者,接收者,语言,等等。网络的先驱者们设计了用于构建通信系统的主要元素,他们发现数目定为7最合适。因此OSI的每一层都有特定的分工,这7层合起来就可以使一台机器和另一台通信。; Y& b: j  x& J

: [$ d" d: w% J( ?; @& Z; y3 A4 s) B; Y. O0 e) S
        下面我们来看一下这7层各自的细节。
- J5 [* P8 y2 }6 M# R; Y1 a) e$ P2 o

3 B- Z7 x: V# F  z6 H        第1层或者物理层
' `3 P1 u/ b* H- U$ A+ m. C
4 ~0 V9 A6 |3 I        名字: 物理层7 N8 q( W2 Z/ M0 q
9 Y; r% A' n1 x3 F1 o- y& F
        作用:为通信提供传播媒介
# o+ J4 w& e: g; F0 o. G; Q( M0 }+ O/ L, D; M
        辅助作用:没有) F* D2 B" R7 f: }* e- o
: ~$ {1 H+ S# N' C
        相关设备:集线器(也就是常说的Hub)6 A: G) Y# n* w
- I! l: ^' r) q# O1 ^+ Y
+ Q3 |- M$ v" S7 L1 @! b. O2 q
        第2层或者数据链路层
2 L, Z- e) |! Q, Q
& m7 |5 e0 y. T        名字: 数据链路层& E& e1 Z0 B# y0 j% Y

0 X# D' N1 J# W  |! U        作用:使局域网中的机器互相连接# N! m4 {) B8 q

0 N6 ?6 d# ^5 ]& G) j0 L- q        辅助作用:侦测传输错误
- F; ]+ n4 [1 x( G% u4 P" M$ O4 a% l7 a$ t4 u6 w+ U
        相关设备:交换机(也就是常说的Switch)
& b% ], `. m2 x) K3 a
3 P5 \5 j* G4 o# v' J
! n6 N' y0 n9 ^) n9 K5 M6 }( Z        第3层或者网络层4 D" v# H" l) q+ p& e2 J
. ^% o7 k4 x6 M/ m6 K
        名字: 网络层( L, O1 n2 D2 H2 |3 l+ b+ @

( f! u# u+ r( Z5 [  _8 {        作用:使各个网络相互连接
/ W( U; R- }1 u, j0 m( s) J
3 h0 a0 C# j( e1 {  n        辅助作用:分割传输的数据包
4 D) u0 |6 r6 L0 |! H6 Y4 f# x( P) l7 Y, f, p9 U& F8 a
        相关设备:路由器(也就是常说的Router)
. d- B3 J( }/ n8 |! s" K
! \% V" D0 q9 h2 _6 ?5 Z6 \2 ^) k0 Q$ O8 Q0 `* h9 ~( O
        第4层或者传输层
, u0 R: L! u# i! t. Y# E: W: t2 _6 p9 S+ T0 K- r& r- @0 d
        名字: 传输层
4 {) K4 H+ A7 U0 p
7 c/ n2 C. k* Y0 M( W5 ?2 q/ N        作用:管理应用程序的连接3 w' X8 l# D. Z. S' \; K5 b
* T2 Q  b2 d8 S/ o
        辅助作用:保证连接的有效建立$ }0 C' }3 W& N: M
6 r- q- b( r2 m; |5 e
        相关设备:没有* w  n$ l  l7 Z* X5 }2 L7 M+ y% G

5 m, c( u" v( q: T1 i' v
. `6 Z/ j; ]$ G0 P$ Z% L5 ?        第5层或会话层
; E/ u& c) q2 O; H6 W5 p4 ?! `1 k* |& @
        我们不在乎!3 `8 j7 [1 k" n4 g, e  F3 q
( m& q% N) o$ V3 U

4 Z  U2 ^( s7 V' c        是的,你没有看错:我们不在乎第5层。
1 N7 @$ `0 z8 e# W  R4 o
! R3 F6 P* I' m, a8 P        在第4层以上的,除了第7层,我们都不在乎。当然了,我也有些夸大。但是第5层和第6层不在本贴考虑范围之内。, {) x4 \4 p; T. x8 b) ~) H: l& y. g
6 d2 U0 ]8 b  i5 y7 p" e
        原因很简单:OSI七层模型是一个理论模型,今天的互联网使用的实际模型是TCP/IP模型,而后者不使用OSI的第5层和第6层,因此我们无视它们。! A6 v( o4 F: N- s, V
5 `1 O3 G9 f4 _) Z* g5 u( @2 Q5 F
        好,我想你应该理解了。当然了,第7层我们需要考虑。其实正是为了这第7层上的应用程序我们才大费周章,构建这个模型。是的,第7层就是老总,就得伺候着,就是这么任性 →_→( H0 I/ q. t% g; ~3 W  K; _
0 k+ x7 M$ a8 R, O$ P% b! ]
  d; y( G0 X1 e* [  i% R! ?
        第7层或者应用层( E' p/ B$ J% {5 _5 l$ q+ |0 v

) ~) t" R% L9 I( u1 G1 M" W        名字: 应用层2 }& h  s  q! r; v

* P6 o+ K" |- j8 t5 \' v        作用:没有
' [# l2 V7 i! B; T0 z1 o0 u
* _0 v, z% x3 [3 P8 U        辅助作用:没有
/ z& X- x; ?8 j: d6 n
/ u# V- i# R5 @# T* D# d! _        相关设备:代理(也就是常说的Proxy)
, y: ?) D) K" c8 ?) a+ Q$ `) S/ U, L

. G) D; s& O" S1 g7 g& n, q2 {        什么?第七层竟然没有作用!那“伺候”它干嘛?说白了,这一层就是展示我们构建通信架构所要服务的所有应用程序。, d" Q  z( e$ P/ X; K

( P! @: P. d) A, C% ]8 G* o        因此,第七层我们也不多做研究,而是把重心放在提供服务和引导数据传递的第1-4层。其实,还有一种说法是把1-4层合称为“网络层”。因为正是这四层负责引导数据从一台机器传递到另一台机器,以供机器上的属于第7层的应用程序使用。
2 D6 ^. |# M& e, ~4 f6 k8 z$ L& T2 F' }7 y/ Y
; z' u6 q( V- {  V1 `+ I0 F
        在深入理解这四层之前,很有必要提一下使用OSI模型的两个原则:" J7 `: [( p" Z$ g
& y' j% E% ]8 X, Z8 I
        1. 每一层都是相对独立的
( V+ k! e7 a  c        2. 每一层只能和相邻的层通信
& V- d5 W* U, H1 k; ^
        “每一层都是相对独立的”
8 @% b4 g7 r. a$ T% C3 e% F$ O& w! r; n# ~6 Y$ P, ^% h
        其所产生的影响是某一层所用的信息不能被另一层使用。例如,对于某些有一定网络知识的读者来说,应该知道IP地址是属于第3层的,就不能被另外的层所使用。
) V0 J3 n! G9 N" r  P4 a; R( H1 ^0 P, v( z& ^
        这样规定的好处是可以方便通信方式的变革。
6 E, p/ [! D2 W
6 S# I+ j; O5 W/ b$ F& h: `        想象一下,今天你使用互联网,虽然你可能并不了解它的原理,但实际上你使用的是第3层的IPv4(Internet Protocol Version 4,第四代互联网协议)这个协议。未来,我们将从IPv4演进到IPv6(第六代互联网协议,相比第四代的32位地址空间,可以达到128位地址空间)。这时,假如我们除了第3层以外,在另一些层中也用到了IPv4,那我们除了要改第3层的协议,我们也要改其他凡是用到IPv4协议的层,就会很麻烦。7 d  p* q- j/ b% W
9 p8 q2 b$ ]( S3 i- j, X
        保持各层的相对独立性可以使得我们改换一层所关联的协议时,无需更改其他的层。' L& P) d  L$ ?

3 ?( O% _0 J& O6 c) e        “每一层只能和相邻的层通信”
4 p1 i) c+ Z) b, p5 t+ ?
# s( b1 p7 X8 E+ W& i6 ]* h        为了理解这个原则,我们必须了解机器是怎么利用OSI模型来通信的。" w( |8 O( U0 M* T0 Z
' R- G7 `" z1 I1 Y- S8 h
        想象以下场景:
; B8 @9 z% D4 ?# m# e, V  l2 N9 d, x0 y  B* N
        你坐在电脑前,打开你的浏览器。你在浏览器的地址栏里输入一个网址,那个网站就出现了。
5 p/ L4 D9 T: l# c  z  B  R" k  s  F' M/ ?* A! G) S" K# P
        虽然你并不知情,但其实你就在使用OSI模型。#357:" g" I2 S' @1 ~2 ~' p; Z+ H

7 S( K9 Z  a- B. ]# {        大体来说,位于OSI第7层的应用程序(此处是浏览器),与第1-4层(合称“网络层”)对话,以便这4层把机器上的应用程序所要的信息从远端的机器上(比如google.com的服务器)传输过来。+ [& C8 e- J; E2 l

" r6 ]7 m! X8 M- i7 Z1 _        在一个传输过程中,我们会跨越OSI模型的各层,从上到下。
8 i1 \7 M; z9 d% U+ Y3 E0 [* T9 U& R+ |; t  r
        由此可见,多亏了第2个原则,我们能保证在信息的传输过程中,OSI模型的各层都会被跨越,也就保证每一层的作用都能得到实现。当然了,差不多是这样。因为实际上对于互联网,OSI模型是一个理论模型,第7层其实是跳过5,6层而直接和底下4层通信的。所以是 7 -> 4 -> 3 -> 2 -> 1 。% v1 c. W; B# e; a- _* @

8 v/ m7 T0 R' g0 R7 n
TCP/IP网络精讲 之二 OSI七层模型 10192976.jpg
3 R% W4 G, {# F0 P7 n
        好了,今天的课程就到这里,总结一下需要记住的知识点:
* }1 W1 I4 V6 D  W7 d0 r, I# x( j
' B) L1 k9 P2 m- [$ c        OSI七层模型是一个规范,其规定了机器之间如何通信
. C0 p" Y* I1 A. d" X5 Z
3 ^) k' D& y  C# Y# p% L* ]8 e

# V9 Z8 J7 L# s0 I; M/ Q        OSI模型是一个理论模型,互联网实际使用的是TCP/IP模型
: R% U' G) ~1 j; n% |4 m, e& |
, `: |' y5 h+ x# |

# H% z) P- P  c0 G+ K        OSI模型有7层+ Q+ U; }0 y- [$ n
/ U4 M7 {: d, Q0 k3 E$ Y& n* R+ k; F
5 M+ l7 K5 c9 m8 {7 k) x
        每一层都有一个特定的作用; t: y2 X4 N, R' _" R

8 j. X, l, M5 w! b! _5 _
; {$ n# O; f0 `5 V6 d/ }% o
        第1-4层合称为“网络层”
% J  n% L( L. ?4 r0 Y! Y# X1 Y$ Y( r! b

5 Z3 J- {. N  f0 u6 b        每一层相对独立
: E* W* w/ v0 R
0 e2 Z8 A8 ]  c# A4 z% [+ O4 ?! F

: m4 ~2 C- i5 t        每一层只能和相邻的层通信
( [. ]+ n; T# |# {' ^3 b6 X
$ G5 o4 l8 T( k$ c9 y

0 k% Y# g) P4 r! e        当传输数据时,我们从OSI的最上层遍历到最下层,在另一个机器那里,曾是相反的方向,从最下层到最上层。- `8 A& i# S# E" a$ ?& M7 }3 [

" m# r' Z( b. u3 S) J3 U. _
上一篇
下一篇

评分

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

查看全部评分


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

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

在这里明白了要多学基础 正好昨天在啃tcipip协议的书似懂非懂 希望这帖能继续下去
胡雅亦林 「初入古黑」 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 来自手机 |显示全部楼层

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

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

本版积分规则

快速回复 返回列表