网络编程,osi七层协议

Posted cherish937426

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程,osi七层协议相关的知识,希望对你有一定的参考价值。

网络编程

软件开发架构

1 c/s架构

c 客户端

s 服务端

2 b/s架构

b 浏览器

s 服务器

c/s架构就比如我们现在手机上的软件,大多数都是c/s架构

也有一些已经是b/s架构,比如微信,中的小程序,支付宝的第三方的功能。

什么是服务端,和客户端

服务端就是,24小时不间断的提供服务

客户端就是,任意时间都可以去找到服务端,寻求服务

网络编程的发展史

往往一个技术的发展都是来源与军事

网络通信具备的条件

1 物理传输介质(电话线,网线,网卡)

2 一套公共的协议(OSI协议,比如,两个不同的类的人,想要交流,必须要学会同一门语言,所以才会定义一套协议)

OSI协议(七字口诀;应表会传网数物)

OSI 7层协议

应用层

表示层

会话层

传输层

网络层

数据链路层

物理连接层

我们开发人员觉得5层就够了,然后就右分为以下5层

应用层

传输层

网络层

数据链路层

物理连接层

什么是物理连接层

基于电信号,2进制连接

什么是数据链路层(以太网协议)

1 规定电信号的分组方式,二进制的分组方式

2 规定了,每一台电脑连接连接到互联网都必修要有一个网卡

每一块网卡都刻有世界上独一无二的一个12位的16进制数编号

前6位是厂商编号

后6位是流水编号

这个也是我们电脑的mac地址

交换机工作流程图

技术图片

 

 

技术图片

交换机,是基于以太网通信的

注意交换机是不能跨局域网通信的,如果,有很多的电脑都要访问电脑1,会出现广播风暴

广播;交换机,向各个电脑发请求

单播,电脑向交换机发请求

如果我们要跨局域网通信我们需要路由器

路由器工作流程图

技术图片

 

技术图片

一个局域网类,要想访问另一个局域网的服务器,

必须借助路由器

互联网是由多个局域网连接而成的

什么是网络层

IP协议

规定一台接入互联网的计算机,必须有一个ip地址

ip地址的特点,点分十进制

ip最小地址 0.0.0.0

ip最大地址 255.255.255.255

ip地址现在有两个版本 ipv4 ipv6

ip地址是动态分配的

什么是传输层

TCP/UDP都是基于端口的工作协议

计算机与计算机之间实际上是通过计算机上的应用软程序来通信的

端口用来标识计算机上的应用程序

端口号的范围0-65535

注意0-1024是操作系统默认使用的端口号

我们应该使用8000之后的端口号

常用软件的端口号

mysql 3306

redis 6379

django 8000

flask 5000

什么是应用层

http协议

ftp协议

TCP协议

流式协议,可靠协议

基于tcp通信,必须建立双向通道

tcp的三次握手,四次挥手

tcp协议的稳定性在于,传输数据时候,是有反馈的

如果服务器给客户端传输数据,客户端没有给服务器返回反馈

服务端就会隔一段时间,再给客户端发数据

如果,客户端一直没有反馈数据

服务端就会关闭通道

图解;

三次握手

技术图片

 

四次挥手

技术图片

 

 

 

 

 

 

 

 

 

 

 

以上是关于网络编程,osi七层协议的主要内容,如果未能解决你的问题,请参考以下文章

OSI七层网络模型

网络编程 --OSI七层协议

测试开发之网络篇-OSI七层协议

OSI七层结构及其相应协议功能表

OSI七层结构及其相应协议功能表

OSI七层网络协议及TCP/UDPC/S架构详解