网络编程(通信基础)

网络编程

    软件开发架构:

        c/s架构:

             c:客户端

             s:服务端

        b/s架构:

              b:浏览器

              s:服务器

手机端:好像C/S架构比较多,其实微信小程序,支付宝第三方,统一接口

PC端:B/S架构比较多

本质:B/S是C/S的一种

osi七层:

网络编程(通信基础)

1.物理层:

实现计算机之间的物理连接,传输的数据都是而二进制

2.数据链路层:

(1)规定了二进制数据的分组方式

(2)规定了只要接入物联网的计算机,都必须有网卡

网卡具有唯一编号:mac地址,(12位16进制来表示,前6位是厂商编号,后6位是流水号)

(1),(2)组成了以太网协议。

基于以太网协议通信:通信基本靠吼(容易造成广播风暴)

3.网络层(ip协议):

规定计算机必须要有一个IP地址

ip地址(点分十进制)最大为:255.255.255.255 最小为:0.0.0.0

IP协议可以跨局域网传输。

IP地址标识每一台机器

4.传输层:

tcp,udp基于端口工作的协议

计算机之间的通信:应用程序之间的通信

端口(port):唯一标识i计算机上某一个基于网络通信的应用程序(0~65525)

0~1023为静态端口(操作系统分配的)

所写软件端口号建议在8000后:

flask框架默认端口:5000

django框架默认端口:8000

mysql数据库默认端口:3306

redis数据库默认端口:6379

一台计算机上同一时间一个端口号只能被一个应用程序占用。

总结:

ip+端口号(port):标识唯一计算机某一程序

arp协议:根据ip地址解析mac地址

应用层(HTTP协议,FTP协议):

TCP协议(流式协议,可靠协议):三次握手,四次挥手

网络编程(通信基础)

 

网络编程(通信基础)