【网络技术】计算机网络介绍

news2024/11/30 20:30:30

写在前面

计算机网络是指将多台计算机连接起来,使它们能够相互通信和共享资源的系统。

它是现代计算机科学中的重要分支之一,为全球范围内的信息交流和数据传输提供了基础。

本文将介绍计算机网络的基础概念、体系结构、协议、常见问题等的知识。

一、基本介绍 

1.计算机网络是什么?

计算机网络是由若干台计算机和与之相连的通信设备组成的系统,这些设备通过通信链路进行数据交换和共享资源。计算机网络可以实现远程数据传输、远程控制、远程协作等功能,它是现代信息技术的基础。

2.计算机网络的作用

计算机网络的作用主要有以下几个方面:

(1)资源共享:计算机网络可以实现多台计算机之间的资源共享,如共享打印机、磁盘等。

(2)数据通信:计算机网络可以实现多台计算机之间的数据传输和通信,如电子邮件、文件传输等。

(3)远程访问:计算机网络可以实现对远程计算机的访问和控制,如远程登录、远程维护等。

(4)信息传播:计算机网络可以实现信息的广播和传播,如互联网上的新闻、广告等。

3.计算机网络的分类

根据规模和范围,计算机网络可以分为以下几类:

(1)局域网(LAN):局域网是指在一个局限范围内的计算机网络,如一个公司、学校或者办公楼内的网络。

(2)城域网(MAN):城域网是指在一个城市范围内的计算机网络,如一个城市的政府部门、银行等。

(3)广域网(WAN):广域网是指跨越较大地理范围的计算机网络,如互联网。

(4)无线局域网(WLAN):无线局域网是指使用无线通信技术的局域网。

二、计算机网络的体系结构

计算机网络的体系结构是指计算机网络中各层次之间的关系和交互方式。常见的计算机网络体系结构有:

  • OSI七层模型
  • TCP/IP四层模型

1.OSI七层模型

OSI七层模型是国际标准化组织(ISO)制定的计算机网络体系结构,它将计算机网络分为七层,每层对应不同的功能和服务。从下往上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

(1)物理层:负责实现数据的物理传输,包括电缆、光纤等传输媒介的选择和使用。

(2)数据链路层:负责将数据转换为帧(Frame)格式,进行差错控制和流量控制等功能。

(3)网络层:负责进行路由选择、拆装数据包等功能,实现不同网络之间的通信。

(4)传输层:负责提供端到端的可靠数据传输,包括TCP和UDP两种协议。

(5)会话层:负责建立、管理和终止应用程序之间的会话。

(6)表示层:负责对数据进行编码和解码,保证应用程序之间的数据格式一致。

(7)应用层:提供应用程序所需的服务,如电子邮件、文件传输等。

2.TCP/IP四层模型

TCP/IP四层模型是实际应用较多的计算机网络体系结构,它将计算机网络分为四层,包括网络接口层、网络层、传输层和应用层。

(1)网络接口层:负责控制计算机与物理网络之间的数据传输,包括物理地址的映射和帧的传输等功能。

(2)网络层:负责进行路由选择和数据包转发等功能,实现不同网络之间的通信,包括IP协议。

(3)传输层:负责提供端到端的可靠数据传输,包括TCP和UDP两种协议。

(4)应用层:提供应用程序所需的服务,如电子邮件、文件传输等,包括HTTP、FTP、SMTP等协议。

三、计算机网络的协议

计算机网络的协议是指计算机网络中各层次之间进行通信所需遵循的规则和标准,常见的协议有TCP、IP、HTTP、FTP、SMTP等。

1.TCP协议

TCP(Transmission Control Protocol)协议是一种面向连接的、可靠的传输协议,它负责在网络上可靠地传输数据。TCP协议通过三次握手建立连接,保证数据可靠性,支持流量控制和拥塞控制等功能。

2.IP协议

IP(Internet Protocol)协议是一种无连接的、不可靠的网络层协议,它负责在网络上传输分组。IP协议可以解决不同网络之间的通信问题,支持路由选择和分组转发等功能。

3.HTTP协议

