【程序员必看】计算机网络,快速了解网络层次、常用协议和物理设备!

news2025/1/21 15:45:31

文章目录

  • 0 引言
  • 1 基础知识的定义
    • 1.1 计算机网络层次
    • 1.2 网络供应商 ISP
    • 1.3 猫、路由器、交换机
    • 1.4 IP协议
    • 1.5 TCP、UDP协议
    • 1.6 HTTP、HTTPS、FTP协议
    • 1.7 Web、Web浏览器、Web服务器
    • 1.8 以太网和WLAN
    • 1.9 Socket (网络套接字)
  • 2 总结

0 引言

  • 在学习的过程中总是会对IP、TCP、UDP、HTTP、HTTPS、FTP这些常见的协议不熟悉,以及对猫,交换机、路由器的含义也不太清楚。
  • 对于只是想了解一二的人,让他去学一遍计算机网络课程确实有点耗费时间精力
  • 所以我就针对平时常见的名词进行解释,然后再用一张层次图来表明他们各自所处的网络层次全面介绍;

1 基础知识的定义

1.1 计算机网络层次

计算机网络通常被分为多个层次,常用的是OSI模型TCP/IP模型,它们分别有不同的层次配置。但在实际应用中,TCP/IP协议栈更为广泛使用。

注意:网络的底层均是为上一层提供服务,然后上一层再为上上层提供服务。

  1. OSI模型:
  • 物理层:处理物理连接和电信号传输。(猫)
  • 数据链路层:负责数据帧的传输和错误检测。(交换机)
  • 网络层:进行路由和包转发,实现不同网络之间的通信。(路由器、IP)
  • 传输层:提供端到端的可靠数据传输和流控制。(TCP、UDP)
  • 会话层:管理通信会话的建立和维护。
  • 表示层:进行数据格式转换、加密和压缩等操作。
  • 应用层:提供用户与网络应用程序的接口。(HTTP、HTTPS、FTP)
  1. TCP/IP模型:
  • 网络接口层(链路层):负责处理与物理介质的通信,如以太网、Wi-Fi等。它定义了数据在物理媒介中的传输方式和格式,以及物理地址的解析和传输。
  • 网络层:负责数据包的路由和转发,将数据从源地址传输到目标地址。它使用IP协议来标识和定位网络上的设备,并通过路由选择算法确定最佳路径。
  • 传输层:提供端到端的可靠数据传输。其中最常用的协议是传输控制协议(TCP)和用户数据报协议(UDP)。TCP提供可靠的、面向连接的数据传输,而UDP提供不可靠的、面向无连接的数据传输。
  • 应用层:提供用户与网络之间的接口,支持特定应用程序的网络通信。常见的应用层协议包括超文本传输协议(HTTP)、文件传输协议(FTP)、域名系统(DNS)等。

这些层次的划分有助于组织和管理计算机网络的各个功能模块,使得网络的设计、实现和维护更加灵活和可扩展。

1.2 网络供应商 ISP

  • 网络供应商(Internet Service Provider,ISP)是指提供互联网接入服务的公司或组织。它们在全球范围内提供互联网连接和相关服务,使用户能够通过电信基础设施与全球互联网进行通信。
  • 中国的网络供应商有:中国电信、中国移动、中国联通、中国铁通;

1.3 猫、路由器、交换机

猫(Modem)、交换机(Switch)和路由器(Router)是计算机网络中常见的网络设备,它们在网络通信中扮演着不同的角色。

猫(Modem):
猫是“调制解调器”的简称,它主要负责将数字信号转化为模拟信号用于传输,以及将模拟信号转化为数字信号用于接收。猫一般用于连接本地网络设备(如计算机、路由器)与互联网服务提供商(ISP)的接入点。它可以通过各种物理介质(如电缆、DSL)将数据信号通过传输线路发送和接收。猫通过拨号、以太网等方式将连接从外部提供者传输到内部网络。

