数据链路层

news2024/11/28 8:22:34

文章目录

    • 数据链路层的功能
    • ARP协议
    • DNS-------域名解析(浅浅的了解一下)
    • 在浏览器中输入URL后,发生的事情(经典面试题)
    • ICMP协议
    • NAT技术
    • 代理服务器
    • 网络核心知识大总结

数据链路层的功能

对比理解网络层。
网络层 : 路由选择 和 地址管理 (选择路径)
数据链路层 : 在一个局域网中,两个相连节点之间的信息传递 (脚踏实地一步一步的走)
数据链路层的报文称为 : 数据帧

数据帧的格式:
在这里插入图片描述

MAC地址 : 网卡的硬件地址,长度是48位,6字节。在网卡出厂时就固定的。 与ip地址并不是一 一 对应的关系,
因为一台主机可以绑定多个网卡。
那么MAC地址和ip地址的区别是什么呢?
ip地址是路途总体的起点和终点。
MAC地址描述的是路途中相邻区间的起点和终点。

ARP协议

在同一个局域网内,已经知道目的IP地址,如何获得获得目的MAC地址。
在这里插入图片描述

ARP协议的主要功能是 : IP地址转化位MAC地址
RARP协议的主要功能是 : MAC地址转化为IP地址
也就是说, 我们只要懂了ARP协议的原理, RARP的原理也基本上懂了。
ARP不是一个单纯的数据链路层的协议, 而是一个在数据链路层中比交MAC帧协议稍微高的协议,因为它可以被MAC帧封装。
在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;
数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃;
因此在通讯前必须获得目的主机的硬件地址

ARP协议工作的大致流程:
在这里插入图片描述

ARP报文的协议格式
在这里插入图片描述

实际上在局域网中ARP协议的一次请求和响应

源主机发出ARP请求,询问“IP地址是IPB的主机的硬件地址是多少”, 并将这个请求广播到本地网
段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播);
目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自
己的硬件地址填写在应答包中。 如果不符合直接丢弃。
在这里插入图片描述

DNS-------域名解析(浅浅的了解一下)

DNS是一整套从域名映射到IP的系统。 是在应用层
我们在URL中输入 www.baidu.com 实际上 DNS会帮助我们解析成一个IP地址。

例如: www.baidu.com 主机名.次级域名.顶级域名.根域名
com: 一级域名. 表示这是一个企业域名. 同级的还有 “net”(网络提供商), “org”(非盈利组织) 等.
baidu: 二级域名, 公司名.
www: 主机域名

在浏览器中输入URL后,发生的事情(经典面试题)

只要知识框架够牢固 : 和面试官讲 3个小时没有问题。
在这里插入图片描述
例如在浏览器中输入 : www.baidu.com
这种是自由发挥的题目,越详细越好,并且说的越多越好。 但不能说错了。
1, 应用层会进行域名解析,通过域名获得对应的目的IP。
2, 应用层发送一个http请求, 请求的格式是: 首行,头部, 空行, 正文。
其中首行包括了请求方法,http版本,网址。
头部有: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束
3,然后向下交付给传输层, 传输层tcp通过三次握手建立链接,(还可以谈谈为什么是三次握手,当断开连接的时候的4次挥手)tcp协议保证可靠传输。其中保证可靠传输和提高传输效率的主要机制有:确认应答,超时重传,快重传,延迟应答,捎带应答,滑动窗口,拥塞窗口。 (这些机制也可以挑几个展开说说)
4,传输层向下交付给网络层,网络层ip协议主要是路由选择和地址管理。 其中ip协议受数据链路层的MTU的影响可能产生ip分片,,,其中 分片的细节可以展开谈谈,为什么会分片,如何分片,如何组装,谁来控制分片等等。
5,网络层向下交付给数据链路层,主要功能是保证局域网中相邻节点之间的通信。通过ARP协议获得目的MAC地址,如何获得ARP协议获得MAC地址也可以展开谈谈。
6,当对端主机收到请求后,经过一系列的解包到达对端的应用层,应用层返回一个http响应,其中响应分为 首行,头部,正文 。
首行: [版本号] + [状态码] + [状态码解释] (也可以详细说说状态码 和 状态码的解释)
Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束
Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中的一个Content-Length属性来标识Body的长度;
如果服务器返回了一个html页面, 那么html页面内容就是在body中
7,发送方收到http响应后,类似于经过文本分析解读就可以获得相关的网络资源了,例如收到一个html网页并显示。

ICMP协议

它是一个网络层协议,主要的功能是:
确认IP包是否成功到达目标地址
通知在发送过程中IP包被丢弃的原因
ICMP也是基于IP协议工作的. 但是它并不是传输层的功能, 因此人们仍然把它归结为网络层协议
ICMP只能搭配IPv4使用. 如果是IPv6的情况下, 需要是用ICMPv6

ping命令就是基于ICMP协议的, 在网络层。无端口号的概念。 主要是检测网络状态
而传输层才关注端口号。
面试官挖坑系列 : telnet是23端口, ssh是22端口, 那么ping是什么端口?
在这里插入图片描述

