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

文章目录

  • 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.rhkb.cn/news/142900.html

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

相关文章

程序员不得不知道的排序算法-上

目录 前言 1.冒泡排序 2.选择排序 3.插入排序 4.希尔排序 5.快速排序 6.归并排序 总结 前言 今天给大家讲一下常用的排序算法 1.冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地从待排序的元素中比较相邻的两个元素&a…

vue event bus 事件总线

vue event bus 事件总线 创建 工程: H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day04\准备代码\08-事件总线-扩展 vue --version vue crea…

【C语言】文件操作(一)

前言 本篇博客讲解对文件的操作,包括打开,关闭操作。在下篇博客将讲解文件的读写。 文章目录 一、 什么是文件?1.1 用于存储数据1.2 文件类型1.3 文件名1.4 二进制文件和文本文件 二、文件的打开和关闭2.1 流和标准流2.2 文件指针2.3文件的打…

你的周末和你一起失去了价值(打工人篇)

花儿在绽放盛开之前,会在无人的清晨吸收甘露,然后赶上第一趟的朝阳,才换来路人赞许 一言指南北 选择你的职业,确认你的方向,没有方向,就无法体验时间感 如果你是打工人,那么请接着往下看 如果是…

React项目中如何实现一个简单的锚点目录定位

小册 这是我整理的学习资料,非常系统和完善,欢迎一起学习 现代JavaScript高级小册 深入浅出Dart 现代TypeScript高级小册 linwu的算法笔记📒 前言 锚点目录定位功能在长页面和文档类网站中非常常见,它可以让用户快速定位到页面中的某个…

GLTF编辑器也可以转换GLB模型

1、GLB模型介绍 GLB(GLTF Binary)是一种用于表示三维模型和场景的文件格式。GLTF是"GL Transmission Format"的缩写,是一种开放的、跨平台的标准,旨在在各种3D图形应用程序和引擎之间进行交换和共享。 GLB文件是GLTF文件…

Java之线程的详细解析一

实现多线程 简单了解多线程【理解】 是指从软件或者硬件上实现多个线程并发执行的技术。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。 并发和并行【理解】 并行:在同一时刻,有多个指令在多个CPU上同时执行…

【excel密码】如何给excel设置带有密码的只读模式

大家提起只读模式,应该都不会联想到密码,想起excel密码可能会想到打开密码或者工作表保护。今天给大家分享如何设置带有密码的只读模式。 打开excel文件,将文件进行【另存为】设置,然后停留在保存路径的界面中,我们点…

SourceTree 账号或者密码输入错误 Incorrect username or password ( access token )解决办法

修改来修改去一直解决不了,那就试试查看一下源文件记录的账号密码吧!

谷器数据参加世界制造业大会及数字化转型高峰论坛

9月20日至24日,由工业和信息化部、科技部、商务部、国务院国资委、中国工程院、安徽省人民政府等单位组织共同主办的2023世界制造业大会在合肥市滨湖国际会展中心盛大举行。谷器数据受邀出席,并同期参加”数字化转型高峰论坛”,与国家工信部相…

自定义热加载:如何不停机实现核心代码更新

文章目录 1. 常见的几种实现代码热更新的几种方式对于开发环境我们可以使用部署环境1. 使用 Arthas 的 redefine 命令来加载新的 class 文件2. 利用 URLClassLoader 动态加载3. 通过Java的Instrumentation API 也是可以实现的 2. 实现1. ClassScanner扫描目录和加载类2. 定时任…

十六,镜面IBL--预滤波环境贴图

又到了开心的公式时刻了。 先看看渲染方程 现在关注第二部分,镜面反射。 其中 这里很棘手,与输入wi和输出w0都有关系,所以,再近似 其中第一部分,就是预滤波环境贴图,形式上与前面的辐照度图很相似&#…

离线环境harbor 搭建及使用

一 摘要 本文主要介绍harbor 的安装及使用。 二 环境信息及部署图 2.1 环境信息 名称版本备注操作系统centos7.9容器docker 23.0.1harbor2.7代理nginx待补充 2.2 架构图 说明: 1.harbor 核心服务里有个nginx ,也可以用该nginx 做代理 2.proxy-ngin…

ISP图像信号处理——平场校正介绍以及C++实现

参考文章1:http://t.csdn.cn/h8TBy 参考文章2:http://t.csdn.cn/6nmsT 参考网址3:opencv平场定标 - CSDN文库 平场校正一般先用FPN(Fixed Pattern Noise)固定图像噪声校正,即暗场校正;再用PRNU(Photo Response Non Uniformity)…

自动化测试-友好的第三方库

目录 mock furl coverage deepdiff pandas jsonpath 自动化测试脚本开发中,总是会遇到各种数据处理,例如MOCK、URL处理、JSON数据处理、结果断言等,也会遇到所采用的测试框架不能满足当前需求,这些问题都需要我们自己动手解…

IP地址定位的特点

IP地址定位是一种广泛应用于网络领域的技术,它允许我们确定特定设备或用户在互联网上的位置。这项技术在很多方面都具有重要的特点,本文将深入探讨这些特点。 1.全球性覆盖: IP地址定位IP66_ip归属地在线查询_免费ip查询_ip精准定位平台具有全…

通信协议:Uart的Verilog实现(下)

4、UART接收器 UART接收器负责接收串行比特流,去除起始位和停止位,并以并行格式将数据保存到与主机数据总线相连的寄存器里。接收器无法获得发送时钟,因此尽管数据以标准比特率到达,但数据未必与接收主机内的时钟同步。同步问题可…

LaTex模板免费下载网站

LaTex模板免费下载网站 在进行文档排版时候,有时需要对不同类型文章的格式进行编辑,本博文推荐一个免费下载LaTex模板的网站。 一、网站地址 链接: LaTex模板网址:http://www.latextemplates.com/ 二、模板类型 模板类型如图2和图3所示。…

Ctfshow web入门 phpCVE篇 web311-web315 详细题解 全

CTFshow phpCVE web311 CVE-2019-11043 PHP远程代码执行漏洞复现(CVE-2019-11043)【反弹shell成功】-腾讯云开发者社区-腾讯云 (tencent.com) 漏洞描述 CVE-2019-11043 是一个远程代码执行漏洞,使用某些特定配置的 Nginx PHP-FPM 的服务…

程序开发常用在线工具汇总

菜鸟工具# https://c.runoob.com/ 编码# ASCII码# https://www.habaijian.com/ 在线转换# https://www.107000.com/T-Ascii/http://www.ab126.com/goju/1711.html Base64# 在线转换# https://www.qqxiuzi.cn/bianma/base64.htmhttp://www.mxcz.net/tools/Unicode.aspx …