交换机(Switch):
交换机是在局域网(LAN)中用于连接多个网络设备的网络设备。交换机具有多个以太网端口,可以通过它们之间的交换转发数据包。交换机在接收到数据包时,会检查数据包的目的地址,并将其只发送到目标设备连接的端口上,从而实现网络设备之间的直接通信。交换机通过提供高速、可靠的数据交换,增强了局域网的性能和安全性。

路由器(Router):
路由器是用于连接多个网络的设备,用于在不同的网络之间传输数据包。路由器根据目标IP地址和转发表,决定将数据包转发到哪个网络。路由器负责在不同网络之间路由数据,并确保数据按照正确的路径到达目标网络。路由器在一个网络到另一个网络之间起到桥梁的作用,可以实现不同网络之间的通信和互联。

他们三者的联系和区别:

  • 猫、交换机和路由器都是网络设备,用于实现数据的传输和通信。
  • 猫主要负责将数字信号转化为模拟信号用于传输接入互联网服务提供商;交换机用于连接多个内部网络设备以实现设备之间的通信;路由器则用于连接不同的网络,并在网络之间实现数据包的转发和路由。
  • 猫和交换机通常用于局域网内部,而路由器用于连接不同的网络。
  • 交换机和路由器都具有多个端口,可以连接多个设备,而猫通常只有一个或少数几个端口。
  • 综上所述,猫、交换机和路由器在计算机网络中具有各自的功能和作用,它们一起构成了一个完整的网络系统,实现了设备之间的连接和数据的传输。

1.4 IP协议

IP(Internet Protocol,互联网协议)是一种在互联网上进行数据包传输的网络层协议。它为网络设备(如计算机、路由器等)提供了一种 寻址路由 的功能,以确保数据能够准确传递到目标设备。

IP协议的主要特点功能如下:

  • 寻址和唯一标识:IP协议通过IP地址来标识网络设备,每个设备都有一个唯一的IP地址,它由网络号和主机号组成。IP地址用于定位设备的位置,以便网络数据能够正确地路由到目标设备。
  • 路由选择:IP协议负责根据目标IP地址选择合适的路由路径,以实现数据包的传输。路由器根据设备的IP地址和路由表信息,决定将数据包发送到哪个网段或下一跳的路由器。
  • 分组和重组:IP协议将大块的数据分割成较小的数据包(称为IP数据报),并在网络上传输。接收端的IP协议负责根据数据包的序号和标识信息,将分散的数据包重新组装成完整的数据。
  • 不可靠的传输:IP协议本身是一种无连接、不可靠的传输协议。它不提供数据包的确认、重传和序列控制等机制。当数据包在传输过程中发生丢失、错误或延迟,IP协议不会进行处理,而是交给上层的传输协议(如TCP和UDP)来处理

总体来说,IP协议提供了一种灵活、可扩展的机制,使得数据能够在不同的网络之间进行传输。它是互联网通信的基础,为其他上层协议(如TCP、UDP、HTTP等)提供了可靠的传输基础。同时,IP协议也面临着很多挑战,如IPv4地址枯竭和网络安全等问题,因此,IPv6协议作为新一代IP协议正在逐渐推广和应用。

1.5 TCP、UDP协议

TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常用的传输层协议。它们在互联网通信中起着不同的作用和提供不同的特点。

TCP协议:

  • 面向连接:在数据传输之前,TCP会先建立一个连接,确保通信双方建立可靠的传输通道。
  • 可靠性:TCP提供可靠的数据传输机制。它采用序列号、确认机制和重传机制来保证数据的可靠性,确保数据包按序到达目的地,并处理丢失、重复、错误等问题。
  • 流量控制:TCP通过滑动窗口机制控制数据发送的速率,避免发送过多数据导致接收方无法及时处理。
  • 拥塞控制:TCP能够感知网络拥塞,并根据网络状况调整数据的发送速率,以避免拥塞情况的进一步恶化。
  • 适用场景:TCP适用于对数据传输可靠性要求较高的应用,如文件传输、电子邮件、Web浏览器等应用。

