TCP/IP协议分层模型

Posted by linfenliang on May 12, 2017

TCP/IP与OSI七层模型

OSI参考模型与TCP/IP的关系如图所示: OSI参考模型与TCP/IP的关系

OSI参考模型注重通信协议必要的功能是什么 TCP/IP强调在计算机上实现协议应该开发哪种程序

我们一般来讲是基于TCP/IP协议开发的。

下面会基于TCP/IP分别解释介绍

硬件(物理层)

该层是硬件层,即负责数据传输的硬件,比如网线等 #网络接口层(数据链路层) 一般指网络驱动程序,与硬件直接交互,上承操作系统,下接硬件。

注意:一般网络接口层与硬件层合称网络通信层。

#互联网层(网络层)

即IP层,需要实现IP协议,IP协议基于IP地址转发分包数据。 一般来讲,IP协议是操作系统提供的,路由器必须要实现IP协议才能实现寻址转发数据包的功能。 网络层的协议一般有IP协议以及ICMP协议,ARP协议不常用。

IP协议不具有重发机制,属于非可靠性传输协议

ICMP协议一般用来在IP协议发送的过程中出现了异常,通知发送方,故而也可以用来做网络诊断使用。

ARP协议是用来根据IP地址解析出物理地址(MAC地址)的

传输层

该层的主要作用是实现应用程序之间的相互通信,常用的协议有TCP协议与UDP协议。

TCP协议:面向连接的传输层协议,能够处理在传输过程中的丢包、传输顺序混乱等异常情况,也能够有效利用带宽,缓解网络拥堵。 由于TCP协议为了保证传输的可靠,每次连接时,需要经过至少7次收发包请求(三次握手,四次挥手),导致网络流量的浪费故而不利于视频会议等场合。

UDP协议:面向无连接的传输层协议,需要用户在应用中自己处理是否连接、数据是否丢包等,一般用于视频通信或实时刷新类的应用。

应用层(会话层、表示层、应用层)

该层主要是用户实现应用程序的地方。

如WWW用到的应用层协议HTTP协议,

用来展示数据的表示层协议HTML协议,

用来发送电子邮件的SMTP协议,

用来做文件传输的FTP协议,

用来远程登录的SSH一些以及TELNET协议,

以及用来做网络管理的SNMP协议(网络代理)。

数据包首部

数据包分为两部分,数据以及首部,首部如图所示:

网络模型中,每个分层都会对经过的数据添加一个包含了该层信息的首部.

一些定义:包、帧、数据报、段、消息

以上都是数据的单位

包:全能型描述语;帧:表示数据链路层中包的单位;数据报:IP以及UDP等网络层以上的分层包的单位。段:表示TCP数据流中的信息;消息:应用协议中的数据单位。

数据报在网络中的传输过程