文章目录

  • 一、认识以太网
    • 1)以太网帧格式
  • 二、认识MTU
    • 1)MTU对IP协议的影响
    • 2)MTU对UDP协议的影响
    • 3)MTU对TCP协议的影响
  • 三、ARP
  • 四、一些补充
    • 1)应用层重点协议DNS

一、认识以太网

数据链路层重点协议主要是“以太网”
比如我们平时插的网线,就叫做“以太网线”

“以太网” 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了
一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等;

例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等;
以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等;

1)以太网帧格式


我们这里的目的地址和源地址都是用6个字节表示的,这个比IPv4更长,长了约6w倍。

这里的地址称为“mac”地址(也叫物理地址)
mac地址做到了,每个设备都是唯一的(每个网卡都是唯一的),这是在网卡出厂的时候就写死了

可能会有人问:“这个网卡物理地址能不能改呢?”
回答:有些网卡可以改,因为有些网卡是支持手动配置的


这里的物理地址00-EO-4C-8D-46-E6

注:一台电脑上可能会有多个网卡,这些不同网卡的物理地址也是不同的

可能会有同学问:“都有IP地址了,为啥还要物理地址?”
因为当年网络层协议和数据链路层协议是独立研发出来的,ip地址和mac地址按理来说有一套就够了。

现在的现状就是当前的mac地址和IP地址同时使用,表示不同的功能。

IP地址用来表示一次传输过程中的起点和终点

mac来表示传输过程中,任意两个相邻节点之间的地址
(一个以太网数据帧,在每次转发的过程中,源mac和目的mac都会改变)

二、认识MTU


MTU相当于发快递时对包裹尺寸的限制。这个限制是不同的数据链路对应的物理层,产生的限制(简单说就是这个范围取决于硬件设备)。比如上图的46~1500

以太网和硬件也是密切相关的,其他硬件设备,对应的数据链路层协议,可能又不一样,MTU可能也不相同。

数据链路层考虑的是相邻节点之间的数据传输
考虑这个细节的时候,就需要关注到交通工具是什么
不同的交通工具,能够搭载的数据量就不太同

1)MTU对IP协议的影响

如果数据报超过了MTU怎么办?
IP层能够分包
IP层的分包,其实不是分给IP的报头的64k准备的,更多的是为了适应数据链路层的MTU

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

2)MTU对UDP协议的影响

我们之前说过UDP数据也是有长度限制的,但是UDP其实很容易触发这里的MTU,如果UDP的包达到或超过MTU的一个范围,就会导致IP分包(一个包变成多个包,丢包概率会更高)

3)MTU对TCP协议的影响

ps:让我们再回顾一下TCP协议:
TCP的一个数据报也不能无限大,还是受制于MTU。
TCP的单个数据报的最大消息长度,称为MSS(Max Segment Size);

TCP在建立连接的过程中,通信双方会进行MSS协商。
最理想的情况下,MSS的值正好是在IP不会被分片处理的最大长度
(这个长度仍然是受制于数据链路层的MTU)。

双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值。

然后双方得知对方的MSS值之后,选择较小的作为最终MSS。

MSS的值就是在TCP首部的40字节变长选项中(kind=2);

MSS:TCP中在IP不分包的情况下,最多搭载多少载荷,这个值也取决于TCP和IP的报头(报头都是报头的)、

分包的开销还是有的,MSS对TCP起到一定的提示作用,当前传输TCP的数据长度不超过MSS的时候,是属于最高效的状态。

三、ARP

ARP报文并不是用来传输数据的,只是起到一个辅助的效果。

路由器这个的设备,在转发设备的时候,首先拿到的是一个IP地址(目的IP),通过IP地址来决定接下来这个数据怎么走(从哪个端口出,发送到哪个端口)

因此就得决定,接下来封装的以太网数据帧,目的mac是什么,需要根据ARP协议,建立起IP->mac这样的映射关系——类似hash表这样的键值对结构,但是这个表不一定是在内存里,也可能是直接在硬件中存储。

当设备启动的时候,就会向局域网中,广播ARP报文,每个设备收到之后,都会给出一个应答。
应答的信息中就包含了自己的IP和mac
发起广播的一方就可以根据这些应答,建立起这个映射表了

举个例子:我想统计每个同学的邮箱
我广播一下:“同学们把自己名字和邮箱发给我”
大家收到这个广播消息,就私信给我,然后我把这些结果整理到一张表格上。

ps:关于RARP只是在偶尔的场景中偶尔用到,我们这里不多介绍了

四、一些补充

1)应用层重点协议DNS

DNS是一个应用层协议,它起到的效果就是域名解析

由于IP地址不好记,即使变成了点分十进制,仍然对人类来说不太友好,就可以使用一串英文单词来表示这个IP地址,这串英文单词就称为域名

比如www.baidu.com这就是域名

域名和IP地址之间,是一个一一对应的关系

DNS系统,最开始的时候,只是一个普通的文件,称为host文件

现在,虽然host文件已经不再使用了(想用也还是好使的),全世界域名那么多,总不能每时每刻对这个host进行更改

于是,成立了一个专门的机构,赋值维护这里的域名和IP的对应关系,比如你要申请一个域名,就需要去和这个机构进行报备

