第四十八篇 网络编程基础

第四十八篇 网络编程基础

一、网络架构

1.单机

比如单机游戏。不需要联入网络

2.CS架构

1.比如客户端游戏(英雄联盟)、手机淘宝客户端......

2.C(client): 客户

3.S(server):服务

4.服务端(应用程序)有一个就够了,客户端(应用程序)可以有多个

5.服务端和客户端都是应用程序,两者都可以存储数据,但是一般都把数据存储在服务端

6.服务端:共享,数据可以实时更新,保证数据安全

7.客户端:速度快,但是本地保存账号和密码,安全性低,不联网则无法更新数据,实时性差

3.BS架构

1.比如网页游戏、网页版淘宝

**2.browser ----》浏览器 ----》服务端

二、互联网和互联网的组成

1.边缘部分

客户端/服务端,比如普通的计算机,作用:负责接收/发送数据

2.核心部分

传输网络的设备,比如路由器、基站(发射塔)、交换机,作用:负责数据的传输

3.上网流程

1.打开浏览器(客户端)

2.输入输入 www.taobao.com ----->地址指向淘宝的服务端

3. 按enter键客户端把 www.taobao.com 解析成淘宝的地址(杭州.....)

4. 发送一条指令(购买指令)给淘宝,让淘宝把数据发给你

5. 客户端渲染数据

4.互联网的组成

1.硬件:提供网络

2.软件:应用程序,完成具体的事务

三、OSI七层协议

我们只需要记住TCP/IP五层即可:网络层、物理层、数据链路层、传输层、应用层

1.物理层

1.互联网由硬件和软件组成,传输数据,只能传输电信号 0和1 ,OSI协议把0和1组成的电信号分组,由高低电平二进制数据才有了意义

2.数据链路层(局域网)

1.让同一局域网下的计算机连接在一起

2.以太网协议:规定物理层中传输的0和1的格式

3.head:收件人地址、数据类型、发件人地址

4.data:内容

5.发件人地址和收件人就是mac地址,也就是网卡地址,出厂前就设置好的,固定不变的

6.广播:在发送数据前,我们一定知道自己的mac地址,还有收件人的mac地址,发送之后会通过某一台设备(交换机),但是交换机不知道mac地址对应的计算机是哪一台,因此,交换机就会以广播的形式发送给所有的计算机,收件人的计算机收到数据,就会解析内容。在一次传输之后,交换机会保存发送和接收数据的电脑的mac地址,所以下一次数据传输涉及到这两台电脑时,就可以直接找到它们的地址并传输了

3.网络层

1.作用:让不同的局域网下的电脑连接在一起

2.mac只能在局域网识别电脑,因此要想在互联网中识别每台电脑,则需要另一种协议,这个协议就是IP协议,规定了每台电脑的所在局域网的IP地址

3.IP地址就是在数据链路层的基础上包一层IP头

4.当我们逛淘宝时,自己的mac地址和ip地址以及淘宝的IP地址和mac地址一起发送出去,路由会接收淘宝的ip地址,接着路由会返回淘宝的ip地址和mac地址以及数据,且自带mac地址(路由器的)和ip地址(路由器的ip地址)

5.mac地址(局域网)+ IP地址(互联网)就可以定位到全球的每一台电脑

6.局域网内可以设置固定的IP地址,也可以随机得到不同的IP地址,可以人为控制;在互联网一般都是电信商随机分配一个IP

7.Internet上的每台主机(Host)都有一个唯一的IP地址;在日常互联网生活中,我们可以指定一台计算机具有多个IP地址,另外,通过特定的技术,也可以使多台服务器共用一个IP地址,这些服务器在用户看起来就像一台主机

8.IP地址是可变的,电脑的MAC地址才是不变的

4.传输层

1.解析和组织在网络层以及数据链路层接收和发送的数据

2.端口号:一个端口号对应一个应用程序

3.mac地址(局域网)+ IP地址(互联网)+端口号 就可以定位到相应电脑上的特定应用程序

4.计算机遵照TCP协议或UDP协议将0和1数据分组解析给应用程序

5.应用层

应用程序:将0和1二进制组成的数据转换成具体的功能

四、抽象层

socket抽象层

1.客户端和服务端的应用程序想通信,两者传输的数据必须一致

2.socket抽象层作用:编写自己的应用程序,既可以是客户端,也可以似乎服务端

使用socket编写的客户端服务端 写一个文件拷贝的CS架构的软件

原文地址:https://www.cnblogs.com/itboy-newking/p/11185279.html