HTTP(Hypertext Transfer Protocol)协议是一种应用层协议,用于在Web浏览器和Web服务器之间传输数据。HTTP协议是基于请求/响应模式的,支持客户端和服务器之间的交互,常用于网页浏览、文件传输等应用。

4.FTP协议

FTP(File Transfer Protocol)协议是一种应用层协议,用于在客户端和服务器之间传输文件。FTP协议支持文件上传、下载和删除等操作,是网络文件传输的标准协议。

5.SMTP协议

SMTP(Simple Mail Transfer Protocol)协议是一种应用层协议,用于在邮件服务器之间传输电子邮件。SMTP协议支持邮件发送和接收等操作,常用于电子邮件的传输。

四、常见问题

1 ifconfig 介绍

ifconfig(interface configuration)是一个用于配置和显示网络接口信息的命令行工具,常用于Unix、Linux和其他类Unix操作系统中。在命令行中输入ifconfig命令,会显示当前系统中所有可用的网络接口的详细信息,包括接口名称、MAC地址、IP地址、网络掩码、广播地址、MTU、数据包统计信息等。

2 输出的主要内容 

下面是ifconfig命令输出的主要内容:

  1. 接口名称:ifconfig命令会列出当前系统中所有的网络接口,每个接口都有一个唯一的名称,例如eth0、lo等。

  2. MAC地址:MAC地址是网络接口的唯一标识符,它由六个十六进制数表示,用冒号隔开。MAC地址通常被用于网络设备之间的通信,以及网络设备的身份验证等。

  3. IP地址:IP地址是网络接口的逻辑地址,用于标识网络中的设备。ifconfig命令会显示每个接口的IP地址,包括IPv4地址和IPv6地址等。

  4. 网络掩码:网络掩码是用于将IP地址划分为网络地址和主机地址的掩码。ifconfig命令会显示每个接口的网络掩码,以及网络地址和主机地址等信息。

  5. 广播地址:广播地址是用于向同一网络中的所有设备发送数据包的地址。ifconfig命令会显示每个接口的广播地址。

  6. MTU:MTU(Maximum Transmission Unit)是数据链路层可以传输的最大数据包大小。ifconfig命令会显示每个接口的MTU值。

  7. 数据包统计信息:ifconfig命令会显示每个接口的数据包统计信息,包括接收的数据包数量、发送的数据包数量、错误的数据包数量等。

除了上述信息,ifconfig命令还可以用来配置网络接口的参数,例如设置IP地址和网络掩码、启用或禁用网络接口等。ifconfig命令是网络管理和故障排除中一个非常有用的工具,可以帮助管理员快速了解系统中各个网络接口的状态和配置信息。

3 示例介绍

在命令行中输入ifconfig命令时,会输出当前系统中所有可用的网络接口的详细信息。

