计算机网络知识点全梳理(一.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)是为应用层提供网络支持的。传输层的主要功能是为应用程序提供端到端的通信服务,确保数据的完整性和可靠性。

传输层功能

数据分段:传输层负责将应用层发送的大型数据分割成较小的单元,这些单元在网络层中被称为数据包或分组。

流量控制:传输层通过滑动窗口机制来控制数据的发送速率,防止发送方的数据流量超过接收方的处理能力。

错误检测和纠正:传输层提供错误检测机制,确保数据在传输过程中的完整性。如果检测到错误,传输层可以请求重传损坏的数据包。

拥塞控制:传输层监控网络的拥塞情况,并相应地调整数据传输速率,以避免网络过载。

端口管理:传输层使用端口号来区分同一主机上运行的不同服务,允许多个应用程序同时使用网络。

传输层协议

传输层主要采用两种协议:TCPUDP

  • 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地址为网络层提供了必要的链路级别传输服务,使得路由器能够有效地在不同网络间转发数据包。

物理层 

物理层的概念和功能

物理层负责网络通信的物理基础,主要是为数据链路层提供⼆进制传输的服务,是网络通信的基石,它确保了数据能够在物理媒介上以电子信号的形式传输,为上层网络提供了必要的物理基础。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python爬虫实战】深入解析 Scrapy 管道:数据清洗、验证与存储的实战指南

🌈个人主页:易辰君-CSDN博客 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、了解 Scrapy Shell 二、配置文件 settings.py (一)为什么需要配置文件 &…

PHPstudy中的数据库启动不了

法一 netstat -ano |findstr "3306" 查看占用该端口的进程号 taskkill /f /pid 6720 杀死进程 法二 sc delete mysql

Hu矩原理 | cv2中基于Hu矩计算图像轮廓相似度差异的函数cv2.matchShapes【小白记笔记】

Hu 矩(Hu Moments) 是一种用于描述轮廓形状的 不变特征。它基于图像的矩提取,经过数学变换得到 7 个不变矩,这些不变矩在图像 平移、旋转和缩放等几何变换下保持不变,适合用来衡量轮廓或形状的相似度差异。 1、图像矩…

Ilya Sutskever发表了对AI未来发展的颠覆性看法

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

网络层IP协议(TCP)

IP协议: 在了解IP协议之前,我们市面上看到的"路由器"其实就是工作在网络层。如下图: 那么网络层中的IP协议究竟是如何发送数据包的呢? IP报头: IP协议的报头是比较复杂的,作为程序猿只需要我们重…

【MySQL】InnoDB引擎中的Compact行格式

目录 1、背景2、数据示例3、Compact解释【1】组成【2】头部信息【3】隐藏列【4】数据列 4、总结 1、背景 mysql中数据存储是存储引擎干的事,InnoDB存储引擎以页为单位存储数据,每个页的大小为16KB,平时我们操作数据库都是以行为单位进行增删…

Visual Studio 玩转 IntelliCode AI辅助开发

🎀🎀🎀【AI辅助编程系列】🎀🎀🎀 Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…

【LDAP】LDAP概念和原理介绍

目录 一、前言 二、什么是LDAP? 2.1 什么是目录服务? 2.2 LDAP的介绍 2.3 为什么要使用LDAP 三、LDAP的主要产品线 四、LDAP的基本模型 4.1 目录树概念 4.2 LDAP常用关键字列表 4.3 objectClass介绍 五、JXplorer工具使用 一、前言 对于许多的…

用ue5打开网址链接

需要用到 Launch URL 这个函数 字面意思就是打开填写的链接网页 这里填写的是百度,按下Tab键后就会打开百度的网页

在ESP32使用AT指令集与服务器进行TCP/IP通信时,<link ID> 解释

在ESP32使用AT指令集与服务器进行TCP/IP通信时&#xff0c;<link ID> 是一个非常重要的参数。它用于标识不同的连接实例&#xff0c;特别是在多连接场景下&#xff08;如同时建立多个TCP或UDP连接&#xff09;。每个连接都有唯一的<link ID>&#xff0c;通过这个ID…

