• 计算机网络总结


    一、七层和五层模型

    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

  • 相关阅读:
    docker commit 的简单使用
    解决 Element的el-input 密码输入框浏览器自动填充账号密码问题
    C++QT开发——TCP&UDP网络编程
    STC51单片机21——EEPROM测试
    lv4 嵌入式开发-2 Linux文件IO
    【教学类-12-03】20221106《连连看横版8*4(2套题目 适合中班))(中班主题《我们的城市》)
    Swift使用PythonKit调用Python
    DS图—图非0面积/bfs【数据结构】
    X11 Xlib截屏问题及深入分析一 —— 源码位置
    java面试题-设计模式基础
  • 原文地址:https://blog.csdn.net/sqjddb/article/details/125165711