Day 14 网络协议
常见网络设备:交换机 路由器 中继器 多协议网关(路由器的前身)
交换机:用于连接统一网络的设备,实现内网设备通信。
从广义上分为:局域网交换机,广域网交换机
从网络构成分为:接入层交换机,汇聚层交换机,核心层交换机
从传输速率分为:以太网交换机,快速以太网交换机(百兆),千兆以太网交换机
路由器:用于连接不同的网络,隔离广播域,实现跨网络通信。
网关:网络的出口,一般网关地址为该网段下的1或254,VMWare虚拟机NAT模式下网关为2
DNS:域名服务器(保存域名和IP地址之间的对应关系)
端口号:0-65535 (在传输层中) 实际可用1-65534
HTTP 80 HTTPS 443 DNS 53 Telnet 23
ftp 21、20 ssh 22 mysql 3306 php 9000
tomcat 8080(8005/8009)
zabbix 10050 10051 redis 6379 用来区分不同的应用程序。
常见传输媒介:双绞线(RJ45) 光纤
七层模型(OSI)
由国际标准化组织(ISO)制定的七层模型(OSI)
应用层:针对于应用约定的标准
HTTP:超文本传输协议
Telnet:远程协议
OICQ:qq的协议
HTTPS:安全超文本传输协议
SMTP\POP3:简单邮件传输协议(发)\邮局协议(收)
表示层:约束数据格式,负责格式转化,加密以及解密
会话层:建立、维护、解除会话,数据的传输通道
传输层:约定数据采用何种方式进行传递
TCP:传输控制协议,实现数据的可靠传输
UDP:用户数据报协议,实现数据的快速传输,不可靠
网络层:提供逻辑地址(IP地址,用于在网络中唯一的标识一台设备,作用于网络与网络间的通信,提供路由和选路)
数据链路层:提供MAC(物理)地址,用于在一条链路上唯一的标识一台设备,作用于网络内的通信。
MAC(物理地址):烧写在网卡,全球唯一。MAC地址的有效范围仅限于本网络。
物理层:约定接口类型,传输速度,线缆针脚等。
路由器:为于OSI的第三层(网络层)
交换机:为于OSI的第二层(数据链路层)
TCP/IP模型
TCP/IPV4 4层模型
应用层(应用层+表示层+会话层)
传输层
网络层
网络接口层(物理层+数据链路层)
TCP/IPV4 5层模型
应用层(应用层+表示层+会话层)
传输层
网络层
数据链路层
物理层
数据封装/解封装过程
应用层产生一个数据,向外发送一个请求百度的指令DATA
→传输层:TCP+DATA→形成数据段
→网络层:IP+TCP+DATA(IP地址包含源ip地址和目的ip地址)→形成数据包
→数据链路层:帧头+IP+TCP+DATA+帧尾(帧头里有源MAC和目的MAC{通过ARP获取})→形成数据帧
→物理层:将数据帧转化为比特流(一串二进制数),从网卡接口发出

解封装的过程相反
ARP请求与响应
ARP请求与响应的目的是为了获取需要通信目标的MAC地址
ARP工作原理:
请求方以广播报文的方式发送一个ARP request(who has 响应方IP?Tell 请求方IP)
响应方收到ARP request后,以单播报文的形式将自己的MAC地址封装进ARP relay中,发送给请求方(响应方IP is at 响应方MAC地址)
传输协议
传输控制协议TCP (Transmission Control Protocol):一种面向连接的协议,提供可靠的传输服务,通过重传机制,实现数据的可靠传输。
用户数据报协议 UDP (User Datagram protocol):一种非面向连接的协议,提供不可靠的传输服务。
TCP的传输过程
Seq序列号:保障传输过程可靠。(缺点:发送速度,占据额外的带宽)
ACK:(确认消息)表示Acknowledgment Number字段有意义
SYN:(在建立TCP连接的时候使用)表示SYN报文
FIN:(在关闭TCP连接的时候使用)表示没有数据需要发送了
TCP建立连接的过程
在发送数据前,在源和目的间事先建立连接,也称为3次握手
A发送同步消息询问B
B收到后发送ACK的确认消息,并且也询问A发送同步消息
A收到后发送ACK确认消息回复给B

TCP关闭连接的过程
4次挥手
主机A向服务器发送一个FIN请求断开连接
服务器回复ACK
服务器向主机A发送一个FIN请求断开连接
主机A收到后回复ACK确认断开

