计算机网络_4网络层
1.简介与基本概念
多个网络通过路由器互连称为一个互连网络,网络层处理与此相关的问题。
- 尽最大努力交付
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。每一个IP数据报独立发送,这样路由器简单,价格低。
那么可靠性的任务交给谁来完成?运输层。
- 虚拟互联网络
物理互联不现实,因此通过路由器实现网络互联和路由选择。
ICP/IP的做法是:网络层采用标准化协议,但互连的网络可以异构。互连的计算机网络使用相同的网际协议IP(Internet Protocol),但互连之后,就可以看成是同一个虚拟互连网络(internet),利用IP协议,使互连起来的从网络层看起来是一个统一网络,简称为IP网。

- 分类的IP地址
①什么是IP地址?
因特网是一个单一、抽象的网络,IP地址是给因特网的每台主机(或路由器)的每个接口分配的一个唯一的32位标识符,目前由ICANN(Internet Corporation for Assigned Names and Numbers)公司进行分配。
分类的IP地址:IP地址 = 网络号(net-id) + 主机号(host-id)

②ABC类IP分析
| 可指派网络数 | 指派网络号范围 | 主机号 | 占IP地址的 | |
| A |
126=2^7-2 |
[1-126] |
16777214=2^24-2 | 50% |
| B | 16383=2^14-1 | [128.1-191.255] | 65534=2^16-2 | 25% |
| C | 2097151=2^21-1 | [192.0.1-223.255.255] | 254=2^8-2 | 12.5% |
分级的作用:分配IP地址时仅分配网络号,主机号自主分配,便于管理;路由器根据网络号转发分组,不考虑主机号,减少路由表存储空间以及查找路由表的时间;
③举个栗子

- IP地址与硬件地址
物理地址:数据链路层和物理层使用的地址,放在MAC帧的首部
IP地址:网络层和其上使用的地址,为逻辑地址,放在IP数据报的首部。


2.网际协议IP
2.1网际协议IP及配套协议
与IP协议配套使用几个协议。

IP数据报的意义

-
实验:网络命令的使用
Ping是一个使用ICMP(网际控制报文)协议的程序,可以在IP主机和路由器之间传递控制消息,可以测试连通性。Windows上运行Ping会发送4个ICMP回送请求,每个32字节,如果正常的话,就会得到4个回送应答。
运行命令行cmd,进行实验
非常重要的小技巧!:命令+空格+?可以弹出命令的提示

1. 检测网络故障
①Ping 127.0.0.1:本地环回地址
本地IP会向127.0.0.1发送请求,127.0.0.1收到后会返回数据到本机,均在本地进行,相当于饶了一圈,所以称为环回地址,可以验证本地计算机是否正确安装了TCP/IP协议,配置是否正确。
TTL:Time to Live,指的是数据包最多可以经过多少路由器,每经过一次,TTL-1,当TTL为0时2路由器会丢弃。

②Ping本机IP:检查本地配置是否存在问题
③Ping其他IP:如局域网内其他IP,网关IP,远程IP等,均可检测连通性
④Ping localhost:本地主机,127.0.0.1的别名
⑤Ping www.×××.com:如有故障,则表示本地DNS的IP地址不正确,或者DNS服务器故障
2.网络状态Netstat:显示与IP.TCP,UDP,ICMP协议相关的统计数据,一般来检测本机各端口的网络连接
①关于以太网的统计数据:Netstat -e

②显示所有协议的使用状态:Netstat -s
3.IPconfig:显示当前所有的TCP/IP配置值,DHCP(刷新动态主机配置协议)和DNS(域名系统)的设置。
①给出所有接口配置:IPconfig /all
②刷新配置:IPConfig /renew,使用DHCP的客户端向DHCP重新租用IP地址(一般网卡会给一个与之前一样的IP地址)
4.ARP命令:查看本地或另一台计算机的ARP高速缓存中的内容
①arp -a:查看全部项目

5.Tracert:跟踪路由路径,也就是数据报访问目标的路线图
①直接使用Tracert,例如Tracert www.163.com访问网易服务器
6.Netstat:提供关于NetBIOS的统计数据
①NBtstat -a 另一台主机的IP地址:查看对方主机的MAC地址
2.2地址解析协议ARP
每个主机会设一个ARP高速缓存,存储的是本局域网上的各主机和路由器的IP地址到硬件地址的映射表。当主机A要向本数据网上的主机B发送IP数据报时,就先在ARP高速缓存查看有没有B的IP地址,如果有,就找出其硬件地址,写入MAC帧,通过局域网把MAC帧发往此硬件地址。
如果主机A没有主机B的IP地址,或者主机A刚通电,高速缓存为空怎么获得其他地址呢?
step1:主机A在局域网广播发送ARP请求,内容为:“我的IP地址是××,硬件地址是××,我想知道IP地址为××的主机B的硬件地址”
step2:局域网上所有主机运行的ARP进程收到此ARP请求。
step3:主机B收到后向主机A发送ARP响应分组,给出硬件地址,其他主机则忽略。
step4:主机A收到主机B的ARP响应分组后,在ARP高速缓存中写入主机B的IP地址到硬件地址的映射。
2.3IP层转发分组
IP转发分组的过程是“走一步看一步”的,例如从家里到机场,不知道该怎么走,那么每到一个路口(路由器)就问一次路,路人(路由表)会告诉你,下一步怎么走,重复这个过程直到抵达最终目的地。
分组转发具体算法如下:
①数据->路由器->从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
②路由器判断:若网络N与路由器直连,则直接交付。否则③
③查路由表:若有目的地址为D的特定主机路由,则传给它,否则④
④查路由表:若有到网络N的路由,则传送,否则⑤
⑤查路由表:若有默认路由,则传送,否则报告出错。
结合上述,路由器有几个重要特点:
①路由表记录网络,而不是主机号。每个网络有很多主机,要是记主机号,路由表就会太庞大。

②走一步,看一步,路由主要的信息是目的网络地址+下一跳地址。知道下一跳就可以前往下个路由,再根据目的网络地址查下一跳地址,直到到达最后一个路由器,再直接交付。
③优先传送特定主机路由。可以对特定的目的主机指明其路由,这样会优先传给该路由。(便于调试等)
④使用默认路由以减少路由表空间和搜索时间。当找不到目的网络时,路由器就会传给默认路由,在网络只有很少的对外连接时比较有用。


浙公网安备 33010602011771号