计算机网络知识点全梳理(一.TCP/IP网络模型)
目录
TCP/IP网络模型概述
应用层
什么是应用层
应用层功能
应用层协议
传输层
什么是传输层
传输层功能
传输层协议
网络层
什么是网络层
网络层功能
网络层协议
数据链路层
什么是数据链路层
数据链路层功能
物理层
物理层的概念和功能
写在前面
本系列文章:
计算机网络知识点全梳理(二.HTTP知识点总结)
计算机网络知识点全梳理(三.TCP知识点总结)
计算机网络知识点全梳理(四.IP知识点总结)
TCP/IP网络模型概述
在同一台设备上,进程间通信可以通过多种机制实现,例如管道、消息队列、共享内存和信号等。当涉及到不同设备上的进程间通信时,就需要依赖网络通信。由于设备种类繁多,为了实现广泛的兼容性,人们制定了一系列通用的网络协议来标准化通信过程。这些协议确保了不同设备间能够有效地进行数据交换和通信。
网络模型是分层的,有五层(应用层、传输层、网络层、数据链路层、物理层),也可分为四层(把数据链路层和物理层合并为网路接口层)。

下面对每一层进行介绍。
应用层
什么是应用层
应用层是TCP/IP网络模型中的最顶层,它位于传输层之上,直接与用户和应用程序交互。应用层的主要目的是为应用程序提供访问网络服务的接口和协议,使得用户可以方便地使用网络资源。
应用层功能
应用层使得用户可以无缝地使用网络应用,而无需了解背后的网络技术细节。
比如说网页浏览:当你使用浏览器访问一个网站时,浏览器会通过HTTP或HTTPS协议与网站的服务器进行通信。应用层在这里负责处理网页请求和响应的格式化,以及确保数据的安全传输。
应用层协议
-
HTTP(超文本传输协议):用于网页浏览。
-
HTTPS(安全超文本传输协议):HTTP的安全版本,使用SSL/TLS加密。
-
FTP(文件传输协议):用于文件的上传和下载。
-
SMTP(简单邮件传输协议):用于发送电子邮件。
-
IMAP(互联网消息访问协议):用于访问和管理电子邮件。
-
DNS(域名系统):将域名转换为IP地址。
传输层
什么是传输层
应用层的数据包会传给传输层,传输层(Transport Layer)是为应用层提供网络支持的。传输层的主要功能是为应用程序提供端到端的通信服务,确保数据的完整性和可靠性。
传输层功能
数据分段:传输层负责将应用层发送的大型数据分割成较小的单元,这些单元在网络层中被称为数据包或分组。
流量控制:传输层通过滑动窗口机制来控制数据的发送速率,防止发送方的数据流量超过接收方的处理能力。
错误检测和纠正:传输层提供错误检测机制,确保数据在传输过程中的完整性。如果检测到错误,传输层可以请求重传损坏的数据包。
拥塞控制:传输层监控网络的拥塞情况,并相应地调整数据传输速率,以避免网络过载。
端口管理:传输层使用端口号来区分同一主机上运行的不同服务,允许多个应用程序同时使用网络。
传输层协议
传输层主要采用两种协议:TCP和UDP。
-
TCP,即传输控制协议(Transmission Control Protocol),是大多数应用的首选,包括HTTP等应用层协议。TCP提供了一系列特性以确保数据传输的可靠性,包括流量控制、超时重传和拥塞控制。
-
UDP(用户数据报协议)则更为简洁,它仅负责数据包的发送,不保证数据的到达,这使得UDP在实时性和传输效率方面具有优势。
网络层
什么是网络层
网络层的主要功能是负责数据包从源到目的地的传输和路由选择。在现实世界的网络环境中,数据传输路径错综复杂,涉及多种线路和节点。网络层的设计宗旨在于高效地处理这些复杂的路由选择,确保数据能够顺利地从源头到达目的地。
网络层功能
路由选择:实际场景中,两台设备并不是用一条网线连接起来的。而是通过很多网关、路由器、交换机等众多网络设备连接起来的,那么就会形成很多条网络的路径,因此当数据包到达⼀个网络节点,就需要通过算法决定下⼀步走哪条路径。
逻辑寻址:网络层使用IP地址来标识网络上的每个设备,确保数据包能够被正确地寻址和传输。
分组转发:网络层将传输层传来的数据分割成较小的单元,称为数据包或分组,并通过网络进行转发。
拥塞控制:虽然拥塞控制主要在传输层实现,但网络层也参与监控网络流量,以避免网络拥塞。
网络层协议
网络层的主要协议是互联网协议(IP),它包括:
-
IPv4:当前最广泛使用的互联网协议版本,使用32位地址,提供大约43亿个地址。
-
IPv6:为了解决IPv4地址耗尽问题而设计的下一代互联网协议,使用128位地址,极大地扩展了地址空间。
数据链路层
什么是数据链路层
数据链路层是TCP/IP网络模型和OSI七层模型中的第二层,它位于物理层之上,网络层之下。这一层的主要任务是为网络层提供可靠的数据传输服务,确保数据帧在相邻节点之间的物理网络中无差错传输。
数据链路层功能
在现实世界的网络环境中,不同的网络(如你家和我家的网络)是相互独立的。数据传输不仅可以在同一个网络内部进行,还可以跨越不同的网络。当数据需要跨越网络时,路由器作为连接不同网络的关键设备,利用其路由表来确定数据包的下一跳IP地址。
路由器如何识别特定IP地址对应的设备呢?这就需要数据链路层的介入。数据链路层负责在网络中的设备间建立链路级别的传输服务。每台设备的网卡都分配有一个唯一的MAC地址,用于标识该设备。路由器在确定了下一跳的IP地址后,会通过地址解析协议(ARP)来查询该IP地址对应的MAC地址,从而确保数据能够准确地传输到目标设备。
简而言之,数据链路层通过MAC地址为网络层提供了必要的链路级别传输服务,使得路由器能够有效地在不同网络间转发数据包。
物理层
物理层的概念和功能
物理层负责网络通信的物理基础,主要是为数据链路层提供⼆进制传输的服务,是网络通信的基石,它确保了数据能够在物理媒介上以电子信号的形式传输,为上层网络提供了必要的物理基础。
相关文章:
计算机网络知识点全梳理(一.TCP/IP网络模型)
目录 TCP/IP网络模型概述 应用层 什么是应用层 应用层功能 应用层协议 传输层 什么是传输层 传输层功能 传输层协议 网络层 什么是网络层 网络层功能 网络层协议 数据链路层 什么是数据链路层 数据链路层功能 物理层 物理层的概念和功能 写在前面 本系列文…...
神州数码DCME-320 online_list.php存在任意文件读取漏洞
免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...
神经网络基础-神经网络搭建和参数计算
文章目录 1.构建神经网络2. 神经网络的优缺点 1.构建神经网络 在 pytorch 中定义深度神经网络其实就是层堆叠的过程,继承自nn.Module,实现两个方法: __init__方法中定义网络中的层结构,主要是全连接层,并进行初始化。…...
Linux入门攻坚——41、Linux集群系统入门-lvs(2)
lvs-dr:GATEWAY Director只负责请求报文,响应报文不经过Director,直接由RS返回给Client。 lvs-dr的报文路线如上图,基本思路就是报文不会回送Director,第①种情况是VIP、DIP、RIP位于同一个网段,这样&…...
音视频入门基础:MPEG2-TS专题(17)——FFmpeg源码中,解析TS program map section的实现
一、引言 由《音视频入门基础:MPEG2-TS专题(16)——PMT简介》可以知道,PMT表(Program map table)由一个或多个段(Transport stream program map section,简称TS program map sectio…...
了解https原理,对称加密/非对称加密原理,浏览器与服务器加密的进化过程,https做了些什么
最开始的加密 浏览器与服务器之间需要防止传输的数据被黑客破解。因此,浏览器在发送数据时会对数据进行加密,并把加密的密钥(或密钥的某些部分)放在数据的某一个区域中。服务器收到数据后,会提取密钥并用它来解密数据…...
山西省第十八届职业院校技能大赛高职组 5G 组网与运维赛项规程
山西省第十八届职业院校技能大赛高职组 5G 组网与运维赛项规程 一、赛项名称 赛项编号:GZ035 赛项名称:5G 组网与运维 赛项组别:高职学生组、教师组 二、竞赛目的 2019 年 6 月 6 日,5G 牌照正式发放,标志着我国全面进…...
tcpdump编译 wireshark远程抓包
https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz tar -zxvf flex-2.6.4.tar.gz ./configure CFLAGS-D_GNU_SOURCE make sudo make installwget http://ftp.gnu.org/gnu/bison/bison-3.2.1.tar.gz ./configure make sudo make install以上两个库是…...
Web开发 -前端部分-CSS
CSS CSS(Cascading Style Sheet):层叠样式表,用于控制页面的样式(表现)。 一 基础知识 1 标题格式 标题格式一: 行内样式 <!DOCTYPE html> <html lang"en"><head><meta…...
用 Python Turtle 绘制流动星空:编程中的璀璨星河
用 Python Turtle 绘制流动星空:编程中的璀璨星河 🐸 前言 🐸🐞往期绘画>>点击进所有绘画🐞🐋 效果图 🐋🐉 代码 🐉 🐸 前言 🐸 夜空中繁星…...
Java从入门到工作2 - IDEA
2.1、项目启动 从git获取到项目代码后,用idea打开。 安装依赖完成Marven/JDK等配置检查数据库配置启动相关服务 安装依赖 如果个别依赖从私服下载不了,可以去maven官网下载补充。 如果run时提示程序包xx不存在,在项目目录右键Marven->Re…...
fastadmin批量压缩下载远程视频文件
后端代码 // 批量下载并压缩 public function downloadAll(){$ids input(ids);$row $this->model->where(id, in, $ids)->field(id,title,video_url)->select();if (!$row) {$this->error(记录不存在);}$arr [];$tempFiles []; // 用来存储临时下载的视频文…...
【保姆级】Mac如何安装+切换Java环境
本文从如何下载不同版本的JDK,到如何丝滑的切换JDK,以及常见坑坑的处理方法,应有尽有,各位看官走过路过不要错过~~~ 下载⏬ 首先上官网: https://www.oracle.com/ 打不开的话可以使用下面👇这个中文的 https://www.oracle.com/cn/java/technologies/downloads/a…...
2024首届世界酒中国菜国际地理标志产品美食文化节成功举办篇章
2024首届世界酒中国菜国际地理标志产品美食文化节成功举办,开启美食文化交流新篇章 近日,首届世界酒中国菜国际地理标志产品美食文化节在中国国际地理标志大厦成功举办,这场为期三天的美食文化盛会吸引了来自世界各地的美食爱好者、行业专家…...
Springboot静态资源
默认位置 静态资源访问目录下的资源可以直接访问,默认的四个位置 classpath:/META-INF/resources/(默认加载,不受自定义配置的影响) classpath:/resources/ classpath:/static/ classpath:/public/ 如果在静态目录下存在favic…...
MTK修改配置更改产品类型ro.build.characteristics
文章目录 需求场景实际问题 参考资料解决方案MTK 修改方案修改点一:build\core\product_config.mk修改点二:build\make\core\main.mk修改是否成功,adb 验证 实战项目中解决案例 需求场景 更改产品设备属性 table-phone-device,使…...
SQL 查询中的动态字段过滤
这段代码是一个 SQL 查询中的动态字段过滤部分,使用了 MyBatis 的 标签和 标签。以下是逐步的解释: <!-- 动态字段过滤 --><if test"parameters ! null and parameters.size() > 0"><foreach collection"parameters&qu…...
数字IC后端零基础入门基础理论(Day1)
数字IC后端设计导入需要用到的input数据如下图所示。 数字后端零基础入门系列 | Innovus零基础LAB学习Day9 Netlist: 设计的Gate level(门级)网表。下图所示为一个计数器设计综合后的门级netlist。 从这个netlist中我们看到这个设计顶层的名字叫counte…...
【LC】240. 搜索二维矩阵 II
题目描述: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1: 输入:matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,…...
Redis应用—4.在库存里的应用
大纲 1.库存模块设计 2.库存缓存分片和渐进式同步方案 3.基于缓存分片的下单库存扣减方案 4.商品库存设置流程与异步落库的实现 6.库存入库时"缓存分片写入 渐进式写入 写入失败进行MQ补偿"的实现 7.库存扣减时"基于库存分片依次扣减 合并扣减 扣不了…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
