首页 > 其他分享 >网络的四层五层七层网络

网络的四层五层七层网络

时间:2024-07-12 16:56:32浏览次数:8  
标签:协议 七层 网络 四层 传输层 接收 数据 应用层 数据包

Markdown Example

聊聊网络协议

参考:https://zhuanlan.zhihu.com/p/665914921
参考:https://blog.csdn.net/weixin_43988680/article/details/123754721

网络的七层协议概念

1、物理层:这一层的数据叫做比特-将数据传递给访问对象
解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。
它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。
它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。
。

2、数据链路层:(访问)这一层的数据叫做帧-添加通讯对象(google)的mac地址
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。
该层的主要功能就是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;
同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。
。

3、网络层:(访问)IP协议-添加访问服务器的IP地址(google)
计算机网络中如果有多台计算机,怎么找到要发的那台?如果中间有多个节点,怎么选择路径?这就是路由要做的事。
该层的主要任务就是:通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。
这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。

4、传输层:(访问)确定访问对象(如google)所使用的传输协议(tcp、udp等协议)、通讯端口
当发送大量数据时,很可能会出现丢包的情况,另一台电脑要告诉是否完整接收到全部的包。如果缺了,就告诉丢了哪些包,然后再发一次,直至全部接收为止。
简单来说,传输层的主要功能就是:监控数据传输服务的质量,保证报文的正确传输。

5、会话层:建立维护与应用程序之间的当前会话(socket)
虽然已经可以实现给正确的计算机,发送正确的封装过后的信息了。
但我们总不可能每次都要调用传输层协议去打包,然后再调用IP协议去找路由,所以我们要建立一个自动收发包,自动寻址的功能。
于是会话层出现了:它的作用就是建立和管理应用程序之间的通信。

6、表示层:(访问请求)将访问的数据传输转换加密(SSL/TLS)-将应用层的数据接收翻译成机器语言-发送到会话层
表示层负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式。

7、应用层:(返回)将数据展示给用户-(访问)用户访问的数据-通过http协议发送到表示层
-- (http、https-http+ssl、ftp-文件传输协议、POP3-邮局协议、SMTP-邮箱、telnet-远程终端协议)
应用层是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。
前端同学对应用层肯定是最熟悉的。

模型参考图
图一
图二

四层协议

应用层(http+ssl/tls+socket)
传输层(tcp/udp)
网络层(ip)
网络接口层(mac地址)
参考图

数据通讯流程

发包流程

应用层数据:首先,应用程序生成需要发送的数据。这可以是HTTP请求、电子邮件、文件传输等。
套接字发送:应用程序使用套接字接口将数据发送到传输层协议,例如TCP或UDP。套接字负责将数据封装为数据包,并提供接口供应用程序发送。
传输层处理:传输层协议(例如TCP或UDP)在这里负责将应用层数据分割成适当的数据包,添加首部信息,然后将它们传递给网络层。
网络层处理:网络层协议(通常是IP协议)接受传输层的数据包,并根据目标IP地址进行路由选择。它添加IP首部信息,然后将数据包传递给链路层。
链路层处理:链路层负责将数据包封装为帧,并发送到物理网络介质,如以太网、Wi-Fi等。这一层还可以进行MAC地址解析和ARP操作,以确定目标主机的物理地址。
物理层传输:数据包通过物理层发送到网络中,经过各种中间设备,例如交换机、路由器等,最终到达目标主机。

收包流程

物理层接收:在目标主机上,物理层接收到数据包,然后将其传递到链路层。
链路层处理:链路层接收到数据包后,进行物理层解封装,然后将数据包传递给网络层。
网络层处理:网络层接收到数据包后,解析IP首部,检查目标IP地址,然后将数据包传递给传输层。
传输层处理:传输层接收到数据包,解析传输层首部,将数据包分发给相应的套接字,完成数据包的重新组装。
套接字接收:应用程序通过套接字接口接收数据包,并将其传递给应用层进行处理。
应用层处理:应用层接收到数据包后,进行数据解析和处理,以完成通信过程。

数据的封装

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。
其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图所示:

数据的传输

标签:协议,七层,网络,四层,传输层,接收,数据,应用层,数据包
From: https://www.cnblogs.com/littlecc/p/18298862

相关文章

  • 嵌入式linux使用usb接口,共享windows网络
    【RNDIS】嵌入式linux使用usb接口,共享windows网络内核配置CONFIG_USB_GADGETFS=mCONFIG_USB_ETH=mCONFIG_USB_ETH_RNDIS=yusb接口工作在device模式,我理解使用otg或者device模式都可以。数据流以太网<----->windows/linux网卡<----->usb接口<----->嵌入式Linux系统......
  • 网络安全工程师入门,看这一篇就够了!
    前言众所周知,为了能够有效地应对黑客袭击,保障网络安全,国家大大加强了对网安方面人才建设的培养。网络安全相关岗位的薪酬非常高,相关证书的补贴也很多,因此学习网络安全、转行网络安全的人可谓是“蜂拥而至”。网络安全不缺人,但缺人才。很多对网络安全感兴趣的朋友,总是在寻......
  • [网络面试经验贴]
    1、3-5分钟自我介绍。2、没细问项目?直接八股3、tcp的可靠性实现(一溜烟把rdt、流量控制、拥塞控制全答上去了)4、介绍一下线程通信(synchronized、volatile、wait()/notify()这个不记得、管道输入/输出流、join也不记得、threadlocal)5、介绍一下java并发里的锁(我从乐观锁和悲观......
  • 【AI前沿】深度学习基础:循环神经网络(RNN)
    文章目录......
  • 【AI前沿】深度学习基础:卷积神经网络(CNN)
    文章目录......
  • 《代理选择与反爬虫策略探究:如何优化网络爬虫效率与稳定性》
    代理IP如何选以及常见反爬策略为什么需要代理?因为有的网站会封IP,用户如果没有登录,那IP就是身份标识,如果网站发现用户行为异常就非常可能封IP什么是代理IP就是让一个人帮你转交请求,帮你转交的人对面不熟,也就难以发现频繁请求的是你但是要注意我们只能使用高匿代理,透明代理(转交......
  • 计算机网络——子网划分 笔记
    题型定长给出主机先确定主机位比如说主机数50台,则主机位26-2,主机位为6位,32-6=网络位26位。要求:2()-2>确定的主机数子网划分192.168.18.0/24:192.168.18.00/000001、192.168.18.01/000001、192.168.18.10/000001、192.168.18.11/000001网络地址为192.168.18.0,子......
  • P1262 间谍网络 题解
    题目描述给你一个有向图,可以付出代价获取一些指定的点。在获取之后要求能以获取的点为出发点,将整个图都访问到,求最小的代价。思路既然需要令总的代价最少,那么如果通过买一个点就可以访问到的所有点,自然会比买两个点的方案更优。于是自然的就可以联想到可以将图划分成很多个强......
  • 深度学习:实现和训练VGG网络
    目录1.引言        2.环境设置和数据加载3.定义VGG块4.定义VGG网络5.打印网络层的输出形状6.训练VGG-117.VGG-19网络8.学习率和动量设置9.文献中的相关补充10.VGG-11和VGG-19的对比11.总结1.引言        在本学习笔记中,我们将讨论......
  • 网络流-最大流
    定义给定一个网络,最大流就是求出在这个网络的所有流中流量最大的流。Frod-Fulkerson增广路如果一个路径满足以下要求,那么它就是一个增广路:其起点与终点分别是源点\(S\)和汇点\(T\)。对于这个路径中所有边\(x\toy\)的流量剩余容量\(C_{x\toy}-f(x\toy)\ne0\)。......