osi七层协议

C/S与B/S架构

C:Client端
B:Browse端 浏览器
S:Server端

C/S架构:给予客户端与服务端之间的通信,需要下载客户端才可以使用。
优点:个性化设置,响应速度快
缺点:开发成本高,维护成本高,用户固定

B/S架构:基于浏览器与服务端之间的通信。
优点:开发维护成本低,用户不固定
缺点:功能单一,没有个性化设置,相应速度相对慢


计算机通信过程

利用计算机相互联系需要的条件:
1.两台计算机需要有物理连接介质相连接。
2.找到对方软件的位置。
3.遵循一揽子互联网协议。

一揽子通信协议就是osi七层协议,相当于全世界的计算机在网络通信中需要遵循的连接标准。

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层。
在这里插入图片描述

应 表 会 传 网 数 物

通信过程:
计算机A通过QQ发送一条消息→A应用层→A传输层→A网络层→A数据链路层→A物理层→→→→→→计算机B物理层→B数据链路层→B网络层→B传输层→B应用层→计算机B收到消息

通信方式:
同一局域网内,通过广播的形式通信,消息一经广播发出,局域网内所有计算机都能接受到消息,之后各自分析消息是否是找自己的,是的话对数据进行拆封读取,如果不是就丢弃。
∴在同一个局域网内,mac地址+广播就可以进行通信了。

计算机只能在局域网内进行广播,如果在更大范围也行进广播就容易出现广播风暴,降低通信效率。

如果计算机不在同一局域网内,需要通过网络层确定对方局域网所在位置,在通过路由协议将数据传到目标子网,再在目标子网内进行广播找到目标计算机。

另外,信息的通信是软件与软件之间的通信,而不是计算机之间的通信,所以还需要端口协议,让信息能到达对应的软件。

∴mac地址(计算机位置) 广播(子网内)+IP(子网位置)+端口(软件在计算机的位置)
有了以上四个参数,就可以确定世界上任何一个计算机的软件的位置。
在这里插入图片描述

简单串联五层协议以及作用

物理层

物理层指的就是网线、光纤、双绞线等等物理连接介质。物理层发送的是比特流:01010101010
数据应该有规律的分组,分组就是数据库链路层的作用


数据链路层
数据链路层对比特流进行分组。
最开始从事互联网的企业就是美国的几家公司,各家有各家自定的比特流分组标准,后来统一了标准:以太网协议。

以太网协议
数据链路层最重要的协议,可以对比特流进行合理分组。
一组数据标准一帧数据,也称作数据报,
形式是 head|data
其中head是固定长度:18个字节

head中:

  • 源地址:6个字节
  • 目标地址:6个字节
  • 数据类型:6个字节

data:最少是46个字节,最大1500字节
一帧数据:最少64个字节,最大1518个字节
最后的传输形式: 一帧数据|一帧数据|一帧数据……

此处的地址指的是mac地址。
mac地址:每台电脑上都有一个网卡,网卡上都记录着一个独一无二的地址就是mac地址。由12位16进制组成:前六位是厂商编号,后六位是流水线号。

∴一帧数据形式是: 源mac地址 目标mac地址 数据类型|data

交换机的mac地址学习功能:

举例:
一个交换机的5个接口现在连接着5台计算机
现在交换机mac地址对照表:
1.FF-FF-FF-FF-FF-FF
2.FF-FF-FF-FF-FF-FF
3.FF-FF-FF-FF-FF-FF
4.FF-FF-FF-FF-FF-FF
5.FF-FF-FF-FF-FF-FF

现在接口1发出一条消息:源mac 30-B4-9E-FD-FF-35 目标mac 31-C4-9A-FE-FF-41 数据类型|数据内容

数据会先单播给交换机,交换机查询自己的对照表是否存有目标mac,如果有就单播给目标mac,此处例子中没有,则交换机会把消息交给路由器,由路由器查看目标ip和原ip是否在同一网段,如果在同一网段则路由器单播给交换机,再由交换机广播给子网内所有端口,即2、3、4、5口都会收到该消息,比如5口是最终的目标mac,5口就接收消息,其他3口丢弃该消息,交换机会将5口与mac地址对照上,下一次再有5口的消息交换机就会直接单播给5口。

