网络协议及相关技术详解


网络设备及相关技术

集线器

集线器:集线器是工作在物理层的网络设备,发送到集线器的任何数据,都只是简单的将数据复制并转发到其他所有端口。(端口指集线器后边的物理端口)

交换机

交换机:交换机工作在数据链路层,它的内部会记录和维护一张MAC地址转换表

  • MAC地址转换表主要记录MAC地址与端口之间的映射(端口指交换机后面的物理端口);
  • 主机连接到交换机,即主机发送数据的时候,交换机可以学习并记录该主机MAC地址与端口信息;
  • 交换机接收到数据报以后,在MAC地址转换表中,通过目的MAC查找到对应的端口,则目的主机为该端口相连接的主机,只需要将数据报转发到对应端口上即可;
  • 如果使用MAC地址转换表没有找到目的主机,交换机设置数据报MAC地址为广播地址FF:FF:FF:FF:FF:FF,发送到其他所有端口,目的主机返回响应后,交换机再记录该主机MAC与端口的映射信息。

主机

发送数据报时,发送端主机都需要根据网络分层从上到下封装:
在这里插入图片描述
想要将数据报发送到目的主机,还得看源主机和目的主机是否在同一网段:

  • 源主机和目的主机在同一网段时,下一跳设备就是目的主机。
  • 源主机和目的主机不在同一网段时,源主机是不知道目的主机在哪的,此时会设置下一跳设备为网关设备。

以上两种情况,下一跳设备IP地址都可以获取到,但该设备的MAC地址(即目的MAC)可能不知道,就需要使用以下ARP寻址。

ARP协议:ARP是一个介于数据链路层和网络层之间的协议,它建立了IP地址与MAC地址的映射关系。

ARP寻址:在数据链路层,寻找下一跳设备MAC地址的过程就是ARP寻址。

ARP寻址过程:

  1. 主机和路由器中都保存了一张ARP缓存表:通过IP地址可以找到对应的MAC地址;
  2. 根据下一跳设备的IP地址,在ARP缓存表中能找到对应的MAC地址,则可以设置目的MAC地址并发送数据报;
  3. 如果找不到,则发送ARP广播数据报:目的MAC为广播地址,询问下一跳设备的MAC地址。

过程如下图所示:
在这里插入图片描述

路由器

路由器:是连接因特网中各局域网、广域网的设备。

路由器主要有两个作用:

  1. 网关:路由器作为网关,可以划分公网和局域网,某些路由器还可以将局域网划分为多个子网(不同网段);

路由器作为网关:

①划分局域网多个子网时,可以直接通过ARP寻址找到局域网任意主机。(这里的局域网就是路由器下的多个子网组成的局域网);
②划分公网和局域网时,局域网内主机发送数据报到公网主机时,需要基于NAPT协议,将局域网主机的IP地址和端口号,转换为路由器公网IP和端口号(指路由器中运行的程序的端口)。

  1. 路由:所谓路由,即在复杂的网络结构中,找出一条通往终点的路线;网络通信(网络数据传输),路由器中的路由功能,就类似于规划路线,往哪个方向行进能更快到达目的地。

DNS协议

DNS:DNS(Domain Name System)域名系统,主要实现的功能是将域名转换成IP地址的一个服务。TCP/IP中使用IP地址来确定网络上的一台主机,但是IP地址不方便记忆,且不能表达地址组织信息,于是人们发明了域名,并通过域名系统来映射域名和IP地址。

网络通信发送数据时,如果使用目的主机的域名,需要先通过域名解析查找到对应的IP地址:

  • 域名解析的过程,可以简单的理解为:发送端主机作为域名系统树形结构的一个子节点,通过域名信息,从下到上查找对应IP地址的过程。如果到根节点(根域名服务器)还找不到,即找不到该主机。
  • 域名解析使用DNS协议来传输数据。DNS协议是应用层协议,基于传输层UDP或TCP协议来实现。

NAT

NAT:NAT(Network Address Translation,网络地址转换)是将IP数据报头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公网IP地址代表较多的私网IP地址的方式,将有助于减缓可用IP地址空间的枯竭。

NAT IP转换过程
在这里插入图片描述

  • NAT路由器将源IP:10.0.0.10替换称全局IP:202.244.174.37;
  • NAT路由器收到外部的数据时,又会把目标IP从202.244.174.37替换回10.0.0.10;
  • 在NAT路由器内部,有一张自动生成的,用于地址转换的表;
  • 当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系。

NAT的优点

  • 在为内部网络主机提供了“隐私”保护的前提下,实现了内部网络的主机通过该功能访问外部网络的资源。

缺点

  1. 由于需要对数据报文进行IP地址的转换,涉及IP地址的数据报报文的报头不能被加密;
  2. 网络调试变得更加困难。比如,某一台内部网络的主机试图攻击其它网络,则很难指出究竟哪一台主机是恶意的,因为主机的IP地址被屏蔽了。

NAPT

在局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的IP都是相同的,NAT路由器如何判定将这个数据包转发给哪个局域网的主机?

NAPT:网络地址端口转换NAPT(Network Address Port Translation),NAPT与NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP 端口号。
在这里插入图片描述

数据链路层重点知识

以太网

以太网:以太网协议,用于实现链路层的数据传输和地址封装(MAC),以太网是局域网使用最广泛的协议。

以太网帧格式
在这里插入图片描述

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

MTU

MTU:MTU(Maximum Transmission Unit,最大传输单元),MTU由TCP/IP协议栈中的IP协议定义,网络层的IP将MTU设置为1500字节。就是IP规定每一个单独的数据包大小,在网络层时不能超过1500字节。

MTU对IP协议的影响

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

MTU对UDP协议的影响

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

MTU对于TCP协议的影响

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

ARP协议

ARP协议:ARP协议建立了主机 IP地址 和 MAC地址 的映射关系,ARP不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议。


总结

以上就是今天要讲的内容,本问主要讲述了网络中的各种协议和技术,如果你觉得有收获的话,就留下你的👍吧!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

怎样让大排不硬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值