计算机网络 快速了解网络层次、常用协议、常见物理设备。 掌握程序员必备网络基础知识!!!

news2024/9/20 22:30:40

文章目录

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

0 引言

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

1 基础知识的定义

1.1 计算机网络层次

计算机网络通常被分为多个层次,常用的是OSI模型TCP/IP模型,它们分别有不同的层次配置。以下是常见的计算机网络层次:

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

  1. OSI模型:
  • 物理层:处理物理连接和电信号传输。(猫)
  • 数据链路层:负责数据帧的传输和错误检测。(交换机)
  • 网络层:进行路由和包转发,实现不同网络之间的通信。(路由器、IP)
  • 传输层:提供端到端的可靠数据传输和流控制。(TCP、UDP)
  • 会话层:管理通信会话的建立和维护。
  • 表示层:进行数据格式转换、加密和压缩等操作。
  • 应用层:提供用户与网络应用程序的接口。(HTTP、HTTPS、FTP)
  1. TCP/IP模型:
  • 网络接口层(网络访问层):处理物理连接和数据链路层的功能。
  • 网际层:负责数据包的路由和转发。
  • 传输层:提供端到端的可靠数据传输和流控制,包括TCP和UDP协议。
  • 应用层:提供网络应用程序的接口,如HTTP、FTP、SMTP等。
  • 这些层次的划分有助于组织和管理计算机网络的各个功能模块,使得网络的设计、实现和维护更加灵活和可扩展。

