OSI七层模型

来源:互联网 发布:路旁的叶修 知乎 编辑:程序博客网 时间:2024/04/24 09:49

学了计算机网络已有一定的时间,但总是对OSI模型不堪理解,今天梳理一下:

这是window网络编程对OSI的解释。

 

 

以下是参考百度的:

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

 

2.数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。 (传输,错误检测和纠正,对物理层和网络层承上启下)

 

3.网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。(屏蔽下层,处理两个主机系统之间的连接问题,IP所处位置)

 

4.传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。(层如其名,TCP与UDP所处位置)

 

5.会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)

 

6.表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。(编码转换,格式化)

 

7.应用层: 是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

 

我们使用的套接字编程模型,就是对于传输层,网络层操作的封装,而对于这里也是系统调用和用户调用的区分点。 但是在Linux系统上,在这层界面这里也打了一个洞,允许我们使用SOCK_RAW选项来直接操作网络层。

原创粉丝点击