计算机网络之网络层
# 引言
IP地址+mac地址可以标识全世界范围内唯一一台计算机.
IP地址找到对方主机处于哪个局域网,mac地址找到对方主机处于该网络的哪里..因为有ARP协议的存在, ARP会将ip地址转换成mac地址
(要么是局域网内一台计算机的mac地址,要么是网关的mac地址,不能也不会是在公网中的设备的mac地址)网络层(IP协议)本身没有传输包的功能,包的实际传输是委托给数据链路层(以太网中的交换机)来实现的!!
[补充:n进制转十进制]
123(n为10,8,16) --> 1*n^2 + 2*n^1 + 3*n^0 '1的后面有2位数,2的后面有1位数,3后面有0位数'
101 (n为2) --> 1*2^2 + 0*2^1 + 1*2^0 = 5
Ps: 十进制转二进展 -- 除2取余法
求二进制数 01111111 转成十进制, 有个小窍门!
01111111先加1,因为二进制逢二进一,原二进制数变成了10000000即2^7=128 所以01111111 = 2^7-1 = 127
2
3
4
5
6
7
敲黑板! 先简单了解一些网络层的专业名词...
Q: 解释下 IP地址、网段、局域网、子网、子网掩码、默认网关、ARP
参考链接: https://blog.csdn.net/qq_43450715/article/details/120031497
用自己的话笼统解释:
1> IP地址 由网络号+主机号组成.
2> 若某一网段内主机数量太多,广播域太大就会影响传播效率.所以会对IP划分子网.
eg: 192.168.1.0/27这个c类网络,网络号向主机号借了27-24=3位,即可产生2^3-2个子网;
每个子网都是一个网段(每个子网的网络号是不一样的)
3> 未划分子网时候,可以大胆的说这里网段/子网/局域网一个意思.因为只有一个网络.
划分子网后,准确点说: 一个网络 = 一个(大)网段 = 多个子网/多个(小)网段/多个局域网,
但通常为了省事,混着叫.没有做这么准确的区分..
4> IP地址与子网掩码进行与运算得到子网地址,⽤来确定⽬标主机的IP是否与源主机在同⼀个⽹络/网段内.
5> ARP协议可以将IP地址转换成MAC地址
6> 每个主机会设置默认网关表明路由器的位置.
注意哦!属于同一网段/局域网的主机可以直接进行通信,不同网段的主机要通过路由器(网关)才能通信.
也就是说局域网一般指二层设备(数据链路层的交换机)可达的网络
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# IP协议
IP协议是规定网络地址的协议,定义的地址称为IP地址.
IP协议的组成就不展开来具体阐述了.. 只需要知道IP协议里面有32位的源IP地址和32位的目的IP地址就行!!
1> 依照IP协议在网络里传输的数据,称为 'IP数据报/数据包'
2> IP数据报 = head + data
head里面放有<源IP地址>和<目标IP地址>
提一嘴: IP地址的通信 在公网里 -- 采用的是 路由协议.. (不做过多阐述,知道就行)
从网络层下来的数据到数据链路层封装成帧:
帧首部 源mac地址 目的mac地址 源IP地址 目的IP地址 IP数据报数据 帧尾部
Ps: 帧数据 = IP数据报 = IP报头 + IP数据报数据 = 源IP地址 + 目的IP地址 + IP数据报数据
2
3
4
# IP地址
先说在前面, IP地址有两大作用:
1> arp协议会把ip地址解析成mac地址;
2> 标识子网/局域网地址
# IP地址的组成
IPV4版本的IP地址占4个字节,由32位二进制数组成,通常用点分十进制数表示.每8位为一组..
IP地址 = 网络号Network + 主机号Host
Ps: 网络号标识这台计算机在哪个局域网内;主机号标识该计算机是属于局域网的哪台机器..
IP地址的范围
00000000.00000000.00000000.00000000 ==> 0.0.0.0
11111111.11111111.11111111.11111111 ==> 255.255.255.255
例如: 10101100.00010000.00001010.000000100 ==> 172.16.10.4
# IP地址的分类
2^32个IP地址将网络号和主机号固定下来后,分为了5类
拿到一个IP地址,只需要看IP地址的第一组十进制数, 就能判断IP地址是属于哪一类的!!
约定前1、2、3个8位组分别为A、B、C类IP地址的网络号!(也就约定了子网掩码) D类组播地址;E类研究地址.
这5类IP地址都以固定的二进制数开头,分别是 0、10、110、1110、11110.
网络类别 | 最大可指派的网络数 | 第一个网络号 | 最后一个网络号 | 每个网络的主机数 |
---|---|---|---|---|
A 0 | 2^7 - 2 = 126 | 1 | 126 | 2^24-2 = 16777214 |
B 10 | 2^14 - 1 = 16383 | 128.1 | 191.255 | 2^16-2 = 65534 |
C 110 | 2^21 - 1 = 2097151 | 192.0.1 | 223.255.255 | 2^8-2 = 254 |
解析: IP地址分类后,路由器仅根据目的主机所在的子网进行转发(不考虑主机号),这样可以减少路由表所占的存储空间以及查找路由表的时间!!!
1> A至C类网络支持的网络数(局域网个数)依次增多,每个局域网所含的主机数依次减少.
2> A类 127 .0.0.0和0 .0.0.0 这两个网络地址不能使用;
B类 128.0.0.0 这个网络地址不能使用;
C类 192.0.0.0 这个的网络地址不能使用;
3> 每个局域网/网段都需要减去网络地址和广播地址这两个IP地址..它两不能作为主机的IP..
4> A至C类网络中还包含的有只能在局域网内使用的私有地址...
[一些特殊的ip地址]
1> 网络地址: 网络号保留,主机号全为0 用于标识网络的
2> 广播地址: 网络号保留,主机号全为1 -- 会在该网段/子网进行广播
3> 全网广播地址(IPV4最大的地址): 255.255.255.255
会在整个网络(该网络划分的所有子网)里进行广播; 各路由器均不转发
4> 0.0.0.0(IPV4最小的地址): 指已经不是真正意义上的ip地址,不知道本机IP时,可以用它!
5> 回环地址: 数字127用于给系统做诊断用..
127.0.0.1 -- 用于本地软件环回测试 数据包到网卡了,没有往交换机走,原路返回,自己发给自己
对于每一台linux主机,都有本地回环网卡,此网卡上配置的IP地址就是127.0.0.1
相当于一台计算机即当客户端也当服务端,用于保证软件本身的开发没问题,排除网络的因素
6> 私有地址(内网地址):只能在局域网内使用!!!!! 公网上是没有这些IP地址的..
# 私有地址
IP地址 = 公网地址 + 私有地址
私有地址类别 | 所有的私有IP地址 (闭区间) | 私有网络地址 (闭区间) | 应用场景 |
---|---|---|---|
A | 10.(0~255).(0~255).(0~255) | 10.0.0.0/8 | --- --- --- |
B | 172.(16~31).(0~255).(0~255) | 172.(16~31).0.0/12 | 商用服务器集群化作业 |
C | 192.168.(0~255).(0~255) | 192.168.(0~255).0/16 | 办公室 |
Ps: 可以算嘛,172.(16~31).0.0/12 网络号位12位, 第二个8位组前4位最大为'1111',转成10进制为31
B类私有地址 -- 2^4 = 16个连续的B类网络; C类私有地址 -- 2^8 = 256个连续的C类网络..
# NAT
网关都具备NAPT功能,能够只通过一个公网IP地址就能让N台主机与外界通信.
NAPT,它相对于传统的NAT,多了端口号用于找到私有网络里的目的主机..
花钱办宽带实际上是要了一个在公网里的地址, 光猫 = 交换机 + 路由器..
方向 | 旧的IP地址和端口号 | 新的IP地址和端口号 |
---|---|---|
出 | 192.168.0.3:30000 | 172.38.1.5:40001 (公网) |
出 | 192.168.0.4:30000 | 172.38.1.5:40002 (公网) |
入 | 172.38.1.5:40001 (公网) | 192.168.0.3:30000 |
入 | 172.38.1.5:40002 (公网) | 192.168.0.4:30000 |
私有地址不同端口号相同, 表明私网内不同主机上的同一软件发起的通信,到了网关这,进行NAPT转换,使用的是同一个公网IP,但分配的是不同的端口号.. 仔细想想,这是为了一一对应..
具体来说,假设家里的两台电脑,计算机A和计算机B私有地址分别是192.168.0.3和192.168.0.4, 计算机A和计算机B上的QQ软件都要发送一个聊天信息出去, 数据包到了网关这,需要进行转换:
192.168.0.3:30000 转换成 172.38.1.5:40001
192.168.0.4:30000 转换成 172.38.1.5:40002
接着,计算机A和B上的QQ软件需要接受聊天信息, 响应的数据包根据路由器的映射表进行IP和端口的转换:
172.38.1.5:40001 转换成 192.168.0.3:30000
172.38.1.5:40002 转换成 192.168.0.4:30000
可以这样理解, 40001、40002分别代表了计算机A和计算机B,30000代表的是计算机上的QQ软件...
# 子网掩码
如何确定IP地址哪些部分是网络号呢?就要用到子网掩码!!
子网掩码(netmask): 用来标识一个ip地址的网络号个数
从左到右连续的1,连续的0. 只要属于网络号,子网掩码就标记为1;
可以简写 -- eg 172.16.10.2/24 (24代表IP地址的前24位是网络号)
单独的IP地址没有意义,要与子网掩码一起工作: IP地址 + 子网掩码 --> 标识某个局域网的位置
Ps: 即子网掩码告诉了我们IP地址的网络号..或者是通过子网掩码我们能知道网络地址(IP所处的局域网)..
通常为了方便只会说IP地址,自己要明白还有子网掩码!
# 网络地址
二进制的IP地址与二进制的子网掩码做按位与运算得到网络地址/子网地址 -- 同1为1,否则为0
例1> 求IP地址172.16.10.4/24的子网地址
10101100.00010000.00001010.00000100 ==> 172.16.10.4
11111111.11111111.11111111.00000000 ==> 255.255.255.0
10101100.00010000.00001010.00000000 ==> 172.16.10.0
例2> 求IP地址172.16.10.5/24的子网地址
10101100.00010000.00001010.00000101 ==> 172.16.10.5
11111111.11111111.11111111.00000000 ==> 255.255.255.0
10101100.00010000.00001010.00000000 ==> 172.16.10.0
2
3
4
5
6
7
8
子网地址相同,代表处于同一个LAN(局域网)中,
So, 172.16.10.4/24 与 172.16.10.5/24 是处于同一个网段/局域网.它两通信靠mac地址就行.
# 子网划分(了解)
借主机位给网络位使用,也就是子网掩码连续1的个数会增多..
通常会在内网中用私有地址进行子网划分...
# 未划分子网
172.16.10.2/16这个IP所处的网络是一个B类网络.(因为此IP是B类且子网掩码是16位,所以此网络未划分子网)
1> 在此网络里所有主机的:
子网掩码 -- 255.255.0.0
网络号 -- 172.16.
网络地址 -- 172.16.0.0 (网络号+主机号全0)
广播地址 -- 172.16.255.255 (网络号+主机号全1)
2> 此网络可用主机IP -- <172.16.0.1 ~ 172.16.255.254> 共2^(8+8)-2=65534个可用主机.
即主机地址,可分配给网络中终端设备的地址,介于网络地址与广播地址之间
3> 172.16.10.2/24 这个IP的主机号 -- 10.2
2
3
4
5
6
7
8
9
# 划分子网
划分成多个子网后, 每个子网分配一个独立的广播域, 能节约地址、缓解内网广播负担.
172.16.0.0/16 将这个B类网络地址切割成一个个小的网段/局域网.如何进行子网划分呢?
172.16.0.0/17 向主机号借一位 借的这一位称为子网位(可为 0 亦可为 1)
1> 若子网位为0:
子网地址/网络地址: 172.16.0.0/17
子网掩码: 255.255.128.0
广播地址(剩下15个主机位全为1): 172.16.127.255
主机: 172.16.0.1~172.16.127.254 共128*254个
1> 若子网位为1:
子网地址/网络地址: 172.16.128.0/17
子网掩码: 255.255.128.0
广播地址(剩下15个主机位全为1): 172.16.255.255
主机: 172.16.128.1~172.16.255.254 共(255-128+1)*254个
2
3
4
5
6
7
8
9
10
11
12
13
两个公式
1> 2^m = 向主机位借位后产生的子网个数
(m为所借位数)
Ps: 通常至少会借两位,因为划分子网后,处于头和尾的子网拿来用是没问题的,但大家约定不会用..
2> 2^n – 2 = 向主机位借位后产生的每个子网中可用主机IP数
(n为原主机位的个数减去被借位的个数后的剩余位数) 减2是因为每个子网中的网络地址和广播地址不能用
# 练习
★问: 192.168.1.64/27能否分配给PC使用?
首先可以看出是将192.168.1.0/24 这个C类网络做了一个子网划分,借了3位,变成了192.168.1.0/27, 产生了2^3 = 8个子网,同时每个子网有2^5-2=30个可用IP.
192.168.1. 000 _ _ _ _ _ 网络地址: 192.168.1.0 / 27 广播地址:192.168.1.31
192.168.1. 001 _ _ _ _ _ 192.168.1.32 / 27 63
192.168.1. 010 _ _ _ _ _ 192.168.1.64 / 27 95
192.168.1. 011 _ _ _ _ _ 192.168.1.96 / 27 127
192.168.1. 100 _ _ _ _ _ 192.168.1.128 / 27 159
… … …
以上这个方法太笨!!有聪明一点的办法.
这样思考 借了3位,那么8个子网,每个子网都有32个主机IP(不管那两个是否看可用),也就是说每个子网块的大小为32个. 所以 往后加32, 就是每个子网的网络地址; 知道了相邻子网的网络地址, 再看看广播地址的概念, 广播地址使用的是该网络范围内最大地址, 所以看下一个相邻子网的网络地址再减一就行啦!
# VLAN(了解)
# 二层隔离与三层隔离
隔离是指属于不同的局域网
二层隔离: 两台计算机接入不同的交换机
三层隔离: 子网地址不同
假设一个教室ABCD四台计算机都接入同一个交换机.
1> 那么这个教室的四台计算机在二层是连通的,但不能说这四台计算机都处于同一个局域网;
2> 若进行了子网划分,那么处于不同子网的计算机实现了三层隔离;
arp计算的时候可不会管这些计算机是否连在同一个交换机,它只管相互通信的计算机网络地址是否相同.
A: 192.168.1.1/25 B: 192.168.1.2/25 -- 子网位为0
C: 192.168.1.129/25 D: 192.168.1.130/25 -- 子网位为1
数据包的走向: 计算机A - 教室交换机 - 教室路由器 - 教室交换机 - 计算机D
3> 二层连通,三层是隔离的. 这种设计很不合理!! 因为二层连通,交换机进行广播时(交换机会在两种情况下广播),不同子网的计算机因为连在同一个交换机上都能收到!!! 一般情况下,二三层应该同时隔离!
4> 怎么实现二三层同时隔离呢?现在的交换机都支持划分多个vlan(虚拟局域网).. ,AB划分到一个vlan里,CD划分到另外一个vlan里,这样的话,第一个vlan的广播不能蔓延到第二个vlan里面!!!
192.168.1.0 这个网络地址进行子网划分,根据真实需求划分出多个子网,每个子网都支持多台主机.. 再结合交换机的vlan.. 实现二三层同时隔离.
综上:
二层连通,三层是可以隔离的,即两台计算机接入同一个交换机,不一定在同一个局域网内... 不合理;
二层隔离应该与三层隔离保持一致;
# vlan简介
参考链接:
https://www.cnblogs.com/linhaifeng/p/6710751.html
1> 带vlan的交换机的端口分为两类: (结合这两个端口可以实现跨交换机划分vlan)
Access port -- 主要用于连接电脑 这些端口会被打上VLAN Tag(交换机才能知道计算机属于哪一个vlan)
Trunk por -- 主要将交换机与交换机进行一个串连..
2> vlan的不足之一:
它最多只支持 4096 个 VLAN 网络(还要除去几个预留的), 对于大型数据中心的来说,这个数量是远远不够.
交换机做集群提升性能,防止单点故障.站在物理层面是两台交换机,站在逻辑层面是一台超级交换机.
在物理层面,一台服务器需要有两根线分别连接到这两个交换机同一个端口(eg 10号端口)..
增加性能,防止单点故障(有时间解决问题) 所以在逻辑层面端口数是没有增加的!!!
# ARP协议
[承上启下]
计算机A如何确定与计算机B是否在一个局域网内? 算IP所处的子网/网络地址.
1> 若在一个局域网内,如何通信?
通过数据链路层的学习,我们知道该用以太网协议,基于mac地址通过数据链路层的二层交换机进行广播 2> 若跨局域网,如何通信?
提一嘴,这涉及到公网的路由协议啦.(不过多深究). 但局域网到公网的过程还是需要了解的..剧透: 不管是否在一个局域网内,交换机都需要事先将ARP协议的广播包进行广播!!!
细节: 数据链路层的<数据帧>里的目的mac地址是通过ARP协议的广播包广播后得到的!!!
# IP数据包的走向
1> 通信第一步先拿到目标主机的IP地址
2> 判断出目标主机与自己(源主机)是否在同一个子网里.
○ 若在同一个子网里,数据包的走向:
源主机 ---> 本地交换机 ---> 目标主机
○ 若不在,数据包的走向:
源主机 ---> 本地交换机 ---> 本地路由器 ---> 公网(运营商的一系列的网络设备) ---> /
目标路由器 ---> 目标交换机 ---> 目标主机
Ps: 本地路由器算不算局域网里的设备?算!因为它连到了交换机上.
# ARP的广播包
源主机A IP -- 172.16.10.10/24
目标主机B IP -- 172.16.10.11/24
目标主机C IP -- 101.200.10.22/24
要晓得: 每台计算机都有自己的MAC地址、会提前设置自己的IP地址、子网掩码和默认网关的IP地址..
注意哦!每台电脑里都有个ARP缓存表(IP地址与mac地址的映射关系表),一开始的时候这个表是空的,通过大家不断广播 arp 请求,最终所有电脑里面的arp 缓存表都会更新完整...
step1: 拿到目标主机的IP与子网掩码
step2: arp协议会算出本机和目标主机的网络地址/子网地址.
step3: 判断源的子网地址与目标的子网地址是否一样.
先要明确,这里发的广播包不是真正通信的数据,而是通过ARP协议得到目标主机或网关的MAC地址.
1> A与B 处于同一个局域网, 那么 通信就是在同一个子网内通信,靠的是mac地址定位到对方在哪里.
A如何得到B的mac地址呢?
△ A发送ARP协议的广播包.
△ 交换机拿到这个广播包,看到目标MAC是FF:FF:FF:FF:FF:FF
,会将此广播包进行广播
△ 此局域网的主机会拆开广播包看目标IP是不是自己,是的话就会带上自己的mac地址回包..
这样A就能得到B的mac地址.. 主机A的ARP缓存表也得到了更新..
A再重新封装发起真正的通信..
真正的通信数据: mac(A) mac(B) IP(A) IP(B) 数据部分
2> A与C 是跨局域网传输, 那么 通信不在同一个子网内通信,靠路由器把数据包转发出去
A下一步需要得到所处局域网的默认网关的mac地址!(A是知道/设置了默认网关的IP地址的)
△ A同样会发送ARP协议的广播包.交换机拿到这个广播包同样也会进行广播.
△ 但只有路由器会响应,于是乎A拿到了局域网里网关/路由器的mac地址..
真正的通信数据: mac(A) mac(网关) IP(A) IP(C) 数据部分
数据包通过路由器到了公网,在公网中需要根据路由表hop-by-hop!!
广播包的格式如下:
源MAC | 目标MAC | 源IP | 目标IP | 数据部分 | |
---|---|---|---|---|---|
源主机A | mac A | FF:FF:FF:FF:FF:FF | 172.16.10.10/24 | B主机的IP or 网关的IP | 数据 |
Ps: FF-FF-FF-FF-FF-FF 是用于广播的mac地址 广播包的目标IP是谁,就在跟谁要mac地址
交换机只有在两种情况才把包进行广播,拆包时发现:
1> 目标mac是: FF:FF:FF:FF:FF:FF
2> 目标mac不存在于mac地址表中
为啥说IP地址不可或缺:
1> ARP协议需要. 以太网协议里的目的mac地址起初是不知道的,需要事先通过ARP协议得到.
2> 处于网络层的路由器作为一台每个端口都拥有独立的MAC地址的设备,可以把数据包做一次转发.
2
3
4
5
6
7
# 网络层整个流程
A给F发送一个数据包!
网络拓扑图中,路由器1与路由器2进行了连接..路由器1的路由表如下:
Ps:路由表是根据很多路由算法/基于ip地址的路由协议得来的,不是我们研究的范围..
| 目的地址 | 下一跳 | 端口 |
| :--------------: | :-----------: | :--: |
| 192.168.0.0/24 | | 0 |
| 192.168.1.0/24 | | 1 |
| 192.168.2.0/24 | 192.168.100.5 | |
| 192.168.100.0/24 | | 2 |
若路由器转发的数据包里目的IP地址是192.168.1.0/24这个子网里的,则通过1号端口进行转发.
若匹配到的是下一跳,则需要再次匹配路由表,找到其端口..
1> 首先根据A与F各自的IP和子网掩码与运算得到网络地址分别为 192.168.0.0, 192.168.2.0
得知AF处于不同的局域网. 于是乎A会先将数据包发给默认网关/路由器1(192.168.0.254)
再细化这一过程,主机A里是设置的有默认网关的IP地址的.
○ 主机A会通过交换机1对arp广播包进行广播..
○ 主机A拿到交换机1连接到路由器1上的那个端口的mac地址(ABAB).. 并更新主机A的arp缓存表
○ 主机A将源MAC地址(AAAA)与网关MAC地址(ABAB)封装在数据链路层头部;
将源IP地址(192.168.0.1)和目的IP地址(192.168.2.2)封装在网络层头部,然后发包..
广播包的格式: AAAA FF:FF:FF:FF:FF:FF IP(A) IP(默认网关) 数据
数据包的格式: MAC(主机A) MAC(默认网关) IP(A) IP(F) 数据部分
注意:数据包里的源IP和目的IP在整个过程是不会变的!!!
2> 交换机1拿到数据包后,拆包发现目的MAC地址是ABAB,查询MAC地址表,从对应的交换机端口将数据包转发给了路由器1.
3> 数据包到了路由器1这,拆包发现目的mac就是自己的,收下了数据包
路由器继续拆包发现目标IP地址是192.168.2.2,此IP处于192.168.2.0/24这个子网/局域网下,
路由器1查询自己的路由表,发现下一跳的地址是192.168.100.5,此IP处于192.168.100.0/24网段,
再次匹配自己的路由表,匹配到的端口为2.. arp广播后得到192.168.100.5的mac地址为D2D2 重新封装数据包.
数据包的格式: D1D1 D2D2 IP(A) IP(F) 数据部分
4> 数据包到了路由器2这,拆包发现目的mac就是自己的,收下了数据包
路由器2继续拆包,看到其目的地址是192.168.2.2,路由器2查询自己的路由表,匹配到端口号为1.
路由器2查询自己的ARP缓存表,查询到192.168.2.2对应的mac是FFFF(若ARP缓存表中没有则依旧需要arp广播).
将mac地址封装在数据链路层头部,并从1号端口把数据包发出去
数据包的格式: EFEF FFFF IP(A) IP(F) 数据部分
5> 交换机3收到了数据包,发现目的MAC地址为FFFF,查询自己的MAC地址表,将数据包从对应的交换机6号端口发了出去.
6> 数据包到了F这里,F拆包发现目的mac地址就是自己,于是收下了这个包.
可以发现发送的真正数据,数据包的源IP和目标IP是不变的!!!
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
网络层(IP协议)本身没有传输包的功能,包的实际传输是委托给数据链路层(以太网中的交换机)来实现的!!
注意哦: 源mac和目的mac每次都会更换.. mac地址表、交换机广播、路由表、ARP广播
站在不同的视角观察,得到些许规则:
[电脑视角]
首先我要知道我的 IP 以及对方的 IP
通过子网掩码判断我们是否在同一个子网
在同一个子网就通过 arp 获取对方 mac址直接扔出去
不在同一个子网就通过 arp 获取默认网关的 mac 地址直接扔出去
[交换机视角]
我收到的数据包必须有目标 MAC 地址
通过 MAC 地址表查映射关系
查到了就按照映射关系从我的指定端口发出去
查不到就所有端口都发出去
[路由器视角]
我收到的数据包必须有目标 IP 地址
通过路由表查映射关系
查到了就按照映射关系从我的指定端口发出去
查不到则返回一个路由不可达的数据包
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17