编程语言应用

首页 » 常识 » 预防 » OSI七层模型与TCPIP网络体系详解,
TUhjnbcbe - 2025/7/22 17:54:00
王家怀 https://m.yiyuan.99.com.cn/bjzkbdfyy/a/341659/

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

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

网络体系结构

网络体系结构指的是网络的层次结构和每一层所使用的协议的集合

实现网络传输的功能非常繁杂,所以采用了分而治之的设计方法,把网络的功能划分为不同的多个模块,以分层的形式有机地组合在一起。

每一层实现的功能和任务是不一样,其内部实现方法对外部其他层来说是透明的。每一层都为上一层提供服务,同时使用下一层所提供的服务。

OSI七层模型

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

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

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

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

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

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

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

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

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

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

懒得看字可以直接拿图:

OSI七层模型总结:

OSI模型共分为7层(感觉这句有点废话了)

OSI是开放系统的互连模型

OSI模型相关的协议已经非常少使用,但是模型本身非常通用

OSI模式是一个理想化的模型,至今尚未由完整的实现

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

TCP/IP网络结构体系

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

TCP/IP协议事实上是一个工业标准。

TCP/IP协议指的是能够在多个不同的网络间实现信息传输的协议簇。

该协议并不是只由TCP和IP协议组成,而是由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇。只是TCPIP协议比较有代表性所以被称为TCP/IP协议。

网络接口和物理层:

物理层的主要设备:中继器和集线器(交换机/路由)

封装成帧:(在数据的前后分别加上开始《纠错以及修正》和结束的标记后便构成了一帧)

MTU:每一个数据链路层都规定了所能传输的一针数据中数据的长度上限称为最大传输单元(MTU)

透明传输:指的是不管数据的二进制是如何组合都应该能够正常传输而不会被误以为是某些控制的命令,确保数据安全到达

差错检测:在传输的二进制编码中加入适当的冗余度使得接收者可以发现在传输过程中是否出现了差错

TCP/IP协议的数据包组成:

数据的封装与传递过程

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

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

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

1
查看完整版本: OSI七层模型与TCPIP网络体系详解,