网络——数据链路层

数据链路层主要是用的是以太网
在这里插入图片描述
在这里插入图片描述

ARP协议:

介于网络层与数据链路层之间的协议,建立了ip地址与Mac地址之间的转换。
在这里插入图片描述重点:缓存表中的表项存在过期时间
在这里插入图片描述

例如:唐僧取西经
在这里插入图片描述

  • HTTP:将请求进行封装
  • TCP:找到原端口与目标端口
  • IP:找到原ip与目标ip,根据路由表及目标ip找到下一跳ip。
  • ARP:根据下一条ip找到下一跳mac
  注意:一个路由器均两个网卡,源ip与目标ip必须在同一个网络内  
       根据目标ip找下一跳ip时,跨局域网,一定是下一个路由器,不可能为同一个

MTU协议

MTU相当于发快递时对包裹尺寸的限制. 这个限制是不同的数据链路对应的物理层, 产生的限制。如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片

  • MTP对IP的影响:进行分片的依据(红色框)
    在这里插入图片描述
  • 每个包IP协议头的 16位标识(id) 都是相同的;
  • 每个包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片,第3位来表示结束标记(当前是否是最后一个包, 是的话置为1, 否则置为0);
  • 到达对端时再将这些小包, 会按顺序重组,拼装到一起返回给传输层;
  • 一旦这些小包中任意一个小包丢失, 接收端的重组就会失败. 但是IP层不会负责重新传输数据

2.MTU对UDP的影响:

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

3.MTU对TCP的影响:
TCP的单个数据报的最大消息长度, 称为MSS(MaxSegment Size);
TCP的一个数据报也不能无限大, 还是受制于MTU.

  • TCP在建立连接的过程中, 通信双方会进行MSS协商.
  • 双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值.
  • 然后双方得知对方的MSS值之后, 选择较小的作为最终MSS.
  • MSS的值就是在TCP首部的40字节变长选项中(kind=2);

DNS协议(应用层):

主要是根据域名换ip,主要工作在TCP/UDP中
在这里插入图片描述

NAT协议:

私有ip与全局ip之间的转换,解决ip地址不够用的情况

  1. 全局IP要求唯一, 但是私有IP不需要; 在不同的局域网中出现相同的私有IP是完全不影响的;
  2. 在NAT路由器内部, 有一张自动生成的, 用于地址转换的表,因为公网ip只有一个,需要记住转换前的ip地址;

NAT的缺陷

  1. 无法从NAT外部向内部服务器建立连接;
  2. 装换表的生成和销毁都需要额外开销;
  3. 通信过程中一旦NAT设备异常, 即使存在热备,所有的TCP连接也都会断开

NART

局域网内, 有多个主机都访问同一个外网服务器, 那么对于服务器返回的数据中, 目的IP都是相同的.NAT路由器如何判定将这个数据包转发给哪个局域网的主机?
NAPT来解决这个问题了. 使用IP+port来建立这个关联关系

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值