计算机网络——1

通信协议

计算机网络中的通信协议是实现网络通信的重要基础。

一、HTTP协议

HTTP(Hypertext Transfer Protocol)是应用层协议,它定义了浏览器与Web服务器之间的通信规则。HTTP协议使用客户端-服务器模式,通过请求和响应传输超文本数据。通过HTTP协议,用户可以访问网页、下载文件等。

请求方法:HTTP协议定义了常见的请求方法,如GET、POST、PUT、DELETE等。这些方法定义了客户端对服务器资源的操作方式。

请求头和响应头:HTTP协议使用请求头和响应头传递辅助信息。请求头包含了客户端的相关信息,而响应头则包含了服务器返回的信息。

状态码:HTTP协议使用状态码表示请求的处理结果。常见的状态码有200表示成功,404表示未找到资源,500表示服务器内部错误等。

二、TCP/IP协议

TCP/IP协议是一组网络通信协议,它实现了互联网的核心功能。TCP/IP协议族包含了多个层次的协议,如网络接口层、网络层、传输层和应用层。

网络接口层:网络接口层负责将数据帧封装成比特流通过物理介质进行传输。常见的网络接口协议有以太网、无线局域网等。

网络层:网络层使用IP协议实现了数据包的传输,负责将数据从源主机发送到目标主机。IP协议定义了IP地址和路由选择算法。

传输层:传输层使用TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)协议,实现了可靠的端到端通信。TCP提供面向连接的可靠传输,而UDP提供无连接的不可靠传输。

应用层:应用层协议支持各种网络应用,如电子邮件(SMTP)、文件传输(FTP)、远程登录(Telnet)等。常见的应用层协议有HTTP、DNS、DHCP等。

三、其他常见协议

FTP(File Transfer Protocol):用于在客户端和服务器之间进行文件传输。

SMTP(Simple Mail Transfer Protocol):用于电子邮件的发送。

POP3(Post Office Protocol version 3):用于电子邮件的接收。

DNS(Domain Name System):用于域名解析,将域名转换为IP地址。

DHCP(Dynamic Host Configuration Protocol):用于动态分配IP地址和其他网络配置信息。

网络层次结构

计算机网络是一个复杂的系统,用于在不同设备之间传输数据和信息。为了理解和管理这样的网络,人们发展了多种网络模型。其中两个最为重要的模型是 OSI 参考模型和 TCP/IP 模型。

一、OSI 参考模型

OSI(Open Systems Interconnection)参考模型是国际标准化组织(ISO)制定的一种通信系统参考模型,它将计算机网络体系结构划分为七个层次,每个层次都有特定的功能和任务:

物理层(Physical Layer):该层负责定义物理媒介上的传输规范,例如光纤、电缆、无线电波等,以确保比特流的传输。它处理与物理连接相关的电气和物理特性。

数据链路层(Data Link Layer):该层提供可靠的数据帧传输,主要进行差错检测和纠正,以确保数据在物理介质上的无差错传输。它还处理物理寻址和链路管理等任务。

网络层(Network Layer):该层负责数据在网络中的路由选择和转发。它使用路由器将数据包从源主机传输到目标主机,通过选择最佳路径来实现数据的快速和可靠传输。

传输层(Transport Layer):该层提供端到端的可靠数据传输服务。它使用传输协议(如 TCP 或 UDP)确保数据在源和目标之间的可靠传输,并处理流量控制、拥塞控制等。

会话层(Session Layer):该层负责建立、管理和终止会话连接,以便不同主机上的应用程序之间进行通信和数据交换。

表示层(Presentation Layer):该层处理数据的格式和编码方式,以确保不同系统的应用程序能够相互理解和交换数据。

应用层(Application Layer):该层为用户提供各种网络应用服务,例如电子邮件、文件传输、远程登录等,也是用户与网络直接交互的接口。

这七个层次共同构成了一个完整的网络体系结构,每个层次都有特定的功能和职责。数据在这些层次之间传递时,每一层都会添加相应的协议头或封装,从下层传递到上层时则会逐层解析和去封装。

二、TCP/IP 模型

TCP/IP 模型是实际应用中最广泛采用的网络模型,它是根据实际协议堆栈的发展和使用而形成的。与 OSI 参考模型相比,TCP/IP 模型具有更简洁和高效的结构,分为四个层次:

网络接口层(或网络访问层):该层负责将数据传输到物理网络中。它处理物理连接、链路管理和数据帧的传输等任务,类似于 OSI 参考模型中的物理层和数据链路层。

