欢迎来到天天文库
浏览记录
ID:33317035
大小:607.29 KB
页数:16页
时间:2019-02-24
《区块链技术基础语言:go语言网络编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.Go语言网络概述1.1网络协议网络协议就是为网络数据交换而制定的规则、约定与标准。 1.2分层模型为了降低网络设计的复杂性,绝大多数网络都组织成一堆相互叠加的层。每一层都建立在下一层的基础之上,且每一层的目的都是向上一层提供特定的服务,但是把如何实现这些服务的细节对上一层加以屏蔽。用户接触到的是网络体系的应用层,属于最上层;网络体系层级越低,越接近硬件。常见的网络体系结构分层模型有两种:OSI模型和TCP/IP模型。OSI模型将网络层分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。TCP/IP模型将网络层分为四层:主机至网络层、互联网层
2、、传输层和应用层。OSI模型对于讨论计算机网络非常有用,但是没有流行;TCP/IP模型没有被纳入国际标准,但是协议被广泛地使用。为了更清晰地解释网络体系结构,本文采用如图所示的五层模型。...1.3每层协议的功能网络体系结构的每一层都是为了实现一种功能。为了实现这些功能,需要大家遵守共同的规则,因此每一层都定义了很多协议。这些协议的总称叫做“互联网协议(InternetProtocolSuite)”。1.3.1物理层物理层就是把电脑连接起来的物理手段。它定义了物理设备的标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(
3、就是将1、0转化为电流强弱来进行传输,到达目的地后再将电流强弱转化为1、0,也就是数模转换与模数转换),这一层的数据叫做比特。...1.3.2数据链路层☛1.3.2.1设计数据链路层的原因在原始的物理线路上传输数据信号是有差错的,数据链路层采取差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,向网络层提供高质量的服务。☛1.3.2.2数据链路层的基本功能数据链路层位于物理层上方,它定义了如何让格式化数据以帧(Frame)为单位进行传输,以及如何控制对物理介质的访问。数据链路层还提供了错误检测和纠正措施,以确保数据的可靠传输。在
4、数据链路层,通过以帧为单位进行数据传输、以获取网卡MAC地址作为对物理介质的访问控制、以广播作为数据的发送方式,多台计算机之间可以相互传送数据。...☛1.3.2.3以太网协议以太网是目前最流行的一种局域网组网技术,它规定了在以太网中传输的数据帧结构。以太网协议将一组电信号构成的一个数据包叫做“帧”,帧分为两个部分:标头(Head)和数据(Data)。标头(Head):数据包的说明项,比如发送者、接受者、数据类型等,固定为18字节;数据(Data):数据包的具体内容,最短为46字节,最长为1500字节。因此,整个帧最短为64字节,最长为1518字节。如果数据很
5、长,就必须分割成多个帧进行发送。☛1.3.2.4MAC地址介质访问控制(MediumAccessControl)简称MAC,它是解决当局域网中共用信道的使用产生竞争时,如何分配信道的使用权问题。...MAC(MediumAccessControl)地址,也称为物理地址、硬件地址,用来定义网络设备的位置。一个主机有一个MAC地址,MAC地址是网卡决定的,是固定的。以太网规定,连入网络的所有设备,都必须具有“网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。网卡的地址,就是数据包的发送地址和接收地址,也就是MAC地址。每块网卡出厂的时候,都有一个全世界独一无二
6、的MAC地址,长度是48个二进制位,通常用12个十六进制数表示。前6个十六进制数是厂商编号,后6个是该厂商的网卡流水号。有了MAC地址,就可以定位网卡和数据包的路径了。☛1.3.2.5广播以太网规定数据包必须从一块网卡传送到另一块网卡,但是一块网卡无法直接获取另一块网卡的MAC地址。在网络层中会介绍一种ARP协议(Address...ResolutionProtocol,地址解析协议),如果两台主机位于同一个子网络(由活性节点组成的局部网络),通过对方的IP(InternetProtocol,网络之间互连的协议)可以获得对方的MAC地址。虽然获得了对方的MAC
7、地址,系统并不是把数据包准确地发送给接收方。其中一种实现数据包发送到接收方的方式就是广播,就是以广播的方式向本网络内所有计算机发送,让每台计算机自己判断,是否为接收方。上图中,1号计算机向2号计算机发送一个数据包,同一个子网络的3号、4号、5号计算机都会收到这个包。它们读取这个包的“标头”,找到接收方的MAC地址,然后与自身的MAC地址相比较,如果两者相同,就接受这个包,做进一步处理,否则就丢弃这个包。这种发送方式就叫作“广播(broadcasting)”。有了数据包的定义、网卡的MAC地址、广播的发送方式,数据链路层就可以在多台计算机之间传送数据了。1.3.
8、3网络层...网络层的目的是两个端系统
此文档下载收益归作者所有