计网Lesson8 - NAT技术与链路层概述

文章目录

  • NAT 技术
    • 1. 因特网的接入方式
    • 2. 公网和私网
    • 3. NAT 技术
  • 链路层
    • 1. 数据链路层概述
    • 2. 数据链路层的三个问题
      • 2.1 封装成帧
      • 2.2 透明传输
      • 2.3 差错检测



NAT 技术

1. 因特网的接入方式

接入方式

光猫将电信号转换为数字信号发送给路由器

  1. 光纤入户
    光纤入户

光纤传递的就是数字信号,不需要转换


2. 公网和私网

公网与私网

所以私网 IP 想进入公网,需要先将私网 IP 转换为公网 IP


3. NAT 技术

nat1
nat2

  • NAT 转换
    • 静态转换
      • 每个私网 IP 有个固定与之对应的公网 IP
    • 动态转换
      • 每个私网IP 在需要发送数据时进行动态申请,路由器在 IP 池里选一个分配给私网 IP
    • PAT
      • NAT 将相同主机的不同端口对应到同一公网 IP 的不同端口上
      • NAT 将不同主机也会对应到同一公网 IP 的不同端口上
      • 内部网络的所有主机均可共享一个合法外部 IP 地址实现对 Internet 的访问,从而可以最大限度地节约 IP 地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自 internet 的攻击。


链路层

1. 数据链路层概述

  • 链路是指从一个节点到相邻节点的一段物理线路(不管有线无线),而且中间没有其他交换节点
    链路
    • 集线器本身就只是一种线路连接设备,没有任何交换行为存在
    • 交换机有交换行为,所以是一个节点

数据链路

  • 信道
    • 广播信道用于局域网,也就是私网中。
    • 点对点信道用于骨干网中路由器的接受与发送。
  • 链路与数据链路的关系
    • 链路包含数据链路
    • 在数据传输的过程中,会经过多条链路,每条链路上的数据链路协议可能不同,这些协议可能包括以太网协议、局域网协议、无线协议等。这些协议都属于数据链路层的协议,它们的主要作用是在不可靠的物理链路上建立可靠的数据传输。
      • 在网络层进行互联时,物理层的协议必须相同,而数据链路层的协议可以不同。这是因为物理层的协议决定了如何在物理媒介上发送和接收数据,而数据链路层的协议则决定了如何在这些物理链路上进行可靠的数据传输。因此,即使数据链路层的协议不同,只要物理层的协议相同,数据仍然可以在网络层进行互联。这就是为什么在一个数据的传输过程中,每条链路上的协议可能会不同的原因。

2. 数据链路层的三个问题

2.1 封装成帧

  • 帧(Frame)的数据部分是从 IP 层传下来的数据包
    帧

  • 最大传输单元 MTU(Maximum Transfer Unit)

    • 每一种数据链路层协议都规定了所能传输的帧数据长度上限
    • 以太网的 MTU 为 1500 1500 1500 字节
  • 以太网V2的 MAC 帧
    以太网mac帧

    • 以太网多用于边缘网络上的主机与路由的互联。
      • 所以帧中包含了 MAC 地址,标记目标
    • 最小帧长为 64 64 64 字节,其中 MTU 最小为 46 46 46 字节。
      • 当数据不足 46 B 46B 46B 时,协议会对数据包进行填充补 0 0 0
    • 以太网帧的接收
      • 以太网帧使用曼彻斯特编码,每一个码元的正中间都一定会有一次电压的跳变,当以太网把一个 MAC 帧发完过后就不在发送其他的码元了(MAC 帧之间都是有一定间隙的),所以这样就很容易找到帧的结束位置。
      • 而 MAC 帧前含有前导码标记数据的开始
        在这里插入图片描述
  • PPP 帧
    ppp帧

    • PPP 帧的接收
      • PPP是一种点对点协议,逻辑上相连的就一台设备,因此不需要寻址。PPP 在封装方式以以太网的封装方式不同,它没有以太网帧所要求的 MAC 地址,它通过自身的协商过程实现点到点的数据传输。PPP 帧发送的是连续字节流,必须前后都添加定界符以区分不同的帧。在同一个广播域中只能有两个节点,无法加入第三个节点,所以也并不需要物理地址。

封装成帧

