网络基础入门到深入(2):网络协议-TCP/IP协议栈

目录

一.TCP/IP协议栈的四层结构

二.每一层的作用与协议

1.作用层

作用:

常见协议:  

示例:

2.传输层

作用:

核心功能:

3.网络层

作用:

核心功能:

常见协议:

示例:

4.数据链路层(物理层)

作用:

核心功能:

常见技术:

示例:

三.TCP/IP协议栈的分层优势


本章内容将会为各位介绍计算机网络中非常重要的内容-TCP/IP协议栈,我们可以把它理解为一套帮助计算机互相交流的"语言规则"。通过这个规则,全球各地的设备都可以高效、准确的进行通讯。

为了更好的理解,我们从结构功能两方面入手,TCP/IP协议栈采用的是分层架构,分为4层,每一层都有自己的责任,就像团队分工一样、


一.TCP/IP协议栈的四层结构

TCP/IP协议栈从上到下分为以下几层:

1.应用层

2.传输层

3.网络层

4.数据链路层(物理层)

我们逐渐来理解它们的职责和工作机制。


二.每一层的作用与协议

1.作用层

  • 作用:

        直接与用户交互,提供特定的网络服务。例如网络浏览、邮件传输等

  • 常见协议:  

    • HTTP/HTTPS(网页浏览)
    • SMTP(发送邮件)、POP3/IMAP(接受邮件)
    • FTP(文件传输)
  • 示例:

        当我们访问一个网站时,浏览器使用的就是HTTP/HTTPS协议(常见),负责请求网页和展示内容


2.传输层

  • 作用:

         提供端到端的数据传输服务,负责将数据从一个设备的应用层可靠地传输到另一台设备的应用层

  • 核心功能:

    • 数据分段与重组
    • 错误检测与流量控制
  • 常见协议:
    • TCP(传输控制协议): 面向连接,保证数据可靠传输(如视频会议)
    • UDP(用户数据报协议): 面向无连接,速度快,但不保证可靠性(如实时游戏)
  • 示例:

        你发送了一封邮件,传输层责将邮件分成小块(数据包),并确保接收方收到完整的内容


3.网络层

  • 作用:

        负责为数据包选择传输路径,并将数据包从源设备传递到目标设备

  • 核心功能:
    • 地址分配(IP地址)
    • 路由选择
  • 常见协议:
    • IP(互联网协议):标记设备地址,确保数据到达正确设备
    • ICMP(网络诊断工具):如ping命令,用于测试网络连接
  • 示例:

        当你在北京向上海的朋友发消息,网络层会计算数据从北京到上海的最佳路径


4.数据链路层(物理层)

  • 作用:

        负责直接与硬件打交道,处理数据在网络上的传输

  • 核心功能:
    • 数据帧的封装与解封装
    • 确保数据帧可靠传输
  • 常见技术:
    • 以太网(Etherent)
    • Wi-Fi
  • 示例:

        你家的路由器通过Wi-Fi将数据包传输到手机,这就是数据链路层的工作


三.TCP/IP协议栈的分层优势

1.分工明确: 每一层专注完成特定的任务

2.模块化设计: 某一层的实现可以独立更改,不影响其它层

3.易于理解: 复杂问题分层解决,更直观


好了,本篇内容致此以结束,主要是让大家对TCP/IP有初步了解。后续将会更加的拆分讲解

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

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

相关文章

C语言 练习

1.按顺序打印三个数 //按大小顺序打印三个数字 void Swap(int* px, int* py) {int tmp *px;*px *py;*py tmp; } int main() {int a 0;int b 0;int c 0;scanf("%d %d %d", &a, &b, &c);if (a < b){Swap(&a,&b);}if (a < c){Swap(&am…

爱思唯尔word模板

爱思唯尔word模板 有时候并不一定非得latex https://download.csdn.net/download/qq_38998213/90199214 参考文献书签链接

flask后端开发(3):html模板渲染

目录 渲染模板html模板获取路由参数 gitcode地址&#xff1a; https://gitcode.com/qq_43920838/flask_project.git 渲染模板 这样就能够通过html文件来渲染前端&#xff0c;而不是通过return了 html模板获取路由参数

Spring发布-订阅模式:解耦与异步通信的高效实现

文章目录 前言一、发布订阅模式的基本概念二、发布订阅模式的实现1、定义事件2、发布事件3、订阅事件3.1、ApplicationListener接口3.2、EventListener注解3.3、事件源Object source的作用 三、开发应用场景1、社交网络平台2、电商系统3、金融交易系统 总结 前言 Spring框架通过…

配置hive支持中文注释

hive元数据metastore默认的字符集是latin1&#xff0c;所以中文注释会乱码。但是不能将metastore库的字符集更改为utf-8&#xff0c;只能对特定表、特定列修改为utf-8。配置hive支持中文注释&#xff0c;主要在两个方面&#xff1a; 1、在Hive元数据存储的Mysql数据库中&#…

python实战案例笔记:统计出数据中路劲下没有文件的文件夹

数据样例&#xff1a;&#x1f447;有如下excel数据 需求&#xff1a;有如下excel&#xff0c;a.xls&#xff0c;统计出路劲下没有文件的路劲 详细实现代码&#xff1a; import os from openpyxl import Workbook from datetime import datetimedef get_empty_dirs(paths):# …

docker使用国内镜像