网际层(或网络层):该层使用 IP 协议进行数据路由和寻址。它主要负责将数据包从源主机传递到目标主机,并选择最佳路径。这一层类似于 OSI 参考模型中的网络层。

传输层:该层提供端到端的可靠数据传输服务。它使用 TCP(Transmission Control Protocol)确保可靠性传输和流量控制,或使用 UDP(User Datagram Protocol)进行快速无连接的传输。

应用层:该层提供各种网络应用服务,如 HTTP、FTP、DNS 等。它与用户直接交互,使用户能够访问网络资源和进行通信。

TCP/IP 模型与 OSI 参考模型之间的对应关系如下:

OSI 物理层和数据链路层对应于 TCP/IP 模型的网络接口层。
OSI 网络层对应于 TCP/IP 模型的网际层。
OSI 传输层对应于 TCP/IP 模型的传输层。
OSI 会话层、表示层和应用层对应于 TCP/IP 模型的应用层。

三、比较 OSI 参考模型和 TCP/IP 模型

层次结构:OSI 参考模型有七个层次,而 TCP/IP 模型只有四个层次。OSI 参考模型更详细地划分了每一层的功能,而 TCP/IP 模型更加简洁和高效。

功能重叠:OSI 参考模型中的物理层和数据链路层被合并为 TCP/IP 模型的网络接口层,这使得 TCP/IP 模型在某种程度上降低了层次划分的复杂性。

功能差异:在相同的层次上,OSI 参考模型的会话层、表示层和应用层与 TCP/IP 模型的应用层有所不同。TCP/IP 模型更加注重实际应用,并提供了一些常用的应用协议。

实际应用:TCP/IP 模型是实际应用中最广泛采用的网络体系结构,被用于互联网。而 OSI 参考模型更多用于教学和参考目的。

TCP/IP协议族

IP协议:
IP(Internet Protocol)协议是计算机网络中的一种网络层协议,用于在互联网上进行寻址和路由。它为数据包添加了源IP地址和目标IP地址,并负责将数据包从源主机传输到目标主机。IP协议是无连接的,它不提供可靠性传输和流量控制,主要关注数据包的正确传递。

寻址和路由:

在IP协议中,每个主机和路由器都被分配了一个唯一的IP地址,用于标识其在网络中的位置。源主机通过将目标主机的IP地址添加到数据包中来指定目标。路由器根据路由表中存储的信息将数据包从源主机传递到目标主机。路由表包含了不同网络之间的连接和最佳路径。

IPv4和IPv6的区别:

IPv4(Internet Protocol version 4)是目前广泛使用的IP协议版本,采用32位地址表示。但由于IPv4地址资源有限,IPv6(Internet Protocol version 6)被提出作为其后续版本,采用128位地址表示,地址空间更大。IPv6还引入了一些改进,如更好的安全性、自动地址配置和多播等功能。

TCP协议:

TCP(Transmission Control Protocol)是一种基于连接的传输层协议,提供可靠性传输和流量控制。它将数据分割成小的数据段,并通过三次握手建立连接,确保数据在源和目标之间的可靠传输。TCP还具备拥塞控制、流量控制和错误校正的能力,适用于对数据可靠性要求较高的应用。

可靠性传输和流量控制:

TCP通过使用序列号、确认机制和重传来实现可靠性传输。它确保数据按正确的顺序到达目标主机,并确保所有数据都被正确接收。此外,TCP使用滑动窗口机制进行流量控制,根据接收方的处理能力调整发送速率,以避免数据包丢失或网络拥塞。

三次握手和四次挥手:

三次握手是TCP连接的建立过程。客户端发送一个连接请求报文给服务器端,服务器端收到请求后回复一个连接确认报文给客户端,最后客户端再发送一个确认报文给服务器端,建立起连接。四次挥手是TCP连接的断开过程,由客户端和服务器端各发送两个报文进行确认和关闭连接。

UDP协议:

UDP(User Datagram Protocol)是一种无连接的传输层协议,不提供可靠性传输和流量控制。它将数据封装成数据包,并直接发送到目标主机,不需要建立连接。由于没有额外的开销,UDP具有低延迟和高效率的特点,适用于对实时性要求较高且对数据传输的可靠性要求不高的应用。

常见应用场景:

TCP常见应用场景:网页浏览、电子邮件、文件传输(FTP)、远程登录(SSH)、网页服务器(HTTP)等。
UDP常见应用场景:音频/视频流传输(如实时会议、实时游戏)、DNS 查询、NTP 时间同步等。

