学习目标:
网络层提供的服务
网络层协议
网络层如何转发数据包
网络设备和OSI参考模型
网络层协议
IP协议 RIP OSPF
ARP协议
网际控制报文协议 ICMP
internet组播管理协议IGMP
IP数据包格式
IP协议
- RIP
- OSPF
内容
网络层提供的服务:
- 负责在不同网络之间尽力转发数据包,基于数据包的IP地址转发不负责丢失重传 不负责顺序
数据包在互联网中的传送:
网络设备和OSI参考模型关系:
计算机通信过程 本网段通信跨网段通信的过程
发送端
- 应用程序准备要传输的文件
- 传输层 将文件分段 并编号
- 网络层 添加目标IP地址源IP地址
- 数据链路 两种情况
使用自己的子网掩码 判断自己在哪个网段
使用自己的子网掩码 判断目标地址在那个网段
如果是同一个网段 ARP协议广播解析目标IP地址的MAC
发送数据过程:.
物理地址确定下一跳给谁,ip地址决定了起点和终点
TCP/IP协议之间层次:
网络层协议:
ARP 将IP地址通过广播 目标MAC地址是FF-FF-FF-FF-FF-FF 解析目标IP地址的MAC地址
ARP绑定
arp -s ip地址 mac地址
查看
arp -a
ICMP(Internet Control Message Protocol)网际控制信息协议:是一个测试连通性的协议,最常用的就是ping命令
使用ICMP协议可以测试网络通还是不通,是请求超时,还是目标主机不和到达,来换回一些诊断信息。
ping命令
- time可以查看延迟
- TTL 数据包的生存时间,过一个路由器TTL减一,当TTL到0了,就自动消失了,可以通过TTL来判断对方是什么系统 Linux 64 Windows 128 Unix 255
- ping ip地址 -t 表示一直ping下去
- ping -l 200 ip地址 带地址 200表示字节
- ping ip地址 -i 数字 更改数据包TTL时间 能够跟踪数据包途径的路由器
排除网络故障
- ping 估算网络是否畅通 :
- Destination host unreachable:(目标主机不可到达)不管是路由器还是自己的电路不设置网关,都不知道怎么"走"
- 请求超时:数据包到了目标地址,没有回来
- pathping 跟踪数据包路径 计算丢包情况
- tracert 跟踪数据包路径
IGMP(Internet Group Management Protocol)网络组管理协议:是个组播协议,在发出组播的时候才会用到
点到点
广播
组播=多播
多播与点播的区别:点到点可以调整进度,多播是播到看到那,比如在上机的时候,老师的电脑广播控制学生的电脑,老师电脑放什么,学生看什么。
IP数据包结构:
网络层 数据包 65535字节
数据链路层 数据1500 字节 最大传输单元 MTU
传输层往网络层传输数据时,如果数据太大会分段
网络层往数据链路层传输数据时,如果数据太大会分片
- 由于MAC层,数据最大传输1500个字节,而IP层中首部是20个字节,所以数据部分最大是1480个字节,这样才不会出现分片,如果数据包不分片,最大不超过1480字节。
IP数据包中协议:
协议 | 协议号 |
---|---|
ICMP | 1 |
IGMP | 2 |
TCP | 6 |
UDP | 17 |
IPv6 | 41 |
OSPF | 89 |
检验过程:
使用抓包工具排除网络故障
IP协议:让路由器能够自动学习路由表的协议都是IP协议。
路由器通过路由表来选择路径,有两种方式才生路由表,一种是静态路由,由管理员告诉它;另一种是通过某种协议,相互学习到某个网段怎么走,动态路由,如下面这些协议:
- RIP
- OSPF
网络畅通的条件:数据包有去有回,数据包在发送的过程中经过的路由器必须知道下一跳该给谁。
静态路由:
- 需要管理员告诉路由器所有没有直连的网络下一跳给谁
- 静态路由的缺点 适合于小规则网络 不能够自动调整路由
动态路由:
- RIP 周期性广播路由表 跳数 30秒更新一下路由信息 最大跳数 15跳
实验:
使用思科公司的cisco packer tracer这个软件
如下图是搭建成功后的图:
下面这个是交换机和路由器相连接路由器中设置指令:
Continue with configuration dialog? [yes/no]:
% Please answer 'yes' or 'no'.
Continue with configuration dialog? [yes/no]: no
Press RETURN to get started!
Router>en
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface fastEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Router#
%SYS-5-CONFIG_I: Configured from console by console
路由器与路由器通过时钟线相连接相连接:
Router(config)#interface serial 2/0
Router(config-if)#clock rate 64000
Router(config-if)#ip address 172.16.1.1 255.255.255.0
Router(config-if)#no shutdown
%LINK-5-CHANGED: Interface Serial2/0, changed state to down
Router(config-if)#
Router#
%SYS-5-CONFIG_I: Configured from console by console