网络知识1-TCP/IP模型

ops/2024/11/28 1:07:28/

从用户端到服务端,tcp/ip模型可分为应用层、传输层、网络层、网络接口层 以下使用寄快递为例进行解释

应用层职责:

只关注与为用户提供应用功能,如HTTP、FTP、telnet、DNS、SMTP等 ,应用层的职责就像我们寄快递时将快递给快递员,不关心他们是如何运输的

传输层职责:

应用层的数据包传给传输层,传输层则是为应用层提供网络支持的。其作为应用间数据传输的媒介,帮助实现应用到应用间的通信,而实际的传输功能在网络层实现。就像我们寄快递时一站到下一站应采用什么交通工具进行运输的确定。

传输层有两个协议:

tcp(传输控制协议\可靠性传输协议)和udp,
tcp和udp的区别:

  1. tcp传输较为可靠,其在传输中会关注数据是否正确传输给对方,且对方是否正常接收到;而udp不会关心我是否发送成功,也不会关心对方是否收到,我就只管发
  2. tcp由于可靠性较强,所以比udp多了很多特征,如:流量控制、超时重传、拥塞控制等等,这些都是为了保证数据包正常的传输
  3. udp相对于tcp而言较为简单,传输效率较高
  4. 但是udp也可以实现可靠性传输,但是其效率就会大大减小,且实现较难

网络层职责:

负责将数据从一个设备传输到另一个设备,常用的有Ip协议,

IP协议的作用:
  1. 从一堆设备中找到要发送到的目的地设备,即寻址
    寻址的过程:
    以10.100.122.0/24为例
    Ip地址分为两种意义,1—网络号,负责标识该IP地址是属于哪个【子网】的;2—主机号,负责标识同一子网下的不同主机。
    首先通过IP识别出子网掩码即 以上ip中的24转化为子网掩码为:255.255.255.0,即前24为1,后8为0:11111111 1111111 11111111 00000000
    10.100.122.0和255.255.255.0进行位于运算-----得到网络
    在这里插入图片描述

先匹配到相同的网络号,再在这个子网中去匹配对应的主机
将 255.255.255.0 取反后与IP地址进行进行按位与运算------得到主机号2
在这里插入图片描述
2. IP的另一个作用:
路由:决定数据包到达某个网点后下一步选择哪个路径进行传输
在这里插入图片描述

IP寻址的作用告诉我们的快递下一站将到达哪里,路由的作用则是根据【下一个目的地】选择路径

网络接口层:

接口网络层负责发送数据,其将网络层的数据报加上MAC头部,MAC包含了发送方和接收方的MAC地址信息,我们可以通过APR协议获得对方的MAC信息。所以说网络接口层为网络层提供 [链路级别] 传输的服务。负责在以太网、wifi这样的底层网络上发送原始数据包,工作在网卡这个层次上,使用MAC地址来标识网络上的设备。

参考链接: 小林coding


http://www.ppmy.cn/ops/137225.html

相关文章

CMake Qt Debug/Release可执行文件增加图标

将logo.ico复制到CMakeLists.txt的同级目录下,然后新建logo.rc文件,里边输入如下代码 IDI_ICON1 ICON DISCARDABLE "logo.ico"CMakeLists.txt修改此处 ADD_EXECUTABLE(${ModuleName} ${KIT_SRCS} ${QRC_SRCS} ${UISrcs} ${MOC_OUTPUT} logo.…

2062:【例1.3】电影票(http://ybt.ssoier.cn:8088/problem_show.php?pid=2062)

时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 已知一位小朋友的电影票价是10元,计算x位小朋友的总票价是多少? 【输入】 输入x。 【输出】 人数和电影票总价,中间用一个空格隔开。 【输入样例】 2 【输出样例】 2 20 提交…

SpringBoot(三十八)SpringBoot-mybatis开启事务

在浏览myBatis相关文档的时候,突然想到一个小问题,到目前为止,好像我还没有使用过事务,这个不太应该。 这里我们刚好来测试一下事务叭。 一:添加pom依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifact…

Kotlin深度面试题:协程、密封类和高阶函数

文章目录 知识回顾前言源码分析1.面试题目1&#xff1a;Kotlin中的协程与线程的区别是什么&#xff1f;如何在Android中使用协程进行异步编程&#xff1f;2.面试题目2&#xff1a;Kotlin中的扩展函数和扩展属性是什么&#xff1f;如何在Android开发中使用它们&#xff1f;3. 面…

以3D数字人AI产品赋能教育培训人才发展,魔珐科技亮相AI+教育创新与人才发展大会

11月20日&#xff0c;北京中关村国际创新中心迎来了“AI教育创新与人才发展大会暨首届北京数字人才发展大会”的盛大启幕。此次大会汇聚了培训、教育、科技、人才领域的专家学者、行业领袖及企业代表&#xff0c;共同探讨人工智能技术在教育培训领域的革新应用与数字人才培养体…

[含文档+PPT+源码等]精品大数据项目-Django基于大数据实现的游戏用户行为分析与个性化推荐系统

一、项目背景 大数据技术的发展&#xff1a; 随着大数据技术的不断发展和普及&#xff0c;越来越多的行业开始利用大数据进行业务分析和决策。大数据具有数据量大、数据类型多样、处理速度快等特点&#xff0c;为数据分析和个性化推荐提供了强大的技术支持。 游戏产业的繁荣&am…

【传知代码】VRT_ 关于视频修复的模型

目录 背景介绍&#xff1a;重要性&#xff1a; VRT的重要性和研究背景VRT的背景&#xff1a;VRT的重要性&#xff1a; 视频修复概述定义与目标与单图像修复的区别对时间信息利用的需求 VRT模型详解整体框架多尺度设计和模块功能关键创新点 实验结果VRT在不同视频修复任务上的表…

培训机构中教务系统的架构设计与实现

## 一、引言 随着信息化时代的发展&#xff0c;高校的管理方式逐渐从传统的人工管理向数字化、自动化、智能化方向转型。教务系统作为高等教育信息化建设中的重要组成部分&#xff0c;承担着学生信息管理、课程管理、排课、成绩评定、学籍管理等多项任务。一个高效、稳定、灵活…