目录

一、数据链路层和网络层的关系

二、以太网

1、以太网格式

2、认识MTU

三、ARP协议

1、ARP协议的作用

2、ARP协议的工作流程

3、ARP数据报的格式

4、思考:浏览器中输入url后, 发生的事情(经典面试题)


一、数据链路层和网络层的关系

IP协议最大的意义是路径选择,要把数据送到哪是IP决定的,如何把目标送到指定地点是数据链路层决定的。能够直接通信的两个节点,一定是在同一个局域网内。

二、以太网

1、以太网格式

  • 以太网数据帧中的源地址和目的地址是指网卡的硬件地址(MAC地址),长度是48位,是在网卡出厂时固化的,MAC地址描述的是路途上的每一个区间的起点和终点,也就是上一个节点和下一个节点的地址。
  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP。根据这个字段就可以判断出要向上交付给哪个协议。

2、认识MTU

MTU相当于发快递时对包裹尺寸的限制,这个限制是不同的数据链路对应的物理层, 产生的限制。以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位。最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU。如果超过这个大小就要进行分片。

MTU对于TCP协议的影响:

  • TCP的一个数据报也不能无限大, 因为要尽量避免分片。受制于MTU, TCP的单个数据报的最大数据长度, 称为MSS(MaxSegment Size)。
  • TCP在建立连接的过程中, 通信双方会进行MSS协商。
  • 双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值,然后双方得知对方的MSS值之后, 选择较小的作为最终MSS。

三、ARP协议

1、ARP协议的作用

ARP不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议。

在网络通信时,源主机的应用程序如果只知道目的主机的IP地址,却不知道目的主机的硬件地址(MAC),那么就无法在数据链路层传输。因此在通讯前必须获得目的主机的硬件地址。

2、ARP协议的工作流程

  • 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”, 并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播)。
  • 目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中。
  • 为了增加效率,每个主机都会维护一张ARP缓存表,只需要通过ARP发送一次请求就可以获得目标主机的MAC地址存在缓存表中。缓存表中每个表项的生命周期为20分钟,如果20分钟没有使用过缓存表中的每个表项则会失效,下次需要重新发送请求来询问ARP地址。

3、ARP数据报的格式

  • 注意到源MAC地址、目的MAC地址在以太网首部和ARP请求中各出现一次,对于链路层为以太网的情况是多余的,但如果链路层是其它类型的网络则有可能是必要的。
  • 硬件类型指链路层网络类型,1为以太网。
  • op字段为1表示ARP请求,op字段为2表示ARP应答。

4、思考:浏览器中输入url后, 发生的事情(经典面试题)


TCP/IP协议数据链路层相关推荐

  1. 网际互联及TCP/IP 协议OSI七层模型: 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

    网际互联及TCP/IP 协议OSI七层模型: 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 物理层 作用:定义一些电器,机械,过程和规范,如集线器: PDU(协议数据单元):bit/比特 ...

  2. 《TCP/IP协议族》:数据链路层三

    1.引言 从图1-4可以看出,在TCP/IP协议族中,链路层主要有三个目的: (1)为IP模块发送和接收IP数据报: (2)为ARP模块发送ARP请求和接收ARP应答. (3)为RARP发送RARP请 ...

  3. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)

    TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...

  4. 网络协议OSI、TCP/IP协议、Socket套接字和第三方AsyncSock的使用等解析

    一.网络协议定义 1.OSI参考模型:全称(Open System Interconnection), 开放式系统互联参考模型.是一个逻辑上的定义,一个规范,它把网络协议从逻辑上分为七层,只要目的是为 ...

  5. TCP/IP协议分析

    一;前言 学习过TCP/IP协议的人多有一种感觉,这东西太抽象了,没有什么数据实例,看完不久就忘了.本文将介绍一种直观的学习方法,利用协议分析工具学习TCP/IP,在学习的过程中能直观的看到数据的具体 ...

  6. 深入TCP/IP协议1---图解OSI参考模型

    首先我们看一下OIS参考模型各个层的作用 更具体一些图下图 字符集:一个国家或一个民族用到的全部字符的集合,美国用ASCII字符集,UTF8 传输层的功能:可靠传输 .流量控制 .拥塞避免,如果出现丢 ...

  7. 网络攻城狮怎么看待TCP/IP协议与UDP协议?

    在互联网中,存在着各种不同层次的协议,它们分别的功能也是不同的.但做为网络攻城狮,对这些协议的使用以及区分是工作的必备技能.那今天以网络攻城狮的角度来告诉大家攻城狮是怎么看待TCP/IP协议与UDP协 ...

  8. OSI参考模型与TCP/IP协议的比较研究

     OSI参考模型与TCP/IP协议的比较研究  OSI参考模型与TCP/IP协议的比较研究 摘要:OSI参考模型与TCP/IP协议是网际互联中的两个重要协议体系.本文从首先分别介绍了两个协议体系的产生 ...

  9. TCP/IP协议 网络层

    IP协议介绍 1.IP协议是TCP/IP协议族中最为核心的协议.IP协议将多个包交换网络连接起来,它在源地址和目的地址之间传送一种称为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包 ...

最新文章

  1. html5导航菜单置顶,jQuery和css3顶部固定导航菜单特效插件
  2. ansible编译安装--操作系统环境Redhat6.4
  3. c++ STL:队列queue、优先队列priority queue 的使用
  4. PHP中,json汉字编码
  5. linux操作系统进程间通信IPC之共享存储映射
  6. java刷机_java非智能手机能不能通过刷机安装一个安卓智能系统
  7. java解析excel 哪个好_java解析excel
  8. 哈里斯鹰优化算法(HHO)附代码
  9. PLC 有哪几种常用编程语言
  10. SPSS统计描述分析
  11. Makerbase_ODrive常见驱动问题及解决
  12. windows 下的CACTI的安装方法
  13. 2021-09-08 网安实验-编码解码-九宫格键盘编码
  14. 关于苏宁易购的好坏与网购的心酸苦逼史,有同感的请继续顶起
  15. moment通过时间戳获取星期几
  16. PowerTool kEvP.sys=V4.2 内核拒绝服务漏洞
  17. 他是硅谷最好斗的华人 微软、谷歌、特斯拉都离不开他
  18. Spring:been的生命周期
  19. bzoj3990【SDOI2015】排序
  20. nvidia设置wifi和接口

热门文章

  1. 阿昌教你使用谷歌guava工具包---集合包
  2. 2_计算机网络_数据链路层-交换机-以太网-vlan-trunk
  3. node安装node-pre-gyp报错的解决方案
  4. 小型电子商务网站数据管理系统
  5. linux下测试远程端口
  6. 购买安防监控摄像头时如何省钱
  7. ixgbe 驱动安装
  8. C# 保存窗体为图片(保存纵断面图)
  9. ArcGIS教程:什么是ArcGIS中的报表
  10. vue 路由history模式打包部署 The requested URL * was not found on this server. 的解决方法