局域网与广域网

局域网(Local Area Network,LAN)是一种较小范围的计算机网络,通常覆盖在一个办公室、楼层或校园等有限的区域内。下面详细介绍局域网的覆盖范围和拓扑结构,以太网和局域网交换机,以及广域网(Wide Area Network,WAN),包括其覆盖范围和传输介质,以及路由器和调制解调器。

局域网(LAN):

局域网是在一个相对较小的地理范围内的计算机网络,例如家庭、办公室、校园等。它通常由一组互连的计算机、服务器、打印机和其他网络设备组成,用于共享资源和实现通信。局域网的传输速度很高,延迟较低,并且通常在组织内部搭建和管理。

覆盖范围和拓扑结构:

局域网的覆盖范围通常是几百米到几千米,在这个范围内的设备可以直接通信。局域网的拓扑结构可以是总线型、星型、环型或混合型。常见的拓扑结构是星型,其中所有设备都连接到一个中央设备(如交换机)。

以太网和局域网交换机:

以太网是一种常用的局域网技术,它使用以太网协议来定义数据在局域网上的传输方法。以太网使用CSMA/CD(载波监听多点接入/碰撞检测)协议来协调多个设备之间的数据传输。局域网交换机是一种网络设备,用于连接和管理局域网上的设备。它能够实现设备之间的高速数据传输,根据MAC地址将数据包转发到目标设备。

广域网(WAN):

广域网是覆盖更大地理范围的计算机网络,通常跨越城市、国家甚至跨越大陆。它连接了局域网、分支机构和远程地区的计算机和网络设备。广域网利用公共传输介质,例如电话线、光纤、无线电波等,通过运营商提供的服务进行数据传输。

覆盖范围和传输介质:

广域网的覆盖范围可以涵盖一个国家、一个州或整个世界。它利用电信基础设施,如电话线、光纤、卫星等,进行长距离的数据传输。广域网的传输速度较低,延迟较高,并且需要使用路由器进行分组转发和路径选择。

路由器和调制解调器:

路由器是一种连接多个网络的网络设备,用于在广域网中实现数据包的转发和路径选择。它根据目标IP地址和路由表决定如何将数据包传输到目标网络。调制解调器是一种设备,用于将数字信号转换为模拟信号(调制)以便通过电话线或电缆传输,并将模拟信号转换回数字信号(解调)以供计算机使用。

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

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

相关文章

QT信号和信号槽

信号和信号槽 一.信号与槽1.信号和槽的概述1.2.信号的本质1.3.信号的本质 二.信号和槽的使用2.1 连接信号和槽connect()函数原型:参数的说明 三.自定义信号和槽3.1基本语法1.自定义信号槽的书写规范2、自定义槽函数书写规范3.发送信号 3.2带参数的信号和槽 四.信号与…

Pandas库学习之DataFrame.head()函数

Pandas库学习之DataFrame.head()函数 一、简介 DataFrame.head()是Pandas库中一个非常重要的函数,用于返回DataFrame对象的前n行。默认情况下,如果不指定参数,head()函数会返回前5行数据。 二、语法和参数 DataFrame.head(n5) n: int, 可…

在VMware16版本中安装ubuntu22.04.4镜像以及ubuntu镜像文件下载,配置更改,安装常用软件

目录 一、Ubuntu镜像文件下载 二、Ubuntu安装过程 三、更换国内镜像 四、安装常用软件 1、编译工具 2、代码管理工具 一、Ubuntu镜像文件下载 1-1、官网https://ubuntu.com/download 1-2、镜像网站快速下载 官网下载速度慢的话可以直接百度各大学的镜像下载网站去下载&…

multiprocessing.Pool创建多进程,导致内存不断攀升的解决方法

问题 使用multiprocessing.Pool创建多进程时,每个进程占用内存不断攀升。 问题描述 原本每个子进程没有占用那么多内存: 第二次读取新一批数据,每个子进程都复制了之前的内存资源: 原因说明 实际上,multiprocessing…

axios在vue中的使用

文章目录 一、axios是什么?二、使用步骤2.1 下载2.2 引入2.3 使用Get请求Post请求Forms 三、封装 一、axios是什么? Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和no…

【高可用】利用AOP实现数据库读写分离

