网络知识1-TCP/IP模型

从用户端到服务端,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.mzph.cn/web/61021.shtml

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

相关文章

机器学习(二十五):决策树算法以及决策树和神经网络的对比

一、决策树集合 单一决策树会对训练数据的变化很敏感。例子:输入十个数据,判断是否是猫。只替换其中一个数据,信息增益最高的分裂特征就发生了改变,决策树就发生了变化。 使用决策树集合可以使算法更加健壮。例子:使用…

通俗理解人工智能、机器学习和深度学习的关系

最近几年人工智能成为极其热门的概念和话题,可以说彻底出圈了。但人工智能的概念在1955年就提出来了,可以说非常古老。我在上小学的时候《科学》课本上就有人工智能的概念介绍,至今还有印象,但那些年AI正处于“寒冬”,…

CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标

注:本文为 “CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标” 几篇相关文章合辑。 文章中部分超链接、图片异常受引用之前的原文所限。 相机自动对焦原理 TriumphRay 于 2020-01-16 18:59:41 发布 凸透镜成像原理 这一部分大家中学应该就学过…

ms-hot29 解码方法

leetcode原题链接: 解码方法 ms-hot目录: ​​​​​​ ms-hot目录 上一篇:ms-hot28 合并两个有序数组 下一篇:二叉树的中序遍历 题目描述 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : "1" -> A "2"…

Qt中QSpinBox valueChanged 信号触发两次

Qt中QSpinBox valueChanged 信号触发两次 如果使用鼠标调整,这个信号则会被触发两次如果使用键盘输入,则会触发一次 connect(ui->spinBox_rows, SIGNAL(valueChanged(int)), this, SLOT(test()));https://blog.csdn.net/dododododoooo/article/deta…

c++的虚继承说明、案例、代码

虚继承的基本概念 在 C 中,虚继承主要用于解决多继承时可能出现的菱形继承问题。菱形继承是指一个类有两个(或更多)子类,而这两个子类又同时继承自一个共同的基类,当这些子类又被另一个类继承时,就形成了菱…

Mysql误删表中数据与误删表的恢复方法

查看数据库是否开启binlog日志 mysql> show variables like %log_bin%; ------------------------------------------------------------------------ | Variable_name | Value | ------------------------------------…

ZYNQ试用于哪些场景

ZYNQ系列SoC(System on Chip)由于其独特的处理器与FPGA(可编程逻辑)集成设计,非常适合应用于多种需要高性能、灵活性和低功耗的场景。 以下是一些ZYNQ特别适用的场景: 嵌入式系统:ZYNQ的ARM处理…

文件上传upload-labs-docker通关

(图片加载不出,说明被和谐了) 项目一: sqlsec/ggctf-upload - Docker Image | Docker Hub 学习过程中,可以对照源码进行白盒分析. 补充:环境搭建在Linux虚拟机上的同时,以另一台Windows虚拟机进行测试最…

Linux的介绍及虚拟机centOS系统的下载与应用

1、什么是Linux Linux 是一种类 Unix 操作系统,它的内核(Kernel)由 Linus Torvalds 于 1991 年首次发布。作为一个开源、免费的操作系统,Linux 被广泛用于服务器、桌面计算机、嵌入式设备、移动设备等各种场景。 1、操作系统 操…

如何在 Ubuntu 22.04 上安装 Metabase 数据可视化分析工具

简介 Metabase 提供了一个简单易用的界面,让你能够轻松地对数据进行探索和分析。通过本文的指导,你将能够在 Ubuntu 22.04 系统上安装并配置 Metabase,并通过 Nginx 进行反向代理以提高安全性。本教程假设你已经拥有了一个非 root 用户&…

spring +fastjson 的 rce

前言 众所周知&#xff0c;spring 下是不可以上传 jsp 的木马来 rce 的&#xff0c;一般都是控制加载 class 或者 jar 包来 rce 的&#xff0c;我们的 fastjson 的高版本正好可以完成这些&#xff0c;这里来简单分析一手 环境搭建 <dependency><groupId>org.spr…

js 高亮文本中包含的关键词标红

在开发中&#xff0c;遇到需要将文本中包含的关键字高亮的情况&#xff0c;可以做以下处理。 <div class"title"v-html"highlightKeywords(item.title, state1.tags1.concat(state2.tags2).concat(state3.tags3))"> </div> ...... ...... con…

如何使用MySQL实现多租户架构:设计与实现全解析

项目背景 在现代SaaS&#xff08;软件即服务&#xff09;应用中&#xff0c;多租户架构是一种常见的设计模式。多租户架构能够让多个客户&#xff08;租户&#xff09;共享同一个应用实例和数据库资源&#xff0c;而不会相互干扰。在实际的业务场景中&#xff0c;采用多租户架…

Modern Effecive C++ 条款十九:对于共享资源使用std::shared_ptr

自动管理资源的语言&#xff08;Java&#xff0c;python&#xff09;通常内置垃圾回收机制&#xff0c;能够自动识别不再使用的对象并释放它们占用的资源。垃圾回收器负责清理未被引用的对象&#xff0c;所以使用这类语言的程序员不需要手动管理每个对象的生命周期&#xff0c;…

软件测试|测试环境如何配置

前言 在软件开发生命周期中&#xff0c;软件测试是确保软件质量的关键环节。而搭建一个稳定、可靠的测试环境则是软件测试成功的基石。本文将详细阐述软件测试工程师如何搭建测试环境&#xff0c;并强调在搭建过程中需要注意的细节。 01测试环境搭建步骤 1)需求分析 在开始搭…

从迭代器到生成器:小内存也能处理大数据

有的对象可以用for循环比如字符串和列表,有的对象不可以比如整数 my_str 123 for s in my_str;print(s)my_lst [1,2,3] for i in my_lst:print(i)my_int 123 for n in my_int:print(n) # 报错python中能够使用for循环迭代的对象叫可迭代对象也叫iterables iterables包含__i…

第29天:安全开发-JS应用DOM树加密编码库断点调试逆向分析元素属性操作

时间轴&#xff1a; 演示案例&#xff1a; JS 原生开发-DOM 树-用户交互 DOM&#xff1a;文档操作对象 浏览器提供的一套专门用来操作网页代码内容的功能&#xff0c;实现自主或用户交互动作反馈 安全问题&#xff1a;本身的前端代码通过 DOM 技术实现代码的更新修改&#xff…

“蜀道山”高校联合公益赛 Web (部分)

文章目录 奶龙牌WAF海关警察训练平台恶意代码检测器 奶龙牌WAF <?php if ($_SERVER[REQUEST_METHOD] POST && isset($_FILES[upload_file])) {$file $_FILES[upload_file];if ($file[error] UPLOAD_ERR_OK) {$name isset($_GET[name]) ? $_GET[name] : basen…

C# 字节流 与 StreamReader 读取 Json 格式文件内容并处理的函数

读取并处理Json格式数据文件的两种读取方法&#xff1a; 方法一&#xff1a;以字节流的方式读取并处理 public static bool WriteByToken(string fileName, string token, string val, Encoding coder) {if (!File.Exists(fileName))return false;//string jsonText File.Re…