这个机构维护一组服务器,把host文件存到这个服务器里——域名解析服务器(根域名解析服务器

你自己的电脑如果想进行域名解析,就去访问一下这个机构的服务器

那么问题就来了:全世界设备这么多,每个设备上网都要去访问这个域名解析服务器吗?域名解析服务器不会垮掉?
回答:全世界各个国家、地区、城市都有各自的网络运营商,这些网络运营商就会就近架设域名解析镜像服务器
(镜像就相当于照镜子一样,把里面的数据复刻一遍)

咱们平时上网,一般就是就近访问了我们的镜像服务器

如果有新的域名出现,或者旧的域名消亡,就让镜像服务器和根域名解析服务器定期进行同步即可

当我们的主机查询一次DNS之后,主机就会把这个查询结果缓存一定的时间(比如浏览器进行缓存),下次再访问到同一个域名的时候,就可以省略查询DNS的过程了,因为DNS域名和IP的对应关系是很少变化的。

Java ee 数据链路层重点协议 以太网相关推荐

  1. Java ee 应用层重点协议http协议

    文章目录 前言 一.HTTP是什么? 二.理解应用层协议 三.HTTP协议的工作过程 四.HTTP协议格式 4.1抓包工具的使用 4.2协议格式总结 4.2.1请求 4.2.2响应 五.HTTP请求( ...

  2. Java ee 网络层重点协议IP协议

    文章目录 一.认识IP地址 1)概念: 2)作用 3)格式 4)组成 二.IP协议报头结构: 1)4位版本:IP协议的版本号,当前只有两个取值,4和6 2)4位首部长度:表示当前IP协议报头是多长 3 ...

  3. Java EE启示录

    前言 最近的这段时间一直在学习Java EE,刚刚完成了从0到1的蜕变,所以顺便整理一下我所了解到的Java EE,给刚入门学习的新人一些头绪,而所谓"启示录",就是这个意思. 一 ...

  4. Java2Days 2012:Java EE

    Java2Days会议是东欧的主要活动,目的是介绍Java开发的最新趋势. 今年,该活动于10月25日至26日在保加利亚的索非亚举行. 我在那里,并有机会与一些SAP的同事一起品尝了一些最新的Java ...

  5. Java EE初阶---网络原理之TCP_IP

    1.网络基础 1.1 认识IP地址 概念         IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址. 作用         IP地址是IP协 ...

  6. Java ee 传输层重点协议TCP/UDP

    文章目录 前言.传输层重点协议 一TCP协议(重要) 1.1TCP协议段格式 1.2TCP原理 1.2.1确认应答机制(安全机制) 1.2.2超时重传(安全机制) 1.2.3连接管理机制(安全机制) ...

  7. 数据链路层的重点协议

    数据链路层的重点协议 在另一篇介绍 IP 协议的博客中:https://blog.csdn.net/m0_61925333/article/details/126028282?spm=1001.201 ...

  8. 计算机网络——数据链路层局域网、以太网、PPP协议和HDLC协议、链路层设备

    文章目录 前言 一.局域网简介 1.局域网的基本概念和特点 2.局域网的主要要素 3.局域网的分类与 IEEE 802 标准 4.LLC 子层和 MAC 子层 二.以太网 三.无线局域网 四.PPP ...

  9. 数据链路层协议 ——— 以太网协议

    文章目录 链路层解决的问题 以太网协议 认识以太网 以太网帧格式 认识MAC地址 对比理解MAC地址和IP地址 认识MTU MUT对IP协议的影响 MTU对UDP协议的影响 MTU对TCP协议的影响 ...

  10. TCP/IP四层模型重点协议解析

    文章目录 应用层 DNS协议 NAT NAPT 传输层协议 TCP UDP UDP协议段格式 UDP特点 基于UDP的应用层协议 ※ 经典面试题 网络层协议 IP协议 数据链路层协议 以太网 以太网帧 ...

最新文章

  1. 配置高可用的Hadoop平台
  2. 企业网络推广之下滴滴造车野心不减,“造车时代”想入局恐需技术先行
  3. Linux纯干货知识总结|面试专用
  4. 互联网公司端午节礼盒歧视指南
  5. Struts2 xml配置
  6. python操作微信电脑版_【Python】【微信】+操作电脑版微信
  7. 软件测试基本流程【车机测试】
  8. m个苹果放在n个盘子里面有多少种放法?(动态规划)
  9. 6000级石阶见证绝世爱情
  10. 用EXCEL分析《亚马逊智能产品评论》
  11. sigmoid函数和阶跃函数的Python代码比较 ← 斋藤康毅
  12. #ncbi #blast
  13. ThinkPHP5.0之PHPmailer发送邮箱(qq、163)
  14. [Ahoi2014Jsoi2014]骑士游戏(SPFA)
  15. 普洛斯2020迄今光伏发电能力增长56%,中国市场光伏装机容量增加113%
  16. 会议室预定系统客户端类似outlook提醒更新包
  17. 运维(30) NPS安装配置使用
  18. 指针p++与p+1的区别
  19. 一文深度解读音视频行业技术发展历程
  20. 第二章:HTTP与HTTPS

热门文章

  1. 如何复制他人csdn博客文章到自己博客下
  2. 厦门大学计算机学院控制系,厦门大学
  3. C语言中宏定义函数的运算优先级问题
  4. 用了这个办法解决Discuz! Database Error报错
  5. mysql查询字段最大的一条数据类型_SQL查询一个表中类别字段中Max()最大值对应的记录...
  6. Codeforces 887D - Ratings and Reality Shows
  7. odi连接oracle数据库,ODI Studio 11g 连接Essbase数据源
  8. Flutter-图表显示charts_flutter
  9. 黎曼Zeta函数,人类文明永恒的纪念
  10. 如何安装微信解决小黑块问题(一定可以使用)