goweb基础理论

AlexBruceLu · · 1295 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

# 网络概述 ## 网络协议 ### 什么是网络协议 **网络协议**是一组“规则”,数据在网络进行网络传输的时候必须严格执行。 ### 网络分层模型 **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

1295 次点击  
加入收藏 微博
1 回复  |  直到 2018-09-13 11:12:39
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传