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主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

主要功能:
侦测远端主机是否存在
建立及维护路由资料
重导资料传送路径

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

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

相关文章

Jenkins配置windows/linux从节点

背景: 环境:jenkins环境(Ubuntu) 节点机器:Linux、Windows 前置条件: 节点机器:安装java、allure、python 1 Linux节点管理机器添加 1.1 系统管理->节点列表->New Node 1.2 节点配置…

【MySQL】MySQL锁(二)表锁与行锁测试

MySQL锁(二)表锁与行锁测试 上篇文章我们简单的了解了一大堆锁相关的概念,然后只是简单的演示了一下 InnoDB 和 MyISAM 之间 表锁 与 行锁 的差别。相信大家还是意犹未尽的,今天我们就来用代码说话,实际地操作一下&…

ES链接报connection reset by peer

这里写自定义目录标题 ES链接报connection reset by peer解决方法主要是删除node.lock文件重启es服务问题解决 ES链接报connection reset by peer 问题描述服务端报错connection reset by peer 在服务器上去curl返回的也是connection reset by peer 链接重置,说明e…

「GO基础」文件名规范、关键字与标识符

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

一键升级 package.json 下所有依赖的版本

命令: npx npm-check-updates -u这个命令会生成一个新的package.json文件,其中包含了所有依赖项的最新版本。然后,你可以运行npm install来安装这些更新后的依赖项。 请注意,在更新依赖项之前,最好备份你的项目&…

元数据管理Atlas

文章目录 一、Atlas概述1、Atlas入门2、Atlas架构原理 二、Atlas安装1、安装环境准备1.1 安装Solr-7.7.31.2 Atlas2.1.0安装 2、Atlas配置2.1 Atlas集成Hbase2.2 Atlas集成Solr2.3 Atlas集成Kafka2.4 Atlas Server配置2.5 Kerberos相关配置2.6 Atlas集成Hive 3、Atlas启动 三、…

ARM的学习

键控灯 mykey.h #ifndef __MYKEY_H__ #define __MYKEY_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_gic.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_exti.h" void key1_int_config(); void key2_int_config(…

用海外云手机高效率运营TikTok!

很多做国外社媒运营的公司,想要快速引流,往往一个账号是不够的,多数都是矩阵养号的方式,运营多个TikToK、Facebook、Instagram等账号,慢慢沉淀流量变现,而他们都在用海外云手机这款工具! 海外云…

使用EasyExcel和POI操作Excel实现文件上传和下载

使用easyExcel实现文件读写 实现流程 1.导入依赖 2.定义数据模型 3.定义监听器 4.读取或写入数据 5.释放资源 实现 导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.3</…

知识管理系统(KMS):一文扫盲,能和chatGPT相融吗?

一、什么是KMS&#xff0c;有什么作用 KMS&#xff08;Knowledge Management System&#xff09;知识管理系统是一种用于组织、存储、共享和利用知识的软件系统或平台。它旨在帮助组织有效地管理和利用内部和外部的知识资源&#xff0c;以支持决策、创新和持续学习。 KMS知识管…

华为云CodeArts IDE For Python 快速使用指南

CodeArts IDE 带有 Python 扩展&#xff0c;为 Python 语言提供了广泛的支持。Python 扩展可以利用 CodeArts IDE 的代码补全、验证、调试和单元测试等特性&#xff0c;与多种 Python 解释器协同工作&#xff0c;轻松切换包括虚拟环境和 conda 环境的 Python 环境。本文简要概述…

数据治理——元数据管理实施步骤

一、元数据管理概述 1.1 数据管理面临的问题 数据治理的概念是对数据数据管理的管理&#xff0c;在数据管理的过程中遇到的问题有&#xff1a; 1.1.1 数据不可理解 海量数据&#xff0c;标准不统一&#xff0c;各系统、各部门对统一指标和概念的解释不一致&#xff0c;统计口…

python机器学习库中Scikit-learn和TensorFlow如何选择?

在Python机器学习库中&#xff0c;Scikit-learn和TensorFlow是两个非常流行的选择&#xff0c;但它们各自有不同的特点和适用场景。以下是根据搜索结果的一些考虑因素&#xff0c;帮助你做出选择&#xff1a; 1. 项目需求&#xff1a; 如果你的项目主要涉及传统的机器学习算…

OpenCV基本图像处理操作(三)——图像轮廓

轮廓 cv2.findContours(img,mode,method) mode:轮廓检索模式 RETR_EXTERNAL &#xff1a;只检索最外面的轮廓&#xff1b;RETR_LIST&#xff1a;检索所有的轮廓&#xff0c;并将其保存到一条链表当中&#xff1b;RETR_CCOMP&#xff1a;检索所有的轮廓&#xff0c;并将他们组…

魔方网表 存在 mailupdate.jsp接口 任意文件上传漏洞

声明&#xff1a; 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 简介 魔方网表mailupdate.jsp接口存在任意文件上传漏洞 …

数据仓库—维度建模—事实表设计

事实表 事实表是数据仓库中的核心表,用于记录与业务过程相关的事实信息,是进行数据分析和挖掘的主要数据来源。 在ER模型中抽象出了有实体、关系、属性三种类别,在现实世界中,每一个操作型事件,基本都是发生在实体之间的,伴随着这种操作事件的发生,会产生可度量的值,…

ChatGPT深度科研应用、数据分析及机器学习、AI绘图与高效论文撰写教程

原文链接&#xff1a;ChatGPT深度科研应用、数据分析及机器学习、AI绘图与高效论文撰写https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601506&idx2&sn5dae3fdc3e188e81b8a6142c5ab8c994&chksmfa820c85cdf58593356482880998fc6eb98e6889b261bf621e1d…

Git 实用技巧2——新建空白分支 | 重命名分支 | 回退到历史 commit

git version 2.39.2.windows 1. 新建空白分支 参考&#xff1a;Git - git-switch Documentation: https://git-scm.com/docs/git-switch/zh_HANS-CN 使用 --orphan 参数&#xff0c;创建一条不基于任何现有提交的空白分支。其初始提交&#xff08;即 HEAD&#xff09;不指向任…

箭头函数多个函数体

当箭头函数需要多个语句组成函数体时&#xff0c;需要使用花括号 {} 将多个语句包裹起来&#xff0c;并且需要显式地使用 return 关键字返回值。下面是一个包含多个函数体语句的箭头函数示例&#xff1a;‘ var greet name > { var greeting "Hello, "; …

了解在 Docker 和 Kubernetes 中运行Go程序的影响

根据 2021 年对 Go 开发人员的调查,使用 Go 编写服务是最常见的用途。同时,Kubernetes 是部署这些服务的最广泛使用的平台。了解在 Docker 和 Kubernets 中运行 Go 的含义非常重要,可防止出现 CPU 节流等常见情况。 GOMAXPROCS 变量定义了负责同时执行用户级代码的操作系统线…