下面是一个示例输出:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::a00:27ff:fe30:9e2a  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:30:9e:2a  txqueuelen 1000  (Ethernet)
        RX packets 32553  bytes 23721425 (22.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26732  bytes 5422956 (5.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

根据输出内容,可以解释如下:

  1. eth0:这是网络接口的名称,表示这是第一个以太网接口。

  2. flags=4163<UP,BROADCAST,RUNNING,MULTICAST>:这是网络接口的标志,表示该接口已经启用(UP)、支持广播传输(BROADCAST)、正在运行(RUNNING)和支持多播传输(MULTICAST)。

  3. mtu 1500:这是网络接口的最大传输单元(MTU),表示最大数据包的大小为1500字节。

  4. inet 192.168.0.100:这是IPv4地址,表示该接口的IP地址为192.168.0.100。

  5. netmask 255.255.255.0:这是网络掩码,表示前24位是网络地址,后8位是主机地址。

  6. broadcast 192.168.0.255:这是广播地址,表示将数据包发送到该地址时,所有在同一网络中的设备都会接收到数据包。

  7. inet6 fe80::a00:27ff:fe30:9e2a:这是IPv6地址,表示该接口的IPv6地址为fe80::a00:27ff:fe30:9e2a。

  8. prefixlen 64:这是IPv6地址的前缀长度,表示前64位是网络地址。

  9. scopeid 0x20<link>:这是IPv6地址的作用域,表示该地址的作用域为链路本地。

  10. ether 08:00:27:30:9e:2a:这是MAC地址,表示该接口的MAC地址为08:00:27:30:9e:2a。

  11. txqueuelen 1000:这是发送队列的长度,表示可以同时发送的数据包数量。

  12. RX packets 32553:这是接收数据包的数量。

  13. bytes 23721425:这是接收数据包的总字节数。

  14. RX errors 0:这是接收数据包时出现错误的数量。

  15. dropped 0:这是接收数据包时丢弃的数量。

  16. overruns 0:这是接收数据包时发生覆盖的数量。

  17. frame 0:这是接收数据包时出现的帧错误数量。

  18. TX packets 26732:这是发送数据包的数量。

  19. bytes 5422956:这是发送数据包的总字节数。

  20. TX errors 0:这是发送数据包时出现错误的数量。

  21. dropped 0:这是发送数据包时丢弃的数量。

  22. overruns 0:这是发送数据包时发生覆盖的数量。

  23. carrier 0:这是发送数据包时出现的载波错误数量。

  24. collisions 0:这是发送数据包时出现的冲突数量。

通过这些输出内容,可以了解每个网络接口的状态和配置信息,包括网络接口的名称、IP地址、MAC地址、传输统计信息等。这对于网络管理和故障排除非常有用。

5 思考问题

1 如何查看网络状态

要查看网络状态,可以使用以下命令:

ping命令

ping命令可以用来测试网络连接是否正常。它向指定的IP地址或域名发送一个ICMP(Internet控制消息协议)回显请求,如果目标主机能够回复,则表明网络连接正常。

例如,要测试网络连接是否正常,可以使用以下命令:

ping google.com

这个命令会向谷歌的主页发送一个ICMP回显请求,并等待主页服务器返回一个响应。如果网络连接正常,则会显示类似下面的输出:

PING google.com (172.217.12.174) 56(84) bytes of data.
64 bytes from ord30s26-in-f14.1e100.net (172.217.12.174): icmp_seq=1 ttl=118 time=9.25 ms
64 bytes from ord30s26-in-f14.1e100.net (172.217.12.174): icmp_seq=2 ttl=118 time=9.26 ms
64 bytes from ord30s26-in-f14.1e100.net (172.217.12.174): icmp_seq=3 ttl=118 time=9.22 ms

这个输出显示了ICMP回显请求的结果,包括从主机接收到的响应数据包的大小、源IP地址、目标IP地址、TTL(生存时间)和延迟时间等信息。

netstat命令

netstat命令可以用来显示网络连接的状态和统计信息。它可以显示活动的TCP和UDP连接、打开的端口、路由表、网络接口的统计信息等。

例如,要显示当前所有的网络连接和监听端口,可以使用以下命令:

sudo netstat -anp

这个命令会列出所有的网络连接和监听端口,并显示它们的状态、本地地址、远程地址、PID(进程标识符)和进程名称等信息。

ss命令

ss命令是一个更快速和更高效的替代netstat命令的工具。它可以显示当前的套接字(socket)信息,包括TCP和UDP连接、监听端口、进程名称等。

例如,要显示当前所有的TCP连接和监听端口,可以使用以下命令:

sudo ss -tlnp

这个命令会列出所有的TCP连接和监听端口,并显示它们的状态、本地地址、远程地址、PID和进程名称等信息。 

图书推荐

图书名称:

  1. 《计算机网络:自顶向下方法(原书第8版)》
  2. 《现代网络技术:SDN、NFV、QoE、物联网和云计算》

可任选一本

《计算机网络:自顶向下方法(原书第8版)》

《计算机网络:自顶向下方法(原书第8版)》——深入理解云计算必读著作。数十万读者的选择,被国内外数百所高校选用,被译为14种语言畅销全球。

先睹为快:计算机网络

《现代网络技术:SDN、NFV、QoE、物联网和云计算》

《现代网络技术:SDN、NFV、QoE、物联网和云计算》——一人写了70本书的大佬新作!全面、系统地论述影响现代网络的五种关键技术和应用,内容涵盖SDN、NFV、QoE、物联网、云计算。

先睹为快:现代网络技术

 参与方式 

图书数量:本次送出 4 本   !!!⭐️⭐️⭐️
活动时间:截止到 2023-07-14 12:00:00

抽奖方式:

  • 在新星计划【云原生之k8s入门】方向参加的小伙伴中随机抽取

参与方式:

  • 对文章进行:点赞、收藏、参加新星计划【云原生之k8s入门】,并提交任务。
    • 活动参与链接:https://bbs.csdn.net/topics/616338210

中奖名单 

🍓🍓 获奖名单🍓🍓

 中奖名单:请关注博主动态

名单公布时间:2023-07-14 下午

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

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

相关文章

uni-app:scroll-view滚动盒子,实现横(纵)向滚动条

参照&#xff1a;scroll-view | uni-app官网 (dcloud.net.cn) 样式&#xff1a; 代码&#xff1a; <template><view class"box"><scroll-view scroll-x"true" class"scroll"><view class"box1"> <view c…

ElasticSearch搜索相关性及打分的相关原理

文章目录 一、相关性和打分简介二、TF-IDF得分计算公式三、BM25&#xff08;Best Matching 25&#xff09;四、使用explain查看TF-IDF五、通过Boosting控制相关度 一、相关性和打分简介 举个例子来说明&#xff1a; 假设有一个电商网站&#xff0c;用户在搜索框中输入了关键词&…

前端 mock 数据的几种方式

目录 接口demo Better-mock just mock koa webpack Charles 总结 具体需求开发前&#xff0c;后端往往只提供接口文档&#xff0c;对于前端&#xff0c;最简单的方式就是把想要的数据写死在代码里进行开发&#xff0c;但这样的坏处就是和后端联调前还需要再把写死的数据…

计算机视觉和滤帧技术

01 什么是计算机视觉 进入主题之前&#xff0c;先聊聊计算机视觉。 计算机视觉是指利用摄像头和电脑识别、跟踪和测量目标&#xff0c;并进行图像处理&#xff0c;使其适合人眼观察或仪器检测。作为一个科学学科&#xff0c;计算机视觉模拟生物视觉&#xff0c;旨在实现图像和视…

DAY48:动态规划(十一)爬楼梯(进阶版)+零钱兑换(理解DP数组“装满“含义)

文章目录 70.爬楼梯&#xff08;改版题目&#xff09;思路遍历顺序 完整版总结面试情况 322.零钱兑换&#xff08;DP数组含义的进一步理解&#xff09;思路DP数组含义递推公式遍历顺序初始化最开始的写法debug逻辑错误&#xff1a;背包不一定装满 修改完整版递归逻辑分析背包是…

极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析...

全文链接&#xff1a;http://tecdat.cn/?p24182 本文用 R 编程语言极值理论 (EVT) 以确定 10 只股票指数的风险价值&#xff08;和条件 VaR&#xff09;&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 使用 Anderson-Darling 检验对 10 只股票的组合数据进行…

EFCore—context在其他程序集时如何进行数据迁移

场景 解决方案&#xff1a; 代码示例&#xff1a; 场景 一般来说&#xff0c;如果efcore进行数据迁移的步骤如下 安装nuget包创建实体类创建config创建dbcontext 然后执行如下命令就可以成功迁移了 Add-Migration Init Update-Database 一执行&#xff0c;报错 Unable t…

(四)「消息队列」之 RabbitMQ 路由(使用 .NET 客户端)

0、引言 先决条件 本教程假设 RabbitMQ 已安装并且正在 本地主机 的标准端口&#xff08;5672&#xff09;上运行。如果您使用了不同的主机、端口或凭证&#xff0c;则要求调整连接设置。 获取帮助 如果您在阅读本教程时遇到问题&#xff0c;可以通过邮件列表或者 RabbitMQ 社区…

k8s之Pod容器的探针

目录 一、Pod 容器的探针二、探针的探测方式2.1 存活探针的使用2.1.1 exec方式2.1.2 httpGet方式2.1.3 tcpSocket方式 2.2 就绪探针的使用2.3 启动探针的使用2.4 7.Pod 容器的启动和退出动作 三、总结 一、Pod 容器的探针 探针是由 kubelet 对容器执行的定期诊断&#xff08;p…

M1安装ParallelsDesktop-18 重启镜像后无网络

M1安装ParallelsDesktop-18 重启镜像后无网络 重新关联镜像 sudo -b /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_client_app

手机定屏死机问题操作指南

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、定屏死机问题抓取 Log 要求二、 复现定屏死机问题后做什么三、检查adb是否可连的方法四、连接adb 抓取以下Log五、如果adb不可连&#xff0c;执行下…

一、数制及其转换

目录 常用进制介绍 十进制 二进制 八进制 十六进制 进制转换 二进制转十进制 十进制转二进制 二进制转十六进制 十六进制转二进制 二进制转八进制 八进制转二进制 十六进制转八进制 八进制转十六进制 常用进制介绍 十进制 介绍&#xff1a;十进制是日常生活中最…

基于linux下的高并发服务器开发(第二章)- 2.9 waitpid 函数

#include <sys/types.h> #include <sys/wait.h>pid_t waitpid(pid_t pid, int *wstatus, int options); 功能&#xff1a;回收指定进程号的子进程&#xff0c;可以设置是否阻塞。 参数&#xff1a; - pid: pid > 0…

Versal ACAP在线升级之Boot Image格式

1、简介 Xilinx FPGA、SOC器件和自适应计算加速平台&#xff08;ACAPs&#xff09;通常由多个硬件和软件二进制文件组成&#xff0c;用于启动这些设备后按照预期设计进行工作。这些二进制文件可以包括FPGA比特流、固件镜像、bootloader引导程序、操作系统和用户选择的应…

打造有效的产品帮助中心的关键步骤

在当今竞争激烈的市场中&#xff0c;为产品提供优质的客户支持是至关重要的。而一个有效的产品帮助中心可以成为解决客户问题和提供相关信息的中心。本文将介绍打造一个有效的产品帮助中心的关键步骤&#xff0c;帮助你提升客户体验并增强产品的用户满意度。 1. 选择合适的管理…

记一次ruoyi中使用Quartz实现定时任务

一、首先了解一下Quartz Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目&#xff0c;它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个&#xff0c;百个&#xff0c;甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标…

13matlab数据分析多项式的求值(matlab程序)

1.简述 统计分析常用函数 求最大值 max 和 sum 积 prod 平均值&#xff1a;mean 累加和&#xff1a;cumsum 标准差&#xff1a;std 方差&#xff1a;var 相关系数&#xff1a;corrcoef 排序&#xff1a;sort 四则运算 1.多项式的加减运算就是所对应的系数向量的加减运算&#…

ToT: 利用大语言模型解决需要深思熟虑的问题(下)

ToT 摘要介绍利用大语言模型进行有意识的问题解决1. 思维分解2. 思维产生 G(p,s,k)3. 状态评估V(p,S)4. 搜索算法 实验24游戏1). 任务设置2). 基准3). ToT设置4).结果5). 错误分析 创意写作1). 任务设置2).基准3).ToT设置4).结果 交叉词 相关工作规划和决策自我反省程序引导的L…

常见问题-wp

指定顺序展示富集分析的term 调整热图的label角度 h1ggheatmap(dat[cg1,],cluster_rows T, #是否对行聚类cluster_cols T, #是否对列聚类tree_height_rows 0.28, #行聚类树高度tree_height_cols 0.1, #列聚类树高度annotation_cols group_list, #为列添加分组annotation_c…

软件检测报告对软件产品起的作用和编写原则分析

软件检测报告是一项对软件进行全面测试和评估的结果总结&#xff0c;通过对软件的功能、性能、安全性等方面的测试&#xff0c;以及通过分析软件的可靠性和稳定性&#xff0c;来评估软件的质量和合规性。 一、软件检测报告对软件产品起到的作用 1、提供一个全面的评估和分析软…