计算机网络---网络层

网络层

Question

最小延时,最大吞吐量,最高可靠性,最小成本是什么?

What is Network layer

网络层的作用是在复杂的网络环境中为要发送的数据报找到一个合适的路径进行传输

网络层向上提供简单灵活,**无连接的,尽最大努力交付的数据报服务。**数据报从主机A发送到主机B的过程中,可能要经历很多节点。所谓无连接是指:数据报在传输之前不需要提前规划好整个传输路线,即不同提前建立一条从发送主机到接收主机之间的传输连接路线。(如果是有连接服务,该传输路线建立好之后,各数据报必须在这条路线上传输,经历的结点路径都是相同的)。这就保证了数据传输的简单性。当数据传输到一个节点时,根据网络中的情况再决定通往下一个节点应该走哪条路径。这就保证了数据传输的灵活性

图a就是有连接的传输,由主机A向主机B传输数据时,提前建立好一条连接:主机A->节点1->节点3->主机B。则在由A向B传输多个数据报时,均只能使用这条路线进行传输

图b是无连接的传输:当由A向B发送数据报1时,从主机A开始发现由A到节点1的网络比较空闲,就使用这条路径发送,到达节点1时,发现可以使用节点1到节点3的路径,于是就走这条路径,同理再走到主机B;当发送数据报2时,此时发现由A到节点2的网络比较空闲,就使用这条路线发送。

所谓尽最大努力交付是指:网络层只保证为数据报找到主机A到主机B的路径,使数据报能从源端到达目的端,而在发送过程中数据报出现什么问题,网络层不能保证。网络层不能保证数据报的可靠性传输,可靠性则是由网络主机的传输层来进行保证的。

**在上述中,当主机A向节点1发送数据报时,是以广播的形式进行发送的。即与主机A处于同一网络中的结点都能看到该数据报,但是最终只有结点1进行接收。**节点1会接收该数据报是因为它知道该数据报是发给它的,其他节点不接收也是因为它们知道该数据报不是发给它们的。那它们是如何判断数据报是否是发送给自己的呢?所以就要在数据包中添加相关的信息,表明该数据报是发送给谁的。这些信息怎么添加,以什么样的格式添加,就需要制定一个协议。

IP地址:用于标识网络中的唯一一台主机或路由器。路由选择:可以根据数据报的目的地址为其选择合适的传输路径。其中:主机:配有IP地址,但不进行路由选择;路由器:配有IP地址,同时进行路由选择。节点:主机和路由器的统称。

  • 4位版本号:该数据报使用的IP协议的类型,IPv4是4。注意:互相通信的两主机使用的IP协议版本必须相同

  • 4位首部字长:IP协议报头的长度。单位是32字节。实际报头的长度为:这四位表示的大小length*4B。4位最大表示的数字是15,所以报头的最大长度为:15*4=60B;而报头中至少有20个byte的固定首部字段,所以最小为20byte

  • 8位服务类型

    • 3位优先权字段(已经弃用)
    • 1位保留位:暂时不同,以后可能会用到,必须置为0
    • 4位TOS字段:最小延时,最大吞吐量,最高可靠性,最小成本
  • 16位报文总长:整个报文(报头加数据)的长度,单位是字节。当IP报文被分片之后,每一个分片中该字段的值为该分片的总长(分片的首部字段加分片的数据字段),ip数据报允许的数据报总长为2^15,但是因为数据链路层MTU的限制,帧数据低于1500字节,但是我们可以调整MTU。

  • 16标识:唯一的标识主机发送的IP报文。如果IP报文在数据链路层被分片了,那么这些分片的报文该字段都是相同的;在IP层的存储器会维持一个计数器,每产生一个数据报,计数器加1,并把计数器值赋给该标识字段(这个字段不是序号的意思,只是用来"标识")

  • flag(3位)

flag一共有三位,有一位被保留。
flag作为ip分片的表示,有两个标志字段,MF(more Fragment),MF等于1代表后面还有分片的数据包,MF等于0代表此数据包是分片的最后一个数据包,DF(dont fragment),DF等于1代表不能分片,DF等于0代表可以分片

  • 13位偏移量

偏移量代表分片后的数据报在原数据包的相对位置,一般偏移量以8个字节为单位,也就是说除了最后一个数据包,其他的数据包的大小应该是8byte的整数倍

IP报文在数据链路层被分片后,到达目的主机IP层的顺序可能就会发生变化,因此要对原IP报文进行合并就要根据上述的16位标识,3位标志,13位片偏移对原IP报文进行合并。

  • 8位生存时间TTL:数据报在网络中通过电信号或光信号进行传播时,如果光电信号减弱了,就会有集线器等设备放大信号。如果数据报在网络中进行循环式的传输,则一直到达不了目的主机,也不会消散。所以设置该字段,表示报文达到目的地址的最大报文跳数。初始一般为64(由数据报的发送源主机进行设置),当数据报经过一个路由时,TTL减1,当减为1时,还没到达目的主机。则丢弃改报文,并向发送方传递ICMP请求说明情况

  • 8位协议号:表示上层协议的类型,tcp协议还是udp协议等

  • 16位校验和:使用CRC校验,检查报文头部是否破坏,不包括数据部分,每经过一个节点,都要检验一下校验和

  • 32位源/目的IP地址:数据报的源/目的主机IP地址。在数据报的整个传输过程中,这两个字段的值是不变的

  • 选项:最多40字节

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩 瀚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值