UDP协议:

  • 无连接:UDP是一种无连接的协议,数据包的传输没有建立连接的过程。数据包独立发送,不保证顺序和可靠性。
  • 无确认和序列号:UDP不提供数据包的确认和重传机制,也不处理丢失、重复、错误等问题。
  • 简单性和低延迟:由于不需要建立连接和进行可靠性保证,UDP的开销较小,传输速度相对较快,适用于实时性要求高的应用。
  • 广播和多播:UDP支持广播和多播功能,可以实现将数据包发送给多个目标设备。
  • 适用场景:UDP适用于对传输延迟要求较高、对传输可靠性要求相对较低的应用,如实时音视频传输、在线游戏等。

两者使用场景区别:选择使用TCP还是UDP取决于应用要求和场景需求。对于需要可靠传输、顺序性和拥塞控制的应用,TCP是更好的选择。而对于实时性要求较高、数据量较小、丢失几个数据包不会造成严重影响的应用,UDP更合适。

1.6 HTTP、HTTPS、FTP协议

HTTP(Hypertext Transfer Protocol),HTTPS(Hypertext Transfer Protocol Secure)和FTP(File Transfer Protocol)都是常用的应用层协议,用于不同的数据传输和通信场景。

HTTP:
HTTP是一种用于在客户端服务器之间传输超文本的协议。它是Web浏览器和Web服务器之间的通信协议,用于请求和传输HTML页面、图像、音频、视频等资源。HTTP是基于TCP协议的(上层协议都是根据下层协议提供的服务实现的),采用了请求-响应模型,客户端向服务器发送请求,服务器返回相应的内容。

HTTPS:
HTTPS是基于HTTP协议的安全版本。它通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议来对通信进行加密和验证,以确保数据传输的安全性。HTTPS协议在HTTP的基础上加入了加密和身份认证,常用于涉及敏感信息传输的网站,如电子商务网站、在线银行等。

FTP:
FTP是一种用于文件传输的协议。它允许将文件从一个计算机传输到另一个计算机,可以上传、下载和管理文件。FTP协议可以在一个客户端和一个服务器之间建立一个连接,使用用户名和密码进行身份验证,并在服务器和客户端之间进行文件传输。FTP通常使用TCP作为传输协议

需要注意的是,HTTP和HTTPS主要用于Web访问和资源传输,而FTP协议则专注于文件传输。每种协议都有自己的特点和用途,在不同的场景中选择适合的协议来满足需求。

1.7 Web、Web浏览器、Web服务器

在HTTP协议中介绍了Web相关的知识点,下面再将Web相关定义回顾一遍

Web(World Wide Web)
是一种基于互联网的信息系统由许多互相连接的网页组成。它通过使用标准的HTTP协议进行通信,使得用户能够通过Web浏览器访问和浏览网页上的内容。

Web浏览器
是一种用于查看和访问Web页面的软件应用程序。它提供了用户界面,允许用户输入URL(统一资源定位符)或点击链接来请求特定的Web页面。一旦接收到页面数据,Web浏览器会解析并显示页面上的文本、图像、视频和其他多媒体内容。常见的Web浏览器包括谷歌浏览器、Mozilla Firefox、微软Edge等。

Web服务器
是一种网络服务器软件,主要负责接收并响应Web浏览器发出的HTTP请求。它存储和提供Web页面和其他相关资源,将这些资源发送给请求的浏览器。Web服务器可以根据请求的URL和其他参数,动态生成页面内容,还可以处理表单提交、会话管理等功能。常见的Web服务器软件有Apache HTTP Server、Nginx、Microsoft IIS等。

Web浏览器和Web服务器是Web使用过程中的两个重要角色。浏览器作为客户端发送HTTP请求,服务器作为服务端接收并响应请求,两者之间通过互联网进行通信,以实现用户在Web上浏览和交互的功能。


