goweb基础理论

AlexBruceLu · 2018-08-15 08:18:49 · 1392 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-08-15 08:18:49 的主题,其中的信息可能已经有所发展或是发生改变。

网络概述

网络协议

什么是网络协议

网络协议是一组“规则”,数据在网络进行网络传输的时候必须严格执行。

网络分层模型

OSI七层分层模型(理论上的分层) :物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP四层模型(实际上的分层) :链路层、网络层、传输层、应用层。

TCP/IP四层模型,相对应每层常见的协议

链路层常见协议:ARP、RARP

ARP协议:地址解析协议,为IP地址到对应的硬件地址之间提供动态映射。

RARP协议:逆地址解析协议,具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址(无盘机另当别论)。

网络层常见协议:ICMP、IGMP

ICMP协议:Internet互联网控制报文协议

IGMP协议:Internet组管理协议

传输层常见协议:TCP、UDP

TCP:传输控制协议

UDP:用户数据报协议

应用层常见协议:FTP、Telnet、TFTP、NFS

FTP:文件传输协议

Telnet:远程登录

TCP/IP四层模型,每层的功能和特点

链路层:链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中设备驱动程序和计算机中对应的网络及口卡。它们一起处理与电缆(或其他传输媒介)的物理接口细节。以太网规定,连入网络的所有设备,都必须有“网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。通过网卡能够使不同的计算机之间连接,从而完成数据通信等功能。“网卡”的地址(MAC地址),就是数据包接收和发送的物理地址。

网络层:网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。换言之,网络层的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做“网络地址”,这是我们平时所说的IP地址。这个IP地址好比我们的手机号码,通过手机号码可以得到用户所在的归属地。网络层的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做“网络地址”,这是我们平时所说的IP地址。这个IP地址好比我们的手机号码,通过手机号码可以得到用户所在的归属地。包含的主要信息是源IP和目的IP。于是,“网络层”出现以后,每台计算机有了两种地址,一种是 MAC 地址,另一种是网络地址。两种地址之间没有任何联系,MAC 地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。网络地址帮助我们确定计算机所在的子网络,MAC 地址则将数据包送到该子网络中的目标网卡。因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理 MAC 地址。

传输层:传输层,主要为两台主机上的应用程序提供端到端的通信。举个例子,当我们一边聊QQ,一边聊微信,当一个数据包从互联网上发来的时候,我们怎么知道,它是来自QQ的内容,还是来自微信的内容?也就是说,我们还需要一个参数,表示这个数据包到底供哪个程序(进程)使用。这个参数就叫做“端口”(port),它其实是每一个使用网卡的程序的编号。每个数据包都发到主机的特定端口,所以不同的程序就能取到自己所需要的数据。

应用层:应用层,负责处理特定的应用程序细节。应用程序收到“传输层”的数据,接下来就要进行解读。由于互联网是开放架构,数据来源五花八门,必须事先规定好格式,否则根本无法解读。“应用层”的作用,换句话说就是规定应用程序的数据格式。

Socket编程

常用的Socket类型有两种:流式Socket(SOCK_STREAM)数据报式Socket(SOCK_DGRAM)流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。

网络应用程序设计模式

C/S模式:传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。

优点:数据传输效率高、协议选择灵活

缺点:工作量大、安全性构成威胁

B/S模式:浏览器(Browser)/服务器(Server)模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可完成数据的传输。

优点:开发工作较小、不受平台限制、安全威胁小

缺点:缓存数据差、协议选择不灵活


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1392 次点击  
加入收藏 微博
1 回复  |  直到 2018-09-13 11:12:39
JackZR
JackZR · #1 · 7年之前

朋友我看你是书看多了吧 我上去就是干

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传