网络架构介绍

news2024/10/7 18:25:23

1 网络 7 层架构

7 层模型主要包括:
1. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。
2. 数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。
3. 网络层:主要将从下层接收到的数据进行 IP 地址(例 192.168.0.1)的封装与解封装。在这一层工作的设备是路由器,常把这一层的数据叫做数据包。
4. 传输层:定义了一些传输数据的协议和端口号(WWW 端口 80 等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与 TCP 特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如 QQ 聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段进行传输,到达目的地址后在进行重组。常常把这一层数据叫做段。
5. 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或或者接受会话请求(设备之间需要互相认识可以是 IP 也可以是 MAC 或者是主机名)
6. 表示层:主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够能识别的东西(如图片、声音等))
7. 应用层 主要是一些终端的应用,比如说FTP(各种文件下载),WEB(IE浏览),QQ之类的(你就把它理解成我们在电脑屏幕上可以看到的东西.就 是终端应用)。

 2 TCP/IP 原理

        TCP/IP 协议不是 TCP 和 IP 这两个协议的合称,而是指因特网整个 TCP/IP 协议族。从协议分层模型方面来讲,TCP/IP 由四个层次组成:网络接口层、网络层、传输层、应用层。

 2.1 网络访问层 访问层(Network Access Layer)

        网络访问层(Network Access Layer)在 TCP/IP 参考模型中并没有详细描述,只是指出主机
必须使用某种协议与网络相连。

2.2 网络层(Internet Layer)

        网络层(Internet Layer)是整个体系结构的关键部分,其功能是使主机可以把分组发往任何网
络,并使分组独立地传向目标。这些分组可能经由不同的网络,到达的顺序和发送的顺序也
可能不同。高层如果需要顺序收发,那么就必须自行处理对分组的排序。互联网层使用因特
网协议(IP,Internet Protocol)。

2.3 传输层(Tramsport Layer-TCP/UDP)

        传输层(Tramsport Layer)使源端和目的端机器上的对等实体可以进行会话。在这一层定义了
两个端到端的协议:传输控制协议(TCP,Transmission Control Protocol)和用户数据报协
议(UDP,User Datagram Protocol)。TCP 是面向连接的协议,它提供可靠的报文传输和对
上层应用的连接服务。为此,除了基本的数据传输外,它还有可靠性保证、流量控制、多路
复用、优先权和安全性控制等功能。UDP 是面向无连接的不可靠传输的协议,主要用于不需
要 TCP 的排序和流量控制等功能的应用程序。

2.4应用层(Application Layer)

应用层(Application Layer)包含所有的高层协议,包括:虚拟终端协议(TELNET,
TELecommunications NETwork)、文件传输协议(FTP,File Transfer Protocol)、电子邮件
传输协议(SMTP,Simple Mail Transfer Protocol)、域名服务(DNS,Domain Name Service)、网上新闻传输协议(NNTP,Net News Transfer Protocol)和超文本传送协议
(HTTP,HyperText Transfer Protocol)等。

3 TCP 三次握手/四次挥手

        TCP 在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般称为“四次挥手”。

3.1 数据包说明

1. 源端口号( 16 位):它(连同源主机 IP 地址)标识源主机的一个应用进程。
2. 目的端口号( 16 位):它(连同目的主机 IP 地址)标识目的主机的一个应用进程。这两个值
加上 IP 报头中的源主机 IP 地址和目的主机 IP 地址唯一确定一个 TCP 连接。
3. 顺序号 seq( 32 位):用来标识从 TCP 源端向 TCP 目的端发送的数据字节流,它表示在这个
报文段中的第一个数据字节的顺序号。如果将字节流看作在两个应用程序间的单向流动,则
TCP 用顺序号对每个字节进行计数。序号是 32bit 的无符号数,序号到达 2 的 32 次方 - 1 后
又从 0 开始。当建立一个新的连接时, SYN 标志变 1 ,顺序号字段包含由这个主机选择的该
连接的初始顺序号 ISN ( Initial Sequence Number )。
4. 确认号 ack( 32 位):包含发送确认的一端所期望收到的下一个顺序号。因此,确认序号应当
是上次已成功收到数据字节顺序号加 1 。只有 ACK 标志为 1 时确认序号字段才有效。 TCP 为
应用层提供全双工服务,这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必
须保持每个方向上的传输数据顺序号。
5. TCP 报头长度( 4 位):给出报头中 32bit 字的数目,它实际上指明数据从哪里开始。需要这
个值是因为任选字段的长度是可变的。这个字段占 4bit ,因此 TCP 最多有 60 字节的首部。然
而,没有任选字段,正常的长度是 20 字节。
6. 保留位( 6 位):保留给将来使用,目前必须置为 0 。
7. 控制位( control flags , 6 位):在 TCP 报头中有 6 个标志比特,它们中的多个可同时被设
置为 1 。依次为:
 URG :为 1 表示紧急指针有效,为 0 则忽略紧急指针值。
 ACK :为 1 表示确认号有效,为 0 表示报文中不包含确认信息,忽略确认号字段。
 PSH :为 1 表示是带有 PUSH 标志的数据,指示接收方应该尽快将这个报文段交给应用层
