计算机网络 网络层

网络层

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
网络层的传输单位是数据报

功能

  • 路由选择与分组转发 (最佳路径)
  • 异构网络互连
  • 拥塞控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
数据交换方式

为什么要数据交换?
因为链路太多

三种数据交换


报文交换是串行转发思想,分组交换是并行转发思想

三种数据交换方式比较总结

1.报文交换和分组交换都采用存储转发。
2.传送数据量大,且传送时间远大于呼叫时,选择电路交换。电路交换传输时延最小。
3.从信道利用率看,报文交换和分组交换优于电路交换,其中分组交换时延更小。

数据报方式与虚电路方式

数据报方式为网络层提供无连接服务。

无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。

虚电路方式为网络层提供连接服务。

连接服务:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
一层一层的分分分
数据报(因特网在用)

无连接
每个分组携带源和目的地址
路由器根据分组的目的地址转发分组:基于路由协议/算法构建转发表;检索转发表;每个分组独立选路。

虚电路

一条源主机到目的主机类似于电路的路径(逻辑链接),路径上所有节点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息。

路由算法的分类

  • 静态路由算法(非自适应路由算法):管理员手工配置路由信息。简单、可靠,在负荷稳定、拓扑变化不大的网络中运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络。
  • 动态路由算法(自适应路由算法):路由器间彼此交换信息,按照路由算法优化出路由表项。路由更新快,适合大型网络,及时响应链路费用或网络拓扑变化。
动态路由算法
  • 全局性 链路状态路由算法 OSPF:所有路由器掌握完整的网络拓扑和链路费用信息。
  • 分散性 距离向量路由算法 RIP:路由器只掌握物理相连的邻居及链路费用。

分层次的路由选择协议

1.因特网规模很大
2.许多单位不想让外界知道自己的路由选择协议,但是还想连入因特网。

自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。
一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。

IP数据报格式

版本: Ipv4 / Ipv6
首部长度:单位是4B,最小为5(因为首部长度最小为20B)。
区分服务:指示期望获得哪种类型的服务。
总长度:首部+数据,单位是1B。(2^16-1=65535)

第三行
最大传送单元MTU(链路层数据帧可封装数据的上限)
以太网的MTU是1500字节

image.png

IP分组过长就要分片,有的分组不允许分片,那就返回ICMP差错报文
-标识:同一数据报的分片使用同一标识
-标志:共三位只有2位有意义
中间位DF(don‘t fragment)DF=1,禁止分片;DF=0,允许分片;
最低位 MF(More fragment) :MF=1,后面还有分片;MF=0,代表最后一片

片偏移(13位):指出较长分组分片后,某片在原分组中的相对位置。以8B位单位。(除了最后一个分片,每个分片长度一定是8B的整数倍)


image.png

这道例题可以看懂,那么IP数据包的分片原理就基本理解了。

对上面提到的ICMP进行讲解:
网络控制报文协议ICMP


image.png

ICMP差错报告报文(5种)
-终点不可达(无法交付):当路由器或主机不能交付数据报时就向源点发送终点不可达报文。
-源点抑制(拥塞丢数据) 暂且不考虑了。
-时间超过(TTL=0):情况一,当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。情况二,当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
-参数问题(首部字段有问题):当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向原点发送参数问题报文。
-改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应该将数据报发送给另外的路由器(可通过更好的路径)。


image.png

不应发送ICMP差错报文的情况
-对ICMP差错报告报文不再发送ICMP差错报告报文。
-对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
-对具有组播地址的数据报都不发送ICMP差错报告报文。
-对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文

ICMP询问报文
-回送请求和回答报文:主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。测试目的站是否可达以及了解其相关状态。
-时间戳请求和回答报文:请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。
-掩码地址请求和回答报文:暂时不用了。
-路由器询问和通告报文:暂时不用了。

ICMP应用

PING 测试两个主机之间的连通性,使用了ICMP回送请求和回答报文
Traceroute 跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文

你可能感兴趣的:(计算机网络 网络层)