相信点开这篇文章的朋友,多多少少也会对OSI七层模型和TCP/IP五层网络结构有一些了解。但是如果要你说明白,那恐怕没几个人能够讲得清楚。

本文章是网络编程入门系列的第一篇文章,主要是给大家补补网络模型的知识,给后面几篇文章打下基础。

经典的osi模型定义了七层网络协议(OSI七层模型与TCPIP网络体系详解)(1)

网络体系结构

经典的osi模型定义了七层网络协议(OSI七层模型与TCPIP网络体系详解)(2)

OSI七层模型

OSI七层分别为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

他们每一层各司其职,为上一层提供服务,同时使用下一层所提供的服务。

应用层:提供给应用程序的接口,用以设置与另外一个程序之间的通信方式

(例如:HTTP/HTTPS/FTP/SSH/SMTP/TELNET等...)

表示层:根据系统把数据进行转换(转换为网络字节序(小端序))

会话层:负责数据传输时的设置以及维护网络中两台计算机之间的通信连接

传输层:把需要传输的数据以及一些基本信息(传输表头TH--传输协议TCP\DUP等)一起打包形成数据包

网络层:把上一层的数据包再加一个网络信息(网络表头NH--互联网协议 IP等)形成分组。

数据链路层:负责网络寻址、错误侦测与改正。当表头(DLH包含物理地址和错误侦测及修正方法)和表尾(DLT提示到达末尾的字符串)被添加到数据包中时就形成帧。

物理层:负责如何把数据包通过网卡然后在网线中传输。包括所有硬件的管理比如网卡/针脚/电压/集线器/中继器等等

懒得看字可以直接拿图:

经典的osi模型定义了七层网络协议(OSI七层模型与TCPIP网络体系详解)(3)

OSI七层模型总结:

举个生活中的例子方便大家理解:

经典的osi模型定义了七层网络协议(OSI七层模型与TCPIP网络体系详解)(4)

TCP/IP网络结构体系

TCP/IP网络结构体系实际上是由OSI七层模型所演化出来的。

经典的osi模型定义了七层网络协议(OSI七层模型与TCPIP网络体系详解)(5)

网络接口和物理层:

经典的osi模型定义了七层网络协议(OSI七层模型与TCPIP网络体系详解)(6)

经典的osi模型定义了七层网络协议(OSI七层模型与TCPIP网络体系详解)(7)

从该图我们可以清晰地看到发送端从上到下,数据每经过一层、数据头部就会被插入一些信息,经过链路层的时候还给加了一个CRC字段(循环冗余码校验),确保数据无误。

反之接收端是像剥洋葱一样,从下到上经过一层一层地剥开,最终得到原始的客户数据。

通过本文的学习,相信大家对OSI七层模型和TCP/IP体系结构已经有一定的了解了,下一节将会给大家讲解TCP和UDP协议以及用于网络通信的套接字——socket。

,