计算机网络-网络层,运输层,应用层
网络层/网际层
网络层的主要任务包括:
- 提供逻辑上的端到端通信:网络层负责确定数据的传输路径,使数据能够从源主机传输到目标主机,即实现端到端的通信。
- 数据包的路由和转发:网络层根据目标主机的地址信息,选择最佳的路径进行数据包的转发和路由,确保数据能够正确到达目标主机。
- 提供逻辑地址的分配和识别:网络层使用逻辑地址(如 IP 地址)来标识网络中的主机和设备,以便于数据包的传输和定位。
要知道,如果只在局域网内通信,是用不上网络层的,即网络层就是为了在多局域网即实现广域网中通信;
网络层基本概述
已经基本过时了,现在使用的是
无连接的数据报服务
IPv4
很基础就不说了
IPv4地址可以分为三类:A类、B类和C类,每类地址范围不同,用于满足不同规模的网络需求。
- A类地址:A类地址是用于大型网络的,其第一个字节的最高位是0,范围是1.0.0.0至126.0.0.0。A类地址的前8位用于网络号,剩余的24位用于主机号。A类地址共有2^7 个网络,每个网络可分配2^24-2个主机,减去2是因为全0和全1分别表示网络地址和广播地址,不能用于分配给主机。
- B类地址:B类地址是用于中型网络的,其第一个字节的最高位是10,范围是128.0.0.0至191.255.0.0。B类地址的前16位用于网络号,剩余的16位用于主机号。B类地址共有2^14 个网络,每个网络可分配2^16-2个主机。
- C类地址:C类地址是用于小型网络的,其第一个字节的最高位是110,范围是192.0.0.0至223.255.255.0。C类地址的前24位用于网络号,剩余的8位用于主机号。C类地址共有2^21 个网络,每个网络可分配2^8-2个主机。
测试题:
0是保留网络号,不指派
127是本地回环测试,不指派
一些不按规矩来的:
上边的是一些特殊情况
网络分配(有分类编址)
路由器是有ip地址的,并且可以分割网络
这道题中,每个路由器的接口就是一个网络,并按照主机数量+1(路由器ip)来分配合适的ipv4地址
子网掩码
子网掩码用于指示 IP 地址中哪部分是网络标识,哪部分是主机标识。它与 IP 地址一起使用,用于划分网络中的子网,以便更有效地管理和分配 IP 地址。
具体来说,子网掩码中的“1”表示对应的位是网络标识,而“0”表示对应的位是主机标识。通过将子网掩码应用到 IP 地址上,可以确定 IP 地址的网络部分和主机部分,从而确定其所在的子网。
其实就按字面意思,子网那么就是将ip地址划分,掩码就是说只显示网络号是几位,主机号是几位,而不直接说明ip地址是什么。
举个例子:
即通过子网掩码看出从网络地址借了一位,即处在这个子网下的ip地址的网络号只有7位二进制了,因为第一位被拿走充当了网络地址;
再举个生活中的例子,公司申请了一个B类地址,共6万多个ipv4,但是只使用了一小部分,还有很多用不到,为了不浪费,决定贡献出一部分到其他公司,那网络如何知道哪一部分贡献了呢?就根据子网掩码知道;
基本已经懂了,再看一道例题:
被划分为了两个子网
易错点!!!
当使用子网掩码重新划分子网后连带着广播地址和网络地址都会发生改变,比若说:主机号是真的划分给子网号了,而不是假设
多说一个概念:
ABC类地址默认子网掩码就是没有子网号,即没有借位
CIDR(无分类编址)
还是很容易理解的(感觉比划分ABC类网好用的多,如果这个早点研发,可能就不需要ABC类划分子网了)
需要知道这个和有分类编址完全不同了!!,ABC类地址在这里已经不能用了!!!
例题:
超网概念
方法就5个字:找共同前缀
地址应用规划
定长子网掩码
只能把子网掩码等分,造成有的用的多,有的用的少,甚至有的没用上,浪费掉了;
变长子网掩码
按需分配,即 2的n-1次方<每个分配的数量<=2n次方;
IP数据报转发和发送
要点较多:
几个:默认网关的值是路由器接口的ip地址,广播是不能穿过路由器到达其他网络的;
4.4 IP数据报的发送和转发过程_哔哩哔哩_bilibili
说点简单的,默认左右两侧的网络不属于同一子网内
则可以看图知道路由表左侧接口目的网络地址为192.168.0.0,右侧接口目的网络地址为192.168.0.128
(使用ip地址与掩码相与得到的)
A若与D通信路由器怎么判断,D在左还是在右,就是使用D的ip地址与子网掩码相与(只有当两个操作数的对应位都为 1 时,结果才会为 1;否则结果为 0),能很明显判断出来,结果为192.168.0.128;等于右边的目的网络,所以D应该在右侧接口。
写一道题:
静态路由配置
没什么好说的,视频和截图很详细;
出现问题:
配置错误
配置错误导致一直兜圈会有TTL字段,即多次转发还不行,直接丢弃;
聚合路由过多导致错误
右上角设置的聚合路由,包含了4个ip地址,但是真实的是只用到了其中两个ip,如果刚好查找的是另外两个不存在的ip,会出现一直找不到的情况,这时候可以设置路由条目将对应路由下一条设为null;
网络故障
和上边的比较像,都是有模糊路由,但找不到对应的最后的目的网络,都以黑洞路由来处理;
上边的都是以静态路由来分析的(因为简单)
但实际开发中其实动态的使用更多
动态路由设置
路由选择协议
协议分为内部和外部,因为距离不同,所需要的处理规则也会不同
最常考的应该是RIP协议和OSPF协议
路由信息协议RIP(重点)
要点:怎么交换路由表(很有意思)
示例:
把C的路由表复制过来,先记住一个要点(复制过来的是新表,自己的是旧表)。
第一步:下一跳全部写为C,距离全部增加1;理由:因为D和C相邻,这些节点,通过C直接到达和通过D到C再直接到达,就多了第一跳;
然后两个表进行对比,右侧四个更新规则,应该都能看懂,只有第一条规则,当下一跳都是C时,并不是取最短的,因为路由表是和C互换的,C是当事人,C的就肯定是最新和正确的,即使更长,也是正确的,因为C是当事人。
这个是无法完全解决的,只能减少;
真题:(发现这种题都好坑人,"真"做题,哎);
需要看到”均以收敛“,不然会没有思路,意思是所有能走的路径都保存好了,但是下边又说不可达,则说明是直连的,并且是该网络出现故障。只有这种情况,所以为16,然后更新给R2,R2一看不行了,直接删掉了,但是R1又传过来是2,结果就更新成2+1=3了…
开放最短路径优先OSPF基本原理(重点)
这是内部路由的另一种方式
边界网关协议BGP
所以到底是怎么找到较好路由呢?
其实就是每个自治系统找出一个BGP发言人,用它来代表这个自治系统
其实BGP内容还有和多,但不需要掌握,就不说了;
IPv4数据报的首部格式
一一介绍:
版本即ipv4
首部长度就是上边图片中使用的长度,在20到60之间,总长度是整个ip数据报的长度,那么数据载荷长度=总-首;
(ps:总长度是有限制的<最大传输单元MTU)
但是若总长大于MTU怎么办?就需要分片了,分片后如何知道这两片其实是一个ip数据报?就需要标识了
注意:片偏移只能为整数,即分给分片的字节必须能被8整除!!!
简单总结:标识可以知道哪些分片是同一个数据报,标志可以知道在这个分片后是否还有分片,片偏移可以知道这个分片在数据报中的位置;
生存时间字段TTL作用:防止进入路由环路中导致永久兜圈,时间会不断减少,为0时丢弃;
协议字段:规定是何种路由协议(可能是内部,外部的各种协议)
首部检验和
检验是否出现差错
(ipv6不再检验首部校验和,所以转发速度更快)
重点:源ip地址,目的ip地址
考点:
知道了前边说的,这道题目就很简单了,错误点是注意片偏移必须是整数;
科目聚合题:有计组和计网
)
记住:以太网帧中前14字节为
之后才为ip数据报部分
所以目的ip地址为第31字节起的四个字节;
默认网关是路由器的接口ip地址,即mac地址
第四问较为基础;
网际控制报文协议ICMP
内容总结
内容较多,最好还是看视频学习
ICMP(Internet Control Message Protocol)是用于在 IP 网络上发送控制消息的协议,常用于网络故障诊断和错误报告。
- ICMP 的作用和功能:用于在 IP 网络上发送控制消息,包括错误报告、网络故障诊断、网络可达性测试等。
- ICMP 报文格式:ICMP 报文由报头和数据字段组成,报头包含类型、代码和校验和等字段。
- ICMP 消息类型:包括回显请求和回显应答、目的不可达、超时等。
- Ping 命令原理:Ping 使用 ICMP 协议发送回显请求并等待回显应答,以测试主机之间的网络连通性和延迟。
- ICMP 工具的使用:掌握常用的 ICMP 工具,如 ping、traceroute、icmpinfo 等,以及它们的基本用法和参数含义。
- ICMP 错误消息:了解 ICMP 报文中的错误类型和代码,如目的不可达、超时等,以及它们代表的含义和可能的原因。
- ICMP 攻击与防御:了解 ICMP 协议可能存在的安全风险,如 ICMP 洪水攻击等,以及相应的防御措施。
(不用知道这么详细的)
虚拟专用网VPN
路由器的正常转发是将数据包直接从一个设备转发到另一个设备,而 VPN 则提供了一种安全的方式,在不安全的网络上建立加密的通信通道,保护你的数据安全。VPN 通常用于需要对数据安全性有较高要求的场景,如远程办公、远程访问公司资源等。
网络地址转换NAT
其实就是套娃,以前是一个设备一个ip地址,现在不够用了,成一群设备共用一个ip地址,当这群设备中的设备访问因特网时,从全球ip地址库中单独分配一个临时ip地址给设备,所以才会出现ip地址不固定一直改变;因为本地的都是私有ip地址,并不是真正的;
是的这个有一个巨大的缺点,那就是如果专用网设备都在同时访问因特网,那就得给各个设备分不同的ip地址,那么这个技术就没有意义了,并达不到节省ip的意义,所以出现了升级版
NAPT技术
我们之前的讨论并没有引入端口技术,即认为一个ip就只能当做一个用;
但实际不一样,是有端口的,引入端口是让nat的下层设备在经过路由器时分配的只是一个公有ip的一个端口,这样就可以让多个设备使用一个ip的多个端口访问因特网,达到了节省ip的目的(资本家都没有这么黑心);
一个问题:因特网能主动访问私有网么?答案是否定的;
运输层
知道运输层是端到端(端口到端口)就容易理解多了;
既然是端到端,我们先知道端口是什么:
端口
端口是用来区分不同应用程序或服务的通信终点。在一个设备上,不同的应用程序可以同时运行并与网络进行通信,每个应用程序都会被分配一个唯一的端口号,用于标识该应用程序的通信终点。这样可以确保网络上的数据正确地被传递到相应的应用程序,从而实现了应用程序之间的隔离和通信的有效管理。
大白话:电脑上不可能只接收一个设备发来的信息,为了整理和统一,端口应运而生,不同的网络信息,都要经过端口的分类传到对应的端口,比如qq消息,对方把消息传过来假设qq消息对应端口是8088,那么设备会自动把收到的发给8088端口的信息挑出来,这样就从繁杂的网络信息中找到了对应的;所以,电脑上一个端口只能有一个程序,不过很多应用都是可以改默认端口的;
复用和分用概念
在上边的ip头文件格式提到过协议不同对应数字不同;
有些固定端口已经设置好了固定的协议,比如tcp的80,当客户端(如浏览器)向服务器发起HTTP请求时,通常会使用TCP协议通过80端口与服务器建立连接,并发送HTTP请求报文。服务器收到请求后,会处理请求并发送HTTP响应报文给客户端,完成一次HTTP通信。
重点是两个运输协议TCP和UDP
TCP和UDP对比
什么意思呢,就是面向报文直接不用过多处理就给接收方了
面向字节会最后对数据进行加工:有很多过程,引出很多算法
首部比较,UDP首部较简单既是缺点也是优点,缺点是无法进行诸如流量控制,拥塞控制等功能,优点就是传输快;
TCP流量控制
假设TCP单次发送最大段为100,则只要发100,服务端都会发送序号表示自己收到了;
当客户端收到服务端的确认段后会移动到对应的窗口值;
这个过程中,右侧服务端使用了三次流量控制从400调为300又调为0
TCP拥塞控制
最后的快恢复是第一种策略,第二种策略应该是从15的地方开始拥塞避免
超时重传时间的选择
较复杂应该不会考,应该是考研必看的大题l
TCP报文段首部格式
和ip首部有点像
源端口和目的端口就不说了
TCP报文段的确认号(Acknowledgment Number)和序号(Sequence Number)是TCP协议中用于实现可靠数据传输的重要字段。
- 序号(Sequence Number):序号字段用于标识发送的数据字节在数据流中的顺序。每个TCP报文段都包含一个序号字段,用于指示该报文段所携带数据的起始字节在整个数据流中的位置。TCP使用序号来保证数据的有序传输,接收方根据序号将接收到的数据重新排序。
- 确认号(Acknowledgment Number):确认号字段用于确认接收到的数据。TCP的数据传输是双向的,接收方通过确认号来告知发送方已经成功接收到了哪些数据。确认号指示下一个期望接收的数据字节的序号。发送方根据接收到的确认号来确定哪些数据已经被成功接收,哪些数据需要重传。
这两个字段的配合使得TCP协议能够实现可靠的数据传输。发送方根据序号发送数据,接收方根据确认号确认已经接收到的数据,并通过确认号告知发送方下一个期望接收的数据位置,从而实现数据的有序传输和可靠性。
数据偏移指的是首部长度
应用层
概述
C/S方式
P2P方式
动态主机配置协议DHCP
DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于自动分配 IP 地址、子网掩码、网关地址以及其他网络参数给网络中的设备。它可以帮助网络管理员自动管理大量设备的 IP 地址分配,减少了手动配置 IP 地址的工作量,并且可以有效地防止 IP 地址冲突。
DHCP 主要有以下几个功能和特点:
- 自动 IP 地址分配:DHCP 可以动态地为设备分配 IP 地址,避免了手动配置 IP 地址的繁琐过程。
- 地址重用:当设备离开网络时,DHCP 服务器会回收该设备使用的 IP 地址,并可以将该地址分配给其他设备使用,提高了 IP 地址的利用率。
- 地址分配控制:DHCP 服务器可以通过设置租约时间等参数来控制 IP 地址的分配情况,例如设置 IP 地址的租用时间,防止地址过度占用。
- 动态更新:DHCP 可以动态更新设备的 IP 地址信息,当网络拓扑结构发生变化时,可以及时更新设备的 IP 地址。
- 减少 IP 地址冲突:DHCP 服务器会自动管理 IP 地址的分配,避免了手动配置 IP 地址可能带来的冲突。
相关文章:

