计算机网络笔记之网络层(会不断更新完善)

网络层提供的服务

  1. 负责在不同网络之间尽力转发数据包,基于数据包的IP地址转发
    不负责丢失重传 不负责顺序
  2. 规划网段

网络通信和OSI参考模型

  1. 应用程序准备要传输文件
  2. 传输层 将文件分段 并编号
  3. 网络层 添加目标IP地址源IP地址
  4. 数据链路层 两种情况
    ①使用自己的子网掩码 判断自己在那个网段
    ②使用自己的子网掩码 判断目标地址在哪个网段
    如果是同一个网段 arp协议广播解析目标IP地址的MAC

网络层协议

  1. ARP协议
  2. IP协议
  3. ICMP&IGMP协议

ARP协议

①负责解析目标的MAC地址
先发广播(目标MAC是FF-FF-FF-FF)给交换机,交换机发给其它设备,再把返回的MAC缓存到本地
查看缓存的mac地址命令:arp-a 动态
这个广播只能是在一个网段内

②使用抓包工具排除网络故障
如果局域网内有人不停的发广播包,会造成局域网的堵塞,如果它用假ip就二分拔网线

③ARP只能解决本网段IP和MAC的映射关系
如果是跨网段就要先找到自己的路由器,再由它发给另一台路由器,剩下的就交给那台路由器处理

ICMP

作用:测试网络是否畅通,代表命令:ping
TTL:数据包的生存时间,过一个路由器减一,防止数据包在网络上做循环,
TTL还可以用于判断系统
linux:64
windows:128
unix:255

IGMP

  • 组播、多播:数学老师发一个多播包使用一个多播地址,语文老师同样,学生想看谁直播就绑谁的包上的多播地址。
  • 当跨网段使用多播方式直播,会将一个多播包发往另一个路由器,该路由器上的IGMP就检测该网段有哪些人在看,如果没人看,就告诉上层路由器,不用再往此网段发送多播包了

IP数据包

IP数据包结构
0-4位段:用来标识TCP/IP协议的版本 IPv4 or IPv6
4-8位段:首部长度,指明数据包的首部长度(有可变部分)
8-16位段:区分服务
16-31位段:总长度
标识:用于判断是同一个包的,同一个包下的该分片该值相等
标记:判断是否分片
片偏移:某片在原分组中的相对位置,用于确定数据片重装顺序,片偏移量为0则说明不是分片
协议:协议字段指出应将数据进程交由哪一个协议处理 协议号 ICMP 协议号1 IGMP协议号2
首部检验和:用于校验
源地址(32位)
目的地址(32位)
QOS协议:区分特殊数据包插队传输
数据包分片:超过1500字节需要分片,因为数据帧最大1500字节(最小64字节)
网络层数据包最大:65535字节

IP地址

IP地址(32位)分为网络号和主机号两部分(两级IP地址)
可分为A类地址,B类地址,C类地址,D类地址(多播地址)

特殊IP地址:全0地址 网络部分全0 全一地址(有限广播)主机全一(该网段的广播)网络部分为127

IP地址的特点
1.用转发器或网桥连接起来的局域网具有相同的网络号
2.所有分配到网络号的网络,既有可能是范围很小的局域网,也有可能是广域网

  • 路由器总是有两个和两个以上的接口地址
  • 路由器的每一个接口都有一个不同网络号的IP地址
  • 用同一条线相连的两个路由器的接口的IP地址的网络号部分相同
  • 两个路由器直接相连的接口处,可指明也可不指明IP地址。现在常不指明IP地址

  • 首部检验和的具体计算不太懂

  • 网络层如何转发数据包

  • 网络设备

  • 分配子网与超网