5 传输层
TCP/IP的传输层有两个具有代表性的协议。该层的功能本身与0SI参考模型中的传输层类似。
传输层最主要的功能就是能够让应用程序之间实现通信。计算机内部,通常同一时间运行着多个程序。为此,必须分清是哪些程序与哪些程序在进行通信。识别这些应用程序的是端口号。
TCP
TCP 是一种面向有连接的传输层协议。它可以保证两端通信主机之间的通信可达。TCP能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外TCP 还能够有效利用带宽,缓解网络拥堵。
然而,为了建立与断开连接,有时它需要至少7次的发包收包,导致网络流量的浪费。此外,为了提高网络的利用率,TCP协议中定义了各种各样复杂的规范,因此不利于视频会议(音频、视频的数据量既定)等场合使用。
UDP
UDP 有别于 TCP,它是一种面向无连接的传输层协议。UDP不会关注对端是否真的收到了传送过去的数据,如果需要检查对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。
UDP 常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。
6 应用层(会话层以上的分层)
TCP/IP 的分层中,将 0SI参考模型中的会话层、表示层和应用层的功能都集中到了应用程序中实现。这些功能有时由一个单一的程序实现,有时也可能会由多个程序实现。因此,细看 TCP/IP的应用程序功能会发现,它不仅实现0SI模型中应用层的内容,还要实现会话层与表示层的功能。
TCP/IP 应用的架构绝大多数属于客户端/服务端模型。提供服务的程序叫服务端,接受服务的程序叫客户端。在这种通信模式中,提供服务的程序会预先被部署到主机上,等待接收任何时刻客户可能发送的请求。
客户端可以随时发送请求给服务端。有时服务端可能会有处理异常、超出负载等情况,这时客户端可以在等待片刻后重发一次请求。
WWW
WWW可以说是互联网能够如此普及的一个重要原动力。用户在一种叫 Web浏览器 的软件上借助鼠标和键盘就可以轻轻松松地在网上自由地冲浪。也就是说轻按一下鼠标架设在远端服务器上的各种信息就会呈现到浏览器上。浏览器中既可以显示文字、图片、动画等信息,还能播放声音以及运行程序。
浏览器与服务端之间通信所用的协议是HTTP(HyperText Transfer Protocol)所传输数据的主要格式是HTML(HyperTextMarkupLanguage)。WWW中的HTTP属于 OSI应用层的协议,而 HTML属于表示层的协议。
电子邮件(E-Mail)
电子邮件其实就是指在网络上发送信件。有了电子邮件,不管距离多远的人,只要连着互联网就可以相互发送邮件。发送电子邮件时用到的协议叫做SMTP
Simple Mail Tranfer Protocol)。最初,人们只能发送文本格式"的电子邮件。然而现在,电子邮件的格式由MIME"协议扩展以后,就可以发送声音、图像等各式各样的信息。甚至还可以修改邮件文字的大小、颜色"。这里提到的 MIME 属于 OSI参考模型的第6层--表示层。
文件传输(FTP)
文件传输是指将保存在其他计算机硬盘上的文件转移到本地的硬盘上,或将本地硬盘的文件传送到其他机器硬盘上的意思。
该过程使用的协议叫做FTP(FileTransfer Prototol)。FTP 很早就已经投入使用",传输过程中可以选择用二进制方式还是文本方式。
在 FTP中进行文件传输时会建立两个TCP连接,分别是发出传输请求时所要用到的控制连接与实际传输数据时所要用到的数据连接。
SNMP
在TCP/IP中进行网络管理时,采用SNMP(SimpleNetwork Management Proto-col)协议。使用SNMP管理的主机、网桥、路由器等称作SNMP代理(Agent)而进行管理的那一段叫做管理器(Manager)。SNMP正是这个Manager与Agent所要用到的协议。
在 SNMP的代理端,保存着网络接口的信息、通信数据量、异常数据量以及设备温度等信息。这些信息可以通过MIB(Management Information Base)”访问。因此,在 TCP/IP的网络管理中,SNMP属于应用协议,MIB属于表示层协议。一个网络范围越大,结构越复杂,就越需要对其进行有效的管理。而SNMP可以让管理员及时检查网络拥堵情况,及早发现故障,也可以为以后扩大网络收集必要的信息。