计算机网络-网络层,运输层,应用层
网络层/网际层 网络层的主要任务包括: 提供逻辑上的端到端通信:网络层负责确定数据的传输路径,使数据能够从源主机传输到目标主机,即实现端到端的通信。数据包的路由和转发:网络层根据目标主机的地址信息,…...

Python爬虫学习
1.1搭建爬虫程序开发环境 爬取未来七天天气预报 from bs4 import BeautifulSoup from bs4 import UnicodeDammit import urllib.request url"http://www.weather.com.cn/weather/101120901.shtml" try:headers{"User-Agent":"Mozilla/5.0 (Windows …...

台式电脑黑屏无法开机怎么办 电脑开机黑屏的解决方法
经常有朋友电脑一开机,发现电脑黑屏没法用了。很多人看到黑屏就懵了,以为电脑要报废了,这是什么原因?电脑开机黑屏怎么解决?一般常说的黑屏故障分为两种,显示屏没有任何显示以及显示英文。下面小编要为大家带来的是台式电脑黑屏…...

【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器
在现代软件开发和部署中,容器化技术已经成为一种常见的方式,它能够提供一种轻量级、可移植和可扩展的应用程序打包和部署解决方案。Docker 是目前最流行的容器化平台之一,它提供了一整套工具和技术,使得容器的创建、运行和管理变得…...

突破编程_C++_面试(数组(1))
面试题1:详细说明一下数组名是什么? 在 C 中,数组名代表数组首元素的地址。更具体地说,数组名是一个指向数组第一个元素的常量指针。这意味着,当使用数组名时,实际上是在使用指向数组第一个元素的指针。 例…...

基于springboot+vue的靓车汽车销售网站(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 主要内容:毕业设计(Javaweb项目|小程序|Pyt…...

【知识整理】Git Commit Message 规范
一. 概述 前面咱们整理过 Code Review 一文,提到了 Review 的重要性,已经同过gitlab进行CodeReview 的方式,那么本文详细说明一下对CodeReivew非常重要的Git Commit Message 规范。 我们在每次提交代码时,都需要编写 Commit Mes…...

HarmonyOS学习--三方库
文章目录 一、三方库获取二、常用的三方库1. UI库:2. 网络库:3. 动画库: 三、使用开源三方库1. 安装与卸载2. 使用 四、问题解决1. zsh: command not found: ohpm 一、三方库获取 在Gitee网站中获取 搜索OpenHarmony-TPC仓库,在t…...

【服务器数据恢复】FreeNAS+ESXi虚拟机数据恢复案例
服务器数据恢复环境: 一台服务器通过FreeNAS(本案例使用的是UFS2文件系统)实现iSCSI存储,整个UFS2文件系统作为一个文件挂载到ESXi虚拟化系统(安装在另外2台服务器上)上。该虚拟化系统一共有5台虚拟机&…...

【GPT-2】论文解读:Language Models are Unsupervised Multitask Learners
文章目录 介绍zero-shot learning 零样本学习 方法数据Input Representation 结果 论文:Language Models are Unsupervised Multitask Learners 作者:Alec Radford, Jeff Wu, Rewon Child, D. Luan, Dario Amodei, I. Sutskever 时间:2019 介…...

基于机器学习、遥感和Penman-Monteith方程的农田蒸散发混合模型研究_刘燕_2022
基于机器学习、遥感和Penman-Monteith方程的农田蒸散发混合模型研究_刘燕_2022 摘要关键词 1 绪论2 数据与方法2.1 数据2.2 机器学习算法2.3 Penman-Monteith方程2.4 Medlyn公式2.5 模型性能评估 3 基于机器学习算法的混合模型估算农田蒸散量的评价与比较4 利用人工神经网络算法…...

博客 cn 站搭建 v3 v3.1
1. 架构设计 v3.1 版本 2. v2.x 存在的痛点 在v2.x版本中,围绕 服务器 遇到了两个主要的问题: 服务器成本高:博客以静态页面为主,理论上可以实现无服务器部署,但是为了防止恶意攻击,不得不使用服务器进…...

2024全国水科技大会暨流域水环境治理与水生态修复论坛(六)
论坛召集人 冯慧娟 中国环境科学研究院流域中心研究员 刘 春 河北科技大学环境与工程学院院长、教授 一、会议背景 为深入贯彻“山水林田湖是一个生命共同体”的重要指示精神,大力实施生态优先绿色发展战略,积极践行人、水、自然和谐共生理念&…...

Python实战:读取MATLAB文件数据(.mat文件)
Python实战:读取MATLAB文件数据(.mat文件) 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅…...

spring boot3登录开发-3(账密登录逻辑实现)
⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 前置条件 内容简介 用户登录逻辑实现 创建交互对象 1.创建用户登录DTO 2.创建用户登录VO 创建自定义登录业务异…...

Django后端开发——ORM
文章目录 参考资料ORM-基础字段及选项字段类型练习——添加模型类应用bookstore下的models.py数据库迁移——同步至mysqlmysql中查看效果字段选项Meta类定义示例:改表名应用bookstore下的models.py终端效果练习——改表名+字段选项修改应用bookstore下的models.py终端效果ORM基…...

AI模型训练的初步整理
明天会有人来给我们讲AI方面的课,我也一直想整理一下这方面的知识,今天也趁着这个机会做一下功课,算是预习。 首先,AI的模型训练可以分为: 增量学习(Incremental Learning) 增量学习允许模型在…...

【Java从入门到精通】Java Number Math 类
Java Number & Math 类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double 等。 实例 int a 5000; float b 13.65f; byte c 0x4a; 然而,在实际开发过程中,我们…...

SQL字符集
目标:了解字符集的概念,掌握MySQL数据库存储数据的字符集逻辑以及设置方式 字符集概念 MySQL字符集关系 解决乱码问题 字符集设置原理 1、字符集概念 目标:了解字符集概念,掌握字符集存储和读取的实现原理 概念 字符集:charset或者character set&am…...

openssl 生成nginx自签名的证书
1、命令介绍 openssl req命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书。 主要参数 主要命令选项: -new :说明生成证书请求文件 -x509 :说明生成自签名证书 -key :指定已…...

adb push 使用
adb push命令用于将文件从本地计算机推送到Android设备。要使用adb push命令,需要先连接Android设备并启动ADB调试模式。以下是使用adb push命令的基本步骤: 打开终端(命令提示符)。 使用cd命令导航到存储要推送文件的文件夹。 …...

【Docker】构建pytest-playwright镜像并验证
Dockerfile FROM ubuntu LABEL maintainer "langhuang521l63.com" ENV TZAsia/Shanghai #设置时区 #安装python3依赖与下载安装包 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \&& apt update \&&…...

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习四(leetcode真题剖析)
算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习四 01.解数独02.单词搜索03.黄金矿工04.不同路径 III 01.解数独 题目链接:https://leetcode.cn/problems/sudoku-solver/ 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&am…...

如何在java中使用 Excel 动态函数生成依赖列表
前言 在Excel 中,依赖列表或级联下拉列表表示两个或多个列表,其中一个列表的项根据另一个列表而变化。依赖列表通常用于Excel的业务报告,例如学术记分卡中的【班级-学生】列表、区域销售报告中的【区域-国家/地区】列表、人口仪表板中的【年…...

07 MyBatis之高级映射 + 懒加载(延迟加载)+缓存
1. 高级映射 例如有两张表, 分别为班级表和学生表 自然, 一个班级对应多个学生 像这种数据 , 应该如果如何映射到Java的实体类上呢? 这就是高级映射解决的问题 以班级和学生为例子 , 因为一个班级对应多个学生 , 因此学生表中必定有一个班级编号字段cid 但我们在学生的实体…...

MT8791迅鲲900T联发科5G安卓核心板规格参数_MTK平台方案定制
MT8791安卓核心板是一款搭载了旗舰级配置的中端手机芯片。该核心板采用了八核CPU架构设计,但是升级了旗舰级的Arm Cortex-A78核心,两个大核主频最高可达2.4GHz。配备了Arm Mali-G68 GPU,通过Mali-G88的先进技术,图形处理性能大幅提…...

java:Java中的数组详解
目录 Java数组的定义和特点: Java数组的初始化和赋值 Java数组的常用操作 1. 遍历数组 2. 获取数组长度 3. 访问数组元素 4. 数组的拷贝 多维数组 数组的排序和查找 冒泡排序: 快速排序 : 二分查找: 数组的应用: Java数…...

Modern C++ std::visit从实践到原理
前言 std::visit 是 C17 中引入的一个模板函数,它用于对给定的 variant、union 类型或任何其他兼容的类型执行一个访问者操作。这个函数为多种可能类型的值提供了一种统一的访问机制。使用 std::visit,你可以编写更通用和灵活的代码,而无需关…...

谷歌gemma2b windows本地cpu gpu部署,pytorch框架,模型文件百度网盘下载
简介 谷歌DeepMind发布了Gemma,这是一系列灵感来自用于Gemini相同研究和技术的开放模型。开放模型适用于各种用例,这是谷歌非常明智的举措。有2B(在2T tokens上训练)和7B(在6T tokens上训练)模型,包括基础和指令调整版本。在8192个token的上下文长度上进行训练。允许商业使…...

数据结构-查找与排序
数据结构再往后就是比较零散的各种操作,查找与排序是其中最常出现的,今天来总结一下常用的查找与排序所用的方法 查找 顺序查找 最简单的查找方式,遍历,然后比较 bool search1(int *a,int n,int k){for (int i1;i<n;i){//遍…...