计算机网络基础知识点【1】

news2024/11/18 1:42:35

文章目录

  • 计算机网络
    • 第一章 计算机网络参考模型
      • 1.计算机网络为什么需要分层?
        • 1.1 分层思想
        • 1.2 分层好处
      • 2.OSI七层模型
        • 2.1 OSI七层模型总结
        • 2.2 OSI七层工作原理
        • 2.3 数据封装与解封装
        • 2.4 计算机网络常用协议
      • 3.TCP/IP参考模型
        • 3.1 什么是TCP/IP协议
        • 3.2 TCP/IP协议族的组成
        • 3.3 OSI模型 vs TCP/IP模型
      • 4.补充知识点
        • 4.1 SCTP流控制协议
        • 4.2 端到端和点到点有何区别?

计算机网络

第一章 计算机网络参考模型

1.计算机网络为什么需要分层?

1.1 分层思想

  • 将复杂的流程分解为几个功能相对单一的子过程

  • 整个流程更加清晰,复杂问题简单化

  • 更容易发现问题并针对性的解决问题

1.2 分层好处

1)各层之间是独立的
某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。

(2)灵活性好
当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响

(3)结构上可分割开
各层都可以采用最合适的技术来实现。

(4)易于实现和维护
这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理。

(5)能促进标准化工作
每一层的功能及其所提供的服务都已有了精确的说明。

2.OSI七层模型

2.1 OSI七层模型总结

OSI七层模型功能总结如下所示:
OSI七层模型功能总结
OSI模型特点如下:

(1)OSI模型每层都有自己的功能集;

(2)层与层之间相互独立又相互依靠;

(3)上层依赖于下层,下层为上层提供服务。

2.2 OSI七层工作原理

OSI七层工作原理
物理层:是参考模型的最低层,为数据端设备提供传输数据的通路,传输数据的单位是“比特流”,主要设备:中继器、集线器等;

数据链路层:在物理层的基础上,建立数据链路连接,将比特流转变为逻辑传输线路,传输的数据单位是“帧”,并具有差错校验和数据传输排序功能,主要设备:交换机等;

网络层:就是管理连接方式和逻辑地址的选择,逻辑地址即IP地址,以数据包的形式传输,主要设备:路由器;

传输层:用协议端口号服务进程,为用户提供可靠的服务端口,并且进行流控,及时将网络进行中断,也可以保证数据不用重复上传,只需上传未成功部分,以数据段的形式传输,主要设备:防火墙;

会话层:在两者服务之前需要提前建立连接,即会话层,并且管理、终止会话;

表示层:定义传递信息的语法和语义,如代码转换、格式变换等,使不同的终端可以表示;

应用层:直接面向用户的程序或者服务。

2.3 数据封装与解封装

数据封装与解封装
假设终端设备PC1发送邮件给终端设备PC2

数据封装过程:首先PC1发送的邮件数据经过应用层封装,此时的数据称为协议数据单元PDU,应用层将封装好的数据传递给传输层进行处理,传输层收到消息后添加UDP报文头或者TCP报文头,指定源端口号和目的端口号,此时的数据称为数据段segment,传输层将封装好的数据传递给网络层处理,网络层收到消息后添加IP报文头,指定源IP地址和目的IP,此时的数据称为数据包Packet,网络层将封装好的数据传递给数据链路层处理,数据链路层收到消息后添加以太网数据帧报文头,指定源MAC地址和目的MAC地址,这时的数据称为数据帧Frame,数据链路层封装好的数据传递给物理层处理,最后帧被转为比特流,通过网络介质传输到PC2。

数据封装过程如下图所示:
数据封装过程

**数据解封装过程:**终端设备PC2收到PC1发送的数据后对报文自底向上逐层进行解封装,PC2通过传输介质收到PC1发到的比特流,首先将比特流转换为数据帧得到源MAC为PC1数据链路层封装的目的MAC地址为PC2的数据帧;由于目的MAC是终端设备PC2自身,因此接收该数据帧并将该数据帧解封装,上传给网络层处理,网络层收到源IP为PC1、目的IP为PC2的数据包;由于目的IP与自身相同,因此接收该数据包,并将IP报文头解封装传递给传输层处理,传输层收到源端口号为PC1、目的端口号为PC2的数据段;由于目的端口是自己,因此接收数据段并将UDP报文或IP报文头解封装,传递给应用层处理,应用层收到数据后解封装就可以得到PC1发来的邮件信息。