拓展:Web浏览器和Web服务器之间基本的请求-响应模型

当用户在Web浏览器中输入URL或点击链接时,以下是Web浏览器和Web服务器之间的基本流程:

  1. 解析URL:浏览器解析用户输入的URL,提取出协议(如HTTP、HTTPS)、域名(如www.example.com)和路径(如/page)等信息。
  2. 建立连接:浏览器通过网络建立与Web服务器的TCP连接。使用域名解析域名转换为服务器的IP地址,并通过端口号确定Web服务器的监听端口(默认为80)。
  3. 发送HTTP请求浏览器构建HTTP请求报文,包括请求方法(如GET、POST)、请求(如User-Agent、Cookie)和请求(如果有的话),然后将请求报文发送给Web服务器
  4. 处理请求:Web服务器接收到请求后,根据请求的URL和其他信息,找到对应的资源或处理程序。如果请求的是静态文件(如HTML、图片、CSS文件等),服务器会从磁盘中读取文件,并将文件作为响应内容发送给浏览器。如果请求的是动态资源(如PHP、Python脚本等),服务器会调用相应的处理程序进行处理,并生成动态的响应内容。
  5. 发送HTTP响应:Web服务器将生成的响应内容构建成HTTP响应报文,包括响应状态码(如200表示成功,404表示未找到资源)和响应头(如Content-Type、Content-Length),然后将响应报文发送给浏览器。
  6. 接收和解析响应:浏览器接收到响应报文后,根据响应头中的信息解析响应内容。浏览器会根据响应的数据类型进行相应的处理,如渲染HTML内容、加载CSS样式表、执行JavaScript脚本等。
  7. 渲染页面:浏览器会将接收到的HTML文档解析为DOM树,并根据CSS样式对DOM元素进行渲染。然后,浏览器将渲染好的页面显示给用户。
  8. 关闭连接:当浏览器完成页面的渲染并断开与服务器的连接时,连接会被关闭,释放相关的资源。

1.8 以太网和WLAN

以太网(Ethernet)
是一种局域网(LAN)技术,用于在计算机和其他网络设备之间进行数据通信。以太网是一种基于有线传输介质的网络技术,最常见的传输介质是双绞线。它基于CSMA/CD(载波侦听多路访问/冲突检测)协议,允许多个设备共享同一个局域网,并通过解决冲突来提供高效的数据传输。

WLAN(无线局域网)
是一种无线网络技术,通过无线信号传输数据,实现计算机和其他无线设备之间的数据通信。WLAN使用无线接入点(Access Point)作为中心设备,通过无线信号覆盖一定范围内的区域,使设备可以连接到网络并进行数据交换。常见的无线网络技术包括Wi-Fi(无线保真)。

区别和联系

  • 传输介质:以太网使用有线传输介质(如双绞线),而WLAN使用无线信号进行数据传输。
  • 连接方式:以太网通常通过物理连接(如网线)将设备连接到网络,而WLAN则通过无线信号连接设备。
  • 覆盖范围:以太网的传输范围受限于有线传输介质的长度,而WLAN通过无线信号可以在一定范围内提供网络覆盖。
  • 移动性:以太网连接通常是固定的,设备需要通过有线连接到网络,而WLAN提供了移动性,允许设备在无线网络覆盖范围内自由移动。
  • 速度和带宽:以太网通常提供更高的传输速度和带宽,适合在局域网中传输大量数据。WLAN的速度和带宽通常受到无线信号质量和干扰的影响,可能不如有线网络稳定和高速。
  • 尽管以太网和WLAN使用不同的传输技术和连接方式,它们通常被用于不同的场景和需求。以太网适用于需要高速、高带宽和可靠连接的场景,如办公室、数据中心等;而WLAN适用于需要灵活移动、无线连接和覆盖范围更广的场景,如家庭、咖啡馆、机场等。

1.9 Socket (网络套接字)