2.2 透明传输

  • 透明传输是指数据链路层对上层交付的数据不做任何改变,使得上层感受不到有数据链路层的存在。

    不做任何改变是指上层接收到的数据跟发送来的数据一致,而不是数据链路层不对数据做任何操作。

    • 发送方数据链路层会对数据做出操作,然后在接收方的数据链路层将操作去除,让接收方的网络层拿到的数据跟发送时的一样,对于双方网络层来说是“透明的”。
  • 面向字节的物理链路使用字节填充法实现透明传输。
    字节填充

    • 数据链路层将网络层协议封装成帧时,会在首部和尾部分别添加SOH以及EOT这两个特殊字符,接收方是根据这两个字符来确定帧首和帧尾的。
    • 如果上层协议发送过来的数据(即链路层的数据部分)包含EOT,那么接收方在解析这个帧的时候就会误以为数据已经结束1。所以,如果链路层对这种情况没有特殊处理,那么就可以理解链路层为非透明传输(因为无法传输EOT这个字符)。
    • 但是数据链路层通过对这个字符添加转移符(如果网络层数据中还存在转移符,就再添加一个转移符)的办法来使数据部分可以传输EOT字符,就实现了透明传输。
  • 面向比特的物理链路使用零比特填充法实现透明传输。 零比特传输法

    • 在 PPP 协议和 HDLC 协议中,都使用了这种方法。
      • 零比特填充法:当数据中出现连续 5 5 5 “ 1 ” “1” “1” 时,在其后面插入一个 “ 0 ” “0” “0”。接收端在接收到数据时,如果发现连续 5 5 5 “ 1 ” “1” “1”,就将其后面的 “ 0 ” “0” “0” 删除,从而还原出原来的数据。

2.3 差错检测

  • 奇偶校验
    • 对数据每次取一位进行异或,最终得到答案 1 1 1 0 0 0,代表数据中 1 1 1 的数量是奇数还是偶数,然后接收方按这个进行验证。
    • 奇偶校验只能应用于产生一个误码的情况,如果产生了多个误码,那么这种情况就不适用了。
  • 循环冗余校验(CRC):一般计算的链路层采用循环冗余校验CRC。

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

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

相关文章

python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)

经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路。 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接口测…

每日一练2023.12.9—— 矩阵A乘以B【PTA】

题目链接:L1-048 矩阵A乘以B 题目要求: 给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列,B有Rb​行、Cb​列,则只有Ca​与Rb​相等时&a…

Linux Shell 基础命令

Linux 是一个开源的操作系统,其命令行界面是它的重要组成部分。在这个界面下,Shell 是一个能够与操作系统进行交互的工具。Shell 是一种程序,它能够接收用户输入的命令,并将这些命令发送到操作系统中进行处理。 在 Linux 中&…

VINS-MONO代码解读5----vins_estimator(marginalization部分)

文章目录 0. 前言1.1 Marginalization Pipiline 1. marg factor构建1.1 变量及维度理解1.2 IMUFactor1.3 ProjectionTdFactor(ProjectionFactor)1.4 MarginalizationFactor( e p e_p ep​推导更新,FEJ解决的问题)1.4.1 先验残差的更新1.4.2 先验Jacobian的更新 2. R…

windows install git

refer: https://developers.weixin.qq.com/miniprogram/dev/devtools/wechatvcs.html https://blog.csdn.net/weixin_40228200/article/details/128451324 在使用小程序的时候,需要初始化项目,需要注册Git账号 1.在本地确认cmd没有安装Git,进入Git官网…

docker:安装mysql以及最佳实践

文章目录 1、拉取镜像2、运行容器3、进入容器方式一方式二方式三容器进入后连接mysql和在宿主机连接mysql的区别 持久化数据持久化数据最佳实践 1、拉取镜像 docker pull mysql2、运行容器 docker run -d -p 3307:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD123456 …

Botton进一步了解(点击事件)

点击事件和长按事件 监听器:专门监听控件的动作行为。只有控件发生了指定的动作,监听器才会触发开关区执行对应的代码逻辑。按钮控件有两种常用的监听器: 点击监听器:通过setOnClickListener方法设置。按钮被按住少于500ms时会触…

2023济南大学acm新生赛题解