数据解封装过程如下图所示:
数据解封装过程
**总结:**封装和解封装的概念可以使用生活中寄快递取快递的事情进行类比,中间的传输介质就是物流公司,寄快递的时候把物品包装起来,取快递的时候需要拆包裹,分别对应的就是数据的封装和解封装过程,源/目的端口号类比寄件人/收件人、源/目的MAC地址类比寄件人地址/收件人地址。

在这里插入图片描述

2.4 计算机网络常用协议

计算机网络常用协议名称及端口号汇总如下所示:
计算机网络常用协议名称及端口号汇总
各层常用协议:

  • 物理层:IEEE 802.3有线局域网、IEEE802.11无线局域网标准

  • 数据链路层点对点协议(Point-to-Point Protocol) PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。

  • 网络层:IP协议:(Internet Protocol,网际协议),而IP协议由以下四个子协议构成;

    ​ (1)ARP(地址解析协议): 根据IP地址获取物理MAC地址
    ​ (2)RARP(逆地址解析协议): 是根据物理MAC地址获取IP地址的协议
    ​ (3)ICMP(网际控制报文协议):ping 网络连通性检测
    ​ (4)IGMP(网际组管理协议):组播协议,该协议运行在主机和组播路由器之间
    ​ 单播:1对1发消息
    ​ 组播:只对一部分人发消息
    ​ 广播:对所有人发消息

  • 传输层:TCP(传输控制协议)是可靠协议,安全性高、速度慢;UDP(用户数据报协议)是不可靠协议,安全性不高,速度快。

  • 应用层:主要包括以下11中协议

    (1)HTTP(超文本传输协议):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,使用TCP的80端口
    (2)HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,使用TCP的443端口
    (3)FTP文件传输协议:FTP(file File Transfer Protocol)提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,使用TCP的21端口

    (4)SMTP简单邮件传输协议:一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,使用TCP的25端口
    (5)POP3邮局协议版本3:用于邮件的接收,使用TCP的110端口
    (6)telnet远程登陆协议:一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作,使用TCP的23端口
    (7)ssh安全的远程登陆协议,使用TCP的22端口

    (8)TFTP简单文件传输协议:是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别,使用UDP的69端口
    (9)SNMP简单网络管理协议:是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,使用UDP的161端口

    (10)DNS 域名解析系统:将域名和IP地址相互映射,使用TCP和UDP的53端口
    (11)DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,分配ip地址,使用UDP的67和68端口
    各层网络常用协议

    3.TCP/IP参考模型

    3.1 什么是TCP/IP协议

    TCP/IP(传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

    3.2 TCP/IP协议族的组成

TCP/IP协议族的组成

3.3 OSI模型 vs TCP/IP模型

OSI参考模型 与TCP/IP模型的区别如下所示:

相同点:

(1)OSI 参考模型与 TCP/IP 参考模型都采用了层次结构。
(2) 都能够提供面向连接和无连接两种通信服务机制。

不同点:

(1)OSI采用七层模型; TCP/IP 是四层或五层结构。
(2)TCP/IP 参考模型没有对网络接口层进行细分,只是一些概念性的描述; OSI 参考模型对服务和协议做了明确的区分。
(3)OSI 参考模型虽然网络划分为七层,但实现起来较困难。TCP/IP 参考模型作为一种简化的分层结构是可以的。
(4)TCP/IP 协议去掉表示层和会话层的原因在于会话层、表示层、应用层都是在应用程序内部实现的,最终产出的是一个应用数据包,而应用程序之间是几乎无法实现代码抽象共享的,这也就造成 OSI 设想中的应用程序维度的分层是无法实现的。
OSI模型 vs TCP/IP模型

4.补充知识点

4.1 SCTP流控制协议

	SCTP(Stream Control Transmission Protocol)流控制传输协议,是对TCP和UDP协议的提升,既提供了UDP协议不可靠的消息传输方式,同时又具有TCP协议的可靠性、顺序传输和拥塞控制功能,并且还提供了多宿主和冗余路径的功能,从而提高弹性和可靠性。TCP和UDP最大的不同是TCP是可靠的,TCP提供了通过 Internet 可靠地传输数据的方法。但是TCP为了保证可靠的数据传输,对传输做了一些限制,如严格要求数据传输的顺序,需要额外为数据流添加标记、优化并合并数据包,容易收到DOS攻击。

SCTP的两大特点:
(1)面向消息的Message-based
(2)传输系列消息
如何理解TCP和SCTP包的不同?
当客户端以TCP协议向服务器端发送多条消息时,为了提升传输效率,TCP会将这些不同作用小的数据放到同一个TCP包中。在服务器端接收的过程中也是一次收取这个TCP包中的所有数据,然后由应用程序本身来进行TCP包中底层数据的拆分。
对于SCTP包来说,一个SCTP包中可以包含多个data chunks,不同的data chunks可以包含不同用户的不同消息,因为SCTP包已经对不同的消息进行了区分,所以对于服务器端的读取来说就相对容易很多。

4.2 端到端和点到点有何区别?

  • 网络层及以下的通信为点对点通信,主要解决主机到主机的通信问题。
  • 传输层的通信为端到端通信,为应用层实体(进程)提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。

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

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

相关文章

扬帆优配|引活水 增活力 促转型 创业板助力实体经济高质量发展

立异就是生产力,企业赖之以强,国家赖之以盛。全面注册制变革持续开释立异生机。日前,创业板公司已开端连续公布2022年度年度报告和2023年第一季度成绩预告,从频频传来的“喜报”中可窥见立异驱动开展战略下新兴工业的强劲开展态势…

jvm之堆上的GC和分代思想解读

堆上的GC JVM在进行GC时,并非每次都对上面三个内存区域一起回收的,大部分时候回收的都是指新生代。 性能调优主要就是减少GC,GC线程执行引发STW会让用户线程停止,阻碍了用户线程的执行,并且majorGC和fullGC阻碍的时间…

内卷把同事逼成了“扫地僧”,把Git上所有面试题整理成足足24W字Java八股文

互联网大厂更多的是看重学历还是技术?毫无疑问,是技术,技术水平相近的情况下,肯定学历高/好的会优先一点,这点大家肯定都理解。说实话,学弟学妹们找工作难,作为面试官招人也难呀!&am…

TypeScript深度剖析:Vue项目中应用TypeScript?

一、前言 与link类似 在VUE项目中应用typescript,我们需要引入一个库vue-property-decorator, 其是基于vue-class-component库而来,这个库vue官方推出的一个支持使用class方式来开发vue单文件组件的库 主要的功能如下: metho…

【刷题笔记】之滑动窗口(长度最小的子数组、水果成篮、最小的覆盖子串)

滑动窗口模板//滑动窗口模板&#xff1a;注意使用滑动窗口方法&#xff0c;使用一个 for(while) 循环中的变量是用来控制终止位置的//最小滑窗&#xff1a;给定数组 nums&#xff0c;定义滑动窗口的左右边界 i、j&#xff0c;求满足某个条件的滑窗的最小长度 for(j 0; j < …

华为OD机试题,用 Java 解【寻找身高相近的小朋友】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…

SpringMVC源码:视图解析器

参考资料&#xff1a; 《SpringMVC源码解析系列》 《SpringMVC源码分析》 《Spring MVC源码》 写在开头&#xff1a;本文为个人学习笔记&#xff0c;内容比较随意&#xff0c;夹杂个人理解&#xff0c;如有错误&#xff0c;欢迎指正。 前文&#xff1a; 《SpringMVC源码&a…

APP线上产品的日志埋点方案

运营运维系列文章 APP线上产品的日志埋点方案 APP日志埋点前言什么是埋点&#xff1f;埋点方案设计事件模型埋点事件上报日志存储平台1. 亚马逊云S32. Kibana博客创建时间&#xff1a;2023.03.08 博客更新时间&#xff1a;2023.03.09 以Android studio build7.0.0&#xff0c…

git stash 暂存减少分支误操作的神器

背景 有时不小心在master或者develop分支上开发了代码&#xff0c;正要提交时才发现自己选错分支了&#xff0c;以前的笨方法是把要提交的代码&#xff0c;一个个记录下来&#xff0c;都保存另外一个文件中去&#xff0c;然后再切换到特性分支中&#xff0c;一个个覆盖到具体的…

问到ThreadLocal,看这一篇就够了|金三银四系列

ThreadLocal 原理和常见问题详解&#xff0c;用来复习准没错&#xff01;点击上方“后端开发技术”&#xff0c;选择“设为星标” &#xff0c;优质资源及时送达ThreadLocal 是什么&#xff1f;ThreadLocal 是线程本地变量。当使用 ThreadLocal 维护变量时&#xff0c;ThreadLo…

高效学 C++|组合类的构造函数

设计好MyString类后&#xff0c;就可以像使用普通类型一样使用它了。例如&#xff0c;类的对象可以像普通的变量一样作为另一个类的数据成员。【例1】 MyString类的对象作为CStudent类的数据成员。1. //MyString类的定义省略 2. //注意&#xff1a;保留其构造函数、析构函数、…

LeetCode——2379. 得到 K 个黑块的最少涂色次数

一、题目 给你一个长度为 n 下标从 0 开始的字符串 blocks &#xff0c;blocks[i] 要么是 ‘W’ 要么是 ‘B’ &#xff0c;表示第 i 块的颜色。字符 ‘W’ 和 ‘B’ 分别表示白色和黑色。 给你一个整数 k &#xff0c;表示想要 连续 黑色块的数目。 每一次操作中&#xff0…

Java 中的拆箱和装箱

在 Java 中&#xff0c;每个基本数据类型都对应了一个包装类型&#xff0c;比如&#xff1a;int 的包装类型是 Integer&#xff0c;double 的包装类型是 Double…那么&#xff0c;基本数据类型和包装类型有什么区别呢&#xff1f; 大概有以下几点区别&#xff1a; 成员变量的…

详解Vue安装与配置(2023)

文章目录一、官网下载node.js二、安装Node.js三、环境配置四、idea导入vue项目五、IDEA添加Vue.js插件一、官网下载node.js Vue是前端开发框架。搭建框架&#xff0c;首先要搭建环境。搭建Vue的环境工具&#xff1a;node.js&#xff08;JavaScript的运行环境&#xff09;&…

【最重要的 G 代码命令列表】

【最重要的 G 代码命令列表】1. 什么是G代码&#xff1f;2. 如何阅读G代码命令&#xff1f;3. 最重要/最常见的 G 代码命令3.1 G00 – 快速定位3.2 G01 – 线性插值3.3 G02 – 顺时针圆形插值3.4 G00、G01、G02 示例 – 手动 G 代码编程3.4 G03 – 逆时针圆形插补3.5 G20/ G21 …

【Unity游戏破解】外挂原理分析

文章目录认识unity打包目录结构游戏逆向流程Unity游戏攻击面可被攻击原因mono的打包建议方案锁血飞天无限金币攻击力翻倍以上统称内存挂透视自瞄压枪瞬移内购破解Unity游戏防御开发时注意数据安全接入第三方反作弊系统外挂检测思路狠人自爆实战查看目录结构用il2cpp dumper例子…

yolov5双目检测车辆识别(2023年+单目+双目+python源码+毕业设计)

行人识别yolov5和v7对比yolo车距源码:yolov5双目检测车辆识别(2023年单目双目python源码毕业设计)上盒岛APP&#xff0c;开线上盲盒商店http://www.hedaoapp.com/yunPC/goodsDetails?pid4132 为了提高传统遗传算法(genetic algorithm, GA)IGA优化BP网络迭代时间过长以及精度偏…

ArrayList与LinkedList的区别 以及 链表理解

list接口中ArrayList、LinkedList都不是线程安全&#xff0c;Vector是线程安全 1、数据结构不同 ArrayList是Array(动态数组)的数据结构&#xff0c;LinkedList是Link(链表)双向链表的数据结构。 2、空间灵活性 ArrayList最好指定初始容量 LinkedList是比ArrayList灵活的&a…

Noah-MP陆面过程模型建模

【方式】&#xff1a;直播永久回放长期答疑群辅助全套资料【目标】&#xff1a;了解陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用&#xff1b;熟悉模型的发展历程&#xff0c;常见模型及各自特点&#xff1b;理解Noah-MP模型的原理&#xff0c;掌握Noah-MP…

用Python优雅地求解阿基米德分牛问题

文章目录题目大意sympy求解结果题目大意 问 太阳神有一牛群&#xff0c;由白、黑、花、棕四种颜色的公、母牛组成&#xff0c;其间关系如下&#xff0c;求每种牛的个数。 公牛中&#xff0c;白牛多于棕牛&#xff0c;二者之差为黑牛的1213\frac{1}{2}\frac{1}{3}21​31​&…