NAT技术

NAT技术当前解决IP地址不够用的主要手段, 是路由器的一个重要功能。
NAT能够将私有IP对外通信时转为全局IP。
在NAT路由器内部, 有一张自动生成的, 用于地址转换的表。 其中私有ip和被转换后的全局ip互为键值,
这样就可以当数据包返回的时候发送给局域网中要通信的那一台主机。
例如:
其中转换的ip有 : 源ip地址和目的ip地址 转换后就是 全局源ip 和 全局目的ip , 他们互为键值。
也就是通过一对可以确定另外一对。

代理服务器

代理服务器是一种应用比较广的技术
代理服务器: 客户端像代理服务器发送请求, 代理服务器将请求转发给真正要请求的服务
器; 服务器返回结果后, 代理服务器又把结果回传给客户端.
1,可以对发送请求的主机进行身份验证,
2,加速内网服务, 例如 : 负载均衡, 让主机享受服务器资源均衡。
3,可以对内网的主机请求进行筛查。

在这里插入图片描述

网络核心知识大总结

应用层的作用: 满足我们日常需求的网络程序, 都是在应用层
能够根据自己的需求, 设计应用层协议.
了解HTTP协议.
理解DNS的原理和工作流程

传输层的作用: 负责数据能够从发送端传输接收端.
理解端口号的概念.
认识UDP协议, 了解UDP协议的特点.
认识TCP协议, 理解TCP协议的可靠性. 理解TCP协议的状态转化.
掌握TCP的连接管理, 确认应答, 超时重传, 滑动窗口, 流量控制, 拥塞控制, 延迟应答, 捎带应答特性.
理解TCP面向字节流, 理解粘包问题和解决方案.
能够基于UDP实现可靠传输.
理解MTU对UDP/TCP的影响

网络层的作用: 在复杂的网络环境中确定一个合适的路径.
理解IP地址, 理解IP地址和MAC地址的区别.
理解IP协议格式.
了解网段划分方法
理解如何解决IP数目不足的问题, 掌握网段划分的两种方案. 理解私有IP和公网IP
理解网络层的IP地址路由过程. 理解一个数据包如何跨越网段到达最终目的地.
理解IP数据包分包的原因.
了解ICMP协议.
了解NAT设备的工作原理

数据链路层的作用: 两个设备(同一种数据链路节点)之间进行传递数据
以太网是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑
结构, 访问控制方式, 传输速率等;
以太网帧格式
理解mac地址
理解arp协议
理解MTU

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

飞控学习随记

常见指令 编译Arduplane程序 cd ardupilot/ ./waf plane 进入 Tools/autotest 文件夹中,启动3D flightgear ./fg_quad_view.sh 进入ArduPLane文件夹中,启动仿真 sim_vehicle.py --map --console -L KSFO(-L 选择起飞位置) 解锁…

字节女测试工程师万字总结的软件测试入门技巧

成为一个优秀的测试工程师需要具备哪些知识和经验? 针对这个问题,可以直接拆分以下三个小问题来详细说明: 1、优秀软件测试工程师的标准是什么? 2、一个合格的测试工程师需要具备哪些专业知识? 3、一个合格的测试工程…

前端vue项目部署到生产环境(包括nginx安装及配置)

一.vue3项目打包 vue3项目 使用vue-cli创建的,使用npm run build打包到dist 二.在服务器上安装nginx 1.去nginx的官网下载windows版本的nginx,下载地址:nginx: download 最好安装稳定版,下载完成后解压nginx压缩包&#xff1a…

Android Studio实现数独小游戏,休闲益智

文章目录一、项目概述二、开发环境三、详细设计3.1 界面设计3.2 逻辑设计四、运行演示一、项目概述 数独是一种逻辑解谜游戏,它规则稍复杂,解题过程富有挑战性。本次安卓数独小游戏,主页面有继续游戏、新游戏、关于和退出四个功能&#xff0…

【实训项目】教师工作量管理系统(超级详细)

目录 一、需求与分析 1. 项目概述 1.1 教师信息处理 1.2 教师工作量数据处理: 1.3 教师综合信息输出 2. 需求分析 3. 模块设计 3.1 功能模块 3.2 所有功能模块的流程图 二、设计与实现 1. 程序设计 1.1 教师工作量管理系统 1.2 登录系统 1.3 主函数…

初级算法之字符串

344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 思路一: 从中间开始向两边遍历,然后两边交换位置,最终获得字符串的反转 // class Solution {public void reverseString(char[] s) {int len s.length,siz…

二、JavaScript——Hello World

1. 创建文件 提前在本地新建好文件夹用于存储项目代码&#xff0c;再通过VSode打开指定存储代码的指定文件夹&#xff0c;并新建HelloWorld.html文件 HelloWorld.html文件新建成功之后&#xff0c;输入“&#xff01;”点击自动生成标签 自动生成的标签如下&#xff1a; <!…

02Golang执行流程简介