前后端跨域问题(CROS)

前端 在src中创建util文件&#xff0c;写request.js文件&#xff1a; request.js代码如下&#xff1a; import axios from axios import { ElMessage } from element-plus;const request axios.create({// baseURL: /api, // 注意&#xff01;&#xff01; 这里是全局统一加…

学习笔记071——Java中的【线程】

文章目录 1、基础2、进程和线程3、什么是多线程4、Java 中线程的使用5、Java 中创建线程的方式5.1、继承 Thread 类5.2、实现 Runnable 接口5.3、继承 Thread 和实现 Runnable 接口的区别5.4、实现 Runnable 接口的优化 6、线程的状态7、线程调度7.1、线程休眠7.2、线程合并7.3…

devops-部署Harbor实现私有Docker镜像仓库

文章目录 概述下载配置安装安装后生成的文件使用和维护Harbor参考资料 概述 Harbor是一个开源注册中心&#xff0c;它使用策略和基于角色的访问控制来保护工件&#xff0c;确保镜像被扫描并且没有漏洞&#xff0c;并将镜像签名为可信的。Harbor是CNCF的一个毕业项目&#xff0…

快速上手Neo4j图关系数据库

参考视频&#xff1a; 【IT老齐589】快速上手Neo4j网状关系图库 1 Neo4j简介 Neo4j是一个图数据库&#xff0c;是知识图谱的基础 在Neo4j中&#xff0c;数据的基本构建块包括&#xff1a; 节点(Nodes)关系(Relationships)属性(Properties)标签(Labels) 1.1 节点(Nodes) 节点…

Polkadot 11 月生态月报:3900万交易量、69%增长率,技术与社区齐头并进

原文&#xff1a;https://x.com/Polkadot/status/1865118662069490074 编译&#xff1a;OneBlock 上个月对 Polkadot 生态来说可谓是跌宕起伏&#xff0c;从创下交易记录到开创性合作&#xff0c;Polkadot 热度不断。展现出强大的技术实力和蓬勃发展的社区活力。在回顾本月亮点…

基坑表面位移沉降倾斜自动化监测 非接触式一体化解决机器视觉

基于变焦视觉位移监测仪的基坑自动化监测新方案是一种集成了光学、机械、电子、边缘计算、AI识别以及云平台软件等技术的自动化系统。该方案利用变焦机器视觉原理&#xff0c;结合特殊波段成像识别技术和无源靶标&#xff0c;实现了非接触式大空间、多断面、多测点的高精度水平…

CSS学习-第三天

css链接 链接样式&#xff0c;可以使用任何css属性 特别的样式&#xff0c;可以有不同的样式 a:link - 正常&#xff0c;未访问过的链接 a:visited - 用户已访问过的链接 a:hover - 当用户鼠标放在链接上时 a:active - 链接被点击的那一刻 a:hover必须跟在a:link和a:visited后…

电脑显示器选购指南2024

选择显示器是五花八门的显示参数&#xff0c;如何选择&#xff0c;以下给出参数说明&#xff0c;及部分参考&#xff1a; 1. 尺寸和分辨率 尺寸&#xff08;英寸&#xff09; 根据使用距离和用途选择合适的屏幕尺寸&#xff1a; 21-24 英寸&#xff1a;适合小桌面空间、日常…

快速掌握C语言——数据结构【创建顺序表】多文件编译

1.数据结构脑图&#xff08;未完&#xff09; 2.顺序表其他操作 3.功能函数封装 4 完整代码 1>头文件test.h #ifndef __TEST_H__ #define __TEST_H__#include<stdlib.h> #include<stdio.h> #include<string.h>//宏定义 线性表的最大容量 #define MAX 3…

Linux 中的 mkdir 命令:深入解析

在 Linux 系统中&#xff0c;mkdir 命令用于创建目录。它是文件系统管理中最基础的命令之一&#xff0c;广泛应用于日常操作和系统管理中。本文将深入探讨 mkdir 命令的功能、使用场景、高级技巧&#xff0c;并结合 GNU Coreutils 的源码进行详细分析。 1. mkdir 命令的基本用法…