【计算机网络】网络层和数据链路层

文章目录

  • IP协议
  • 网段划分
  • 分类划分法
  • CIDR 方案
  • 路由
  • NAT网络地址转换技术
  • IP报文的另外三个参数
  • mac帧
  • ARP协议
  • 交换机
  • ICMP
  • 代理服务器

IP协议

TCP有将数据 可靠、高效 发给对方的 策略,而IP具有发送的能力,即将数据从A主机送到B主机的 能力

用户要的是100%的概率送到!

IP地址 = 目标网络 + 目标主机

IP协议报头
在这里插入图片描述
4位首部长度:同TCP(基本单位是4字节)

8位协议:表征有效载荷是什么报文(向哪个协议交付)

8位服务类型:不同种类的传送策略 (最小延迟,最大吞吐量,最高可靠性,最小成本),四种是互斥的,只能选择一个

16位总长度(字节数):报头和有效载荷的有效分离。

8位生存时间:该报文在转发过程中,最多经历的路由器的次数

源IP和目的IP,而在TCP报文里则有源端口和目的端口,这样即标识了两个进程。

网段划分

挨个查找——一次只能排除一个人,如果能一次排除其他大部分人,查找效率才能大大提高,因此我们必须进行子网划分

国内的网络是被国内运营商顶层涉及的,而国际的网络则是各个国际商量设计。

分类划分法

A类网络第一位是0,其他网络是1

B类网络第一位是1,第二位是0,其他网络是1

依次类推…

CIDR 方案

引入子网掩码来区分网络号和主机号。使用这样的方式能更大程度的利用IP地址。

路由

通过查询路由表,决定路径选择。

NAT网络地址转换技术

NAT技术可以分为去和回两个过程。

去:不断替换IP报文中源IP地址,直到到了目标网络的入口路由器,再通过ARP协议通过IP地址获得硬件地址,实现局域网内的数据发送。
在这里插入图片描述

回:

回的时候依靠一张转换表,路由器会维护这样一张转换表,当服务器要给客户端发送消息时,会按照这个表的转换关系来替换。由于NAT技术的存在,公网无法直接访问内网(没有映射关系)。

NAT转化表:
NAT转化表:

完整转化过程:
在这里插入图片描述

IP报文的另外三个参数

16位标识:通过十六位标识来区分ip报文

3位标志:
第一位保留,
第二位置为1表示禁止分片,为0表示允许分片;
第三位表示更多分片,1表示还有报文,0表示没有报文了

13位片偏移:

1、由于IP报文携带了源IP地址,因此IP层具有区分不同客户端的能力

2、如何知道是否分片

  • 只要片偏移不是0,提取16位标识,这个标识一定分片了
  • 如果片偏移是0,看更多分片,为1则分片了,为0则没有分片了

开始报文:片偏移为0 且 更多分片为1

中间报文:偏移量>0 且 更多分片为1

结尾报文:片偏移不为0 且 更多分片为0

独立报文:片偏移为 0 且 更多分片为0

3、如何保证分片收全
头尾丢失我们知道

自身偏移 + 自身大小 = 下一分片的偏移量

4、怎么组装在一起

按照升序遍历,同问题3

5、如何保证组合在一起的报文是对的

16位校验和。

网络中,分片应尽量成为少数情况,应尽量减少这样的情况,如果其中有一片丢失,TCP收不到应答,就会一整个重新发送。也就是说过多的分片,容易增加丢包率

所以,TCP在发送数据时,也会尽量规避发送过大的报文!这也就是为什么发送缓冲区不直接发一大坨数据过去,而是有一个滑动窗口存在。

MSS(最大段尺寸):1500-20-20 = 1460;

mac帧

路由是让我们找到正确的路径,比如为什么要从路由F到路由G,那F怎么到G的,就是数据链路层考虑的问题了,即要解决从一个子网内,如何发送数据的问题。

之前我们提到了,IP层提供了将数据从A主机跨网络送到B主机的能力,其实这个能力是由mac帧和IP层共同实现的。

一张网卡有一个mac地址,这个地址全球唯一。

