TCP/IP与OSI七层模型
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数据流中的信息;消息:应用协议中的数据单位。