第1章 计算机通信基础
本章内容
● 应用层协议
● 传输层协议
● 网络层协议
● 数据链路层协议
● TCP/IPv4栈和OSI参考模型
本章重点讲解计算机通信使用的协议。计算机通信实际上是指计算机上的应用程序通信,比如通过浏览器访问网站时,浏览器和网站就是计算机上的两个应用程序。适用于访问Internet资源的浏览器有多种,比如360浏览器、谷歌浏览器、火狐浏览器等。Internet上的网站也是由多种服务组成的,比如Windows服务器上的IIS服务、Linux操作系统下的Tomcat服务等。为了让不同的浏览器能够访问不同的网站,需要将访问网站的方法确定下来,这就是协议,网络中访问网站的协议是HTTP。Internet中的应用有很多,每一种应用都有相应的协议,比如发送电子邮件的协议是SMTP,接收电子邮件的协议是POPv3。这些协议称为应用层协议。常见的应用层协议有HTTP、POPv3、SMTP、FTP、DNS、DHCP、Telnet等。
计算机网络有时是不可靠的,有可能拥塞,造成数据包丢失,这就需要网络中的计算机通过可靠的传输协议为应用程序通信提供可靠的数据传输,这些协议称为传输层协议。传输层协议有TCP和UDP等。
由于Internet由众多网络连接而成,因此数据从一个网络到达目的网络可能有多条路径,这就需要有专门为数据包选择转发路径的协议,这些协议称为网络层协议。网络层协议有IP、ICMP、IGMP(Internet Group Management Protocol,互联网组管理协议)和ARP等。
计算机通信通常要经过多条链路,这些链路可以是光纤、双绞线、无线等。计算机通信时发送端需要将数据包从链路的一端传输到另一端,接收端要能够判断出哪儿是数据的头,哪儿是数据的尾,在传输过程中有没有差错等。这就要求发送端和接收端遵循相同的规范即数据链路层协议来封装数据。不同的链路可以选用不同的数据链路层协议,数据链路层协议实现的功能都一样,包括封装成帧、透明传输、差错检验3个。
为了使全球范围内的计算机可以进行开放式通信,国际标准化组织(International Organization for Standardization,ISO)制定了实现网络互连的一个参考模型,即开放系统互连参考模型(Open System Interconnection Reference Model,OSI-RM)。该模型(体系结构标准)定义了网络互连的7层框架,即物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,更多信息请参考1.5.2节。
TCP/IPv4栈是现行的工业标准,它对 OSI-RM模型进行精简,将其合并成4层。TCP/IPv4栈是一组协议,根据功能,这组协议从上到下依次对应应用层、传输层、网络层和网络接口层。