而不用等待缓冲区装满。
 RST :用于复位由于主机崩溃或其他原因而出现错误的连接。它还可以用于拒绝非法的报
文段和拒绝连接请求。一般情况下,如果收到一个 RST 为 1 的报文,那么一定发生了某些
问题。
 SYN :同步序号,为 1 表示连接请求,用于建立连接和使顺序号同步( synchronize )。
 FIN :用于释放连接,为 1 表示发送方已经没有数据发送了,即关闭本方数据流。
8. 窗口大小( 16 位):数据字节数,表示从确认号开始,本报文的源方可以接收的字节数,即源
方接收窗口大小。窗口大小是一个 16bit 字段,因而窗口大小最大为 65535 字节。
9. 校验和( 16 位):此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字
进行计算所得。这是一个强制性的字段,一定是由发送端计算和存储,并由接收端进行验证。
10. 紧急指针( 16 位):只有当 URG 标志置 1 时紧急指针才有效。TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。

11. 选项:最常见的可选字段是最长报文大小,又称为 MSS(Maximum Segment Size) 。每个连
接方通常都在通信的第一个报文段(为建立连接而设置 SYN 标志的那个段)中指明这个选项,
它指明本端所能接收的最大长度的报文段。选项长度不一定是 32 位字的整数倍,所以要加填充
位,使得报头长度成为整字数。
12. 数据: TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报
文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数
据。在处理超时的许多情况中,也会发送不带任何数据的报文段。

 3.2 三次握手

第一次握手:主机 A 发送位码为 syn=1,随机产生 seq number=1234567 的数据包到服务器,主机 B
由 SYN=1 知道,A 要求建立联机;
第二次握手:主机 B 收到请求后要确认联机 信息,向 A 发 送 ack number=( 主机 A 的
seq+1),syn=1,ack=1,随机产生 seq=7654321 的包
第三次握手:主机 A 收到后检查 ack number 是否正确,即第一次发送的 seq number+1,以及位码
ack 是否为 1,若正确,主机 A 会再发送 ack number=(主机 B 的 seq+1),ack=1,主机 B 收到后确认

四次挥手

CP 建立连接要进行三次握手,而断开连接要进行四次。这是由于 TCP 的半关闭造成的。因为 TCP 连
接是全双工的(即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭。这个单
方向的关闭就叫半关闭。当一方完成它的数据发送任务,就发送一个 FIN 来向另一方通告将要终止这个
方向的连接。
1) 关闭客户端到服务器的连接:首先客户端 A 发送一个 FIN,用来关闭客户到服务器的数据传送,
然后等待服务器的确认。其中终止标志位 FIN=1,序列号 seq=u
2) 服务器收到这个 FIN,它发回一个 ACK,确认号 ack 为收到的序号加 1。
3) 关闭服务器到客户端的连接:也是发送一个 FIN 给客户端。
4) 客户段收到 FIN 后,并发回一个 ACK 报文确认,并将确认序号 seq 设置为收到序号加 1。
首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

 主机 A 发送 FIN 后,进入终止等待状态, 服务器 B 收到主机 A 连接释放报文段后,就立即
给主机 A 发送确认,然后服务器 B 就进入 close-wait 状态,此时 TCP 服务器进程就通知高
层应用进程,因而从 A 到 B 的连接就释放了。此时是“半关闭”状态。即 A 不可以发送给
B,但是 B 可以发送给 A。此时,若 B 没有数据报要发送给 A 了,其应用进程就通知 TCP 释
放连接,然后发送给 A 连接释放报文段,并等待确认。A 发送确认后,进入 time-wait,注
意,此时 TCP 连接还没有释放掉,然后经过时间等待计时器设置的 2MSL 后,A 才进入到
close 状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1083134.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

简述电子设计中的EMC、EMI、ESD

简述电子设计中的EMC、EMI、ESD ESD EMI EMC ESD、EMI、EMC 设计是电子工程师在设计中遇到最常见的难题,电磁兼容性(EMC)是指设备或系统在其电磁环境中符合要求运行并不对其环境中的任何设备产生无法忍受的电磁干扰的能力。 因此&#xff0…

【2023年11月第四版教材】第24章《法律法规与标准规范》(合集篇)

第24章《法律法规与标准规范》(合集篇) 1 民法典(合同编)2 招标投标法2.1 关于时间的总结2.2 内容 3 政府采购法4 专利法5 著作权法6 商标法7 网络安全法8 数据安全法 1 民法典(合同编) 1、要约是希望和他人订立合同的…

LLM - 旋转位置编码 RoPE 代码详解

目录 一.引言 二.RoPE 理论 1.RoPE 矩阵形式 2.RoPE 图例形式 3.RoPE 实践分析 三.RoPE 代码分析 1.源码获取 2.源码分析 3.rotary_emb 3.1 __init__ 3.2 forward 4.apply_rotary_pos_emb 4.1 rotate_half 4.2 apply_rotary_pos_emb 四.RoPE 代码实现 1.Q/K/V …

苹果ios开发者ipa文件包内测人数签名真机数量满了应该怎么做?

