网络层知识
转发:转发涉及分组在单一的路由器中从一条入链路到一条出链路的传送。(根据转发表)
路由选择:路由选择涉及一个网络中的所有路由器,它们经路由选择协议共同交互,以决定分组从源到目的地节点所采用的路径。
网络层能够在两台主机之间提供无连接服务和有连接服务。
网络层与运输层的有链接服务和无连接服务之间的差异:
1:网络层中是主机到主机之间的服务,运输层中是进程到进程的服务
2:有连接服务的计算机网络叫虚电路网络,无连接的计算机网络叫数据报网络。
3:运输层连接服务位于网络边缘的端系统中实现的,网络层连接服务除了在端系统中,也在位于网络核心的路由器中实现。
网络层在两台主机之间提供无连接服务和有连接服务。
一:虚电路网络,有连接服务
虚电路网络是有连接的,一条虚电路需要由(1)源和目的主机之间的路径,(2)VC号,沿着该路径的每段链路的一个号码(3)沿着该路径的每台路由器中的转发表表项
当一台路由器创建一条新的虚电路,转发表就增加了一个新表项,如果终止一条虚电路,转发表中的相应项就会被删除。
虚电路建立经过三个阶段
a :虚电路建立,建立阶段,发送运输层与网络层联系,指定接收方地址,等待网络建立虚电路。 网络层决定发送方和接收方之间的路径,即该虚电路所有分组要通过的一系列链路与路由器。
b: 数据传递,分组沿虚电路传递
c虚电路拆除,终止该虚电路,并更新该路径上的每个路由器的转发表。
二:数据报网络
数据报网络当要发送分组时,直接将目的地址加到分组中,将分组推进网络中。经路由器中的转发表转发到目的地址。
路由器根据转发表决定每次的出链路,转发表根据最长前缀匹配决定转发的出链路。
例如:路由器转发表
11111111 00000000 11110000 11110000 链路接口(出口)》0
11111111 11110000 00000000 11110000 链路接口(出口)》1
11111111 00000000 00000000 11110000 链路接口(出口)》2
11111111 11110000 00001111 11110000 链路接口(出口)》3
其他》 4
当输入一个ip地址时,32位ip地址与转发表对照,决定链路接口(出口)
路由器工作原理:
路由器组成部分:输入端口,交换结构,输出端口,路由选择处理器(路由选择处理器执行路由选择协议)。
IP协议:
网络层的三个组件:1:IP协议,2:路由选择部分(路由选择协议,RIP,OSPF,BGP),3 报告数据报中的差错和对某些网络信息请求进行响应的设施(因特网的网络层差错和信息报告的协议,即因特网控制报文协议(ICMP))。
IP数据报格式
网络层分组被称为数据报。
IP数据报有总长为20字节的首部(假设无选项),如果数据报承载一个TCP报文段,则每个(无分片的)数据报共承载了总长40字节首部(20字节的IP首部加上20字节的TCP首部),以及应用层报文。
IP数据报分片
不是所有的链路层协议都能承受相同长度的网络层分组,因此需要将IP数据报进行分片,一个链路层能承载的最大数据量叫做最大传送单元(MTU)。
IP地址(IP编址):https://www.cnblogs.com/duzhaoqi/p/7471491.html
主机与链路物理链路之间叫做接口,一台路由器可以有很多接口,IP要求每台主机和路由器接口拥有自己的IP地址。因此,一个IP地址技术上是与一个接口相关联的,而不是与包括该接口的主机或路由器相关联的。
1:接口地址和子网。如图
上面5个主机及它们所连的路由器接口左侧24比特是相同的,这6个接口也通过一个并不包含路由器的网络互连起来。该网络能够是一个以太网lan。
互连这5个主机接口和1个路由器接口的网络形成一个子网。
IP编址为这个子网分配一个地址198.150.11.0/24, 其中的/24记法,有时称为子网掩码,指示了32比特中的最左侧24比特定义了子网地址。
任何其他要连到198.150.11.0/24网络的主机都要求其地址具有198.150.11.xxx的形式。下面5个主机与路由器接口是198.150.12.0/24子网。
CIDR(无类别域间路由,Classless Inter-Domain Routing) 将子网寻址的概念一般化了,因此对于子网寻址,32比特的IP地址被划分为两部分,并且也具有点分十进制数形式a.b.c.d/x, 其中x指示了地址的第一部分中的比特数。 子网的前x比特构成了IP地址的网络部分,被称为该地址的网络前缀。一个地址的剩余32-x比特可认为是用于区分该组织内部的设备的,其中所有设备具有相同的网络前缀。
分类编址将IP地址的网络部分限制为8,16,24比特,分别被称为A,B,C类网络。 ip地址利用率低
IP广播地址地址:255.255.255.255 ,当一台主机发出一个目的地址为255.255.255.255的数据报时,该报文会交付给同一个网络中的所有主机。路由器也会有选择的向临近的子网转发该报文(不经常做)。
网络地址转换:
由于每台主机一个IP地址,IP地址将会很快使用完。于是引入NAT(网络地址转换)。
NAT路由器对外界来说相当于具有单一IP地址(相当于外网)的单一设备。 内部隐藏着该IP地址下的其它主机和内网IP,NAT路由器可以由路由器中的转换表找到家庭网络中相应的主机。NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
内网IP对外都访问不了(只有NAT能够找到)。
例如:NAT路由器主机IP为32.45.87.23 , 家庭网络有几台主机IP地址为 0.2.0.1,0.2.0.2,0.2.0.3,0.2.0.4 (这些IP是内网中重新分配的,可以分2^32个地址,但是只能同时用65536(端口数)个,不过一个家庭网络一般没有这么多),对外见不到,外面见到的IP地址都为32.45.87.23)。(NAT下面又重新分了A,B,C网络或CIDR)
现在家庭网络0.2.0.1:8888 向IP地址为45.24.80.53:4520(外网IP)的主机发送一个请求,首先 0.2.0.1:8888 通过NAT网络地址转换,将 0.2.0.1:8888转换为 32.45.87.23:9999(9999为0-65536个端口号,没有使用端口号中挑选一个),该NAT路由器的NAT转换表中添加一项 。
WAN端 | LAN端 |
32.45.87.23:6553 | xxx.xxx.xx.x:xx |
32.45.87.23:xxxx | xxx.xxx.xx.x:xx |
32.45.87.23:9999 | 0.2.0.1:8888 (内网ip及端口) |
NAT转换表
然后32.45.87.23:9999 向45.24.80.53:4520 发送请求,(45.24.80.53:4520通过自己的NAT转换,找到家庭网络中某一台主机,进行处理请求,返回给45.24.80.53:4520)。 45.24.80.53:4520 然后向 32.45.87.23:9999 返回请求内容。32.45.87.23:9999通过NAT转换表 找到发送请求的主机0.2.0.1:8888 ,将请求的内容返给0.2.0.1:8888 。
https://www.cnblogs.com/hslzju/p/5712642.html
A 类网络使用的默认子网掩码为 255.0.0.0,第一个八位组为 0-127。地址 10.52.36.11 就是一个 A 类地址。它的第一个八位组为 10,介于 1 至 126 之间(包括 1 和 126)。
B 类网络使用的默认子网掩码为 255.255.0.0,第一个八位组为 128-191。地址 172.16.52.63 就是一个 B 类地址。它的第一个八位组为 172,介于 128 至 191 之间(包括 128 和 191)。
C 类网络使用的默认子网掩码为 255.255.255.0,第一个八位组为 192-223。地址 192.168.123.132 就是一个 C 类地址。它的第一个八位组为 192,介于 192 至 223 之间(包括 192 和 223)。