01 iso的七层协议、TCP协议的三握手,四挥手

单机架构

  • cs架构:客户端--->服务端
  • bs架构:客户端---->浏览器---->服务端

网络通信原理

​ 2.1互联网的本质就是一系列的网络协议

​ 一台硬设有了操作系统,然后装上软件就可以正常使用了,然而你也只能自己使用像这样,每个人都拥有一台自己的机器,然而彼孤立。

​ 结论:英语成为世界上所有人通信的统一标准,如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为'互联网协议'(internet Protocol Suite)。

​ 互联网协议的功能:定义计算机如何连接internet,以及接入internet的计算机通信的标准。

​ 边缘部分:客户端或服务端

​ 核心部分:路由器、基站

​ 2.2osi七层协议

​ 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层

img

​ 每层运行常见的物理设备

img

​ OSI七层协议数据传输的封包与解包过程

img

tcp/ip五层模型

​ 我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个互联网通信的原理。

​ 首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解,每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件。

1、物理层

  • 光缆/网线:传输信号,连接两台计算机,如果有一根网线能够从中国连接到美国,那么只要一根网线就够了

​ 物理层由来:两个孤立的计算机之间想要一起玩耍,就必须接入internet,言外之意就是两个计算机之间必须完成组网

​ 物理层的功能:主要是基于电器特性发送高低电压信号,高电压对应的数字1,低电压对应的数字为0

2、数据链路层

​ 让同一局域网下的计算机连接在一起

  • 数据链路层的功能:让0和1变得有意义,每几位一组,

​ 以太网协议:

​ 规定物理层中传输的0和1的格式

head:

​ 数据类型

data:内容

  • 发件人的地址就是mac地址,计算机上网卡的地址,这个地址不变,并且唯一,每一台电脑有自己固定的mac地址

​ mac地址:

​ head中包含的源和目标地址由来:ethernet规定接入internet的设备必须都具备网卡,发送端和接收端的地址便是网卡的地址,即mac地址

​ mac地址:每块网卡出厂时都被烧制世界上唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线编号)

  • 广播:你一定知道自己的mac地址,还有收件人的mac地址,通过某一台设备(交换机),但是交换机不知道mac地址对应的计算机是那一台,交换机就会以广播的形式发给所有的计算机,收件人的计算机收到了就会解析这条命令,就拿到内容了.之后交换机就会记录两个mac地址。

    以上基于局域网

img

3、网络层

​ 让不同局域网下面的计算机连接在一起

​ 叫做IP地址,只知道mac地址,无法连接其他局域网内的计算机,因为mac地址只被交换机识别,然后不同局域网的交换机不一样,所以现在定义一个新的地址表明是哪个局域网,通过路由器

​ 在数据链路层的基础上再包一层IP头

​ 已经知道了淘宝的ip和mac地址,你会把自己的mac地址和ip地址一起发送出去,路由会接收淘宝的ip地址,路由发送淘宝的ip地址和mac地址,自带mac地址(路由器的)和ip地址(路由器的ip地址)

​ mac地址(局域网)+ip地址(互联网)就能找到世界上独一无二的电脑

4、传输层

​ 组织网络带来的数据,

​ 端口号,找到一个固定的应用程序,一个端口号对应一个应用程序

​ mac地址 + ip + port(端口号)——>独一无二的应用程序

​ 数据0和1发给应用程序,TCP和UDP协议

5、应用程序

​ 0和1转换成具体的功能

6、抽象层

​ 客户端和服务端的应用程序想通信,两者传输的数据必须是一样的,

​ socket抽象层就是对全世界独一无二的计算机上的应用程序,既可以是客户端,也可以是服务端

ARP协议

arp协议由来:计算机通信基本靠吼,即广播的方式,所有上层的包到最后都要封装上以太网头,然后通过以太网协议发送,在谈及以太网协议时候,我门了解到通信是基于mac的广播方式实现,计算机在发包时,获取自身的mac是容易的,如何获取目标主机的mac,就需要通过arp协议

arp协议功能:广播的方式发送数据包,获取目标主机的mac地址

协议工作方式:每台主机ip都是已知的

例如:主机172.16.10.10/24访问172.16.10.11/24

一:首先通过ip地址和子网掩码区分出自己所处的子网

场景数据包地址
同一子网目标主机mac,目标主机ip
不同子网网关mac,目标主机ip

二:分析172.16.10.10/24与172.16.10.11/24处于同一网络(如果不是同一网络,那么下表中目标ip为172.16.10.1,通过arp获取的是网关的mac)

源mac目标mac源ip目标ip数据部分
发送端主机发送端macFF:FF:FF:FF:FF:FF172.16.10.10/24172.16.10.11/24数据

三:这个包会以广播的方式在发送端所处的自网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac

TCP协议三次握手、四次挥手

​ TCP:

​ 数据从服务端--->客户端的协议

​ 三次握手建立连接:

​ 如果你要去服务端去下载视频,客户端和服务端之间必须连接,连接就是三次握手:

​ 在连接之前,客户端和服务端都是处于关闭状态的

  1. 客户端会像服务端发起一个请求,如下载视频,会有一个syn报头
  2. 服务端会接收到客户端的请求,然后会响应客户端,并且把syn报头改装好后又返回客户端,会有ack的报头
  3. 客户端开始进入连接状态,再发一条请求,请求带上ACK给服务端,让服务端也进入连接状态

​ 四次挥手关闭连接:

  1. 客户端就会发送请求带上FIN报头给服务端说我够了,要断开连接
  2. 服务端接收到客户端的请求后,返回一个带有ACK报头的请求说确认了,1、FIN报头并没有返回,2、但是服务端此时可能还有数据传输
  3. 服务端数据传输结束之后,服务端又会发送一次报头FIN的请求,告诉客户端,我发完了,结束吧.
  4. 所以必须得有第四次确认,客户端向服务端进行一次确认,我收到了,否则第二次传入的数据有丢失的风险.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值