最近项目中需要做【高可用】数据库读写分离相关的需求,特地整理了下关于读写分离的相关知识。项目中采用4台数据库:1个master,2个slave,1个readOnly,其中master数据库会自动定时同步到readOnly节点。可以通过中间件(Sh…

FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码

源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 之前我们分享了FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发。这次我们去分享实战开发《在线…

Redis集群的主从复制原理-全量复制和增量复制-哨兵机制

Redis集群的主从复制原理-全量复制和增量复制-哨兵机制 作用 数据备份 这一点直观,因为现在有很多节点,每个节点都保存了原始数据的备份. 读写分离 这一点主要是当发生读写的时候,读数据的操作大部分都会进入到从节点,而写数据的操作都会进入到主节点&…

ESP32CAM人工智能教学15

ESP32CAM人工智能教学15 Flask服务器TCP连接 小智利用Flask在计算机中创建一个虚拟的网页服务器服务器,让ESP32Cam通过WiFi连接,把摄像头拍摄到的图片发送到电脑中,并在电脑中保存成图片文件。 Flask是用Python编写的网页服务程序WebServer。…

react18高阶组件

高阶组件的本质上就是函数,接受一个组件作为参数,然后返回一个组件。解决了组件之间如何横向抽离公共逻辑的问题。类组件之间常使用,函数组件中也可以使用,但更多的时候使用自定义hooks。 高阶组件命名一般采用with开头&#xff…

逻辑回归推导

逻辑回归既可以看作是回归算法,也可以看做是分类算法。通常作为分类算法使用,只可以解决二分类问题。 在上述平面中,每个颜色代表一个类别,即有4个类别 将红色的做为一个类别,其他三个类别都统称为其他类别&#xff0…

现代化电商企业在行业竞争中关于数据采集API接口的应用分析||经验分享

及时准确:电商API接口能为品牌提供实时数据,这意味着企业可以即时获取最新的商品价格信息,避免因为信息延迟导致的决策失误。相较于手动采集,接口数据一般更为准确可靠。 效率提升:接口自动化采集大大提高了数据获取效…

ViewPager实现原理分析

ViewPager 是 Android 中用于展示多页面内容的控件,通常被用来实现滑动切换不同页面的功能,比如常见的应用启动引导页、广告轮播图或者多标签页的布局。ViewPager 是一个非常重要的控件,它提供了灵活的滑动效果和页面管理机制。 下面是基于 …

Photoshop(PS) 抠图简单教程

目录 快速选择 魔棒 钢笔 橡皮擦 蒙版 通道 小结 可以发现,ps逐渐成为必备基础的办公软件。本文让ps新手轻松学会抠图。 快速选择 在抠图之前,先了解下选区的概念。ps中大多数的抠图操作都是基于选区的,先选区再Ctrl J提取选区。而快…

【深度】2024AI大模型算力芯片产业深度分析

人工智能算力基础设施成为我国数字经济高质量发展的重要战略部署,具有重大发展意义。 1)算力普适普惠化是大趋势,相关服务生态逐步构建。“东数西算”工程的实施,带动数据、算力跨域流动,实现产业跃升和区域平衡发展。…

谷粒商城实战笔记-46-商品服务-API-三级分类-配置网关路由与路径重写

文章目录 一,准备工作1,新增一级菜单2,新增二级菜单 二,前端树形界面开发1,开发分类展示组件 三,远程调用接口获取商品分类数据1,远程调用2,路由配置 错误记录 本节的主要内容&#…

【算法/训练】:动态规划

一、路径类 1. 字母收集 思路: 1、预处理 对输入的字符矩阵我们按照要求将其转换为数字分数,由于只能往下和往右走,因此走到(i,j)的位置要就是从(i - 1, j)往下走&#x…

MySQL 约束 (constraint)

文章目录 约束(constraint)列级约束和表级约束给约束起名字(constraint)非空约束(no null)检查约束(check)唯一性约束 (unique)主键约束 (primary key)主键分类单一主键复合主键主键自增 (auto_increment) 外键约束外什…

C# 中用 TopShelf服务创建和延迟运行

TopShelf 是一个开源项目,它简化了在 .NET 环境中创建和管理 Windows 服务的流程。以下是一个简单的示例,展示了如何使用 TopShelf 创建一个服务,并在服务启动后延迟执行某些操作。 首先,确保你已经安装了 TopShelf。你可以通过 …

C++树形结构(总)

目录 一.基础: 1.概念: 2.定义: Ⅰ.树的相关基础术语: Ⅱ.树的层次: 3.树的性质: 二.存储思路: 1.结构体存储: 2.数组存储: 三.树的遍历模板: 四.…