一.网络层
网络层是为网络提供传输信息,主要有ip协议
二.ip报文
ip报文是不可靠无连接的,不可靠是因为它不会有超时重传等纠错能力,它也不会保存包文的状态所以是无连接的,这些得依靠上层协议来实现。
1.ip头格式
ip头信息如图:
Version: 4 表示版本号,一般为4,IPV4
Header Length: 20 bytes ip头所占字节数,表示头部长度共占多少个字,如图是5,所以头部长度占5 个字共20字节,因为最多4位,所有ip头最长为60字节
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport)) 服务类型,一般为0.
Total Length: 194 ip包数据总长度,不包含ip头
Identification: 0x61b2 (25010) 标识,用来标识通信中的每个包。一般主机发一个包出去,标识递增1
Flags: 0x02 (Don't Fragment) 是否是一个包的拆分包
Fragment offset: 0 偏移
time to live: 61 生效时间,指能经过多少个路由器,经过一个路由器减一
Protocol: TCP (6) 上层协议类型
Header checksum: 0x170b [validation disabled] 校验和 计算ip头校验和不包括数据部分
Source: 182.200.7.97 (182.200.7.97) 源ip
Destination: 101.227.160.108 (101.227.160.108) 目的ip
三.路由器
路由器主要作用于把各个网络互联互通,使在不同网络的主机可以进行通信。路由器中维护了一张路由表信息,这张表中每一行的路由信息组成:
1.目的地址
2.下一个路由
3.控制 其中一个标志指明目的地址是网络地址还是主机地址,另外一个标志指明下一站路由是否为真的路由还是直接相连的接口
4.设置网络接口
网络包经过路由器时,会根据路由表信息来进行转发:
1.首先查找路由表中是否有这个包的目的地址,有直接转发
2.在路由表中查找网络地址,则往这个网络号的网络进行转发
3.没有找到网络号,则向路由表中默认路由转发
4.如果路由表中没有默认路由,包丢弃
四.网络号、子网号、主机号
每台主机都有一个甚至多个ip地址,每个ip由网络号,子网号,主机号共32bit组成,要和一台主机进行通信,就必须先得知道这台主机在那个网络中,其次因为这个网络由很多子网络构成,所有也得知道子网号,然后是主机号。
一台主机给出他的ip地址,我们只能从ip地址得出它是属于哪类ip地址以及它的网络号,我们是不知道他的子网号和主机号是多少。子网掩码就可以区分出ip地址哪几位是子网号,哪几位是主机号。
例如主机ip地址是129.164.1.1,子网掩码是254.254.254.0,那么该ip是b类ip地址,头16位为网络号(129.164)地址最后8位(0标识的那个字节)是主机号,紧接着8位是子网号
五.特殊情况的ip地址
1.网络号全为0
可以作为源地址,但不能作为目的地址。网络号不确定,就不知道往哪传输报文。
2.主机号全为1
可以作为目的地址,不能作为源地址。广播地址。
3.网络号为127
既可以为源地址,也可以目的地址。环回接口。