网络通信协议
通过计算机网络可以使多台计算机实现连接,但是位于同一个网络中的计算机在进行连接和通信时必须要遵守一定的规则,这就好比在道路中行驶的汽车一样要遵守交通规则。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交互。
网络通信协议有很多种,目前应用最广泛的有TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/英特网互联协议)、UDP协议(User Datagram Protocol,用户数据报协议)和其他一些协议的协议组。
为了减少网络编程设计的复杂性,绝大多数网络采用分层设计方法。所谓分层设计,就是按照信息的流动过程将网络的整体功能分解为一个个的功能层,不同机器上的同等功能层之间采用相同的协议,同一机器上的相邻功能层之间通过接口进行信息传递。本章中所学的网络编程知识,主要就是基于TCP/IP协议中的内容,在学习具体的内容之前,首先来了解一下TCP/IP协议。TCP/IP协议(又称为TCP/IP协议簇)是一组用于实现网络互联的通信协议,其名称来源于该协议簇中的两个重要协议TCP协议和IP协议,基于TCP/IP协议参考模型的网络层次结构比较简单,共分为四层,如图1所示。
图1 TCP/IP网络模型
图1中,TCP/IP协议中的四层结构分别是链路层(也叫网络接口层)、网络层、传输层和应用层,每层分别负责不同的通信功能,接下来针对这四层结构进行详细地讲解。
● 链路层:链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤、双绞线提供的驱动。
● 网络层:网络层是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。
● 运输层:主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议。
● 应用层:主要为互联网中的各种网络应用提供服务。