Linux学习(13)计算机网络基础概论

news2024/9/20 5:41:53

本节学习内容

1.网络的基本概念(网络、互联网、IP地址、MAC地址、常用网络协议)

2.网络分层模型(OS的7层模型与tcp/ip协议族体系4层结构、数据链路层、网络层、传输层、应用层)

3.网络应用程序通信流程

一、网络的基本概念

1.网络

(1)概念:网络是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机、路由器等设备。
(2)网络设备有: 交换机、路由器、集线器
(3)传输介质有: 双绞线、同轴电缆、光纤、

网络示意简图如下

2.互联网

概念:多个网络连接起来构成互联网。目前最大的互联网为因特网。

3.IP地址(可以改)

(1)概念:IP地址就是给因特网的每个主机(或路由器)的接口分配一个世界范围内唯一的标识符

(2)ip地址的作用:在网络中唯一标识一台主机

(3)ip地址分为IPV4和IPV6两种类别格式

IPV4:  地址32位,以“.”分成四段,每段8位(0-255)   例如:“192.123.2.1”

IPV6:  地址128位,以“:”分成8段,每段16位(六进制表示) 

例如:“0301:2bd3:546a:5670:56af:a780:0233:2011”

(4)ip地址由网络号和主机号构成

ip=网络号+主机号

(5)ip地址的分类

A类地址ip范围:0.0.0.0~127.255.255.255

B类地址ip范围:128.0.0.0~191.255.255.255

C类地址ip范围:192.0.0.0~223.255.255.255

D、E类地址一般不使用

(5)ifconfig查看ip地址

4.MAC地址(不能改)

概念:硬件地址又称物理地址或MAC地址,长度位48位

5.端口号(不会改变,pid会改变号)

应用程序的代号

进程间通讯:ip1+端口号1<->ip2+端口号2

6.常用网络协议

HTTP: 超文本传输协议
FTP:   文件传输协议
TELNET: 是 internet 远程登陆服务的标准协议。
TCP: 传输控制协议(TCP, Transmission Control Protocol) 是一种面向连接的、可靠的、基于字节流的传输层通信协议
UDP : 用户数据报协议
IP: Internet Protocol简称IP, 又译为网际协议或互联网协议
ICMP : 因特网控制报文协议
ARP: 地址解析协议, 是根据IP 地址获取 MAC 地址的协议
RARP: 逆地址解析协议

二、网络分层模型

1.OS的7层模型与tcp/ip协议族体系4层结构

1.数据链路层

数据链路层作用:相邻两个节点数据的可靠传输

数据链路层的主要功能是: 通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制, 使有差错的物理线路变为无差错的数据链路, 即提供可靠的通过物理介质传输数据的方法。
该层通常又被分为介质访问控制(MAC) 和逻辑链路控制 (LLC) 两个子层。
MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题, 完成网络介质的访问控制;
LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。

TCP/IP协议体系结构中, 数据链路层的功能描述为实现网卡接口的网络驱动程序, 以处理数据在物理媒介上的传输,不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供了一个统一的接口。这一层主要关注的三个基本问题是:封装成帧, 透明传输和差错检测。

2.网络层

网络层作用:不相邻两个节点数据的传输

网络层实现数据包的选路和转发。广域网或者说互联网通常使用众多分级的路由器来连接分散的主机或者局域网,因此,通信的两台主机一般不是直接相连的,而是通过多个中间结点(路由器) 连接的。网络层的任务就是选择这些中间结点, 以确定两台主机之间的通信路径。同时,网络层对上层协议隐藏了网络拓扑连接的细节, 使得在传输层和网络应用程序看来, 通信的双方是直接相连的。
网络层最核心的协议是IP 协议( Internet Protocol,因特网协议)。IP 协议根据数据包的目的IP 地址来决定何如投递它。如果数据包不能直接发送给目标主机,那么IP 协议就是为它寻找一个合适的吓一跳路由器,并将数据包交付给该路由器来转发。多次重复这一过程,数据包最终到达目标主机,或者由于发送失败而被丢弃。可见, IP 协议使用逐跳的方式确定通信路径。

网络层另外一个重要的协议是ICMP协议(因特网控制报文协议)。它是IP 协议的重要补充, 主要用于检测网络连接。
IP 协议为上层协议提供无状态、无连接、不可靠的服务。
无状态是指通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输和接收都是相互独立、没有上下文关系的。这种服务最大的缺点是无法处理乱序和重复的IP数据报。虽然IP数据报头部提供了一个标识字段用以唯一标识一个IP 数据报, 但它是被用来处理IP分片和重组的,而不是用来指示接收顺序的。无状态的优点是简单、高效。无须为保持通信状态而分配一些内核资源,也无须再每次通信时携带状态信息。
无连接是指IP 通信双方都不长久地维持对方的任何信息。这样,上层协议每次发送数据的时候, 都必须明确指定对方的IP 地址。
不可靠是指IP 协议不能保证IP 数据报准确地到达接收端, 它只是承诺尽最大努力。

3.传输层

传输层:为应用程序(进程)提供进程间通信的功能

