19.网络编程

网络架构

单机

  • 单机游戏

以下两个基于网络的

CS构架

客户端client/服务端server

  • 服务端统一处理有更好的安全性和稳定性而且升级比较容易,不过服务器负担就增加.
  • 客户端将负担分配到每个用户,从而可以节约服务器资源,安全性比较低,客户端不联网,数据不更新.

BS构架

Browser浏览器/服务端server

将应用程序放在浏览器上

互联网与互联网的组成

接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为‘互联网协议’.

边缘部分:客户端/服务端,这些普通的计算机,负责接收/发送数据

核心部分:传输网络的设备,路由,基站,负责数据的传输

互联网的组成:

  • 硬件:提供给你网络
  • 软件:应用程序,完成具体的任务

OSI七层

刚才所说互联网本质是一系列协议,互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层.

我们按照tcp/ip五层阐述每层的由来与功能,理解了整个互联网通信的原理。

扫描二维码关注公众号,回复: 6618457 查看本文章
  1. 物理层:主要是基于电特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

(单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思)

  1. 数据链接层:这里分组方式用的是以太网协议.

    1. ethernet规定

      • 一组电信号构成一个数据包,叫做‘帧’
      • 每一数据帧分成:报头head和数据data两部分
    2. mac地址:head中包含的源和目标地址由来:以太网协议规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址

    3. 有了mac地址,同一网络内的两台主机就可以通信了(一台主机通过arp协议获取另外一台主机的mac地址)

(以太网协议采用最原始的方式,广播的方式进行通信如果所有的通信都采用以太网的广播方式,那么一台机器发送的包全世界都会收到,这样不仅效率太低,且不符实际)

  1. 网络层:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址
    1. 规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4
    2. ip数据包也分为head和data部分,也就是在数据链路层的基础上在包一层ip头.
    3. 通过mac地址(局域网)+IP地址(互联网)就能找到全世界独一无二的电脑

(我们通过ip和mac找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。)

  1. 传输层:建立端口到端口的通信
    1. tcp/udp协议
    2. mac地址(局域网)+IP地址(互联网)+端口号就能找到全世界独一无二的电脑上的独一无二的应用程序
  2. 应用层:规定应用程序的数据格式,将0和1转换成具体的功能

socket抽象层

Socket是应用层与运输层之间的抽象层,它可以把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信.

猜你喜欢

转载自www.cnblogs.com/yellowcloud/p/11086758.html