计算机网络(网络层:IP协议 |数据链路层:ARP协议、以太网、MTU)

1.网络层

来自传输层的数据经过网络层封装后,就是要实现点对点的通信,在复杂的网络环境中确定一条合适的路径。

1.1IP协议

在这里插入图片描述
相关协议字段说明

  • 4位版本号:指定IP协议版本,如IPv4和IPv6。
  • 4位头部长度:表示IP头部长度是多少个32bit,4位比特位表示的最大数字是15,因此IP头部最大长度是:(15X32)/8=60字节。
  • 8位服务类型: 用来表示服务质量的,目前0-2位已经弃用,3-6位为TOS字段,分别为:最低延迟、最大吞吐、最大可靠性。
  • 16位数据报长度:表示IP首部和要发送的数据之和;大小为2^16=65536字节,即64K。
  • 16位标识:标识当前分片属于哪一个完整的上层报文,用于分片重组;原因是收到数据链路层的MTU限制,如果IP报文大于MTU的值,此时报文在数据链路层会进行分片发送。
  • 3位标志位:标识包含分片的相关信息;0位保留,1位代表是否进行分片,2位代表如果分片,是否为最后一个包。
  • 13位偏移:是分片相对于原始IP报文开始处的偏移. 其实就是在表
    示当前分片在原报文中处在哪个位置; 实际偏移的字节数是这个值 * 8 得到的. 因此, 除了最后一个报文之外, 其他报文的长度必须是8的整数倍(否则报文就不连续了)
  • 8位生存时间:数据报到达目的地的最大报文跳数. 一般是64. 每次经过一 个路由, TTL -= 1, 一直减到0还没到达;那么就丢弃了. 这个字段主要是用来防止出现路由循环。
  • 8位协议: 表示上层协议的类型
  • 16位头部校验和: 用于检测接收的数据与发送的数据是否一直,若不一致则丢弃该数据包,校验方法:发送方先将IP数据报划分成许多16位的序列,然后全部取反码计算求得总和放入校验字段;接收方接收到数据后,也将IP首部划分成16位序列,然后也全部取反计算求和得到的结果再取反若为0,则表示数据一致,否则就不一致,丢弃该数据报。
  • 32位源地址和32位目标地址: 表示发送端和接收端。
  • 选项:主要协商和描述信息(源路径,路径记录,安全级别等)

1.2网段的划分

之前提到IP地址的时候,就有提到过网段这个概念,一个IP地址是由网络号和主机号组成;其中的网络号就是不同网段之间的唯一标识,而主机号则是同一网段不同主机的唯一标识。

1.2.1 IP地址的分类

在这里插入图片描述

  • A类 0.0.0.0到127.255.255.255

  • B类 128.0.0.0到191.255.255.255

  • C类192.0.0.0到223.255.255.255

  • D类 224.0.0.0到239.255.255.255

  • E类 240.0.0.0到247.255.255.255
    在这里插入图片描述
    随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址, 导致B类地址很快就分配完了, 而A类却浪费了大量地址。
    针对这种情况,引入了子网掩码来进一步区分网络号和主机号。

  • 子网掩码:网络位全为1,主机位全部位0 。

  • 网络地址:网络位不变,主机号为0。

  • 广播地址: ,主机位全部位1。

1.2.2 子网的划分与计算

将200.200.201.0这个网络进行子网的划分,要求尽可能划分出最多的网段,但每个网段不能少于5台计算机,该子网的子网掩码是什么?
在这里插入图片描述

有个公司有5个部门,其中人事部59人,财务部16人,后勤部26,技术部48人,行政部50人,该公司使用192.168.20.0网段,请合理分配设计ip地址,使得每个部门处于一个子网中,请给出每个子网的网络地址,广播地址,和可用主机Ip的地址范围?
在这里插入图片描述

2.数据链路层

保证两个设备同一种数据链路节点之间的传递数据。

