码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 计算机网络总结


    计算机网络总结

    • 一、七层和五层模型
    • 二、为什么网络要分层
    • 三、数据包封装和分用
    • 四、IP地址和MAC地址
    • 五、应用层
      • HTTP、HTTPS
      • DNS域名解析
      • 正向代理与反向代理
    • 六、传输层
      • TCP、UDP
    • 七、网络层
      • IP协议
      • ICMP协议
    • 七、数据链路层
      • ARP协议
      • MTU
    • 八、浏览器输入URL发生了什么

    一、七层和五层模型

    OSI 七层模型 是国际标准化组织提出的一个网络分层模型
    在这里插入图片描述
    OSI 的七层体系结构概念清楚,理论也很完整,但是它比较复杂而且不实用,而且有些功能在多个层中重复出现

    TCP/IP五层(四层)模型是目前被广泛采用的一种模型,我们可以将 TCP / IP 模型看作是 OSI 七层模型的精简版本

    应用层: 负责应用程序间沟通。如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层

    传输层: 负责两台主机之间的数据传输。如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机。

    网络层: 负责地址管理和路由选择。例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层。

    数据链路层: 负责设备之间的数据帧的传送和识别。 交换机(Switch)工作在数据链路层。

    物理层: 负责光/电信号的传递方式。比如现在以太网通用的网线,集线器(Hub)工作在物理层。

    二、为什么网络要分层

    1. 各层之间相互独立:
      各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了
    2. 提高了整体灵活性 :
      每一层都可以使用最适合的技术来实现,只需要保证提供的功能以及接口的使用规则没有改变。符合高内聚、低耦合的原则。
    3. 大问题化小 :
      分层可以将复杂的网络问题分解为许多小的、界限清晰的问题来解决。这样使得复杂的计算机网络系统变得易于设计和实现。

    三、数据包封装和分用

    不同的协议层对数据包有不同的叫法
    传输层叫做数据段
    网络层叫做数据报
    链路层叫做数据帧

    应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装。
    首部信息中包含了首部有多长, 有效载荷有多长, 上层协议是什么等信息。
    在这里插入图片描述

    数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理,这个过程叫做解包和分用

    四、IP地址和MAC地址

    IP地址:
    IP协议有两个版本, IPv4和IPv6
    IP地址用来标识网络中不同主机的地址。对于IPv4来说, IP地址是一个4字节, 32位的整数。
    我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ,用点分割的每一个数字表示一个字节, 每个数范围是 0 - 255。

    MAC地址:

    MAC地址用来识别数据链路层中相连的节点。长度为48位, 6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
    在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可
    能会冲突; 也有些网卡支持用户配置mac地址)

    IP地址和MAC地址的区别:

    1、MAC地址应用在数据链路层,IP地址应用于网络层。网络层协议使数据可以从一个网络传递到另一个网络上

    2、分配依据不同。MAC地址的分配是基于制造商。MAC地址由网络设备制造商生产时写在硬件内部是不可变的。IP地址的分配是基于网络拓扑,由网络地址和主机地址两部分确定。

    五、应用层

    HTTP、HTTPS

    点击这里🔗

    DNS域名解析

    点击这里🔗

    正向代理与反向代理

    点击这里🔗

    六、传输层

    TCP、UDP

    点击这里🔗

    七、网络层

    IP协议

    点击这里🔗

    ICMP协议

    点击这里🔗

    七、数据链路层

    ARP协议

    点击这里🔗

    MTU

    点击这里🔗

    八、浏览器输入URL发生了什么

    在这里插入图片描述
    在这里插入图片描述

    好文参考1
    好文参考2

  • 相关阅读:
    简单理解《Effective Java》推荐准则
    快速构建后台管理系统-RUOYI学习之-前端分不分离
    C++的std::move及相关概念
    LeetCode 641. 设计循环双端队列 / 1656. 设计有序流 / 302. 层数最深叶子节点的和
    java计算机毕业设计高原特色农产品网站设计源码+mysql数据库+系统+lw文档+部署
    计算机网络 |内网穿透
    idea由artifactId快速找到对应的maven依赖配置复制使用
    去掉表格里某一列单元格的所有后缀
    Cesium实现动态旋转四棱锥(2023.9.11)
    项目管理(PMO的作用)
  • 原文地址:https://blog.csdn.net/sqjddb/article/details/125165711
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号