LWIP-IP

网际协议(IP)

概述

特点

1.  不可靠的无连接数据报协议: 不会进行插座校验和跟踪
2.  最大努力交付任务,但不保证每个分组都能真确送达

IP地址

网络号与主机号:使得路由器在转发分组的时候可以很快从目的IP地址中找出目的网络地址 (与对应的子网掩码进行与操作),从而将分组发送。

网络号: 分配给不同的机构

主机号: 机构下的个人

网络地址: 先识别是那类网络[IP 地址的第一个字节前几位],然后将主机号全部取0 [ IP地址与子网掩码与运算的结果]

​ 路由器首先目的地址的网络地址,检查是否与本地网络号相同,不匹配则转发,匹配则找到主机号,并发送

广播地址: 将地址号全部取为1 ,代表本网中的所有主机

专用网络地址: 见图10-2 , A B C类都会对应一个专用网络地址,作为局域网地址

子网划分与子网掩码

子网: 对于大量个人用户和小型局域网用户接入互联网,为期分配一个C类网络都会造成IP地址的大量浪费。

比如: 10个办公室,每个办公室都是一个网络,但是但是每个办公室人数都很少,所以分配一个网络号有点浪费

所以对网络号进一步划分得到子网,使得IP地址由原来的2级结构 [网络号,主机号]变为3级结构 [网络号,主机号, 子网号]。

第一:减少网络地址浪费

第二: 节省通信流量: 网络上的通信流量与主机数量成正比

第三: 主机管理方便

bim子网掩码

​ 标准IP地址: IP地址的第一个字节前几位表示种类

​ 子网地址: 主机号全为0的地址,所有的网络地址[网络地址 + 子网地址]都为1

关键: 路由器收到一个数据包时,首先判断是否是在一个网络内,[自己的IP 地址与子网掩码相与 对比 目的地址与子网掩码相与]。

NAT

原理

为了实现局域网中的多个设备共享一个 外网地址,将 <源地址,源端口号 : 目的地址 ,目的端口> 组成的键值,映射成一个 <路由器外网地址, NAT 端口号>;

发送数据时,将源地址 与源端口号,修改为<路由器外网地址, NAT 端口号>;

接收数据时,将 <路由器外网地址, NAT 端口号>转化为 <源地址,源端口号 >

缺点

1. 通信只限于具有端口号的协议:TCP与UDP
2. 分组转发效率降低: 更改源地址、更改端口号, 重新计算校验和

单播多播广播

硬件也需要支持: 单播多播广播,所以在特定的数据链路层,必须提供单播多播广播机制

以太网中,通过MAC地址区分单播多播广播

单播: ARP表

多播: MAC 地址的第23位 改为 多播IP的低23位

广播: MAC所有位 都是1

数据报

数据报组成

名称: IP层的数据包, IP数据报 或 IP分组

数据报组成: 图10-4

IP层输出

发送数据报

  1. IP数据报头部填写
  2. 根据目的IP地址,选择合适的网络接口
  3. 检测是否需要分片
  4. 调用网络接口的发送函数

数据报分片

分片: IP数据报都被封装在一个物理帧中发送,效率最高

​ 但是为了保证传输的可靠性,IP层必须可以灵活控制数据报的大小,因为传输途中,不同物理媒介最大帧的长度各不相同;

分片过程: 图10-6

关键: 分片发送函数,并不会重新分配内存存放分片的数据报,而是申请 PUBF_REG

IP层输入

数据报接收

  1. 检测合法性: 长度 校验和 版本号
  2. 是否发送给本地的,与所有接口的IP比较
  3. 是否分组: 重新组装
  4. 交给上层

关键

  1. ICMP:当接收端解析到错误的TCP数据报时,要给对方发送ICMP数据
1
2
3
4
5
大暑过后便是立秋
需要执笔挽袖
习一卷书画一叶扁舟
荡桨兮,书中风流。
大抵这世间春秋,也算得上罕有
undefined