美文网首页
网络协议基本概念

网络协议基本概念

作者: freemanIT | 来源:发表于2022-03-09 11:50 被阅读0次

    网络协议基本概念

    概述

    网络模型

    模型

    网络请求过程

    请求过程

    各层中使用的协议

    各层使用到的协议

    互联网

    互联网

    数据从一台设备传递到另一台设备需要网络协议

    网络协议

    最常见的协议: HTTP

    HTTPS, SMTP, MQTT, RTMP

    常见服务器开发语言Java

    Java跨平台原理

    JVM(Java Virtual Machine): Java 虚拟机

    Java 的跨平台: 一次编译, 到处运行

    • 编译生成跟平台无关的字节码文件(class 文件)
    • 对应平台JVM 解析字节码为及其指令

    代码错误, 编译失败, 不会生成字节码文件

    JavaScript: 解释性语言

    C++ 跨平台原理

    使用平台相关的编译器生成对应平台的可执行文件

    C++跨平台原理

    网络互联模型(OSI参考模型)

    协议: 是一个通用的标准

    国际标准化组织ISO指定网络互连模型OSI, 7 层结构

    偏向理论, TCP/IP协议(4 层)实际中使用的协议, 研究和学习是使用的是5 层模型

    网络互连模型

    数据传输过程

    数据传输过程

    设备通信基础

    1. 对方IP 地址
    2. 最终是根据MAC 地址, 输送到网卡, 如果目标是自己, 接收传递给上一层, 反则丢弃

    设备连接方式

    网络直连, 交叉线

    用到的协议

    ARP 协议. 作用: 已知IP 地址, 通过广播获取MAC 地址

    一次完整的ARP 请求过程

    ARP请求过程

    同轴电缆(Coaxial)

    同轴电缆

    其中只要一个地方线断, 整个瘫痪

    集线器(Hub)

    hub

    相比优点: 某一个中间线路有问题, 不影响其他连接着的设备

    网桥(Bridge)

    hub

    隔绝冲突域: 记录设备的MAC 地址在哪一侧

    网桥举例

    举例:

    计算机6 向7 发送数据包

    • 计算机6 发出请求ARP 广播, 网桥记录6 的MAC 地址在左侧
    • 7 发出响应ARP 广播时, 网桥记录7 的MAC 地址在右侧

    交换机(Switch)

    交换机

    思考:

    1. 设备同处一个网段, IP 地址不够用
    2. 使用交换机, 第一次发送数据也会发出ARP 广播, 耗时
    3. 形成广播风暴, 一台设备发送ARP, 其他设备都能收到

    路由器(Router)

    主叫发送数据之前, 先判断目标主叫IP 是否在同一个网段

    1. 同一个网段: ARP 广播, 通过交换机/集线器, 传递数据
    2. 不在同一个网段: 通过路由器转发数据

    网络直连, 同轴电缆, 集线器, 网桥, 交换机

    • 连接的设备必须在同一个网段
    • 连接的设备处在同一个广播域

    路由器

    • 可以在不同网段转发数据
    • 隔绝广播域
    路由器

    MAC 地址(40-55-82-0A-8C-6D)

    每一个网卡都有一个6 字节(48bit) 的MAC 地址(Media Access Control Address)

    MAC 地址全球唯一, 固化在网卡ROM 中, 由IEEE802 标准规定

    • 前3字节, OUI(Organizationally Unique Identifier), 组织唯一标识符
    • 后3字节, 网络接口标识符, 厂商自己分配
    mac地址

    MAC 格式

    • Windows 40-55-82-0A-8C-6D
    • Linux, Android, Mac, iOS 40:55:82:0A:8C:6D
    • Packet Tracer 4055.820A.8C6D

    48 位全为1 时, 代表广播地址: FF-FF-FF-FF-FF-FF

    MAC 操作地址(ipconfig /all)

    查看地址: ipconfig /all

    修改: 更改适配器选项-属性-配置-高级-网络地址(填写的时候需要把 减号- 去掉)

    修改mac地址

    MAC 地址获取(arp -a)

    不知道对方主机MAC 地址, 发送ARP 广播获取对方MAC 地址

    • 成功后, 缓存IP 地址, MAC 地址的映射信息, 为ARP 缓存
    • 通过ARP 广播获取的MAC 地址, 属于动态缓存, 存储时间比较短, 默认2分钟, 过期自动删除
    arp -a [主机地址] 查看ARP 缓存
    arp -d [主机地址] 删除缓存
    arp -s 主机地址 MAC 地址 增加一台缓存信息, 为静态缓存, 存储时间较久
    

    ARP(Address Resolution Protocol)

    ARP: 地址解析协议

    作用: 通过IP 地址获取MAC 地址

    RARP(Reverse Address Resolution Protocol), 逆地址解析协议

    • 使用和ARP 相同的报头结构
    • 作用与ARP 相反, 将MAC 地址转换为IP 地址
    • 后被BOOTP, DHCP 取代

    ICMP(Internet Control Message Protocol)

    互联网控制消息协议

    • IPv4中的ICMP称为ICMPv4, IPv6为ICMPv6
    • 通常用于返回错误消息, 比如TTL 过期, 目的不可达
    • ICMP 错误消息包括元数据返回给发送者

    IP地址(127.0.0.1)

    互联网的每一个主机都有一个IP 地址

    最初为IPv4版本, 32bit(4字节), 2019年11月25号用完

    IPv6版本, 128bit(16字节)

    ip

    IP地址组成(网络ID + 主机ID)

    通过子网掩码(subnet mask)可以得知网络ID, 主机ID

    举例

    主机所在网段 = 子网掩码 & IP 地址

    IP地址:192.168.1.10
    子网掩码:255.255.255.0
    
        1100 0000 . 1010 1000 . 0000 0001 . 0000 1010
    &   1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
    ----------------------------------------------------
        1100 0000 . 1010 1000 . 0000 0001 . 0000 0000
    
    网段:192.168.1.0  
    

    网段由子网掩码计算得出, 只有IP 无法得知网段

    IP地址:130.168.1.10
    子网掩码:255.255.0.0
    网段:130.168.0.0
    
    该网段最多有 256*256-2 个IP地址
    -2是因为: 全0代表网段,全1代表广播
    网段和广播无法分配IP地址.
    

    IP 地址分类(A, B, C, D, E)

    只有A\B\C 类地址才能分配给主机

    • 主机ID为全0, 标识主机所在网段, 192.168.1.0
    • 主机ID 为全1, 主机所在网段的全部主机(广播), 192.168.1.255

    A 类地址: 子网掩码255.0.0.0

    A类地址 A类

    网络ID

    • 0 不能用, 127 为保留网段
    • 127.0.0.0 本地换回地址(Lookback), 代表本机地址
    • 可以分配给主机第一部分的取值范围1~126

    主机ID

    • 第2,3,4 部分范围0~255
    • 每个A 类网络能容纳最大主机数: 256*256*256–2 = 2^24–2 = 16777214

    B 类地址, 子网掩码255.255.0.0

    B类地址 B类

    网络ID

    • 第1部分范围128~191
    • 第2部分0~255

    主机ID

    • 第3,4 为0~255
    • 最大主机数: 256*256-2 = 2^16-2 = 65534

    C 类地址, 子网掩码255.255.255.0

    C类地址 C类

    网络ID

    • 第1部分, 192~223
    • 第2,3 部分, 0~255

    主机ID

    • 第4 部分范围0~255
    • 容纳主机最大容量, 256-2 = 254

    D类地址, 无子网掩码, 用于多播地址

    以1110 开头, 多播地址

    D类地址

    第一部分224~239

    E类地址, 以1111 开头, 保留今后使用

    E类地址

    第一部分取值范围240~255

    子网掩码的CIDR 表示法(192.168.1.100/24)

    CIDR(Classless Inter-Domain Routing), 无类别域间路由

    192.168.1.100/24, 代表子网掩码有24个1, 也就是255.255.255.0

    123.210.100.200/16, 代表子网掩码16个1, 为255.255.0.0

    子网划分

    如果200台设备在同一个网段, 分配一个C 类网段, 192.168.1.0/24

    • 254个可用IP 地址, 192.168.1.1 ~ 192.168.1.254

    • 剩余54, 空闲, 不算浪费资源

    如果500 台设备同一个网段, 分配B 类网段, 191.100.0.0/16

    • 65534个可用IP, 191.100.0.1 ~ 191.100.255.254

    • 剩余65034空闲IP, 极大浪费资源

    此时需要合理子网划分

    子网划分

    借用主机为作子网位, 划分出多个子网

    • 等长子网划分, 将一个网段等分成多个子网, 每个子网可用IP 数量一样
    • 变长子网划分, 每个子网可用IP 地址数量可以是不一样的

    步骤:

    1. 确定子网的子网掩码长度
    2. 确定子网中第1 个, 最后1 个主机可用的IP 地址

    等长子网划分 - C 类子网划分(2, 4, 8 等分)

    本来有一个C类网段: 192.168.0.0/24
    
    划分成两个子网后:
    
    A子网: 192.168.0.0/25 子网掩码: 255.255.255.128
    可用IP地址: 192.168.0.1 ~ 192.168.0.126 共 126 个
    
    B子网: 192.168.0.128/25 子网掩码: 255.255.255.128
    可用IP地址: 192.168.0.129 ~ 192.168.0.254 共 126 个
    

    等分2个子网

    等分2个子网

    等分4个子网

    等分4个子网

    等分4个子网的广播地址

    等分4个子网的广播地址

    等分8个子网

    等分8个子网

    等分子网划分- A,B类子网划分

    B 类子网划分

    B类子网划分

    A 类子网划分

    A类子网划分

    变长子网划分

    变长划分

    超网 - 合并网段

    超网: 跟子网相反, 将多个连续网段合并成一个更大的网段

    原本200台计算机使用192.168.0.0/24, 增加200台在同一个网段

    • 200台在 192.168.0.0/24 网段,200台在 192.168.1.0/24 网段
    • 合并 192.168.0.0/24、192.168.1.0/24 为一个网段:192.168.0.0/23
      (子网掩码往左移动1位)
    超网合并200设备

    192.168.0.255/23 这个IP地址, 是广播, 不能分配给计算机

    广播地址分配

    主机部分并不全为1,所以是可以分配给计算机使用的

    合并4 个网段

    子网掩码向左移动 2 位,可以合并 4 个网段

    合并4个网段

    将 192.168.0.0/24、192.168.1.0/24、192.168.2.0/24、192.168.3.0/24 合并为192.168.0.0/22 网段

    合并子网规律

    假设 n 是 2 的 k 次幂(k≥1),子网掩码左移 k 位能够将能够合并 n 个网段

    合并规律

    假设 n 是 2 的 k 次幂(k≥1),如果第一个网段的网络号能被 n 整除,那么由它开始连续的 n 个网段,能通过左移 k 位子网掩码进行合并

    • 第一个网段的网络号以二进制 0 结尾,那么由它开始连续的 2 个网段,能通过左移1位子网掩码进行合并
    • 第一个网段的网络号以二进制 00 结尾,那么由它开始连续的 4 个网段,能通过左移2位子网掩码进行合并
    • 第一个网段的网络号以二进制 000 结尾,那么由它开始连续的 8 个网段,能通过左移3位子网掩码进行合并
    合并规律1

    如何判断一个网段是子网还是超网

    首先看该网段的类型

    • A 类子网掩码位数为8, (255.0.0.0)

    • B 类子网掩码位数为16, (255.255.0.0)

    • C 类子网掩码位数为24, (255.255.255.0)

    如果该网段的子网掩码位数比默认子网掩码多, 就是子网

    如果该网段的子网掩码位数比默认子网掩码少, 则是超网

    举例:

    25.100.0.0/16

    • 根据25 判断出为A 类网络, 默认子网掩码8 位
    • 由于该网段子网掩码16 位, 比默认多, 所以是子网

    200.100.0.0/16

    • 根据200 判断为C 类网络, 默认子网掩码24 位
    • 该网段子网掩码16 位, 比默认少, 所以为超网

    相关文章

      网友评论

          本文标题:网络协议基本概念

          本文链接:https://www.haomeiwen.com/subject/fhgarrtx.html