《网络协议》01. 基本概念


title: 《网络协议》01. 基本概念

date: 2022-08-30 09:50:52

updated: 2023-11-04 07:28:52

categories: 学习记录:网络协议

excerpt: 互联网、网络互连模型(OSI,TCP/IP)、计算机通信基础。

comments: false

tags:

top_image: /images/backimg/SunsetClimbing.png


网络协议


网络协议从入门到底层原理。

1:互联网&协议

互联网(internet)的出现,彻底改变了人们的生活方式,足不出户就可以购物、聊天、看电影、买车票、上班等。

数据是如何从一个设备传递到另一个设备的?

  • 这一切都是由网络协议来规定的。
  • 没有网络协议,就没有今天的互联网。

什么是协议

  • 协议就是通用的标准。
  • 如果没有一个国际通用的标准,那么相互之间的交互就会很麻烦。

1.1:跨平台原理

C/C++ 跨平台原理

使用平台相关的编译器生成对应平台的可执行文件。

Java 跨平台的原理

C/C++ 编译之后可直接生成平台对应的可执行文件

Java编译之后生成字节码文件。对于操作系统来说,不是可执行文件。

1.2:客户端与服务器

其中,后端使用 Java 的一种结构如下:

客户端向服务器请求:

复制代码
http://IP地址:端口号/项目
例:
http://10.10.125.41:8080/qq/login/...

2:网络互连模型

  • 国际标准:OSI 参考模型(7层)
  • 实际应用:TCP/IP 协议(4层)
  • 学习研究:(5层)

为了更好地促进互联网络的研究和发展,国际标准化组织 ISO 在 1985 年制定了网络互连模型 OSI 参考模型(Open System Interconnect Reference Model)。

网络请求过程 :不管什么协议,都是经过下列的 包装 + 解包 过程。

3:计算机通信基础

先不考虑无线连接的问题。

  • 需要得知对方的 IP 地址。
  • 最终是根据 MAC 地址(网卡地址),输送数据到网卡,被网卡接收。
    • 如果网卡发现数据的目标 MAC 地址是自己,就会将数据传递给上一层进行处理。
    • 如果网卡发现数据的目标 MAC 地址不是自己,就会将数据丢弃,不会传递给上一层进行处理。

3.1:网线直连

  • 需要用交叉线(不是直通线)
  • 同一网段
  • ping 走的是 ICMP 协议。
  • ARP 协议:已知 IP 地址,不知道 MAC 地址时,通过广播获取 MAC 地址。

右边出现的 3 个 ARP 包,实际上是一次完整的发送请求、接收响应的过程。

ICMP 包同理。

3.2:同轴电缆

同轴电缆(Coaxial),连接同一网段。

3.3:集线器

集线器(Hub),连接同一网段。

集线器相比同轴电缆唯一的优点:连着集线器的某一个设备中间线路出问题,不会影响到连着集线器的其他设备的通信。

3.4:网桥

网桥(Bridge)。还是连接同一网段。

能够通过自学习得知每个接口那侧的 MAC 地址,从而起到隔绝冲突域的作用。

3.5:交换机

交换机(Switch)。依旧是连接同一网段。

若全球所有设备都用交换机连接

  1. 他们必然处于同一网段,因此 IP 地址可能会不够用。
  2. 第一次发送数据包仍然需要 ARP 广播,耗费大量时间。
  3. 形成广播风暴,只要有一个设备发送 ARP 广播,全球设备都能收到。

3.6:路由器

路由器(Router)。路由器含有网关(Gateway),网关也有 IP 和 MAC 地址。

主机在发数据之前,首先会判断目标主机的 IP 地址跟它是否在同一个网段:

  1. 在同一个网段:ARP广播、通过交换机 / 集线器传递数据
  2. 不在同一个网段:通过路由器转发数据

无奈夜长人不寐,数声和月到帘栊。

------《捣练子令 · 深院静》(五代)李煜

相关推荐
冬奇Lab1 天前
一天一个开源项目(第46篇):Caddy - 自动 HTTPS 的现代化 Web 服务器,支持 HTTP/3
网络协议·nginx·开源
Sheffield4 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
YuMiao9 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Jony_11 天前
高可用移动网络连接
网络协议
chilix12 天前
Linux 跨网段路由转发配置
网络协议
DianSan_ERP13 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅13 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo199813 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
2501_9462055213 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel13 天前
第七部分:高级IO
服务器·网络