网络七层模型和tcp工作原理

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 网络七层模型和tcp工作原理

一、OSI七层模型与TCP/IP五层模型


(1)OSI七层模型:


OSI七层模型是由ISO国际标准化组织提出的,主要是为了统一世界各计算机厂商使用不同的私有模型而导致互相无法正常通信的问题,每一层都有每一层的功能



应用层 主要就是为用户服务的,提供了大量人们所普遍需要的协议,httpd、dns等
表示层 完成特定功能,确定传输信息的语法和语义,决定数据以什么形式发送,进行数据的压缩、加密等工作
会话层 允许不同机器上的用户建立会话关系
传输层 负责实现网络中不同主机上用户进程之间的数据通信,决定数据使用tcp协议还是udp协议,传输数据段
网络层 负责将数据从源端到目的端的传输,进行逻辑地址寻址(IP地址),使用路由器等传输工具传输数据包
数据链路层 负责将网络层的数据包装成固定格式的帧,进行硬件地址寻址(MAC地址),使用交换机等传输工具传输数据帧
物理层 负责真正的数据传输,传输数据流,即网卡


20210410122004292.png

(2)TCP/IP五层模型


应用层 主要就是为用户服务的,数据会翻译乘网络世界的语言,即二进制编码,提供了大量人们所普遍需要的协议,httpd、dns等
传输层 负责实现网络中不同主机上用户进程之间的数据通信,决定数据使用tcp协议还是udp协议,TCP为安全的协议,udp为快速的不安全的协议
网络层 负责将数据从源端到目的端的传输,进行逻辑地址寻址(IP地址),使用路由器等传输工具传输数据包
数据链路层 负责将网络层的数据包装成固定格式的帧,进行硬件地址寻址(MAC地址),使用交换机等传输工具传输数据帧
物理层 负责真正的数据传输,传输数据流,即网卡


-数据传输过程


  1. 应用层传输过程: 数据会被翻译成二进制编码数据 (即把字母、汉字、单词、图片、视频、声音等进行转换) ,组成 上层数据
  2. 传输层传输过程: 上层数据会被分割成小的 数据段 ,并在每个分段后封装TCP报文头部 , 这样做得到好处就是一旦数据传输错误,只需重传一小段数据即可 即 上层数据 + TCP头部 = 数据段


**TCP头部: **包含TCP协议或UDP协议,并包含端口号信息,一个程序会有相应的进程对应,因为两台哭客户端之间访问其实是访问端口号


  1. 网络层传输过程: 会在数据段基础上封装上IP 头部 变成 数据包 (IP 头部中关键信息是 IP地址,进行逻辑寻址所必须的) (封装源IP和目标IP)


  1. 数据链路层传输过程: 会在数据包的基础上封装上 MAC头部,变成 数据帧 (MAC 头部中最关键的信息就是MAC 地址;全球唯一,用来进行物理地址寻址)(封装目的mac地址)


  1. 物理层传输过程: 物理层会将所有的二进制信息组成的比特流转换成电信号在网络中传输 (这个二进制信息就是应用层要传输的数据和进过传输层、网络层、数据链路层所封装的头部也就是数据帧)


大致过程为:


上层+TCP=+IP=+MAC=号传输


20210410122025540.png


-数据接收的过程


  1. 物理层收: 将接收到的电信号转换成二进制数据也就是数据帧,传给数据链路层


  1. 数据链路层收: 查看数据帧中的MAC头部中的目标MAC地址是否与自己吻合,如果吻合就会将MAC 头部拆除变成数据包,传给网络层。如果不吻合,直接丢弃数据,


  1. 网络层收: 检查数据包IP头部中的IP 地址是否和自己吻合,如果相同就去除IP头部变成数据段,传给传输层。如果不相同就直接丢弃,


  1. 传输层收:会根据传输层TCP头部去判断该数据应该由哪个协议或程序接收,将分段数据进行重组,去除TCP头部变成上层数据,传给应用层


  1. 应用层收: 将二进制数据进行解码,来将发送方发的原始数据展示出来


大致过程为:


电信MAC=IP=TCP=始数据


20210410122038912.png

(3)OSI七层和TCP/IP五层模型所对应的协议


  • 应用层: httpd(访问网站的前提)、ftp(数据传输的前提)、dns(域名解析上网的前提)等
  • 传输层: tcp协议(可靠安全的进程通信协议)、udp协议(不可靠不安全但是快速的进程通信协议)
  • 网络层: 统称IP协议(网际协议),ARP地址解析协议、ICMP网际控制报文协议、RARP逆地址解析协议、IGMP网际组管理协议
  • 物理层和数据链路层没有任何特定的协议,支持所有标准的专用协议

