天天看点

TCP/IP协议模型

OSI参考模型虽然是ISO给出的,但是ISO在推进OSI协议标准化的进程上是比较缓慢的。而TCP/IP协议的标准化进程是相当快速的,因此现阶段的实际标准是TCP/IP协议。尽管TCP/IP协议与OSI有所差异,但是仍旧与OSI参考模型有一些对应关系。

7 应用层 应用层(DNS,URL,HTTP,HTML,STMP,SSH等) 应用程序
6 表示层
5 会话层
4 传输层 传输层(TCP,UDP等) 操作系统
3 网络层 网络层(ARP,IP,ICMP)
2 数据链路层 数据链路层(以太网,WIFI等) 设备驱动程序与网络接口
1 物理层 硬件

相比较而言,TCP/IP模型更加注重实现,它指出了在计算机上开发那种程序以对应于相应的协议。有时候我们会常常看到硬件和数据链路层是合二为一的,称之为网络通信层。

网络通信层(数据链路层):这层驱动网卡工作。可以理解为驱动程序。

网络层:这层的功能一般由操作系统来提供,在该层路由器和主机必须能实现IP功能。

IP:IP协议是分组交换协议,但是它不具备重发功能。它是不可靠传输协议。

ICMP:一旦发生IP数据包无法到达对端,需要给发送端发送一个异常的通知。ICMP就是为了这一功能而制定的。

ARP:ARP协议是一种可以从分组数据包的IP地址中解析出物理地址(MAC地址)。

传输层:该层的主要功能是为了实现应用程序之间的通信(不同主机上的进程之间的通信)。因此每台主机上的不同进程都具备了不同的端口号。

TCP:TCP是一种面向有连接的传输层协议。它可以保证通信双方之间建立了连接。TCP能够正确处理传输过程中的丢包,传输顺序错乱等异常情况。但是为了建立与断开连接,它至少需要7次的发包和收包,从而导致了网络流量的浪费。此外TCP协议是非常复杂的,不适合视频通话等场合使用。

UDP:UDP是一种面向无连接的传输层协议。它甚至不会关心对端是否存在。它适合于分组较少或者多播,广播通信以及视频通信等。

应用层:TCP/IP将OSI参考模型的会话层,表示层和应用层合在了一起,形成应用层。而这些都交由应用程序去实现。

基于TCP/IP的应用程序框架绝大多数属于客户端/服务器模型(C/S模型)。在这种模式的情形下,服务器一直在等待客户端的请求。客户端可以随时给服务器发送请求,但是服务器并不一定能够正确处理。出现这种情况时,客户端可以再等待片刻之后重发一次请求。

WWW:WWW是互联网能够如此普及的一个重要原因(有了www我们就无需记住IP地址等信息)。用户借助web浏览器输入网址即可访问。web浏览器与服务器之间是通过HTTP协议通信的,传输的数据主要是HTML格式。在这里HTML属于表示层的协议,HTTP属于应用层的协议。

电子邮件:早期的电子邮件只能发送文本信息,使用STMP协议,但是现在扩充的MIME协议可以发送图像,声音等各种各样的信息。这属于OSI参考模型的第6层表示层

文件传输(FTP):文件传输需要使用FTP协议,它能将其他主机的文件下载到本机的本地磁盘上。也能将本地磁盘的文件上传到其他主机上。在文件传输中会建立两个TCP连接,分别是发出传输控制请求的TCP连接和真正传输数据的TCP连接。

远程登录:我们使用云计算的时候,租赁来的云服务器在使用的时候就需要远程登录。TCP/IP常用的远程登录有TELNET和SSH。

上述的5层参考模型是现阶段最好的模型了。它综合了OSI和TCP/IP的优点。