【计算机网络笔记一】网络体系结构

IP和路由器概念

两台主机如何通信呢?

首先,主机的每个网卡都有一个全球唯一地址,MAC 地址,如 00:10:5A:70:33:61

查看 MAC 地址:

  • windows: ipconfig / all
  • linux:ifconfig 或者 ip addr

同一个网络的多台计算机通过交换机互连:

在这里插入图片描述

其次使用 IP 来标识网络和主机,一个 IP 包含两部分信息:

  • ① 网络号 — IP 所属网络

  • ② 主机号 — 一个网络中的主机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

总结:

  • 每个网卡都有一个全球唯一的 MAC 地址
  • 同一个网络中的不同主机之间通过交换机来通信,交换机根据MAC地址和接口号来区分
  • 不同网络的主机之间通过路由器来进行通信,路由器通过网关地址和接口号来区分
  • ISP 互联网服务提供商(如中国电信中国移动)从互联网管理机构申请很多成块的 IP 地址,用户上网是跟 ISP 对接

网络分层

在这里插入图片描述

七层、四层还是五层网络模型呢?

为了使不同体系结构的计算机网络都能互连,国际化标准化组织于 1977 年成立了专门机构研究该问题,他们提出了一个试图使各种计算机,在世界范围内互连成网的标准框架,也就是“开放系统互连参考模型”,简称 OSI

OSI 七层体系概念很清楚,理论也比较完整,但它既复杂又不实用,所以我们基本不使用 OSI 体系结构,我们而是使用应用更为广泛的 TCP/IP 体系结构。

在这里插入图片描述

TCP/IP 四层体系结构

OSI 的七层协议体系结构是法律上的国际标准,而 TCP/IP 四层协议模型是事实上的国际标准。为了更加清楚的学习 TCP/IP 四层体系结构,我们还是把网络接口层分成数据链路层物理层

TCP/IP 协议中的网际层其实就是 OSI 中的网络层,之所以使用网际层这个名字,是为了强调这一层是解决不同网络的互连问题。

在这里插入图片描述
在这里插入图片描述

总结:

在这里插入图片描述

分层执行流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分层传输的整个流程有点像寄快件 - 收快递的过程,从上往下其实就是一层一层打包的过程,从下往上其实就是一层一层拆包的过程。

下面是分层执行流程详图:

在这里插入图片描述

总结:

在这里插入图片描述

在这里插入图片描述

  • 应用层对用户传输的原始数据添加HTTP报文段,使之符合http协议,能在应用层之间进行相互解析

  • 传输层对应用层的http报文添加一个TCP首部,使之成为一个TCP报文段,TCP首部包含了源端口号目标端口号,以及序号、确认号和标志位等,TCP首部的作用是:区分应用进程,实现可靠传输。

  • 网络层:对传输层的TCP报文添加一个IP首部,使之成为一个IP数据报,IP首部包含了源IP地址目标IP地址,以及版本号和协议等,IP首部的作用:使IP数据报可以在互联网上传输,也就是可以被路由器转发。

  • 数据链路层:对网络层的IP数据报添加一个首部和一个尾部,使之成为一个,首部中包含了源MAC地址目标MAC地址等,首部的作用:使帧可以在一段链路上传输。

  • 物理层:对数据链路层的帧添加一个前导码,将对应的01二进制数据转换成对应的电信号进行传输。

  • 在源主机上按分层的顺序从上到下添加首部进行打包,在目标主机上同样按分层的顺序从下到上进行拆包解析。

  • 路由器的每一个接口相当于一个网卡,都需要解决网络层、数据链路层、物理层三个子问题,数据在路由器中传输时,也是按照上面分层结构中的包装和解析流程进行的。

网络协议概念

什么是协议?

通信规则一般包括三要素:

  • 语法,即传输数据或者控制信息的格式或者结构;
  • 语义,即需要发出何种请求,做出何种响应和动作;
  • 时序,即发出请求,做出响应和动作的先后顺序。

在这里插入图片描述

什么是网络协议的实体?

网络协议的实体通信对象,一个实体(entity) 表示任何可发送或接收信息的硬件软件模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

什么是服务?

协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的,在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

在这里插入图片描述

电路交换 VS 分组交换:

在这里插入图片描述

电路交换的优缺点

优点:

  • ① 实时性强
  • ② 有序传输
  • ③ 控制简单

缺点:

  • ① 建立连接时间长
  • ② 线路独占,使用效率低
  • ③ 灵活性差

分组交换的优缺点

优点:

  • ① 无需建立连接
  • ② 线路利用率高
  • ③ 减少重发数据量

缺点:

  • ① 转发时延
  • ② 传输额外信息
  • ③ 相对复杂

网络分类