可用地址 https://docker.m.daocloud.io https://docker.rainbond.cc https://docker.1ms.run方法1:配置(需要重启docker) sudo vim /etc/docker/daemon.json # 在registry-mirrors中添加地址(没有的就直接创建了) #比如 {"registry-mirrors": ["https://dock…

机械臂的各种标定

文章目录 1. 工具坐标系标定2. 工具手标定3. 手眼标定联系 在工程中&#xff0c;同时使用工具坐标系标定、工具手标定和手眼标定的概念、目的和作用如下&#xff1a; 1. 工具坐标系标定 概念&#xff1a; 工具坐标系标定是指确定工具相对于机器人坐标系的位置和姿态关系的过程…

Oracle Managed Files(OMF)

Oracle Managed Files 是指&#xff1a; 在创建表空间文件等文件时&#xff0c;可以不必指定文件路径&#xff0c;由Oracle自动在某个目录下创建&#xff0c;文件名也是Oracle自动命名。 那这个OMF怎么使能呢&#xff1f; 其实是靠设置一些参数&#xff0c;指定要存储的目录…

GXUOJ-算法-第一次作业(整数划分、汉诺塔、排列问题、数塔问题)

1.整数划分 问题描述 GXUOJ | 整数划分 题解 #include<bits/stdc.h> using namespace std; const int N1010,mod1e97;int n; int f[N];int main(){cin>>n;f[0]1;for(int i1;i<n;i){for(int ji;j<n;j){f[j](f[j]f[j-i])%mod;}}cout<<f[n]; } 2.汉诺塔…

新服务器ubuntu系统相关操作

1、查看驱动:驱动版本535.216.01能够支持cuda12.2,下面直接使用默认安装的cuda。 2、赋予用户管理员权限。 首先有超级用户(root)权限来编辑 /etc/sudoers 文件,visudo 是一个命令,用于安全地编辑 /etc/sudoers 文件。运行: sudo visudo 在 visudo 编辑器中,找到类似…

【Linux命令】su、sudo、sudo su、sudo -i、sudo -l的用法和区别

su 命令 su (Switch User 切换用户)&#xff0c;允许用户切换到另一个用户的身份&#xff0c;默认情况下是切换到 root 用户。 默认行为&#xff1a;如果只运行 su&#xff0c;则系统会要求输入 root 用户的密码来切换到 root 用户&#xff0c;获取管理员权限。 切换到其他用…

docker-开源nocodb,使用已有数据库

使用已有数据库 创建本地数据库 数据库&#xff1a;nocodb 用户&#xff1a;nocodb 密码&#xff1a;xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1&#xff08;适用于 bridge 网络模式&#xff09;version: "2.1" services:nocodb:environment:…

near-synonym反义词生成(2):Prompt +Bert-MLM(FT)

near-synonym之反义词生成方法二 near-synonym, 中文反义词/近义词/同义词(antonym/synonym)工具包. 方法一为(neg_antonym): Word2vec -> ANN -> NLI -> Length 方法二为(mlm_antonym): Prompt Bert-MLM(FT) Beam-Search 项目地址 github: https://github.com/yon…

基于16QAM的载波同步和定时同步性能仿真,采用四倍采样,包括Costas环和gardner环

目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下&#xff08;完整代码运行后无水印&#xff09;&#xff1a; 仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要 载波同步是…

用ttf文件解决python画图乱码和中文方框问题

#将字体放到某个路径下&#xff0c;下载的字体simsun支持中文 font FontProperties(fname“/usr/share/fonts/chinese/simsun.ttc”,size15) 我的字体文件在 “D:\中文字体TTF源文件\中文字体TTF源文件\simhei.ttf” 帮我解决乱码问题 import os import pandas as pd import…

谷云科技数据集成社区焕新登场:功能、资源、会员权益全面升级

12月26日&#xff0c;谷云科技ETLCloud技术社区迎来全新升级。升级后社区的内容更加丰富&#xff0c;满足社区用户更多需要。 功能更细致&#xff0c;查找更方便 社 区 问 答 | 博 客 文 章 | 文 档 中 心 作为社区内容贡献的核心板块&#xff0c;我们对社区问答、博客…

MySql详细教程-从入门到进阶(超实用)

基础篇 通用语法及分类 DDL: 数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库、表、字段&#xff09;DML: 数据操作语言&#xff0c;用来对数据库表中的数据进行增删改DQL: 数据查询语言&#xff0c;用来查询数据库中表的记录DCL: 数据控制语言&#xff0c;用…

20241225在ubuntu20.04.5下监控SSD

20241225在ubuntu20.04.5下监控SSD 2024/12/25 20:29 参考资料&#xff1a; 百度&#xff1a;ubuntu查看ssd寿命 方法 1&#xff1a;使用「磁盘」工具监测 SSD 健康状态 sudo apt install gnome-disk-utility 方法 2&#xff1a;使用 smartctl 工具检查 SSD 健康状态 Ubuntu 和…

node.js之---单线程异步非阻塞 I/O

单线程模型 1、Node.js 使用 单线程 来处理客户端请求和执行任务 2、如果遇到异步任务&#xff0c;node.js使用事件循环和异步 I/O 模型&#xff0c;使得它能够高效地处理大量并发请求 异步操作有哪些 1、读取文件 2、网络请求 3、数据库操作等等 异步非阻塞 I/O Node.…