Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

    因而一直想的是自己可以根据自己学习和使用Go语言编程的心得,写一本Go的书可以帮助想要学习Go语言的初学者快速入门开发和使用!

    通信协议解析

    网络是由节点和连线构成,用来表示诸多对象及其相互联系。在数学上,网络是一种图,一般认为专指加权图。网络除了数学定义外,还有具体的物理含义,即网络是从某种相同类型的实际问题中抽象出来的模型。在计算机领域中,网络是信息传输、接收、共享的虚拟平台,通过它把各个点、面、体的信息联系到一起,从而实现这些资源的共享。但是网络的本质是为了解决多台计算机之间如何互相通信这个问题,从最初的ARPANET(Advanced Research Projects Agency Network) 到现在的 TCP/IP,这个本质问题并没有变化,只是技术不断改进。

    在20世纪60年代,由于计算机网络飞速发展,各大厂商为了在数据通信网络领域占据主导地位,纷纷推出了各自的网络架构体系和标准,如IBM公司的SNA,Apple公司的AppleTalk协议,以及广泛流行的TCP/IP协议。同时,各大厂商针对自己的协议生产出了不同的硬件和软件。由于多种协议的并存,使得网络变得越来越复杂;而且,厂商之间的网络设备大部分不能兼容,很难进行通信。

    该体系结构定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),在这一框架下进一步详细规定了每一层的功能,以实现开放系统环境中的互连性、互操作性和应用的可移植性。

    由于OSI模型和协议比较复杂,所以并没有得到广泛的应用。而TCP/IP(transfer control protocol/internet protocol,传输控制协议/网际协议)模型因其开放性和易用性在实践中得到了广泛的应用,TCP/IP协议栈也成为互联网的主流协议。

    两个因特网主机通过两个路由器和对应的层连接。各主机上的应用通过一些数据信道相互执行读取操作。