本文简单介绍一下计算及网络中的网络层,主要包括数据的发送过程和网络层协议
1、数据发送过程
对于应用程序
- 传输层:对数据进行分段(段)
- 网络层:添加源、目的IP地址(包)
- 数据链路层:添加源、目的MAC地址(帧)
- 使用自己的子网掩码判断自己属于哪个网段、目标属于哪个网段
- 如果属于同一网段:arp协议广播解析目标IP地址的MAC
- 如果不属于同一网段:发送给路由器(网关),arp网关的MAC地址,然后把数据包发送给路由器
- 物理层:转化成数字信号(bit)
2、网络层协议
网络层协议分层,ARP协议为IP协议服务,IP协议为ICMP协议和IGMP协议服务。
2-1、ARP协议
将IP地址通过广播,目标MAC地址为全F,获取IP地址的MAC地址。广播不能跨路由。
ARP网络欺骗:(网络执法官软件,可以规定任意两台计算机通或者不通),当计算机ARP广播的时候,网络执法官回复一个不存在的MAC地址。这样发送端发送的数据包全部被交换机丢弃掉了
2-2、ICMP协议
ping命令使用ICMP协议,ping可以查看时延,TTL表示生存周期,每过一个路由器,TTL减1
ping 8.8.8.8 -i 2 通过更改数据包TTL时间,能够跟踪数据包途径的路由器,(通过查看数据包返回的IP地址)
- Linux TTL=64
- Windows TTL=128
- Unix TTL=255
2-3、IGMP协议
- 点到点:好处,播放流媒体可以快进快退
- 广播:视频讲课,老师控制计算机,实验室每个学生可以看到同样的内容。(好处,不用发送多份数据,只需要发送一份数据即可)
- 组播=多播:(同一服务器,播放不同课程,),对服务器绑定多个多播IP地址,接收端设置不同的多播IP,就能接收到不同的数据。(缺点,不能调解视频的播放速率。可以用电视频道来理解多播)
2-4、IP协议
所有能够选路的协议都是IP协议
2-4-1、RIP协议
路由器均配置为RIP协议,周期性在广播路由表,即自己所连得网段信息(RIP协议选取跳数最少的连接),30s更新一次,广播最大的跳数为15
2-4-2、OSPF协议
选路的标准是带宽,而不是最少跳数。
3、IP数据包格式(IP协议)
IP数据包由首部和数据部分组成,首部分为固定部分和可变部分,固定部分有20个字节。
- 版本:4位,TCP/IP版本号 v4/v6
- 首部长度:4位,首部一共多长,因为有可变部分,所以有该字段
- 总长度:2个字节,表示整个IP数据包的总大小(因为数据链路层IP数据包最大是1500字节,所以IP数据包>1500字节时,需要进行分片,才能被数据链路层接收)
- 标识:2个字节,数据包分片以后的标识
- 标志:数据包是否分片的标志位,占3位,目前只有两位有意义,最后一位MF=0,表示最后一个分片,MF=1表示后面还有分片。中间位DF=0是允许分片,DF=1时不允许分片。
- 片偏移:13位
- 生存时间:1个字节,TTL,每过一个路由器,MAC地址要修改,TTL要减1
- 协议:数据是什么协议ICMP(1)、IGMP(2)、TCP(6)、UDP(17)、IPv6(41)、OSPF(89)
- 首部检验和:检验首部是否有错,数据包检验过程如下: