【个人笔记】计算机网络五层结构理解

2024-02-12 06:52

本文主要是介绍【个人笔记】计算机网络五层结构理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#纯属个人笔记 作为学习记录用途

#较多个人比较好理解的说法 可能不太准确 若发现错误 欢迎评论区指正 不希望误导小白 详细的概念请以书本的定义为准

目录

正片


传统的五层结构  如下:

  1. 物理层(Physical Layer):

    • 负责传输比特流,通过物理媒介(如电缆、光纤等)传输数据。
    • 定义了电压、电流、物理连接等细节规范,确保数据的可靠传输。
  2. 数据链路层(Data Link Layer):

    • 提供节点之间可靠的数据传输。
    • 将比特组装成帧,并在物理连接中进行错误检测和纠正。
    • 通过MAC地址标识设备,进行链路的访问控制。
  3. 网络层(Network Layer):

    • 负责数据包的路由和转发,跨越多个节点的网络进行通信。
    • 使用IP协议进行数据包寻址和路由选择。
    • 处理不同网络之间的互联,如互联网。
  4. 传输层(Transport Layer):

    • 提供端到端的可靠数据传输服务。
    • 使用TCP和UDP协议,通过端口号标识应用程序。
    • 进行数据的分段、流量控制和错误恢复。
  5. 应用层(Application Layer):

    • 提供特定网络应用的服务和协议。
    • 支持各种应用,如电子邮件、网页浏览、文件传输等。
    • 使用HTTP、FTP、SMTP等协议进行应用层通信。

但我更喜欢倒过来看:

  1. 应用层(Application Layer):

  2. 传输层(Transport Layer):

  3. 网络层(Network Layer):

  4. 数据链路层(Data Link Layer):

  5. 物理层(Physical Layer):


我们把计算机当中的行为具象为人  概念理解起来就很容易懂了  

计算机之间的行为无非就是在做一件事嘛:交流。那就举一个最简单的事情,

正片

咱们假设隔壁老王跟隔壁村那头的小美 看对眼了 希望得到深入交流 正好过几天是情人节 老王就想给人家送个礼物

“老妹 过几天 哥给你整个你稀罕滴”老王漏出他的大金牙龇牙咧嘴的在微信里说道,小美说“好”,于是这里就达成了初步的协议  在这个协议当中 请求是老王发出的,请求内容是他说要给小美送礼物 然后小美的响应是“好” 那么这个初步的交互就完成了---这里就是应用层 

但是 老王得送礼物(传输数据)啊 这事从何办起? 不能打草惊蛇啊 毕竟人小美家里还有老公,这事得办 就得办的漂亮 于是老王来到村口 专门办差事的小吴 他把礼物(数据)交给了小吴,小吴是当地快递站的头头 他专门负责送各种东西(给计算机提供通用的数据传输)  ---这里就是传输层,

至于用一对一实名签收的方式(TCP),还是随便把货往那一丢(UDP)的送货方式,则取决于委托人的想法 给多点钱就办多少事嘛,老王当然希望送到对方手里(安全可靠因为UDP会丢包),于是选择了一对一实名签收(TCP)  --这里就是数据传输服务了  也就是运输层

人家小吴是当地的快递头头 怎么说也是个经理级别 办这点事总不能自己来,他把礼物往手底下的手下来负责依据快递单地址(IP)来决定走哪一条线路(这里的线路可以理解成,途径哪几个周转站点,例如广州-深圳-北京,深圳就是中转站。映射到网络里就是路由器生成转发表,转发表会决定把数据转发到哪个路由器)  ---这里就是网络层

小吴手底下的差人决定了,骑个三轮把礼物送到对方家里去,于是就要有人把礼物从快递站搬到三轮车上 这个过程就是数据链路层

 那么 最后 快递员只需要通过各种各样的物理方式(在网络中就是 各种光纤 宽带之类的),把礼物(数据)送到指定的地点

这篇关于【个人笔记】计算机网络五层结构理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/701943

相关文章

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言