目录
-  
虚拟互连网络
 - 实际的计算机网络是错综复杂的
 - 物理设备通过使用IP协议,屏蔽了物理网络之间的差异
 - 当网络中的主机使用IP协议连接时,则无需关注网络细节
 - IP协议使得复杂的实际网络变为一个虚拟互连的网络
 - IP协议使得网络层可以屏蔽底层细节而专注网络层的数据转发
 - IP协议解决了在虚拟网络中数据报传输路径的问题
 -  
IP地址
 - MAC地址是唯一的,不可改变的
 - IP地址是可变的,受网络环境影响
 - IP地址长度为32位,常分成4个8位
 - IP地址常使用点分十进制来表示(0~255.0~255.0~255.0~255)
 - 之前说过,在物理层传输的是01的比特流
 - 数据链路层传输着数据帧
 - 对于数据帧来说,它分为帧首部,帧的数据,帧尾部
 - 帧的数据主要是IP数据报的内容
 - 分为IP首部与IP数据报的数据
 - IP首部
 - 其中每一行有32比特位,4字节
 - 必有5行,另有可选行
 - 所以至少有20字节长度
 - 细说:
 - 第1行:
 - 版本:
 - 占4位,指的是IP协议的版本,通信双方的版本必须一致,当前主流版本是4,即IPv4,也有IPv6
 - 版本不一不能通信
 - 首部位长度
 - 占4位,最大数值为15,表示的是IP首部长度
 - 单位是“32位字” (4个字节),也即是IP首部最大长度为60字节
 - 8位服务类型(TOS)一般不用关心
 - 总长度
 - 总长度:占16位,最大数值为65535
 - 表示的是IP数据报总长度(IP首部+IP数据)
 - 讲到长度,回顾下MTU
 - IP协议它最大长度比MTU大
 - 在实际中确实更大时,数据链路层将会把IP协议进行分片,即把IP数据报拆分为多个IP数据帧来传输
 - 第2行:
 - 标识一般为协议内部所使用的,不用关心,占16位
 - 标志占3位,标记IP报文是否可以分片
 - 片偏移
 - 拆分为多个IP数据帧时,需要通过片偏移记录当前数据帧保存的是第几个偏移的IP数据
 - 第3行:
 - 8位生存时间(TTL)
 - 占8位,表明IP数据报文在网络中的寿命,每经过一个设备,TTL减1,当TTL=0时,网络设备必须丢弃该报文
 - 是为了当IP报文在网络中找不到终点时,避免IP数据在网络中无限进行传输,消耗带宽
 - 协议
 - 占8位,表明IP数据所携带的具体数据是什么协议的(如:TCP、UDP等)
 - 首部校验和
 - 占16位,校验IP首部是否有出错
 - 第4行:
 - 32位源IP地址
 - 指示着发送IP数据报的IP地址
 - 32位目的IP地址
 - 指示着IP数据报要到达哪个IP的IP地址
 -  
回顾一下
 - 逐跳(hop-by-hop):
 - 报文从计算机A传输到计算机B,经过“网络一”、“路由器甲”、“网络二”、“路由器乙”等,是“一跳一跳”的
 - MAC地址表
 - MAC地址表主要由MAC地址与硬件接口组成
 - 作用:数据链路层转发(交换机根据数据帧的目的MAC地址查看MAC表,根据表项由相应接口转发出去)
 - 存在设备:
 - 二层交换机
 - 路由表
 - 路由表主要由目的IP地址和下一跳IP地址组成,计算机和路由器都拥有路由表
 - 作用:网络层转发(路由器根据目的IP地址,查询IP路由表找到下一跳地址,转发到下一跳路由器)
 - 存在设备:
 - PC机、路由器
 -  
IP协议的转发流程
 - MAC表(仅从数据链路层看)
 - A通过网卡发出数据帧
 - 数据帧到达路由器,路由器取出前6字节
 - 路由器匹配MAC地址表,找到对应的网络接口
 - 路由器往该网络接口发送数据帧
 - 路由表(仅从网络层看)
 - A发出目的地为C的IP数据报,查询路由表发现下一跳为E
 - A将数据报发送给E
 - E查询路由表发现下一跳为F,将数据报发送给F
 - F查询路由表发现目的地C直接连接,将数据报发送给C
 - 2者结合(从网络层与数据链路层看)
 - A发出目的地为C的IP数据报,查询路由表发现下一跳为E
 - A将IP数据报交给数据链路层,并告知目的MAC地址是E
 - 数据链路层填充源MAC地址A和目的MAC地址E
 - 数据链路层通过物理层将数据发送给E
 - E的数据链路层接收到数据帧,把帧数据交给网络层
 - E查询路由表,发现下一跳为F
 - E把数据报交给数据链路层,并告知目的MAC地址为F
 - E的数据链路层封装数据帧并发送
 - F的数据链路层接收到数据帧,把帧数据交给网络层
 - F查询路由表,发现下一跳为C
 - F把数据报交给数据链路层,并告知目的MAC地址为C
 - F的数据链路层封装数据帧并发送
 - 数据帧每一跳的MAC地址都在变化
 - IP数据报每一跳的IP地址始终不变
 