思考:在设计到网络编程时,总会听到Socket词汇,那么Socket到底是什么呢?
答案:Socket 是传输层应用层提供的服务接口。

  • 在网络通信中,不同层次的协议有着不同的责任和功能,传输层负责将数据从一个节点传输到另一个节点,而应用层则负责应用程序之间的通信。
  • Socket 是传输层和应用层之间的接口,通过它应用程序可以向传输层发送数据和接收数据。应用程序可以利用 Socket API 来创建和管理套接字(Socket),通过套接字进行数据的发送和接收。
  • 传输层提供了两种常用的协议:传输控制协议(TCP)和用户数据报协议(UDP)。TCP 提供可靠的、面向连接的数据传输,而 UDP 则是一种无连接的协议,适用于需要快速传输而对可靠性要求较低的应用。
  • 通过 Socket,应用程序可以选择适合自身需求的传输层协议。例如,对于需要保证数据的可靠性和顺序的应用,可以选择使用 TCP 协议;而对于实时性要求较高、可靠性要求较低的应用,可以选择使用 UDP 协议。

总结来说,Socket 是传输层提供给应用层的接口,它使应用程序能够通过传输层协议进行数据的发送和接收。开发人员可以利用 Socket 来实现各种网络应用和通信功能。

2 总结

在这里插入图片描述

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

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

相关文章

OpenResty编译安装详解

文章目录 一、概述1、OpenResty是什么2、官方文档 二、cengos安装OpenResty1、从官网下载2、目录结构3、编译安装 一、概述 1、OpenResty是什么 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖…

【Word】公式编辑器中连字符/减号等显示偏长/过长

问题 当公式编辑器中出现连字符的时候,连字符显示偏长,如下图所示: 方法 在连字符的前后加上双引号后即可解决连字符显示偏长的问题。 最终效果对比如下: 结语 Word的公式编辑器中,双引号内部的内容被当做普通…

基于FastAPI的文件上传和下载

基于FastAPI的文件上传和下载 一、前言 为了实现ASR的可视化界面,在各个博客中寻觅了一波找找文件上传和下载的例子,没有找到能完整实现这个功能的,有也只是有一部分(菜菜求捞捞),看了甚是烦恼&#xff0…

DBC配置SecOC属性

关联文章:Autosar基础——车载信息安全SecOC 属性定义的规范详细介绍请参考 ①dbc属性定义 ②Vector DBC属性定义规则 文章目录 一、SecOC简介二、DBC文件中的SecOC属性三、配置SecOC属性设置SecOC的属性设置同步报文的属性设置同步请求报文的属性一、SecOC简介 在车载网络中…

怎么利用互联网赚钱,网上赚钱的7种方法

互联网的兴起改变了我们的生活方式,不仅让我们的世界更为便捷,也为我们提供了赚钱的机会。越来越多的人开始通过互联网实现财富梦想。你是否曾想过,如何利用互联网来赚钱呢?今天,我将为大家分享七种赚钱方法&#xff0…

数据分析篇-数据认知分析

一简介 数据认知分析,实际是对数据的整体结构和分布特征进行分析,是对整个数据外在的认识,也是数据分析的第一步。对于数据认知的分析,一般会考虑分散性、位置特性、变量的相关性等,一般会考虑平均数、方差、极差、峰…

算法通过村第十二关-字符串|白银笔记|经典面试题

文章目录 前言1. 反转问题1.1 反转字符串1.2 k个一组反转1.3 仅仅反转字母1.3.1 采用栈实现操作1.3.2 采用双指针实现操作 1.4 反转字符串里面的单词1.4.1 使用语言提供的方法来解决(内置API)1.4.2 如何优雅自己实现上述功能 2. 验证回文串3. 字符串中的第一个唯一字符4. 判断是…

SaaS 电商设计 (二) 全链路解决方案概述和核心业务流程梳理

