Linux_以太网

网络接口层

包括数据链路层和物理层。用于两个设备(同一种数据链路节点)之间进行传递。

以太网

以太网不是一种具体的网络,而是一种技术标准,既包含了数据链路层的内容,也包含了一些物理层的内容。规定了网络拓扑结构、访问控制方式、传输速率等,以太网中的网线必须使用双绞线,传输速率有10M、100M、1000M等,以太网是当前应用最广泛的局域网技术,和以太网并列的还有令牌环网,无线局域网等。

以太网帧格式

目的地址:48位,目标主机网卡地址(MAC地址)
源地址:48位,源主机网卡地址(MAC地址)
类型:16位,包括IP(0X0800)、ARP(0X0806)、RARP(0X0835)。
数据:若类型为IP,则数据46-1500字节
CRC:32位,校验码

在这里插入图片描述
MAC地址

MAC地址用来识别数据链路层中相连的节点,长度为48位,6个字节。用16进制数字加上冒号的形式来表示,在网卡出厂时就确定了,不能修改。mac地址通常是唯一的。

注意:IP地址是总体的起点与终点,MAC地址是每个区间的起点与终点,即直连设备。

最大传输单元MTU

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

ARP协议

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

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

工作流程

  • 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播)
  • 目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中
  • 每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间,如果规定时间内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址

ARP数据报格式

在这里插入图片描述
DNS

DNS是一整套从域名映射到IP的系统。应用层协议。

NAT技术

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

NAPT

如果局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的IP都是相同的,那么NAT路由器判定将这个数据包转发给哪个局域网的主机,就需要用到NAPT技术,使用IP+Port来建立关联。这种关联关系也是由NAT路由器自动维护的,如在TCP的情况下,建立连接时,就会生成这个表项,在断开连接后,就会删除这个表项。

NAT技术缺陷

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

NAT和代理服务器

路由器往往都具备NAT设备的功能,通过NAT设备进行中转,完成子网设备和其他子网设备的通信过程。代理服务器看起来和NAT设备有一点像,客户端向代理服务器发送请求,代理服务器将请求转发给真正要请求的服务器,服务器返回结果后,代理服务器又把结果回传给客户端。多用于翻墙(广域网中的代理)、负载均衡(局域网中的代理)。但是,又有区别:

  • 从应用上讲,NAT设备是网络基础设备之一,解决的是IP不足的问题。代理服务器则是更贴近具体应用,比如通过代理服务器进行翻墙。
  • 从底层实现上讲,NAT是工作在网络层,直接对IP地址进行替换。代理服务器往往工作在应用层。
  • 从使用范围上讲,NAT一般在局域网的出口部署。代理服务器可以在局域网做,也可以在广域网做,也可以跨网。
  • 从部署位置上看,NAT一般集成在防火墙、路由器等硬件设备上。代理服务器则是一个软件程序,需要部署在服务器上。
发布了72 篇原创文章 · 获赞 25 · 访问量 7300

猜你喜欢

转载自blog.csdn.net/qq_41245381/article/details/104343264