2.1以太网帧格式

在这里插入图片描述

  • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址), 长度是48位,是在网卡出厂时固化的。
  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP。
  • 帧末尾是CRC校验码。

2.2.2 对比理解MAC地址和IP地址

  • IP地址描述的是路途总体的 起点 和 终点。
  • MAC地址描述的是路途上的每一个区间的起点和终点。
  • 总的来说,MAC地址表示的是“我是谁”,标识设备用的,而IP地址则表示的是"我在哪",标识通信的起点和终点的。

2.2.3认识MTU

MTU相当于发送快递时对包裹尺寸的限制,也就是限制上层数据包的大小的。

  • 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位;
  • 最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU;
  • 如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据 包进行分片(fragmentation);
  • 不同的数据链路层标准的MTU是不同的;

2.2.3.1MTU对IP协议的影响

  • 将较大的IP包分成多个小包, 并给每个小包打上标签;
  • 每个小包IP协议头的 16位标识(id) 都是相同的;
  • 每个小包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片, 第3位来表示结束标记(当 前是否是最后一个小包, 是的话置为1,否则置为0);
  • 到达对端时再将这些小包, 会按顺序重组, 拼装到一起返回给传输层;
  • 一旦这些小包中任意一个小包丢失,接收端的重组就会失败.但是IP层不会负责重新传输数据;

2.2.3.2MTU对UDP协议的影响

  • 一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)), 那么就会在网络层分成多个IP数据报.
  • 这多个IP数据报有任意一个丢失, 都会引起接收端网络层重组失败. 那么这就意味着, 如果UDP数据报在网络层被分片,整个数据被丢失的概率就大大增加了。

2.2.3.3MTU对于TCP协议的影响

  • TCP的一个数据报也不能无限大, 还是受制于MTU. TCP的单个数据报的最大消息长度, 称为 MSS(Max SegmentSize);
  • TCP在建立连接的过程中, 通信双方会进行MSS协商.
  • 最理想的情况下,MSS的值正好是在IP不会被分片处理的最大长度(这个长度仍然是受制于数据 链路层的MTU。
  • 双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值.
  • 然后双方得知对方的MSS值之后, 选择较小的作为最终MSS.
  • MSS的值就是在TCP首部的40字节变长选项(kind=2);

2.3ARP协议

ARP协议建立了主机 IP地址 和 MAC地址 的映射关系。

  • 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;
  • 数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃;
  • 因此在通讯前必须获得目的主机的硬件地址

2.3.1ARP协议的工作流程

在这里插入图片描述

3.重要的应用层协议

3.1DNS协议

DNS是一整套从域名映射到IP的系统,全球有DNS根服务器,依次从根域服务器往下。

由于IP地址是不太方便人类记忆的,所以就引入的域名,其实就是帮IP起的别名,浏览器发起请求时,会到本地的Host文件中去找,域名对应的IP地址,如果没找到,就去它的根域服务器中找到对应的IP地址。

3.2NAT技术

NAT技术当前解决IP地址不够用的主要手段, 是路由器的一个重要功能;NAT能够将私有IP对外通信时转为全局IP. 也就是就是一种将私有IP和全局IP相互转化的技术。

3.2.1NAT IP的转化过程

在这里插入图片描述
当局域网内的客户端访问服务器时,先通过NAT技术将源IP转化成局域网的网关IP,再通过网关IP向目的主机发起通信,通信结果返回到网关再通过NAT技术将源网关IP转化成客户端的IP。

3.2.2 NATP

NATP就是IP加上Port来解决同一局域网内的客户端同时向相同的外网服务器时,IP重复的问题。
在这里插入图片描述

3.2.3NAT技术的缺陷

  • 无法从NAT外部向内部服务器建立连接;
  • 装换表的生成和销毁都需要额外开销;
  • 通信过程中一旦NAT设备异常, 即使存在热备,所有的TCP连接也都会断开;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值