局域网通信原理:
在这里插入图片描述
网卡中,可以设置为混杂模式,不对报文的目标MAC地址进行认证,直接向自己上层交付

在以太局域网中,任何时刻,只能由一台主机给另一台主机发送数据帧,否则的可能会发生数据碰撞的问题,会进行碰撞检测,和碰撞避免。这里的数据也是临界资源。令牌环网本质是锁和临界资源的关系。

黑掉局域网:向局域网不断发送垃圾数据,让 其不断碰撞。

重传在数据链路层也存在。

mac帧报文:

在这里插入图片描述
目的地址为全F的时候,为广播所有的局域网主机。

ARP协议

ARP协议工作在链路层,ARP协议建立了主机 IP地址 和 MAC地址 的映射关系.

在这里插入图片描述

  • 源mac地址、目的mac地址在以太网首部和ARP请求中各出现一次,对于链路层是以太网的情况来说是多余的,其他类型网络可能是必须的
  • 硬件类型指链路层网络类型,1为以太网
  • 协议类型指要转换的地址类型,0x0800为IP地址
  • 硬件地址长度对以太网为6字节
  • 协议地址长度对于ip地址为4字节
  • op字段为1表示ARP请求,op为2表示ARP应答

任何主机收到ARP都会优先看op,

交换机

在这里插入图片描述

ICMP

ICMP隶属于网络层,他与ip的关系类似于arp和mac的关系,ICMP协议是用来验证网络是否畅通的;IP不保证可靠性,但ICMP提供了这个功能。

ping命令使用哪个端口号?ping命令基于ICMP,不存在端口号的概念

代理服务器

正向代理:
在这里插入图片描述

反向代理:
在这里插入图片描述

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

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

相关文章

医院陪诊系统:改善患者体验的技术创新

医院陪诊系统是一种创新的技术解决方案,旨在提高患者在医疗机构的整体体验。它不仅为患者提供便利,还增加了医疗机构的效率。本文将深入探讨医院陪诊系统的技术创新,包括其关键功能和实现方法。 1. 医院陪诊系统的基本功能 医院陪诊系统的…

Yolov4 学习笔记

Yolov4 学习笔记 损失函数之前损失函数存在的问题GIOUDIOUCIOU BOSSPP netCSP net SAMPAN层mish激活函数 损失函数 666666 之前损失函数存在的问题 之前公式为1-IOU IOU (交集面积) / (并集面积) 如果没有相交,分母为0,那么就无法计算 分母接近零&#…

自学WEB后端05-Node.js后端服务链接数据库redis

嘿,亲爱的小伙伴们!😄 今天我要给大家分享一个超级方便且高效的 NoSQL 类型数据库——Redis!💡 它可不是一般的关系型数据库哦,而是以键值对形式存储数据的内存数据库。📚 快跟着我一起来学习如…

运动健身行业如何线上获客?

生活水平的提高带来的是居民消费力的上升,生活方式也快速转变,随之而来的健康问题也越来越多,人们开始更加关注自己的身体健康,运动健身行业也越来越热门,平常我们较常见到的营销都是线下营销,那么运动健身…

项目04-基于Docker的Prometheus+Grafana+AlertManager的飞书监控报警平台

文章目录 一.项目介绍1.流程图2.拓扑图3.详细介绍 二.前期准备1.项目环境2.IP划分 三. 项目步骤1.ansible部署软件环境1.1 安装ansible环境1.2 建立免密通道1.3 批量部署docker 2 部署nginx、MySQL以及cadvisor、exporter节点2.1 在nginx节点服务器上面配置nginx、node_exporte…

Linux系统-Ubuntu的下载和安装

第一章 Linux系统-Ubuntu的下载和安装 1.下载Ubuntu ​ 进入https://cn.ubuntu.com/download中文官网下载iso映像文件: 2.安装Ubuntu 1.打开虚拟机,点击创建新的虚拟机: 2.选择“典型”,然后点击“下一步”: 3.选择…

YUM 升级 PHP7

文章目录 YUM 升级 PHP71. 查看当前 PHP 信息2. YUM 安装 PHP73. 查看 PHP 版本4. 启动PHP-FPM YUM 升级 PHP7 参考地址:网站地址 参考地址:网站地址 1. 查看当前 PHP 信息 # 查看 PHP 版本信息 php -v# 查看 yum 源中 PHP 信息 yum list | grep php2. …