注意:必须知道对方的mac地址才可以通过广播的形式发消息,实际上网络通信中,只需要知道对方的IP与自己的IP即可。


网络层
IP协议:IP协议的作用是确定局域网(子网)的位置。

规定网络地址的协议叫做IP协议,它定义的地址称之为IP地址,广泛采用V4版本即IPV4,它规定网络地址由32位2进制表示

IP地址:4点分十进制 取值范围:0~255 .0 ~255 .0 ~255. 0 ~ 255

IP地址分为两部分:
网络部分:标识子网
主机部分:标识主机

注意:单纯的IP地址段只是标识了IP地址种类,从网络部分或主机部分都无法表示一个IP所属的子网。

子网掩码:中国绝大部分地区,都采用C类子网掩码:255.255.255.0

IP地址+子网掩码 按位取与运算,可以计算出是否在同一局域网(子网,网段)

举例:

计算172.16.10.1 与 172.16.10.128 是否在同一网段
172.16.10.1:10101100.00010000.00001010.00000001
255.255.255.1:11111111.11111111.11111111.00000000
按位取与运算得:172.16.10.0 该地址是该IP从属的网段

172.16.10.128:10101100.00010000.00001010.10000000
255.255.255.1:11111111.11111111.11111111.00000000
按位取与运算得:172.16.10.0 该地址是该IP从属的网段
∴两个IP从属同一网段

172.16.10.0(网关地址被占用)
172.16.10.255(广播地址,被占用)
172.16.10.1(被占用)
∴C类子网掩码一个网段最多可以承载253台计算机

ARP协议

如果要给另一台计算机发数据,一定要知道对方的IP地址

ARP协议的作用就是从对方的IP地址获取到对方的mac地址

发送端主机发出:

源mac目标mac源IP目标IP数据部
30-B4-9E-FD-FF-35FF-FF-FF-FF-FF-FF172.16.10.156172.16.10.13数据

当这条消息是第一次发出的时候,这条消息会先发送到交换机,再由交换机传到路由器,路由器分析目标IP和源IP是否处于同一网段,如果在同一网段,再传给交换机,交换机会以广播的方式在发送端所处的自网内将这个包传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac,在通过交换机的学习功能,IP地址和mac就对应上了。

如果不在同一网段:通过路由协议找到最佳传输线路连接到目标IP所属子网,目标子网再通过广播或者单播的兴是找到目标计算机。


传输层
端口协议:确定软件在计算机的位置

端口协议又有UDP协议和TCP协议

一个计算机有65535个端口
1~1024是操作系统专门使用的软件端口
3306是数据库端口
一般自己开发的软件都是8080后的端口号

TCP和UDP对比

TCP(Transmission Control Protocol)可靠的、面向连接的协议(eg:打电话)、流式协议。传输效率低全双工通信(发送缓存&接收缓存),面向字节流。使用TCP的应用:Web浏览器、文件传输程序
特点:可靠、效率低、必须建立连接

UDP(User Datagram Protocol)不可靠的、无连接的服务。传输效率高(发送前时延小),一对一,一对多,多对一,多对多,面向报文(数据包),尽最大努力服务,无拥塞控制。使用UDP的应用:域名系统(DNS),视频流,IP语音(VoIP)

TCP协议的三次握手和四次挥手

三次握手建立连接在这里插入图片描述
所以本来应该是四次握手,但为了方便,将中间两次服务端向客户端发送的握手合成一次
在这里插入图片描述
将四次握手改为三次
syn = 1 seq = x代表着要建立连接
ack = 1+x 代表着同意

四次挥手断开连接
在这里插入图片描述
谁先发完谁先提出断开连接的请求:fin = 1 seq = y
同意断开:ack = 1+y
∵不能确定对方是否已经将要发送的数据发送完
∴不能将中间两次请求合成一次,便是四次挥手

syn洪水攻击:制造大量的假的无效的IP请求服务器,只是正常IP访问不了服务器。

应用层
自己定义的协议

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页