概述
计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同点的计算机设备连接起来,实现资源共享和数据传输的系统。
网络编程就是编写程序使互联网的两个(或多个)设备之间进行数据传输。
网络体系结构
通过网络发送数据是一项复杂的操作,必须仔细地协调网络的物理特性以及所发送数据的逻辑特征。通过网络将数据从一台主机发送到另外的主机,这个过程是通过计算机网络通信来完成的。
网络通信的不同方面被分为多个层,层与层之间用接口连接。通信双方具有相同的层次,层次实现的功能由协议数据单元来描述
不同系统中的同一层构成对等层,对等层之间通过对等协议进行通信。
计算机网络体系结构是计算机网络层次和协议的集合。网络体系机构对计算机网络实现的功能,以及网络协议、层次、接口和服务进行了描述,但并不涉及具体的实现。接口是同一节点内相邻层之间交换信息的连接处。也叫服务访问点。
计算机网络层次模型:
OSI参考模型
OSI参考模型把网络通信的工作分为7层,分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
物理层:为数据段设备提供传送数据的通路以及传输数据。(物理层的传输单位:bit)
数据链路层:实现计算机网络中相邻节点(例如:交换机、路由器、PC机等)之间可靠的传输,把原始的、有差错的物理传输线加上数据链路协议后,构成逻辑上可靠的数据链路。需要完成的功能包括:链路管理、成帧、差错控制以及流量控制等。其中成帧是对物理层的原始比特流进行界定的。数据链路层也能够对帧的丢失进行处理,数据链路层的传输单位是:帧。
网络层:涉及源主机节点到目标主机节点之间的网络传输,它需要完成的功能主要包括:路由选择、网络寻址、流量控制、拥塞控制、网络互连等。网络层的传输单位是:数据包。
传输层:涉及源端节点到目的节点之间可靠的信息传输。传输层需要解决跨越网络连接的建立和释放,对底层不可靠的网络,建立连接时需要三次握手,释放连接时需要四次挥手(TCP协议),传输层的传输单位为:数据段。
会话层:会话层主要功能是负责应用程序之间建立、维持和中断会话,同时也提供对设备和节点之间的会话控制,协调系统和服务之间的交流,并通过提供单双工、全双工、半双工3种不同的通信方式,使系统和服务之间有序地进行通信。
单双工:数据只在一个方向上传输。不能实现双方通信。例如:电视机、收音机。
全双工:允许数据在两个方向上同时进行传输。例如:手机。
半双工:允许数据在同个方向上进行传输,但同一时间内只能在一个方向上传输。例如:对讲机。
表示层:表示层关心数据信息的格式定义,主要功能是把应