苹果ios开发者ipa文件包内测人数签名真机数量满了应该怎么做? 有人总是问我开发者的设备满了怎么做才可以让设备增加?或者我要怎么做才能让员工的设备都可以安装,那么首先我们要做到的就是要知道我们的开发者都是拥有多少内测设备&#xff1f…

放大器的输入、输出电压范围的理解

问题电路 由于运放SGM8295不是轨到轨的电路,导致U29.1输出电压只有当输入到一定门限的时候才会有输出。 上图表示输入电压工作范围为如上,在此以外的不能正常工作。 一篇很好的运放的输入/输出文章介绍 https://zhuanlan.zhihu.com/p/351740051?utm_id0…

【Java学习之道】异常的处理方式

引言 今天我们将聚焦于异常处理,这是每一个Java程序员都应该掌握的核心技能之一。通过学习这些内容,你将能够更好地应对程序中的意外情况,提高程序的健壮性和可靠性。 一、异常的处理方式 在Java中,异常处理主要通过使用try-ca…

后厂村路灯在线签名网站,在线签名工具,IPA在线签名

IPA在线签名工具网站,在线实现IPA包签名 案例网站:在线签名 - 后厂村路灯https://sign.vx365.vip/ 用户可以自定义签名网站样式。 用户可以独立部署到自己服务器,使用自己的域名。 用户可以使用自己服务器,加快签名速度&#xf…

YB4618 具有充电前端过电压和过温保护功能,低压差充电前端 OVP 保护开关IC

YB4618 低压差充电前端 OVP 保护开关 概述: YB4618 具有充电前端过电压和过温保护功能。支持 3V 到 40V 的宽输入电压工作范围。过压保护阈值可以外部设置或采用内部默认设置。超快的过压保护响应速度能够确保后级电路的安全。集成了超低导通阻抗的 nFET 开关,确…

Explain执行计划字段解释说明---type字段说明(02)

type显示访问类型详解 (1)system 表只有一行记录(等于系统表),这是const类型的特列,平时不会出现,这个也可以忽略不计。 (2)const 表示通过索引一次就找到了,const用…

提升战斗力!吃鸡行家分享顶级游戏干货,助你轻松拿下绝地求生

作为吃鸡行家,我们都知道,在绝地求生中提高战斗力至关重要。今天我来分享一些独特的干货,帮助你成为顶级的吃鸡玩家,并分享一些方便吃鸡作图、装备皮肤库存展示和查询的技巧。 首先,让我们来谈谈绝地求生作图工具推荐。…

【Java学习之道】异常的概念与分类

引言 异常处理是Java编程中重要的一部分,它可以让我们更好地处理程序中可能出现的错误和异常情况。同时,Java也提供了强大的输入/输出流功能,让我们可以轻松地读取和写入数据。这一章,我们就来探讨这两个话题,让你的J…

HT for Web 风格属性手册教程 | 图扑软件

图扑软件明星产品 HT for Web 是一套纯国产化独立自主研发的 2D 和 3D 图形界面可视化引擎。HT for Web(以下简称 HT)图元的样式由其 Style 属性控制,并且不同类型图元的 Style 属性各不相同。为了方便查询和理解图元的 Style 属性&#xff0…

Docker-compos

Docker-compose 简介 Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service&#…

大模型的超级“外脑”——向量数据库解决大模型的三大挑战

随着AI大模型产品及应用呈现爆发式增长,新的AI时代已经到来。向量数据库可与大语言模型配合使用,解决大模型落地过程中的痛点,已成为企业数据处理和应用大模型的必选项。在近日举行的华为全联接大会2023期间,华为云正式发布GaussDB向量数据库。GaussDB向量数据库基于GaussD…

MySQL数据库——SQL优化(2)-order by 优化、group by 优化

目录 order by 优化 概述 测试 优化原则 group by 优化 测试 优化原则 order by 优化 概述 MySQL的排序,有两种方式: Using filesort : 通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sortbuffer中完成排…

提升吃鸡战斗力,分享顶级作战干货!

大家好!作为一名吃鸡玩家,你是否也希望提高自己的游戏战斗力?在这里,我将为大家分享一些顶级游戏作战干货,以及方便吃鸡作图和查询装备皮肤库存的实用工具。 首先,让我们提到绝地求生作图工具推荐。通过使用…

提升吃鸡战斗力,分享顶级游戏干货,一站式解决你的游戏需求!

大家好!作为一名吃鸡玩家,你是否希望提升自己的游戏战斗力,分享顶级的游戏作战干货,同时方便进行吃鸡作图,查询装备皮肤库存,还能查防止被骗游戏账号黑名单,查询失信人及VAC封禁情况等。今天我将…

【洛谷算法题】P1421-小玉买文具【入门1顺序结构】

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P1421-小玉买文具【入门1顺序结构】🌏题目描述🌏输入格式…

Apache Doris (四十): BACKUP数据备份

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

力扣第530与783题 c++(暴力,加双指针优化) 附迭代版本

题目 530. 二叉搜索树的最小绝对差 783. 二叉搜索树节点最小距离 简单 相关标签 树 深度优先搜索 二叉搜索树 二叉树 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝…