ip协议也属于tcp/ip协议栈

ip协议如何将自己的报头和有效载荷分离?
报头可以做到定长加自描述字段将报头和有效载荷分离出来
ip协议如何将自己的有效载荷交付给上层协议?
依靠报头中8位协议决定将自己交付给上层的那个协议
IP实现跨网络传输的前提是什么
前提:把报文可以从一台主机送到和自己直接相连的下一台主机(由数据链路层提供:mac帧)——》局域网通信
为什么要进行分片
因为底层的mac帧规定了MTU(最大传送单元)
如何进行分片和组装的
实际可以将上述问题分割成以下三个问题:
如何识别是分片报文?
如何进行合理组装
如何发现丢包问题
如何保证自己收到了所有的分片呢?
1.通过13位的片偏移+3位标志中的”更多分片“,如果更多分片为0,则的代表没有分片,如果是1则代表有分片。
2.根据标识聚合所有的分片报文,按照片偏移进行升序排序。
3.每个报文都有自己的起始片偏移,起始片偏移+自身分片的长度=下一个分片报文的起始片偏移。
4.开头没有丢失,中间没丢,收到结尾报文(更多分片为0)
什么是分片和组装
IP报文无法将报文整体发送给对方,需要将报文拆成多片到对方再进行组装
mac的有效载荷最大是MTU,其中MTU包含了什么?
IP的报头+ip的数据=MTU(1500字节),所以每一个分片都要包含IP报头。
IP:提供一种能力,将数据从A主机跨网络发送给B主机的能力。
IP地址分为两个部分, 网络号和主机号


上述网络划分会浪费很多网络号,所以提出了一种新的划分方案,称为CIRD

其实每一个子网都有自己的子网掩码
“以太网” 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;
以太网是当前应用最广泛的局域网技术; 和以太网并列的还有令牌环网, 无线LAN等

如何分离?
定长报头
如何交付?
根据两个字节的类型,根据数值不一样然后决定交付给上层