Golang执行流程简介Golang执行流程的分析两种流程的方式区别什么是编译什么是运行Go程序开发注意事项Golang执行流程的分析 如果是对源码编译后&#xff0c;再执行&#xff0c;go的执行流程如下 如果对源码直接执行go run源码&#xff0c;go的执行流程如下 两种流程的方式区…

副业想做自媒体可以选择什么领域,适合宝妈的三个自媒体领域推荐

大家好&#xff0c;我是蝶衣王的小编&#xff0c;今天说说自媒体可以选择的领域 在过去的两年里&#xff0c;最受欢迎的职业之一必须属于自媒体。无论是全职还是副业&#xff0c;每个人都可以这样做。许多人经常在互联网上看到&#xff0c;通过自媒体&#xff0c;月收入数千或…

【汽车电子】can报文和can database(candbc)

1.can就是controller area network&#xff0c;是面向汽车的通信协议&#xff0c;通俗来讲就是在汽车电子控制领域中的不同部分进行通信的&#xff08;传输数据&#xff09;。 2.can报文有标准帧和扩展帧两种&#xff0c;也就是can和canfd&#xff0c;canfd是can的升级版&…

vscode git拉下来后LF CRLF问题

点击这里可以更改红色报错&#xff0c; windows下默认是CRLF, 类unix下LF 若CRLF数量非常多&#xff0c;解决方法&#xff1a; vscode 1. 在设置里Eol 选\n 2. 在根路径.editorconfig 里end_of_line lf 以上都不生效 可以有两种解决方案&#xff1a; 一. 下载插件EditorCo…

linux系统中如何挂载数据盘

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 前言 作为一个开发人员&#xff0c;和服务器打交道是必不可少的&#xff0c;当然要和运维相比的话还是差点儿。 但是&#xff0c;在公司&#xff0c;作为一个程序员&#xff0c;难免会遇…

微电网优化调度|基于多目标粒子群算法的微电网优化调度【风、光、储能、柴油机、电网交互燃汽轮机】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f389;作者研究&#xff1a;&#x1f3c5;&#x1f3c5;&#x1f3c5;本科计算机专业&#xff0c;研究生电气学硕…

(十三)Vue之监测数据改变的原理

文章目录监测数据改变的原理之对象vue.set的使用监测数据改变的原理之数组Vue学习目录 上一篇&#xff1a;&#xff08;十二&#xff09;Vue之列表渲染 先看一个需求&#xff1a;使用列表渲染出一组数据&#xff0c;然后点击按钮更新其中一个信息 <!--准备好一个容器--&…

微服务中统一日志-ELK

微服务中统一日志-ELK一.简介1.介绍2.流程3.要求4.下载地址二.安装Elasticsearch1.创建文件存放目录2.进入目录3.下载4.解压5.修改配置5.1.介绍5.2.系统配置5.3修改es配置5.4启动&#xff0c;测试三.安装Kibana1.进入目录2.下载3.解压4.修改配置4.1介绍4.2修改kibana配置4.3启动…

面试八股-JVM

1.Java代码编译过程 准备过程&#xff1a;初始化插入式注解处理器解析与填充符号表过程 词法、语法分析&#xff0c;将字符流转为标记集合&#xff0c;构造抽象语法树填充符号表&#xff0c;产生符号地址和符号信息 插入式注解处理器的注解处理分析与字节码生成过程 标注检查&…

描述统计 | 学习笔记

一.导论 统计学是通过收集&#xff0c;整理&#xff0c;分析&#xff0c;描述数据等手段&#xff0c;以达到推断所测对象的本质&#xff0c;甚至预测对象未来的一门综合性科学。其目的是探索数据的内在数量规律性&#xff0c;以达到对客观事物的科学认识 统计的本业是消化数据…

java语言【#107. 七的奇倍数】(已通过)

题目描述 ​ 如果一个数既是 7 的倍数又不能被 2 整除&#xff0c;那么我们称之为七的奇倍数。 ​ 输入一个正整数 n&#xff0c;判断它是否是 7 的奇倍数。 输入 ​ 输入一个正整数 n &#xff08;0≤n≤100&#xff09; 输出 ​ 如果 n 是 7 的奇倍数 输出 YES 否则输出 NO…

校园二手市场开题报告范文

目录 一、课题意义&#xff08;包括课题的理论意义和现实意义&#xff09; &#xff08;一&#xff09;理论意义 &#xff08;二&#xff09;现实意义 二、文献综述&#xff08;包括&#xff1a;1.理论的渊源及演进过程2.国内外对本课题的研究现状和有待解决的问题3.本人对所…

适合rv1109+rv1126使用基于RKmedia的人脸和车牌识别的SDK及使用介绍说明

基于RKmedia开发的人脸识别和车牌识别SDK简介及使用 一、功能简介 SDK下载&#xff1a;https://download.csdn.net/download/DeepLearning_/87272848 人脸检测&识别 对于人脸部分&#xff0c;SDK 提供了以下能力&#xff1a; 1. 人脸检测 1.1 人脸是否带口罩判定 1.2…