网络概述
网络协议
什么是网络协议
网络协议是一组“规则”,数据在网络进行网络传输的时候必须严格执行。
网络分层模型
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都默认配置的浏览器即可完成数据的传输。
优点:开发工作较小、不受平台限制、安全威胁小
缺点:缓存数据差、协议选择不灵活
有疑问加站长微信联系(非本文作者)

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