网络层提供的服务
路由器在不同网络之间尽力转发数据包;(路由器根据网络层的地址选择路径)
不负责丢失重传,也不负责传输顺序;
网关 路由器
网络层考虑所选路径是不是最优的;
不过路由器这样的网路设备就是一个网络是一个网段;
同一个网段的网络部分是相同的
10.0.0.0 255.0.0.0(子网掩码用来分辨IP何处是网络部分,同一个网段上子网掩码相同)
计算机必须配网关,通常是第一个能用的地址(路由器)
一个接口有一个IP地址
10.0.0.2 ping 12.0.0.3不可通,需添加路由
路由器是根据 路由表 来选择路径的,路由表是由管理员给的 或者 自己学习的;
配置路由器的命令,配置路由表,配置RIP协议
网络设备和OSI参考模型关系
1、应用层:应用程序准备要传输的文件
2、传输层:将文件分段,并编号 {段}
3、网络层:添加目标IP地址源IP地址 {包}
4、数据链路层:添加源MAC地址和目标MAC地址和FCS(帧校验序列) {帧}
使用自己的子网掩码判断自己在哪个网段(目标IP与自己的子网掩码进行 与 运算)
使用自己的子网掩码判断目标地址在哪个网段
若在同一个网段通过ARP协议广播解析目标IP地址的MAC地址
若不在通过ARP协议广播解析网关的MAC地址,然后传给路由器
5、物理层:转换为数字信号 {比特流}
集线器可以加强信号,起到传输信号(比特流)作用
交换机接受比特流,存储,然后根据MAC地址转发信号(交换机工作在第二层(二层设备))
路由器接受比特流,将帧检验序列,物理地址去掉,根据数据包IP选择路径
网络层协议
ARP协议:通过广播(目标MAC地址是FF-FF-FF-FF-FF)解析目标IP地址的MAC(同一网段的),存入缓存。跨网段通信解析网关的MAC。
ARP欺骗:覆盖掉目标IP的MAC地址,从而截获或者破坏两个计算机间的通信。
ARP绑定命令:{arp -s 192.168.80.1 00-0C-29-53-48-C3}
ARP缓存查看:{arp -a}
清除ARP缓存:{arp -d}
IP协议:负责不同网段之间转发数据,给数据包选择路径。(静态路由为人工添加,动态路由为自动学习的)
静态路由:
需要管理员告诉路由器所有没有直连的网络下一跳给谁(设置路由表)
适合于小规模网络,不能自动调整路由
动态路由:
RIP 协议:周期性(每30S)广播路由表,跳数为选择最佳路径的指标 ,最大跳数为15跳,若为16跳则认为不可到达。
OSPF协议:根据带宽高来选择最佳路径。
一系列自动学习路由表的协议均为IP协议。
国际控制报文协议 ICMP:
使用ICMP协议的命令:
PING:因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。
ping time 查看延迟
ping 10.7.1.53 -t 不间断的ping
ping -l 200 10.7.1.53 明确数据包大小
ping 8.8.8.8 -i 2 设置TTL的值,跟踪数据包途径的路由器
pathping 10.7.1.53:跟踪数据包路径,计算丢包情况。
tracert 10.7.1.53:Windows上跟踪数据包路径的命令。
traceroute 10.7.1.53:路由器上跟踪数据包路径的命令。
Internet组播管理协议 IGMP(配置在路由器接口上):周期性扫描本网段上绑定多播地址的计算机,然后决定是否接受上个路由器传来的多播数据。
点到点 建立会话(可调整进度)
广播(目标IP为255 MAC为FF)
组播 = 多播 (可跨网段传输,省带宽):将数据包传输到所有绑定多播地址(IP)的计算机。
IP数据包结构
一个IP数据包由首部和数据两部分组成。
首部的前一部分是固定长度,共20个字节,是所有IP数据包必须具有的。
在首部的固定部分的后面是一些可选字段,其长度是可变的。
具体首部构成:
版本:用来表示 TCP/IP 协议的版本 v4 v6 (四位)
首部长度:规定IP数据包首部的大小。(一般为20字节)
区分服务:规定那些数据先传输。
总长度:表示整个数据包的长度。
标识:数据包的编号。(分片时不同片段标识一致)
标志:占三位,目前只有前两位有意义。标志字段的最低位是MF。MF=1表示后面还有分片。MF=0表示最后一个分片。标志字段中间的一位是DF。只有当DF=0时是分片。
片偏移:指明这个分片是数据包(不算首部长度)的第几个字节。
网络层 数据包 最大65535字节 (若数据包过大,分片传输)
数据链路层 数据帧最大1500字节 最大传输单元 MTU
数据包 如果不分片,最大数据为1480字节(20个字节的首部)
生存时间:TTL 数据包每过一个路由器减一,值为0时 数据包耗尽,当前路由器响应。(防止数据包在网络中循环)
各类操作系统默认的TTL初始值:
Linux 64 Windows 128 Unix 255
协议:指明数据由那个协议处理。
ICMP:协议号 1;
IGMP:协议号 2;
TCP: 协议号 6;
UDP: 协议号 17;
IPv6:协议号 41;
OSPF:协议号 89;
首部检验和:接收端收到数据包后用此部分判断数据包是否有错误。
源地址:32位。
目标地址:32位。
IPv6取消了下面两部分:
可选字段:长度可变
填充