一.业务目标&技术目标 业务目标:完成多业态,多渠道的数字化运营 自有业务: O2O,B2C,B2B2C,S2B2b 平台业务:POPB2c,POPB2b,POPS2B2b 1.1 自有业务 O2O:全称Online to Offline.泛指的线上线下的业务融合.这种的情况分为两种情况,第一种通过线上的数字化运营引导线上用户线下…

oCPC实践录 | oCPC转化的设计、选择、归因与成本设置(4)

读者们,中秋十一快乐,一篇文章奉上。 在上篇oCPC实践录 | oCPC转化的设计、选择、归因与成本设置(3)文章中我们主要讨论:怎么定义高价值用户,回传高价值用户不一定利益最大化,回传高ROI用户逻辑…

速度轴模拟量控制FB(博途SCL+三菱ST代码)

利用模拟量实现变频器的正反转直接控制具体方法,请参考下面文章链接: 模拟量0-10V信号控制变频器实现正反转速度随动_RXXW_Dor的博客-CSDN博客比例随动专栏有系列文章介绍,大家可以查看相关文章,链接如下:绕线机-排线伺服比例随动功能块(梯形图+SCL代码)_RXXW_Dor的博客…

自己实现扫描全盘文件的函数。

1.自己实现扫描全盘的函数 def scan_disk(dir): global count,dir_count if os.path.isdir(dir): files os.listdir(dir) for file in files: print(file) dir_count 1 if os.path.isdir(dir os.sep file): …

MATLAB:线性系统的建模与仿真(含完整程序)

目录 前言实验内容一、先看作业题目要求二、作业正文Modeling LTI systemsEstablish model1.tf(sys2)2. tf(sys3)3.zpk(sys1)4. zpk(sys3)5. ss(sys1)6. ss(sys2)7.[num,den] tfdata(sys1)8.[num,den] tfdata(sys2)9.[num,den] tfdata(sys3)10.[num,den] tfdata(sys1,’v’…

【Linux】信号简介与触发信号的几种方式

相信大家或多或少都听说过信号这一概念,这篇博客将为大家讲解一些信号方面的基础知识 信号简介 定义Linux操作系统中重要的消息机制功能主要被用于进程干预处置,大多数信号的作用是杀死或挂起进程,只有少部分的信号不是用来杀死或挂起进程个…

【数据结构】排序(3)—堆排序归并排序

目录 一. 堆排序 基本思想 代码实现 向上调整算法 向下调整算法 时间和空间复杂度 稳定性 二. 归并排序 基本思想 代码实现 时间和空间复杂度 稳定性 一. 堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似 …

lambda表达式在实际开发中的使用

作为写代码已经两年的程序员了,lambda已经是再熟悉不过了。其实在众多的编程语言中,python javascript java中都有lambda的影子。包括比较新的编程语言golang,到最后发现其实各种语言的语法和特性都是相互抄袭的,所以在接触新技术…

drone和gogs安装

背景介绍 什么是 Drone? Drone 是一个面向忙碌的开发团队的自助持续集成和持续交付平台。官网地址: https://www.drone.io/同时,Drone 是使用 Golang 语言进行编写。所有的编译、测试的流程都在 Docker 容器中执行。Drone 通过使用简单的 YA…

直线导轨坏了可以维修吗?

直线导轨是工业自动化设备中常用的零部件,其性能和使用寿命对设备的稳定运行和产能有着直接的影响,在生产中,由于各种原因,直线导轨会出现各种问题,那么,直线导轨的维修方法究竟是怎样的呢?我们…

竞赛选题 深度学习 opencv python 实现中国交通标志识别_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

【安鸾靶场】实战渗透

文章目录 前言一、租房网 (150分)二、企业网站 (300分)三、SQL注入进阶 (550分) 前言 最近看到安鸾的靶场有些比较有意思就打了一下午,有一定难度。 一、租房网 (150分) http://106.15.50.112:8031/ 刚打开burp就报了thinkphp的代码执行 直接getshell flag&a…

邮件注册(一)验证码发送

通过邮箱实现注册&#xff0c;用户请求验证码完成注册操作。 导入依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><g…