网络七层协议的通俗理解

网络 通信技术
科学家要解决的第一个问题是,两个硬件之间怎么通信。具体就是一台发些比特流,然后另一台能收到。

 [[256704]]

通过两台机器通信过程简单介绍OSI七层:

需求1:

科学家要解决的***个问题是,两个硬件之间怎么通信。具体就是一台发些比特流,然后另一台能收到。于是,科学家发明了物理层:

主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。

需求2:

现在通过电线能发数据流了,但是,还希望通过无线电波,通过其它介质来传输。然后还要保证传输过去的比特流是正确的,要有纠错功能。于是,发明了数据链路层:

定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

需求3:

现在能发正确的发比特流数据到另一台计算机了,但是当发大量数据时候,可能需要好长时间,例如一个视频格式的,网络会中断好多次(事实上,即使有了物理层和数据链路层,网络还是经常中断,只是中断的时间是毫秒级别的)。那么,还须要保证传输大量文件时的准确性。于是,要对发出去的数据进行封装。就像发快递一样,一个个地发。于是,先发明了传输层(传输层在OSI模型中网络层上面):

例如TCP,是用于发大量数据的,发了1万个包出去,另一台电脑就要告诉是否接受到了1万个包,如果缺了3个包,就告诉是第1001,234,8888个包丢了,那再发一次。这样,就能保证对方把这个视频完整接收了。

 

例如UDP,是用于发送少量数据的。发20个包出去,一般不会丢包,所以不管你收到多少个。在多人互动游戏,也经常用UDP协议,因为一般都是简单的信息,而且有广播的需求。如果用TCP,效率就很低,因为它会不停地告诉主机收到了20个包,或者收到了18个包,再发两个!如果同时有1万台计算机都这样做,那么用TCP反而会降低效率,还不如用UDP,主机发出去就算了,丢几个包你就卡一下,算了,下次再发包你再更新。

TCP协议是会绑定IP和端口的协议,下面会介绍IP协议。

需求4:

传输层只是解决了打包的问题。但是如果有多台计算机,怎么找到要发的那台?或者,A要给F发信息,中间要经过B,C,D,E,但是中间还有好多节点如K.J.Z.Y。怎么选择***路径?这就是路由要做的事。于是,发明了网络层,即路由器:交换价那些具有寻址功能的设备所实现的功能,这一层定义的是IP地址,通过IP地址寻址。所以产生了IP协议。

需求5:

现在已经保证给正确的计算机,发送正确的封装过后的信息了。但是用户级别的体验好不好?难道我每次都要调用TCP去打包,然后调用IP协议去找路由,自己去发?当然不行,所以我们要建立一个自动收发包,自动寻址的功能。于是,发明了会话层:会话层的作用就是建立和管理应用程序之间的通信。

需求6:

现在能保证应用程序自动收发包和寻址了。但是要用Linux给window发包,两个系统语法不一致,就像安装包一样,exe是不能在linux下用的,shell在window下也是不能直接运行的。于是发明了表示层(presentation):解决不同系统之间的通信语法问题。

需求7:

OK,现在所有必要条件都准备好了,可以写个android程序、web程序去实现需求吧。

责任编辑:武晓燕 来源: 今日头条
相关推荐

2010-09-09 16:48:50

七层网络协议

2010-09-09 16:56:08

七层网络协议

2010-06-29 12:28:48

第七层协议

2019-05-21 09:11:50

七层协议OSITCP

2019-09-30 09:41:04

五层协议OSITCP

2019-07-16 10:42:02

网络模型TCP

2019-07-09 13:54:19

网络模型网络协议TCP

2014-06-17 09:30:14

OSI

2013-10-25 09:32:52

OSI七层协议TCP协议

2011-05-17 19:42:24

深信服真彩网络

2012-11-12 11:26:44

2014-07-24 09:38:34

2022-05-24 07:14:18

元宇宙大数据

2010-04-23 13:01:40

七层交换负载均衡

2024-01-10 09:04:46

OSI网络模型

2013-12-18 09:10:48

2010-06-09 12:20:34

网络通信协议层

2019-06-19 08:30:47

网络协议IPTCP

2020-04-23 10:21:57

Linux 网络编程 数据

2019-04-11 13:34:24

点赞
收藏

51CTO技术栈公众号