20210410122056554.png


(4)OSI七层和TCP五层的区别


  • OSI七层其实只是理论上的模型,现实中真正广泛使用的是TCP五层模型
  • OSI七层的会话层、表示层在TCP五层中都划分成了应用层
  • OS模型没有考虑任何一组特定的协议,而TCP/IP模型与TCP/IP协议吻合,并以TCP/IP协议作为传输数据的基础,从而更加贴近真实工作应用环境


二、tcp的三次握手,四次断开


(1)tcp的三次握手


日常中使用主机访问另外一台主机或者服务器其实都是访问对方的端口


-过程

想要建立连接的客户端:PC1

被连接的客户端:PC2

在此之前PC1处于Closed关闭状态,PC2处于Listen监听状态


  1. PC1向PC2发送SYN的请求连接包并进入SYN-SEND发送状态
  2. PC2向PC1发送SYN的请求连接包和ACK肯定包,并进入SYN-RCVD接收状态
  3. PC1向PC2发送ACK的肯定包


之后PC1和PC2都进入了ESTABLISED已连接状态,此时PC1和PC2就可以相互发送数据(DATA)了

20210410121941151.png


-最后


  • PC1和PC2就可以互相发送DATA(数据)了


(2)tcp的四次断开


-过程


想要断开连接的客户端:PC1

被断开的客户端:PC2


PC1向PC2发送FIN的请求断开连接包,并且进入FIN-WAIT-1结束等待状态1


这个时候PC2还有没有发送的数据,所以PC2向PC1发送数据,然后发送ACK的肯定包,并进入CLOSE-WAIT关闭等待状态,PC1这时候会进入FIN-WAIT-2结束等待状态2


当PC2数据发送完之后,回向PC1发送FIN的请求断开连接包


PC1向PC2发送ACK的肯定包


之后PC1进入TIME-WAIT等待时间(30s),PC2进入CLOSE关闭状态


20210410121918363.png



-最后


  • PC1进入CLOSE关闭状态继续等待想要连接的客户端,然后继续循环三次握手和四次断开
  • PC2进入LISTEN状态继续等待下一个请求连接的客户端,然后继续循环三次握手和四次断开
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
15天前
|
负载均衡 网络协议 算法
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
这网络层就像搭积木一样,上层协议都是基于下层协议搭出来的。不管是ping(用了ICMP协议)还是tcp本质上都是基于网络层IP协议的数据包,而到了物理层,都是二进制01串,都走网卡发出去了。 如果网络环境没发生变化,目的地又一样,那按道理说他们走的网络路径应该是一样的,什么情况下会不同呢? 我们就从路由这个话题聊起吧。
47 4
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
|
8天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
8天前
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
8天前
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
|
8天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
8天前
|
XML JSON 网络协议
【网络原理】——拥塞控制,延时/捎带应答,面向字节流,异常情况
拥塞控制,延时应答,捎带应答,面向字节流(粘包问题),异常情况(心跳包)
|
11天前
|
网络协议
TCP报文格式全解析:网络小白变高手的必读指南
本文深入解析TCP报文格式,涵盖源端口、目的端口、序号、确认序号、首部长度、标志字段、窗口大小、检验和、紧急指针及选项字段。每个字段的作用和意义详尽说明,帮助理解TCP协议如何确保可靠的数据传输,是互联网通信的基石。通过学习这些内容,读者可以更好地掌握TCP的工作原理及其在网络中的应用。
|
11天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
57 1
|
15天前
|
监控 安全 BI
什么是零信任模型?如何实施以保证网络安全?
随着数字化转型,网络边界不断变化,组织需采用新的安全方法。零信任基于“永不信任,永远验证”原则,强调无论内外部,任何用户、设备或网络都不可信任。该模型包括微分段、多因素身份验证、单点登录、最小特权原则、持续监控和审核用户活动、监控设备等核心准则,以实现强大的网络安全态势。
|
8天前
|
网络协议 算法 Java
【JavaEE】——初始网络原理
局域网,广域网,局域网连接方式,交换机,集线器,路由器,网络通信,五元组(源IP,源端口,目的IP,目的端口,协议),协议分层,TCP/IP五层网络协议,封装和分用,交换机和路由器的封装和分用

热门文章

最新文章