按照网络覆盖范围划分网络:

  • 广域网(Wide Area Network, WAN):覆盖范围通常为几十公里到几千公里,可以覆盖一个国家、地区,甚至横跨几个洲。

    广域网是因特网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量

  • 城域网 (Metropolitan Area Network, MAN) :作用范围一般是一个城市,可跨越几个街区甚至整个的城市,其作用距离约为5~50km。

    城域网可以为一个或几个单位所拥有,但也可以是一种公用设施,用来将多个局域网进行互连。目前,很多城域网采用的是以太网技术,因此城域网有时也常纳入局域网的范围进行讨论。

  • 局域网 (Local Area Network,LAN):一般用微型计算机或工作站通过高速通信线路相连(速率通常在 10Mb/s 以上),但地理上则局限在较小的范围(如1km左右)。

    在局域网发展的初期,一个学校或工厂往往只拥有一个局域网,但现在局域网已非常广泛地使用,一个学校或企业大都拥有许多个互连的局域网(这样的网络常称为校园网或企业网)。

  • 个人区域网(Personal Area Network,PAN) :在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网 WPAN(Wireless PAN),其范围大约在10m左右,比如手机热点 。

拓扑结构分类网络:

  • 总线型网络
  • 星型网络
  • 环型网络
  • 网状型网络

在这里插入图片描述

这四种网络结构进行组合可以构成更加复杂的网络结构。

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

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

相关文章

windows安装c环境

一. 下载安装mingw-w64 mingw-w64 解压后放到window环境变量路径 sysdm.cpl参看是否安装成功 二. 安装c idea Dev-Cpp下载及安装 新建文件 运行 编译(F9)、运行(F10)以及编译运行(F11) 参考 安装C…

C++——如何正确的使用STL中的vector?

什么是vector? 在STL(标准模板库)中,vector是一种动态数组容器,可根据需要自动增长或缩小。它可以存储任意类型的元素,并且支持快速的随机访问。 vector是表示可变大小数组的序列容器vector采用的是连续的…

LeetCode【65. 有效数字】

没有完美的傀儡,没有完美的人类,却有绝美的离逝。 有效数字(按顺序)可以分成以下几个部分: 一个 小数 或者 整数(可选)一个 e 或 E ,后面跟着一个 整数 小数(按顺序)可以分成以下几…

golang优先级坑

看如下代码,我本以为a1, a2是相同的 package mainimport "fmt"func main() {b, c, d : 1, 0, 1a1 : b ^ c&(^d) // 1 ^a2 : c ^ b&(^d) // 0 ^fmt.Println(a1, a2) // 1 0 }但结果却是不同的,在golang中&的优先级^和|…

eCharts实现漏斗图

需求:像漏斗那样进行层层筛选,进行一个可直接看见过程的图表 效果: 代码: option { //标题title: {text: Funnel,left: left,top: bottom}, //刷新加下载toolbox: {orient: vertical,top: center,feature: {restore: {},saveA…

Redis学习笔记--002

Redis的JAVA客户端 文章目录 Redis的JAVA客户端一、Redis的Java客户端的种类二、Jedis2.1、使用步骤2.2、Jedis连接池 三、[SpringDataRedis](https://spring.io/projects/spring-data-redis)3.1、介绍3.2、RedisTemplate3.3、SpringDataRedis使用步骤3.4、SpringDataRedis的序…

掌握Katalon Studio 导入 swagger 接口文档,接口测试效率提升100%

katalon studio大家都已经不陌生了,是一款现在非常主流的自动化测试工具,包括了web、api、APP,甚至PC应用程序都可以使用它来完成自动化测试。 swagger是一款RESTFUL接口的文档在线自动生成软件,swagger是一个规范和完整的框架&a…

解决Spring Boot 2.7.16 在服务器显示启动成功无法访问问题:从本地到服务器的部署坑

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

windows 安装Linux子系统 Ubuntu 并配置python3

环境说明: Windows 11 Ubuntu 20.04.6 安装步骤以及问题: 1、开启Windows Subsystem for Linux dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 2、开启虚拟机特性 dism.exe /online /enabl…

使用容器运行Nginx应用及Docker命令

目录 一、使用容器运行Nginx应用 1.1 使用docker run命令运行Nginx应用 1.1.1 观察下载容器镜像过程 1.1.2 观察容器运行情况 ​编辑 1.2 访问容器中运行的Nginx服务 1.2.1 确认容器IP地址 1.2.2 容器网络说明 1.2.3 在主机中使用curl命令容器IP地址访问 二、Docker命…

Springboot 实践(20)负载均衡器Ribbon

Ribbon是Netflix发布的负载均衡器,协助控制HTTP和TCP客户端的行为;为Ribbon配置服务提供者地址后,Ribbon就可基于负载均衡算法自动地帮助服务消费者去请求。Ribbon默认提供了很多负载均衡算法,例如:轮询、随机等&#…

【数据结构】二叉搜索树与Map和Set

目录 ♫二叉搜索树 ♪什么是二叉搜索树 ♪二叉搜索树的特性 ♪模拟实现二叉搜索树 ♫Map ♪什么是Map ♪Map的内部类 ♪Map的常用方法 ♪Map的遍历 ♫Set ♪什么是Set ♪Set的常用方法 ♪Set的遍历 ♫二叉搜索树 ♪什么是二叉搜索树 二叉搜索树又称二叉排序树&#…