通过答题情况的难度系数&#xff1a; 签到&#xff1a;ACI 铜牌题&#xff1a;BG 银牌题&#xff1a;EF 金牌题&#xff1a;DHJKO 赛中暂未有人通过&#xff1a;LMNP A - AB Problem 直接根据公式计算就行。 #include<stdio.h> int main(){int a,b;scanf("%…

安卓MediaRecorder(2)录制源码分析

文章目录 前言JAVA new MediaRecorder() 源码分析android_media_MediaRecorder.cpp native_init()MediaRecorder.java postEventFromNativeandroid_media_MediaRecorder.cpp native_setup() MediaRecorder 参数设置MediaRecorder.prepare 分析MediaRecorder.start 分析MediaRec…

【Angular开发】Angular在2023年之前不是很好

做一个简单介绍&#xff0c;年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【架构师酒馆】…

SSL证书更新

首先&#xff0c;我们需要理解为什么需要更新SSL证书。SSL证书的有效期通常为一年。一旦证书过期&#xff0c;浏览器会显示警告&#xff0c;提示用户该网站的SSL证书已经过期&#xff0c;这可能会导致用户对网站的信任度下降&#xff0c;甚至直接离开网站。此外&#xff0c;一些…

【Python】手把手教你用tkinter设计图书管理登录UI界面(一)

下一篇&#xff1a; 本项目将分段设计“图书管理登录UI界面”的用户登录、用户注册、用户账号找回等。主要围绕GUI标准库tkinter、以及类的继承&#xff08;重点&#xff09;来设计本项目。 首先新建一个文件夹命名为“图书管理系统项目”&#xff0c;并在其目录下新建文件夹…

【分治】最接近点对Python实现

文章目录 [toc]问题描述一维最接近点对算法Python实现 二维最接近点对算法分治算法时间复杂性Python实现 问题描述 给定平面上 n n n个点&#xff0c;找其中的一对点&#xff0c;使得在 n n n个点组成的所有点对中&#xff0c;该点对的距离最小 一维最接近点对算法 Python实…

LED透镜粘接UV胶是一种特殊的UV固化胶,用于固定和粘合LED透镜。

LED透镜粘接UV胶是一种特殊的UV固化胶&#xff0c;用于固定和粘合LED透镜。 它具有以下特点&#xff1a; 1. 高透明度&#xff1a;LED透镜粘接UV胶具有高透明度&#xff0c;可以确保光线的透过性&#xff0c;不影响LED的亮度和效果。 2. 快速固化&#xff1a;经过UV紫外线照射…

CPU、MCU、MPU、DSP、FPGA各是什么?有什么区别?

1、CPU 中央处理器&#xff0c;简称 CPU&#xff08;Central Processing Unit&#xff09;&#xff0c;中央处理器主要包括两个部分&#xff0c;即控制器、运算器&#xff0c;其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。 电子计算机三大核心部件就是CPU…

力扣257. 二叉树的所有路径(递归回溯与迭代)

题目&#xff1a; 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,null,5] 输出&#xff1a;["1->2->5","…

[陇剑杯 2021]简单日志分析

[陇剑杯 2021]简单日志分析 题目做法及思路解析&#xff08;个人分享&#xff09; 问一&#xff1a;某应用程序被攻击&#xff0c;请分析日志后作答&#xff1a; 黑客攻击的参数是______。&#xff08;如有字母请全部使用小写&#xff09;。 题目思路&#xff1a; 分析…

软件设计师——计算机网络(二)

&#x1f4d1;前言 本文主要是【计算机网络】——软件设计师——计算机网络的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1…

生成式AI赋能千行百业加速创新,2023亚马逊云科技re:Invent行业盘点

2023亚马逊云科技re:Invent全球大会已于上周圆满闭幕&#xff0c;在本次大会中&#xff0c;亚马逊云科技又为大家带来了很多功能/项目迭代更新&#xff0c;也重磅发布了很多全新的功能。今天从行业视角来盘点回顾哪些重磅发布适用于垂直行业客户&#xff0c;以及面向汽车、制造…

ChatGLM3-6B和langchain阿里云部署

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、ChatGLM3-6B部署搭建环境部署GLM3 二、Chatglm2-6blangchain部署三、Tips四、总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; …