传输层为两台主机上的应用程序提供端到端的通信。与网络层使用的逐跳通信的方式不同, 传输层只关心通信的起始端和目的端, 而不在乎数据包的中转过程。
传输层协议主要有三个: TCP 协议、UDP 协议和SCTP 协议
TCP 协议(传输控制协议) 为应用层提供可靠的、面向连接的和基于流的服务。TCP 协议使用超时重传、确认应答等方式来确保数据包被正确的发送至目的端, 因此 TCP 服务是可靠的。使用TCP 协议通信的双方必须先建立TCP 连接,并在内核中为该连接维持一些必要的数据结构,比如连接状态,读写缓冲区等。当通信结束时, 双方必须关闭连接以释放这些内核数据。TCP 服务是基于流的,基于流的数据没有边界(长度) 限制, 它源源不断地从通信地一端流入另一端。发送端可以逐个字节地向数据流中写入数据,接收端可以逐个字节地将它们读出。

UDP 协议(用户数据报协议) 则与TCP 协议完全相反, 它为应用层提供不可靠、无连接、基于数据报地服务。“不可靠”意味着UDP 协议无法保证数据从发送端正确地传送到目的端。如果数据在中途丢失,或者目的端通过数据校验发现数据错误而将其丢弃, 则UDP协议只是简单地通知应用程序发送失败。因此,如果要使UDP 协议可靠, 那么应用程序通常要自己处理数据确认、超时重传等逻辑。UDP 是无连接的, 即通信双发不保持一个长久的联系, 因此应用程序每次发送数据都要明确指定接收端的地址。基于数据报的服务, 是相对基于流的服务而言的。每次UDP数据报都有一个长度,接收端必须以该长度为最小单位将其所有内容一次性读出,否则数据将被截断。
SCTP 协议(流控制传输协议) 是一种相对较新的传输层协议, 它是为了在因特网上传输电话信号而设计的。

4.应用层

应用层负责处理应用程序的逻辑

三、网络应用程序的通信流程

e.g:程序A向程序B传输“hello”过程如下

由上到下依次为:应用层、传输层、网络层、数据链路层

程序A数据“hello”从应用层发送给传输层后,传输层在数据前加上tcp协议或udp协议的报头,将报文发送给网络层,网络层增添自己的IP报头,再将整条数据发送给数据链路层。数据链路层将数据封装成能在网络中独立传输的数据单元,即数据帧。封装好数据帧通过网络传输到另一个主机,然后在另一主机从下层依次向上拆包,将数据送往应用层,B程序就得到“hello”数据。

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

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

相关文章

python可视化-直方图

1、加载数据 import pandas as pd from sklearn.datasets import load_iris import warnings# 禁用所有警告信息 warnings.filterwarnings(ignore)# 加载数据 iris load_iris() iris iris.keys() df pd.DataFrame(iris.data, columnsiris.feature_names) df[target] iris.t…

联华证券_股票特大单买入意味什么,主力入市

“股票特大单买入”通常意味着有大量资金集中在某一时刻涌入该股票&#xff0c;这往往被视为主力资金入市的迹象。以下是这一现象的详细解读&#xff1a; 1. 主力资金入市 特大单买入: 指的是单笔大额资金买入某只股票&#xff0c;通常是由机构投资者或其他大资金操盘者进行的…

动手学深度学习(pytorch)学习记录19-参数管理[学习记录]

文章目录 参数访问目标参数一次性访问所有参数从嵌套块收集参数 参数初始化内置初始化自定义初始化 参数绑定延后初始化 本节内容&#xff1a; 访问参数&#xff0c;用于调试、诊断和可视化&#xff1b; 参数初始化&#xff1b; 在不同模型组件间共享参数&#xff1b; 延后初始…

C++必修:unordered_set与unordered_map的实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C学习 贝蒂的主页&#xff1a;Betty’s blog 1. unordered_set与unordered_map的结构 我们知道STL中的unordered_set与unorder…

PowerDesigner生成数据库表结构

PowerDesigner生成数据库表结构 目录 1. 安装32位JDK 2. 更改当前DBMS 3. 下载MySQL驱动 4. 生成数据库表结构 安装32位JDK PowerDesigner只支持32位JDK 更改当前DBMS 下载MySQL驱动 下载地址&#xff1a; MySQL :: Begin Your Download 生成数据库表结构 选择Dire…

同城外卖系统开发方案解析

外卖系统开发是一个复杂而细致的过程&#xff0c;涉及多个方面的考虑和技术实现。以下是对外卖系统开发的详细解析&#xff1a; 一、需求分析 在开发外卖系统之前&#xff0c;首先需要进行详尽的需求分析。这包括用户需求、商家需求和后台管理需求三个方面&#xff1a; 用户需…

怎样把两个pdf合并成一个pdf?教你7种方法轻松完成合并!

新手小白如何将pdf合并成一个文件&#xff1f;pdf是目前较为主流的一种传输格式&#xff0c;内容包含了丰富的多媒体数据&#xff0c;包括文本、图像、表格等多种元素&#xff0c;很多企业和教育工作者都喜欢使用pdf格式。 pdf文件体积较小&#xff0c;兼容性高&#xff0c;平…

