网络编程!

网络编程

【1】网络开发架构

( 1 ) C / S 架构
C : client (客户端)

S: server (服务端)

APP - 就是服务端

C/S 架构通过客户端软件和服务器之间的交互,实现了前端界面和后端业务逻辑的分离,提供了一种稳定、可靠的架构模式。

( 2 ) B / S 架构
B : brower(网页端)

S: server (服务端)

打开QQ音乐----> 向QQ音乐发起请求

将资源在本地的浏览器进行渲染

B/S 架构通过浏览器和服务器之间的交互,实现了前端界面和后端业务逻辑的分离,提供了一种灵活、可扩展的架构模式。


( 3 ) B / S 架构 和 C / S机构 的优缺点


B / S 架构
维护和升级方式简单 : 我只需要更新服务器的资源就可以了

成本也比较低, 选择性也很多

服务数据太多了, 负载严重

C / S 架构
服务器压力有所减轻, 把一部分资源分跟客户端保存

数据的存储和管理比较透明,APP逆向

成本较高,维护费力

C / S 架构是主流趋势


【2】互联网协议


(1)什么是网络编程


网络编程的研究前提就是基于互联网

网络编程就是基于互联网写代码

(2)网络编程的媒介


网络编程的媒介是计算机网络。

而网络协议和网络编程框架和库则是实现网络编程的基础。

【3】OSI七层协议


网络通信协议标准
应用层:负责处理特定的应用程序协议,包括电子邮件、文件传输、远程登录。

表示层:负责数据的表示和编码,在不同系统中传输前将数据进行转换和压缩等操作。

会话层:负责建立、管理和终止会话,包括数据交换的同步和检查点的创建与恢复等功能。

传输层:负责端到端的数据传输,提供可靠数据传输服务,包括流量控制、拥塞控制、错误恢复和数据重传等功能。

网络层:负责实现不同计算机之间的数据包转发和路由器选择,并提供逻辑寻址和拥塞控制等功能。

数据链路层:通过帧来传输数据,负责数据的可靠传输。

物理层:负责在物理媒介上传输比特流,包括传输介质、物理接口和电气特征

优点:
易于理解和实现:由于OSI模型具有清晰的分层结构,因为易于理解和实现

可扩展性好:由于这个体系结构明确地定义了不同的层次和协议,因此它具有很好的可扩展性,可以随时添加新的协议和服务。

提高了协议的互操作性:由于OSI模型对不同协议提供了明确的指导,所以它可以促进不同厂商和供应商的设备之间的互操作性。

降低了复杂性:与其他体系结构相比,OSI模型具有更少的复杂性,因为每个层次的功能都是固定的。

缺点:


过于理论化:OSI模型过于理论化,导致它在实际实现中的使用受到限制。

缺乏灵活性:由于OSI模型在每一层都定义了特定的功能,因此缺乏灵活性,不能完全适应不同网络环境的要求。

太过繁琐:由于OSI模型分为7层,因此在实际应用中会导致协议的复杂性和资源消耗增加。

实现代价高:由于OSI模型需要使用大量的协议和设备来实现各个层次之间的通信,因此实现代价很高。

【4】TCP五层协议


应用层:负责处理网络应用程序之间的通信。

传输层:传输层协议提供端到端的同学协议,确保数据在网络上可靠传输。

网络层:处理数据在网络中的传输和路由。

数据链路层:在物理网络上提供了可靠的数据传输。它将数据包封装成帧,通过物理介质进行传输。

物理层:负责在物理媒介上传输比特流,包括传输介质、物理接口和电气特征

优点:
简单明了:TCP/IP五层协议简单明了,易于理解和实现。

开放性强:TCP/IP协议是一种开放式标准,具有很好的兼容性和可扩展性。

稳定可靠:TCP协议提供了可靠的数据传输服务,保证数据的完整性和可靠性。

灵活性高:TCP/IP协议支持多种不同的应用程序,如电子邮件、文件传输、网页浏览等。

安全性高:TCP/IP协议提供了一些安全机制,如IPSec、SSL等,保证数据的安全性和私密性。

缺点:


复杂性较高:TCP/IP协议的实现比较复杂,需要深入了解网络协议的原理和相关技术。

性能有限:TCP协议为了保证数据的可靠性,会引入一定的延迟和开销,对实时性要求较高的应用程序不太适合。

安全性不足:TCP/IP协议中的一些安全机制容易受到攻击,需要采取额外的措施来保证安全性。

可靠性有限:TCP/IP协议虽然提供了可靠的数据传输服务,但在网络拥塞时会出现丢包和延迟等问题,需要采取一些手段来解决。

不适合大规模部署:由于TCP/IP协议没有很好地考虑网络管理和维护的问题,因此在大规模的网络部署中可能会出现一些问题。

【5】以太网协议


规范了我们上网的标准

是一种广泛的有线局域网技术之一,用于在计算机网络中进行数据通信。

它定义了计算机之间的物理层和数据链路层的通信规则和格式。

以太网协议的特点
灵活性,高速性,简单性,可靠性,容错性,扩展性,可靠性

【6】IP协议


是一种网络通信协议

TCP/IP 协议是网络层协议,它负责将数据包将数据包从源地址传输到目的的地址

它定义了数据在互联网上如何传输和路由

IP协议的特点:无链接性,简单灵活,分组传输,路由选择,IP地址,版本号,协议类型

【7】Mac地址


网卡

它又称物理地址,是指网络设备(如计算机、路由器、交换机、网卡)在制造时分配的全球唯一的地址

查找名为“物理地址”或“MAC地址”的字段

【8】广播


同一个局域网内进行数据交互

【9】TCP协议


流式协议

可靠,基于一条通道进行传输的,只有符合规范才会允许建立通道

(1)三次握手


1.客户端向服务端发送连接请求(带着客户端的标识 aaa)

2.服务端接收到客户端的连接请求,向客户端回请求(带着服务端的标识和客户端的标识 bbb)

3.客户端和服务端进行建立连接

(2)四次挥手


1.客户端向服务端发送断开请求

2.服务端接受到客户端的请求,继续处理完没有完成的数据

3.向客户端发送断开请求

4.客户端接收到服务端的断开请求,断开连接

【10】UDP协议


报式协议

UDP协议是在传输层的协议

特点
无连接性:UDP在发送数据之前不需要建立连接。

简单快速:UDP的协议头部相对较小。通信开销夜宵,因此传输相对较快。

不可靠性:UDP不提供可靠性保证,数据包的传输顺序不被保证。

支持广播和多播:可以连接局域网的所有设备进行广播

适用于实时应用:

【11】socket协适用于实时应用议


如何建立TCP连接 / UDP连接

什么是socket:
Scoket是可以理解为一种抽象端点,它可以用来建立网络连接、发送和接收数据。

Scocket是一种用于实现网络通信的编程接口,它允许应用程序通过网络在不同的计算机之间进行数据传输和同学。

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值