目录
ip协议针对传输层的UCP协议或者TCP协议,进行传输的时候,需不需要进行分片传输(拆包传输)
一、IP协议格式

16位总长度
在数据链路层传输的数据大小有一个限制:MTU

理论上单个ip数据包最大是65536字节,但是数据链路层给网络层提了要求说单个数据不能超过1500字节,这直接就导致超过1500字节的数据包就要进行拆包

ip协议针对传输层的UCP协议或者TCP协议,进行传输的时候,需不需要进行分片传输(拆包传输)
首先我们要知道: 要不要分片,取决于 数据的大小 + ip协议头部之后, 是否超过MTU

IP协议是不可靠的,一个分片在网络中丢失的话,这整个数据就相当于是丢掉了,
因为TCP为了保证可靠,他就在数据上保证了不会分片,这样就不用因一个分片丢掉,就重传所有数据(这是很痛苦的)
如何进行分片 和 组合分片
分片:

组合分片

8位生存时间:

8位协议、16位校验和、32位源端口、32位目的端口
8位协议:标识传输层使用什么协议的
目的: 在接收方解析IP协议的时候,就知道这个数据要交给传输层的哪一个协议
16位校验和:校验IP协议在传输过程当中是否失真
32位: 源IP地址
32位: 目的IP地址
二、IP地址管理

网络号和主机号
2.1 早期分配方式

A类: 0 7位网络号 24位主机号

B类 : 10 14位的网络号 16位的主机号

C类: 110 21位网络号 8位的主机号


特殊ip地址 :
127.0.0.1 :本地回环地址(自己),通常是用于测试本地网络协议栈的
0.0.0.0 : 代表所有网卡地址,服务端bind函数调用的时候,0.0.0.0,绑定当前机器的所有网卡
2.2 CIDR方式 :
1、引入了子网掩码,用子网掩码标识ip地址当中,网络号范围 和 主机号范围
2、子网掩码的本质:uint32_t的整数
要求:必须从最高的比特位到低位的某个比特位之前全为1,才是有效的子网掩码

网络号 = ip地址 & 子网掩码

最大的主机号 = ~(子网掩码)

例题 一:
ip地址为 42.192.83.143 子网掩码为255.255.255.0
问题1 : 请问该子网的的网络号是多少?该子网拥有多少个主机?
问题2 :如果要将该网络划分为4个子网, 请问每个子网拥有多少个主机号, 每个子网的网络号是多少?

例题 二:

私网ip
1、私网ip不具备访问互联网的效力(数据包当中的源ip或者目的ip为私网ip,则该条数据包不会在网络当中传输),不能访问互联网
2、私网ip在三个段

3、私网ip存在的意义
私网IP可以在不同的子网当中进行复用,可以使用私网ip构建私网网络,缓解IP地址枯竭的问题

三、路由选择
背景知识:
1、网络数据在网络当中传输的时候,传输的路径不是一开始就确定好的
2、一定是到达某个路由器(转发设备)之后,由路由器再选择一个合适的路径
3、下一个路由器的转发负载到底大不大
我们将每一次设备的选择路径,称之为路由选择

1、认识 WAN/LAN口
WAN口:连接上级路由器
LAN口:用来组建当中路由器的子网

2、路由查找规则
路由查找就是通过目的IP查找去往下一个主机的路由(确定方案),怎么选择有数据链路层实施(具体实施)
1、从一个点到另外一个点需要选择合适的路径,这叫路由(探路)
2、数据链路层负责相邻设备之间的传播,数据链路层负责由主机A到路由器A(赶路)
选择路的前提是,要知道都有哪些路
路由表保存了多条路由(多条路)

2.1 规则

例子:

IP数据包的传输过程也和问路一样.
当IP数据包,到达路由器时,路由器会先查看目的IP;
路由器将拿到的数据进行分用, 获取到了目的IP
路由器决定这个数据包是能直接发送给目标主机,还是需要发送给下一个路由器:依次反复,一直到达目标IP地址:
现在已经知道要走那条路由了,怎么走的工作就交给了数据链路层
本文介绍了IP协议的格式,包括总长度、生存时间、协议字段等,并讨论了在传输层TCP/UDP协议下是否需要分片。IP地址管理部分涉及网络号和主机号的分配,如A、B、C类地址和CIDR方式。此外,还讲解了路由选择的基本原理和规则,以及WAN/LAN口在网络中的作用。

1376

被折叠的 条评论
为什么被折叠?