UDP协议简介
UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当UDP它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上,接收端需要时直接在网络上接受。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
UDP协议通常用于直播和视频传输领域
ICMP协议
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
主要功能:
侦测远端主机是否存在
建立及维护路由资料
重导资料传送路径
相关文章:
Day 14 网络协议
常见网络设备:交换机 路由器 中继器 多协议网关(路由器的前身) 交换机:用于连接统一网络的设备,实现内网设备通信。 从广义上分为:局域网交换机,广域网交换机 从网络构成分为:接…...
msyql中SQL 错误 [1118] [42000]: Row size too large (> 8126)
场景: CREATE TABLE test-qd.eqtree (INSERT INTO test.eqtree (idocid VARCHAR(50) NULL,sfcode VARCHAR(50) NULL,sfname VARCHAR(50) NULL,sfengname VARCHAR(50) NULL,…… ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_general_ci;或 alter table eqtre…...
实验六 智能手机互联网程序设计(微信程序方向)实验报告
实验目的和要求 请完成创建图片库应用,显示一系列预设的图片。 提供按钮来切换显示不同类别的图片。 二、实验步骤与结果(给出对应的代码或运行结果截图) 1.WXML <view> <button bindtap"showAll">所有图片</but…...
Linux环境下,让Jar项目多线程部署成为可能
欢迎来到我的博客,代码的世界里,每一行都是一个故事 Linux环境下,让Jar项目多线程部署成为可能 前言背景介绍使用sh脚本实现使用systemd来实现使用docker-compose实现 前言 在当今互联网时代,应用程序的高可用性和性能是至关重要…...
k8s调度场景
15个KUBERNETES调度情景实用指南 Kubernetes调度是确保集群中的Pod在适当节点上运行的关键组件。通过灵活配置调度策略,可以提高资源利用率、负载平衡和高可用性。 在本文中,我们将深入探讨一些实际的Kubernetes调度场景,并提供相应的配置示…...
基于小程序实现的餐饮外卖系统
作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…...
家居网购项目(手写分页)
文章目录 1.后台管理—分页显示1.程序框架图2.编写数据模型Page.java 3.编写dao层1.修改FurnDao增加方法 2.修改FurnDaoImpl增加方法 3.单元测试FurnDaoTest 4.编写service层1.修改FurnService增加方法 2.修改FurnServiceImpl增加方法3.单元测试FurnServiceTest 5.编写DataUtil…...
goland2024安装包(亲测可用)
目录 一、软件简介 二、软件下载 一、软件简介 Goland 是一款由 JetBrains 公司开发的集成开发环境(IDE),专门用于 Go 语言的开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和管理 Go 语言项目。 功能特点&#x…...
35、链表-LRU缓存
思路: 首先要了解LRU缓存的原理,首先定下容量,每次get请求和put请求都会把当前元素放最前/后面,如果超过容量那么头部/尾部元素就被移除,所以最近最少使用的元素会被优先移除,保证热点数据持续存在。 不管放…...
数据结构速成--栈
由于是速成专题,因此内容不会十分全面,只会涵盖考试重点,各学校课程要求不同 ,大家可以按照考纲复习,不全面的内容,可以看一下小编主页数据结构初阶的内容,找到对应专题详细学习一下。 目录 一…...
算法练习第15天|226.翻转二叉树
226.翻转二叉树 力扣链接https://leetcode.cn/problems/invert-binary-tree/description/ 题目描述: 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出&am…...
C#面向对象——封装、封装案例示例
C#面向对象——封装 什么是封装? (1)封装是将数据和操作数据的方法(行为)封装在一起。 (2)程序中封装的体现:属性,方法,类,接口,命名空间&#…...
【InternLM 实战营第二期-笔记3】茴香豆:搭建你的 RAG 智能助理
书生浦语是上海人工智能实验室和商汤科技联合研发的一款大模型,很高兴能参与本次第二期训练营,我也将会通过笔记博客的方式记录学习的过程与遇到的问题,并为代码添加注释,希望可以帮助到你们。 记得点赞哟(๑ゝω╹๑) 茴香豆:搭建…...
Advanced RAG 03:运用 RAGAs 与 LlamaIndex 评估 RAG 应用
编者按:目前,检索增强生成(Retrieval Augmented Generation,RAG)技术已经广泛使用于各种大模型应用场景。然而,如何准确评估 RAG 系统的性能和效果,一直是业界和学界共同关注的重点问题。若无法…...
leetcode
找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串) 示例 1: 输入: s "…...
Unity DOTS《群体战斗弹幕游戏》核心技术分析之3D角色动画
最近DOTS发布了正式的版本, 我们来分享现在流行基于群体战斗的弹幕类游戏,实现的核心原理。今天给大家介绍大规模战斗群体3D角色的动画如何来实现。 DOTS 对角色动画支持的局限性 截止到Unity DOTS发布的版本1.0.16,目前还是无法很好的支持3D角色动画。在DOTS 的ba…...
react异步组件如何定义使用 标准使用方法
目录 默认导出和命名导出的格式 默认导出的组件 使用方式 命名导出的组件 使用方式 默认导出和命名导出的格式 默认导出: // person.js const person {name: Alice,age: 30 };export default person;命名导出: // math.js export const add (a, b) > a b; exp…...
React + Ts + Vite + Antd 项目搭建
1、创建项目 npm create vite 项目名称 选择 react 选择 typescript 关闭严格模式 建议关闭严格模式,因为不能自动检测副作用,有意双重调用。将严格模式注释即可。 2、配置sass npm install sass 更换所有后缀css为sass vite.config.ts中注册全局样式 /…...
js爬虫puppeteer库 解决网页动态渲染无法爬取
我们爬取这个网址上面的股票实时部分宇通客车(600066)_股票价格_行情_走势图—东方财富网 我们用正常的方法爬取会发现爬取不下来,是因为这个网页这里是实时渲染的,我们直接通过网址接口访问这里还没有渲染出来 于是我们可以通过下面的代码来进行爬取: …...
代码随想录:二叉树5
目录 102.二叉树的层序遍历 题目 代码(队列实现) 107.二叉树的层序遍历II 题目 代码 199.二叉树的右视图 题目 代码 637.二叉树的层平均值 题目 代码 102.二叉树的层序遍历 题目 给你二叉树的根节点 root ,返回其节点值的 层序遍…...
郭老师-我们为什么要爱国?
我们为什么要爱国? ——因为家在,根在,魂在“你可以不爱你的管家, 但必须爱你家的房子。”🌿 国家如屋,人民为主, 执政者不过管家—— 而这屋,是我们的命脉所系。🏠 一、…...
实战指南:基于快马平台,快速构建可部署的unet卫星图像分割系统
今天想和大家分享一个实战项目:基于UNet的卫星图像建筑物分割系统。这个项目特别适合在InsCode(快马)平台上快速搭建,因为它涉及从数据处理到模型部署的完整流程,而平台的一键部署功能正好能省去繁琐的环境配置工作。 项目背景与需求分析 卫星…...
UDS诊断服务-10例程控制服务(0x31)实战:从协议解析到车辆传感器校准
1. 从车辆抖动问题认识0x31服务的重要性 去年夏天,我遇到一辆行驶里程8万公里的SUV,车主反映急加速时发动机抖动明显。用诊断仪读取故障码显示"P0172 - 燃油修正系统过浓",但更换氧传感器和火花塞后问题依旧。这时候就需要请出我们…...
5个关键步骤:使用SMUDebugTool解决AMD Ryzen硬件调试难题
5个关键步骤:使用SMUDebugTool解决AMD Ryzen硬件调试难题 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/…...
原创:国家级高端装备卡脖子技术攻关:五轴联动数控系统核心突破方案
国家级高端装备卡脖子技术攻关:五轴联动数控系统核心突破方案 文章摘要 本项目隶属国家高档数控机床与基础制造装备重大专项(04专项),聚焦高端车铣复合车床五轴联动数控系统这一首号卡脖子核心技术,针对该领域海外技术…...
FairyGUI在CocosCreator中的高级应用:异步加载、事件处理与性能优化技巧
FairyGUI在CocosCreator中的高阶实战:异步架构设计与性能调优全指南 当你的CocosCreator项目UI复杂度达到临界点时,传统的资源加载和事件处理方式往往会成为性能瓶颈。FairyGUI作为专业UI解决方案,其深度集成能力可以彻底改变这种局面——但真…...
PHPBrew终极性能优化指南:10个技巧加速PHP编译安装
PHPBrew终极性能优化指南:10个技巧加速PHP编译安装 【免费下载链接】phpbrew Brew & manage PHP versions in pure PHP at HOME 项目地址: https://gitcode.com/gh_mirrors/ph/phpbrew PHPBrew是一款纯PHP编写的PHP版本管理工具,能够帮助开发…...
老旧Mac重获新生:OpenCore Legacy Patcher如何突破苹果硬件限制
老旧Mac重获新生:OpenCore Legacy Patcher如何突破苹果硬件限制 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你的Mac因官方不再支持而无法更新系统&#…...
【国家级智能制造项目核心代码解密】:Java实现的轻量级工业协议网关引擎(支持国密SM4加密+断线续传)
第一章:轻量级工业协议网关引擎总体架构设计轻量级工业协议网关引擎面向边缘侧资源受限场景,以低内存占用、高协议兼容性与热插拔扩展能力为核心设计目标。整体采用分层解耦架构,由运行时核心、协议适配层、数据路由层和管理接口层四大部分构…...
保姆级教程:用YOLOv5和ReID搞定跨摄像头找人(附完整代码和预训练模型)
跨摄像头人物追踪实战:YOLOv5与ReID技术深度整合指南 在智能安防、零售分析等场景中,跨摄像头追踪特定人物一直是个技术难点。传统方案要么依赖单一摄像头的目标检测,要么需要复杂的人工特征标注。本文将手把手带您实现一套基于YOLOv5目标检测…...
