网络编程初识

网络编程

1, 网络开发的两大架构

1.1 c/s 架构

C -> client(客户端软件),S指的是Server(服务端软件)
# 应用程序,pc端的软件,手机端的app,占用一定的内存

1.2 b/s 架构

B -> Brower 浏览器
通过输入网址,直接访问对方服务器,对方服务器响应请求之后
把对应的数据通过网络返回到浏览器中进行显示
   
# 未来可期
(1) 省去复杂漫长的下载和安装环节,节省了手机和电脑的硬盘空间
(2) 因为手机的便捷性,可以随时随地不受限制的使用各式各样的功能,满足日常需求.

2, 基础概念

# 计算机基础概念
   作为应用开发程序员,我们开发的软件都是应用软件,而应用软件必须运行于操作系统之上,操作系统则运行于硬件之上,应用软件是无法直接操作硬件的,应用软件对硬件的操作必须调用操作系统的接口,由操作系统操控硬件。
   
# 比如客户端软件想要基于网络发送一条消息给服务端软件,流程是:
   1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存
   2、客户端操作系统收到数据后,按照客户端软件指定的规则(即协议)、调用网卡发送数据
   3、网络传输数据
   4、服务端软件调用系统接口,想要将数据从操作系统内存拷贝到自己的内存中
   5、服务端操作系统收到4的指令后,使用与客户端相同的规则(即协议)从网卡接收到数据,然后拷贝给服务端软件
   
# 网络的概念
   计算机之间的通信也应该有一个像英语一样的通信标准,这个标准称之为互联网协议。
   可以很明确地说:互联网协议就是计算机界的英语,网络就是物理链接介质+互联网协议。 我们需要做的是,让全世界的计算机都学会互联网协议,这样任意一台计算机在发消息时都严格按照协议规定的格式去组织数据,接收方就可以按照相同的协议解析出结果了,这就实现了全世界的计算机都能无障碍通信。 按照功能不同,人们将互联网协议分为osi七层或tcp/ip五层或tcp/ip四层

3, OSI七层模型 & TCP/IP

c09374ca842c1e6968d29129f7d16aa

 

# OSI七层模型
   OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。
   
# TCP/IP
   20世纪50年代末,正处于冷战时期。当时美国军方为了自己的计算机网络在受到袭击时,即使部分网络被摧毁,其余部分仍能保持通信联系,便由美国国防部的高级研究计划局(ARPA)建设了一个军用网,叫做“阿帕网”(ARPAnet)。阿帕网于1969年正式启用,当时仅连接了4台计算机,供科学家们进行计算机联网实验用,这就是因特网的前身。
   到70年代,ARPAnet已经有了好几十个计算机网络,但是每个网络只能在网络内部的计算机之间互联通信,不同计算机网络之间仍然不能互通。为此, ARPA又设立了新的研究项目,支持学术界和工业界进行有关的研究,研究的主要内容就是想用一种新的方法将不同的计算机局域网互联,形成“互联网”。研究人员称之为“internetwork”,简称“Internet”,这个名词就一直沿用到现在。
   终于到1974年,TCP/IP诞生啦,TCP/IP有一个非常重要的特点,就是开放性,即TCP/IP的规范和Internet的技术都是公开的。目的就是使任何厂家生产的计算机都能相互通信,使Internet成为一个开放的系统,这正是后来Internet得到飞速发展的重要原因。

3.1七层模型各层级具体解释

22ab93a8de9d49b515809d6f886a328

# 应用层
   是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。
# 表示层
   表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。
   # 转换格式,翻译语言,进行加密等
# 会话层
    会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。
# 传输层
   传输层的数据单元称为数据段,这个层负责获取全部信息,它跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。传输层是源端到目的端对数据传送进行控制从低到高的最后一层。
# 网络层
   在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将解封数据链路层收到的帧,提取数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。我们常说的ip地址,就是说的第三层网络层的问题,这里是数据包的问题,而不是第二层的帧,除了ip,还有一些路由协议和地址解析协议(ARP),有关路由的一切事情都在第三层处理,地址解析和路由是第三层的重要目的,网络层还可以实现拥塞控制、国际互联。在这一层,数据的单位成为数据包(packet)
网络层主要设备:路由器
# 链路层
   在物理层提供比特流服务的基础上,建立相邻节点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输数据链路层在不可靠的物理介质上提供可靠的传输,该层的作用:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等,在这层,数据的单位成为帧(frame)数据链路层主要设备:二层交换机、网桥、网卡
# 物理层
   实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流。规定了电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。

 

4, 局域网模型

 

5, 广域网模型

posted @ 2020-08-13 19:32  bajie_new  阅读(110)  评论(0编辑  收藏  举报