计算机网络-OSI模型

本文正在参与 “网络协议必知必会”征文活动

协议

TCP/IP 协议是IP,TCP,HTTP等协议的集合。协议就是计算机与计算机之间通过网络实现通信时实现达成的一种约定。只要遵守相同的协议就能够实现通信。

OSI模型

提出了作为通信协议设计指标的OSI参考模型.该模型将通信协议中必要的功能分成了7层,每个分层都接收由它下一层所提供的特殊服务,并为上一层提供特定的服务。上下层之间进行交互时所遵循的约定叫做“接口”。同一层之间的交互所遵循古的约定叫做“协议”。

image.png

优点

  • 细分通信功能,每一层负责对应的功能
  • 协议分层如同模块化开发,每个分层相互独立,不会影响到其他分层。
  • 易于单独实现每个分层的协议,界定每个分层的责任与义务

缺点

  • 过于模块化使处理更加沉重
  • 每个模块不得不实现一些相似的逻辑

举例

当A与B进行电话通话时,实际上就可以分成两层:人-电话,人使用了电话的接口,并使用了汉语协议。电话之间通过通信产生连接。

流程:A使用汉语调用电话的接口通过电话间的通信传到了B的电话,B使用汉语听懂了A的话。

改变协议不影响通信:

既然是分层,那么上述的优点我们就可以使用。将汉语协议改成英语协议,不改变使用电话通信,这个链路也成立。

同理,将电话通信改成无线电通信,这个链路也成立

具体内容

OSI 分成了七个分层:按照顺序

  • 应用层:针对特定应用的协议:如电子邮件协议,文件传输协议
  • 表示层:设备固有数据格式和网络标准数据格式的转换,接受文字,图像等
  • 会话层:通信管理,负责人建立和断开通信连接。
  • 传输层:管理两个节点之间的数据传输。
  • 网络层:地址管理与路由选择。
  • 数据链路层: 互连设备之间传送和识别数据帧
  • 物理层:网线

如上面举例所示,发送方通过这七层组装成一个信息,然后通过发送,接受方接受到后,再通过七层后获取想要的信息。

简单的流程介绍

应用层:一般将应用的功能分成两部分(与通信是否相关)。比如输入想要发送的信息,这与通信还暂时无关,想要的信息输入应用中,即应用层。

  • 应用层中,不同的应用需要的协议可能不同,以邮件应用举例,用户之间的邮件应用刻印不是同一个,但是也需要支持能够发送和接受到其他引用的邮件,那么这两个协议不相同该怎么进行传输呢?

表示层:将统一的网络数据格式和特定应用的数据进行转化。发送法时,将特定应用A的数据转换成统一数据。在接受方,再将统一数据转换成特定应用B的数据。这样就实现了不用应用下的数据传输。

会话层:两端主机采用那种连接发送?(如一个邮件一个连接,多个邮件一个连接)

下面的才是真正用来进行实际传输的

传输层:在两个主机之间创建逻辑上的通信连接即传输层的主要作用。为确保传输的数据能到达地址,会在通信两端进行确认,如果数据没有到达,会重发。另一个重要作用:为了保证数据传输的可靠性。

网络层:在网络与网络相互连接的环境下,将数据从发送端发送到接收端。其中,知道目的地址就能发送到任意主机上。

  • 传输层和网络层的关系

    网络层有时也不能保证数据的可达性。因此当数据出现丢失,等问题时,可以依靠传输层负责提供正确的传输数据的处理。TCP/IP中,网络层和传输层相互协作以确保数据包能够可靠传输到世界角落

数据链路层,物理层:通信传输实际上是通过物理的传输介质实现的。

  • 数据链路层的作用就是在这些传输介互连的设备之间进行数据处理。

  • 物理层中,将数据的0,1转换为电压和脉冲光传输给物理的传输介质,而相互直连的设备之间使用地址实现传输,这种地址被称为MAC地址(物理地址)。这一次分层将包含MAC地址信息

    MAC 地址是为了是被连接到同一传输介质上的设备。

  • 数据链路层和网络层的区别

    这两者都是基于目标地址将数据发送给接收方。但是网络层负责将整个数据发送给最终目标地址,而数据链路层则只负责发送一个分段内的数据

Guess you like

Origin juejin.im/post/7034752238715142158