前端开发 vs. 后端开发:编程之路的选择

文章目录 前端开发:用户界面的创造者1. HTML/CSS/JavaScript:2. 用户体验设计:3. 响应式设计:4. 前端框架: 后端开发:数据和逻辑的构建者1. 服务器端编程:2. 数据库:3. 安全性&#…

27、Flink 的SQL之SELECT (窗口函数)介绍及详细示例(3)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

STM32cubeIDE 更改Repository folder

使用STM32CubeIDE时,会调用STM32CubeMX,但是这两个软件下载的更新包都放在C:/user/目录下面,而且文件很大,用不了多久就会把C盘填满,所以刚开始安装的时候就要把更新目录更换掉。具体更换方法如下: Window…

浅谈软件测试面试一些常见的问题

一、简历及岗位匹配度 说到简历,其实这一点是很重要但又被很多职场小白忽视的问题。经常有人说我投了很多简历,但是没有公司给我打电话,怎么办? 首先,应该明白的一点:面对求职市场的激烈竞争性&#xff0…

docker系列(7) - Dockerfile

文章目录 7. Dockerfile7.1 Dockerfile介绍7.2 指令规则7.3 指令说明7.3.1 RUN命令的两种格式7.3.1 CMD命令覆盖问题7.3.2 ENTRYPOINT命令使用7.3.3 ENV的使用 7.4 构建tomcat Dockerfile案例7.4.1 准备原始文件7.4.2 编写Dockerfile7.4.3 构建镜像7.4.4 验证镜像 7.5 构建jdk基…

LeetCode 接雨水 木桶理论、dp预处理

原题链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题面: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入&#xff1a…

计算机里的神灵(SCIP)

计算机程序的构造和解释 我找到计算机里的神灵了,开心一刻 下面是从MIT官网下载的 SCIP求值器(解释器)的代码,这个官网是个宝藏库 还有其他视频课程和 SCIP的问题答案和可运行代码 链接:https://ocw.mit.edu/courses/6…

VS2022 编译protobuf , qt 使用

一、下载源码 protobuf: 同步 https://github.com/protocolbuffers/protobuf (gitee.com) 下载如v3.11.2 版本 二、下载CMake 三、编译 1、在1处选择源码目录下的cmake 目录;在2处选择一处空目录(自己随便建) 2、点击config,选择…

系统架构设计师-大数据

目录 一、大数据 1、大数据架构 2、大数据技术生态 3、Lambda架构 4、Kappa架构 5、Lambda架构与Kappa架构对比 一、大数据 1、大数据架构 大数据是指其大小或复杂性无法通过现有常用的软件工具,以合理的成本并在可接受的时限内对其进行捕获、管理和处理的数据集。…

【rhce考试时间是每年什么时候呢?】

RHCE9.0 新技术 公开课 10月11日,12日 感兴趣可留言 如果你是一个系统管理员,或者正朝着这个方向努力前进,那么你可能已经听过RHCE这个词。RHCE是Red Hat Certified Engineer的缩写,是全球公认的Linux系统工程师认证之一。通过获…

获取热门电影算法

功能#2:获取热门电影 为我们的“Netflix”项目实现“获取热门电影”功能。 我们将介绍以下内容 描述 解决方案 复杂性措施 时间复杂度 空间复杂度 描述# 现在,我们需要建立一个标准,以便将来自多个国家的顶级电影组合成一个单一的顶级电影…

postman访问新建项目报404

"status": 404 查看项目,发现启动类和代码执行部分没有在同一个包下,导致controller的访问没有注册到启动类下;

定义现代化实时数据仓库,SelectDB 全新产品形态全面发布

导读:9 月 25 日,2023 飞轮科技产品发布会在线上正式召开,本次产品发布会以 “新内核、新图景” 为主题,飞轮科技 CEO 马如悦全面解析了现代化数据仓库的演进趋势,宣布立足于多云之上的 SelectDB Cloud 云服务全面开放…