微深节能 卸料小车远程智能控制系统 格雷母线定位系统

微深节能的卸料小车远程智能控制系统与格雷母线定位系统的结合&#xff0c;为物料管理提供了智能化、精准化、高效化的解决方案。 一、系统概述 卸料小车远程智能控制系统&#xff1a;该系统利用现代科技手段&#xff0c;实现对卸料小车的远程监控与智能控制&#xff0c;旨在提…

使用vueuse在组件内复用模板

1. 安装vueusae pnpm i vueuse/core2. 组件内复用模板 createReusableTemplate 是vueuse中的一个实用工具&#xff0c;用于在 Vue 3 中创建可重复使用的模板片段&#xff0c;同时保持状态的独立性。这对于需要在多个组件中重复使用相同的结构和逻辑时非常有用。 因为这些可复…

基于ROM的VGA显示

前言 在早期计算机和嵌入式系统中&#xff0c;图形显示和用户界面的实现主要依赖于硬件技术。VGA&#xff08;视频图形阵列&#xff09;标准在1980年代中期成为主流图形显示技术&#xff0c;其高分辨率和良好的兼容性使其在计算机显示领域中占据了重要地位。VGA标准支持640x480…

基于清风数学建模视频课的思维导图

B站视频课地址 数学建模学习交流

【前端开发必备小技巧】前端代码规范html、css篇

文章目录 &#x1f7e2; 前端代码规范&#x1f7e2; 一、编码规约&#x1f449;1、命名规范&#x1f449;1.1、项目命名&#x1f449;1.2、目录命名&#x1f449;1.3、JS、CSS、SCSS、HTML、PNG 文件命名&#x1f449;1.4、命名严谨性 &#x1f449;2、HTML规范(Vue Template 同…

EasyCVR中的H.265技术:助力实现大规模高效流畅的视频监控应用

随着视频监控技术的不断发展和用户对视频质量要求的不断提高&#xff0c;高效能、低延迟的视频编码技术成为视频监控系统中的重要支撑。TSINGSEE青犀视频旗下的EasyCVR视频汇聚平台凭借其强大的视频处理能力和对H.265技术的支持&#xff0c;在视频监控系统中展现出显著的应用优…

【qt】锁

线程安全问题. 多线程程序太复杂了. 加锁 把多个线程要访问的公共资源&#xff0c;通过锁保护起来.>把并发执行变成串行执行. Linux mutex 互斥量. C11引入std::mutex Qt 同样也提供了对应的锁&#xff0c;来针对系统提供的锁进行封装.QMutex 多个线程进行加锁的对象&…

信息学奥赛初赛天天练-77-NOIP2015普及组-基础题2-二进制、连通图、最小生成树、链表、二叉树、完全二叉树

NOIP 2015 普及组 基础题2 4 在计算机内部用来传送、存贮、加工处理的数据或指令都是以( )形式进行的 A 二进制码 B 八进制码 C 十进制码 D 智能拼音码 5 下列说法正确的是( ) A CPU 的主要任务是执行数据运算和程序控制 B 存储器具有记忆能力&#xff0c;其中信息任何时候都…

【Linux】——Rocky Linux配置静态IP

Rocky Linux配置静态IP Rocky Linux Rocky Linux 进入官网进行下载&#xff0c;下载版本自定义 官网link 获取ip地址 ip addr 获取服务器ip地址 进入网络配置文件目录&#xff1a; cd /etc/NetworkManager/system-connections/vi打开ens33.nmconnection 在IPv4下输入配置信…

Day50 | 108.冗余连接 109.冗余连接II

108.冗余连接 108. 冗余连接 题目 题目描述 树可以看成是一个图&#xff08;拥有 n 个节点和 n - 1 条边的连通无环无向图&#xff09;。 现给定一个拥有 n 个节点&#xff08;节点标号是从 1 到 n&#xff09;和 n 条边的连通无向图&#xff0c;请找出一条可以删除的边&…

基于元神操作系统编程写USB扇区

1. 背景 本文介绍了“调用元神操作系统API向U盘扇区写数据”的程序实现及测试结果。 2. 方法 &#xff08;1&#xff09;调用元神操作系统API读U盘扇区 本部分内容已在前面的文章中进行介绍&#xff0c;详细内容请参考“编写程序调用元神操作系统的API”。 &#xff08;2&…

WordPress入门级防火墙推荐指南

随着互联网的发展&#xff0c;网站安全问题日益凸显。对于刚开始接触WordPress的用户来说&#xff0c;选择一款合适的防火墙插件非常关键。防火墙不仅能保护网站免受恶意攻击&#xff0c;还能实时监控流量&#xff0c;确保网站正常运行。今天我将为大家介绍两款适合新手使用的W…

Python计算机视觉 第4章-照相机模型与增强现实

Python计算机视觉 第4章-照相机模型与增强现实 4.1 针孔照相机模型 针孔照相机模型&#xff08;有时称为射影照相机模型&#xff09;是计算机视觉中广泛使用的照相机模型。对于大多数应用来说&#xff0c;针孔照相机模型简单&#xff0c;并且具有足够的精确度。这个名字来源…