1.2 网络供应商

  • 网络供应商(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. 关闭连接:当浏览器完成页面的渲染并断开与服务器的连接时,连接会被关闭,释放相关的资源。

2 总结

在这里插入图片描述

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

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

相关文章

目前制造企业生产计划现状是什么?有没有自动化排产系统?

大家都知道,人的指挥中心是大脑,大脑对我们的发出各种各样的指令,告诉我们:“手”做什么事情,“眼睛”看什么地方,“耳朵”听什么声音,然后再将摸到的、看到的、听到的信息传递给大脑&#xff0…

DataFrame入门

文章目录 1. 数据集合加载2. 使用常用的属性/方法查看数据情况type()shapecolumnsdtypesinfo() 3. 查看部分数据获取一列数据获取多列数据按行加载数据同时取出行列数据切片语法 4. 简单数据分析5. 数据可视化总结 1. 数据集合加载 pd.read_csv()方法不仅可以加载CSV文件&…

【DFIR】蘇小沐的微信公众号

【DFIR】蘇小沐的微信公众号 最近整理排版微信公众号【DFIR】,欢迎关注哟!名称【DFIR】表示【数字取证和事件响应】之意!—【蘇小沐】

哈希表(Hash Table)介绍

哈希表(Hash Table)介绍 哈希表(Hash Table):也叫做散列表。是根据键值(Key Value、关键码值)直接进行访问的数据结构。 哈希表通过“键(key)”和“映射函数&#xff0…

Hive【Hive(六)窗口函数】

窗口函数(window functions) 概述 定义 窗口函数能够为每行数据划分 一个窗口,然后对窗口范围内的数据进行计算,最后将计算结果返回给该行数据。 语法 窗口函数的语法主要包括 窗口 和 函数 两个部分。其中窗口用于定义计算范围…

A*算法和Dijkstra

A*算法 A*算法 个人理解FGH,F是总距离,G是已经走过的距离,F是暂未走过的距离,通过不断探索领进路径直至所有路径都到达终点,然后反向去确定最短路! A*算法是静态路网中寻找最短路的最有效算法&#xff…

网络安全工程师考证指南,不看就亏了!!

目前网络安全行业,国内都有哪些证书可以考? 一、CISP-PTE (国家注册渗透测试工程师) CISP-PTE即注册信息安全渗透测试工程师,该证书由中国信息安全测评中心颁发,证书是国内唯一认可的渗透测试认证&#x…

GO 中优雅编码和降低圈复杂度

本次主要是聊聊关于使用接口抽象和降低圈复杂度的方式 工作中,难免会遇到老项目老代码,不仅仅需要我们维护,可能还需要我们在原来的垃圾代码上进行新增功能或者是进行优化调整 例如 现有的老代码中关于用户系统这一块就已经经是摇摇欲坠&a…

新版精仿今日头条新闻网站源码/搭建教程+自动采集接口+采集更新文章【新闻站搭建源码】

精仿今日头条新闻网站源码,这个是新闻站搭建源码,含有搭建教程,也可以自动采集接口采集更新文章。源码亲测可用,mysql5.7、PHP7.3支持页面自适应,里面带有详细安装搭建教程。 功能特点: 1、这个网站可以自…

【C++】多线程的学习笔记(2)——白话文版(bushi

目录 前一篇 本章内容提要 使用mutex锁的原因 mutex锁的概念 mutex的使用教程 锁的声明以及命名 mutex的加锁以及解锁 例子 结果 注意 mutex的其他方式的锁介绍 lock_guard 介绍 例子 运行结果 adopt_lock参数 unique_lock 介绍 try_to_lock defer_lock re…

fic2023(完结,AIRDROP放弃)

AIRDROP 1.请分析苹果手机导出日志,airdrop所使用的扫描模式(Scanning mode)为?? 直接搜索可得Scanning mode Contacts Only 2. AirDrop服务计划监听端口号是多少? 8770 3.AirDrop中接收到图片的识别码(identifier)是多少?(标准格式:12345678-1234-5678-1234-5678…

工厂生产线管理所需的系统介绍

工厂生产线管理对于提高生产效率、优化资源利用和确保产品质量至关重要。在现代化工厂中,采用各种系统来支持生产线的管理和运营。本文将全方位介绍工厂生产线管理所需的系统,包括生产计划系统、设备监控系统、质量管理系统和数据分析系统。 一、生产计划…

Adobe_InDesign_2023_18.4.0.056图文安装教程及下载

Adobe InDesign是Adobe公司的一个桌面出版 (DTP)应用程序,简称“Id”,主要用于各种印刷品的排版编辑。InDesign是一款功能强大的出版物创作、排版和打印软件,可以帮助出版物和广告创作者提高效率,节省时间,改善印刷质量。InDesign…

大模型部署手记(6)通义千问+Jetson AGX Orin

1.简介 组织机构:阿里 代码仓:https://github.com/QwenLM/Qwen 模型:Qwen/Qwen-7B-Chat-Int4 下载:http://huggingface.co/Qwen/Qwen-7B-Chat-Int4 modelscope下载:https://modelscope.cn/models/qwen/Qwen-7B-Ch…

设计模式——Decorator(装饰器模式)

Decorator(装饰器模式) 目的: 动态地给一个对象添加一些额外的职责。 适用性: 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。 简单解释 当有一个已经完成的系统,其中类和对象的关系的错综复杂的&#x…

【MySql】Mysql之备份与恢复

目录 一、mysql日志概述 1、日志类型与作用 2、日志配置文件 3、日志配置文件的查询 二、备份的类型❤ 1、物理备份 1.1 冷备份 1.2 热备份 1.3 温备份 2、逻辑备份❤ 2.1 完全备份 2.2 差异备份 2.3 增量备份 2.5 如何选择逻辑备份策略 3、常见的备份方法 3…

大模型部署手记(3)通义千问+Windows GPU

1.简介 组织机构:阿里 代码仓:GitHub - QwenLM/Qwen: The official repo of Qwen (通义千问) chat & pretrained large language model proposed by Alibaba Cloud. 模型:Qwen/Qwen-7B-Chat-Int4 下载:http://huggingface…

Modelsim测试覆盖率操作说明

1、打开Project窗口界面 2、在project界面下,选中所有需要测试覆盖率的.v文件(不包括tb文件),鼠标点击右键,在Properties选项中选择Coverage选项,选择需要测试的覆盖率类型 3、重新编译所有的源文件&#x…

【gitlab】从其他仓库创建项目

需求描述 解决方法 以renren-fast脚手架为例 第一步 第二步 第三步 第四步 参考文章

Echarts 教程二

Echarts 教程二 Echarts 常用配置篇柱状图常用配置折线图常用配置散点图常用配置饼图常用配置地图常用配置 Echarts 常用配置篇 柱状图常用配置 配置柱状图的最大最小值 平均值 显示柱状图文字 柱状图宽度 折线图常用配置 配置最大最小值 平均值 标记区域 线的平滑 线的样式 等…