网络编程1

本文介绍了软件开发中的两种常见架构——C/S和B/S架构,C/S需要客户端下载,而B/S只需浏览器即可访问。同时,详细阐述了OSI七层协议,从物理层到应用层,包括各层的功能、协议和数据传输过程,如TCP的三次握手和四次挥手。
摘要由CSDN通过智能技术生成

软件开发架构

c/s架构 

client (客户端)---------网络-----------server(服务端)

在c/s架构中,客户端和服务端通过网络进行通信,客户端向服务器发出请求,服务器对请求进行处理并返回结果给客户端,客户端再根据服务器返回的结果进行相应的操作

客户端弊端:用户使用必须下载客户端,当用户下载的客户端多的时候,电脑可能会收到影响

b/s架构

browser(浏览器)----------网络----------server(服务端)

在b/s架构中,浏览器向服务器发出请求,服务器对请求进行处理并返回结果给服务器,浏览器再根据服务器返回的结果进行相应的操作,b/s架构中,浏览器就是客户端,不需要安装任何应用,通过浏览器就可以访问应用程序

OSI七层协议

用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解

每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件

 1.物理层

主要负责发送高低电压(电信号),高电压对应数字1,低电压对应数字0

2.数据链路层

物理层做不了分组,数据链路层来做分组,数据链路层统一使用以太网协议,一个以太网数据称为  数据帧 (报头hesd + 数据data)

head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

3.网络层

使用的是IP协议,规定每一个介入互联网计算机都必须有一个IP地址,广泛采用的IPv4(范围0.0.0.0 - 255.255.255.255) 除了IPv4还有IPv6地址,表现形式为十六进制

IP数据包 最长只有1500字节,超过1500字节,就需要分割成几个以太网数据包分开发送

公网IP:需要购买,买过后的IP是固定

内网IP:以192.168开头的IP的地址,也叫局域网

网络的划分

广域网:主要特点是覆盖面广,跨越较大的地理范围,由多个地理不同的局域网,城域网或其他广域网相互连接而成

局域网:主要特点是覆盖面积较小,距离较近,一般使用以太网等局域网协议进行连接,局域网内的计算机可以相互通信和共享资源

本地回环地址:127.0.0.1是一个预留地址,通常不会分配给任何端口,被用作在同一台计算机上进行内部通信和测试

4.传输层

使用的是TCP协议和UDP协议,也称为端口协议,0-65535之间的数字

0-1024之间的事默认系统使用的,我们不要使用,以免发生端口冲突

1024-8000之间的端口,一般是常用软件的端口

如果自己开发软件,端口最好使用8000之后的

TCP协议

又称为靠谱协议,因为TCP协议传输数据的时候,是需要建立双向通道的

如何建立双向通道:三次握手和四次挥手,在三次握手过程中,客户端和服务端互相确认对方是否能够接收数据,在四次挥手过程中,客户端和服务端需要分别发送FIN和ACK报文,以便正常关闭连接并释资源

tcp报文

tcp三次握手和四次握手:

UDP协议

不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

 5.会话层

建立,管理,终止会话。(在五层模型中已经合并到应用层)对应主机的进程,指本地主机与远程主机正在进行的会话

6.表示层

数据的表示,安全,压缩。(在五层模型中已经合并到应用层)格式有jpeg,ASCII等加密格式

7.应用层

常见的客户端应用协议:

HTTP协议:超文本传输协议,用于web浏览器和web服务器之间的通信

FTP协议:文件传输协议,用于文件在客户端和服务器之间的传输

SMTP协议:简单邮件传输协议,用于电子邮件的发送和传输

POP3协议:邮局协议,用于电子邮件的接收

IMAP协议:internet消息访问协议,用于电子邮件的接收和管理

常见的浏览器应用协议:

HTTP协议:超文本传输协议,用于web浏览器和web服务器之间的通信

HTTPS协议:安全超文本传输协议,用于web浏览器和web服务器之间的加密通信

FTP协议:文件传输协议,用于文件在客户端和服务器之间的传输

WebSocket协议:用于实现双向通信的协议,可以在浏览器和服务器之间建立长连接,实现实时通信

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值