2.5IP与以太网的包的收发操作(上)

2.5IP与以太网的包的收发操作(上)

  1. 包的基本知识

    1. 包:由头部和数据两部分构成的

      1. 头部:包括目标地址等控制信息
      2. 数据:包装载的数据
    2. TCP/IP包:包括以太网包和IP

      1. IP包:IP头部、TCP头部、数据块(用于IP协议)
      2. MAC头部:以太网控制信息(用于以太网协议)
    3. 网络中的转发设置:路由器和集线器

      1. 路由器:根据目标地址判断下一个路由器的位置(按照IP规则传输)

        1. IP协议:根据目标地址判断下一个IP转发设备的位置
      2. 集线器:在子网中将网络包传输到下一个路由器(按照以太网规则传输)

        1. 以太网协议:在子网中将包传输到下一下设备中
  2. 包收发操作的概览

    1. IP模块如何完成包的收发操作的

      1. IP负责的内容:

        1. MAC头部:以太网用的头部。包含MAC地址
        2. IP头部:IP用的头部,包含IP地址
      2. IP模块将封装好的包发送网卡

      3. 网卡再将数字信息转化成电信号或者光信号,通过网线发送出去

      4. 接收的过程跟发送的过程正好相反

    2. 无论收到的包是控制包还是数据包,IP对各种类型的包收发操作都是一样的

  3. 生成包含接收方IP地址的IP头部

    1. IP头部格式

    2. 字段名称 长度(比特) 含义
      版本号 4 ip协议版本号,目前使用的是版本4
      头部长度(LHL) 4 IP头部的长度,可选字段可导致头部长度变化
      服务类型(ToS) 8 表示包传输的优先级
      总长度 16 表示IP消息的总长度
      ID号 16 用于识别包的编号
      标记(Flag) 3 该字段有3个比特,其中两个比特有效, 是否允许分片 当前包是否为分片包
      分片偏移量 13 表示当前包的内容为整个IP消息的第几个字节开始的内容
      生产时间(TTL) 8 表示包的生存时间,避免网络回环,没经过一个路由就会减1,减到0这个包就视为丢弃
      协议号 8 表示协议的类型 TCP:06 UDP:17 ICMP:01
      头部校验和 16 用于检测错误的
      发送方IP地址 32 网络包发送方的IP地址
      接收方IP地址 32 网络包接收方的IP地址
    3. IP头部视为“接收方IP地址”填写通信对象的IP地址,发送方IP地址需要判断发送使用的网卡,并填写该网卡的IP地址。

    1. 根据路由表判断网络包交给哪个网卡
  1. 对嵌套字中记录的目标地址与路由表中左侧Network Destination进行比较

  2. 右侧第二列Interface:表示网卡等网络接口,将包发发送给通信对象

  3. 右侧第三列Gateway:表示下一个路由器的IP地址,该IP地址的路由器会将包转发到目标地址

    1. 如果Interface和Gateway的IP地址相同,就不需要路由器转发,直接发给目标的IP地址
  4. 左侧Network Nestination和Netmask都是0.0.0.0,表示默认网关,其他条目无法匹配时,自动匹配这一行

  5. 生产以太网用的MAC地址

    1. 在以太网中判断网络包的目的是与TCP/IP的方式不同

    2. MAC头部:以太网用的头部,包含了接收方和发送方的MAC地址等信息

    3. MAC头部字段 长度 含义
      接收方MAC地址 48 网络包接收方的MAC地址,(在局域网中使用这一地址来传输网络包)
      发送方MAC地址 48 网络包发送方的MAC地址,(接收方通过他来判断是谁发送的网络包)
      以太类型 16 0000-05DC:IEEE 802.3 0800 :IP协议 0806 :ARP协议 86DD :IPv6
    1. IP模块根据路由表Gateway栏的内容判断应该把包发给谁

你可能感兴趣的:(2.5IP与以太网的包的收发操作(上))