《网络协议》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. 不在同一个网段:通过路由器转发数据

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

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

相关推荐
hfut028820 分钟前
第25章 interface
linux·服务器·网络
草莓熊Lotso28 分钟前
unordered_map/unordered_set 使用指南:差异、性能与场景选择
java·开发语言·c++·人工智能·经验分享·python·网络协议
Sinowintop2 小时前
易连EDI-EasyLink SFTP文件传输
运维·服务器·网络·sftp·edi·ftp·国产edi软件
二狗mao8 小时前
Uniapp使用websocket进行ai回答的流式输出
websocket·网络协议·uni-app
7***u2169 小时前
显卡(Graphics Processing Unit,GPU)架构详细解读
大数据·网络·架构
河北瑾航科技12 小时前
广西水资源遥测终端 广西水利遥测终端 广西用水监测遥测终端 河北瑾航科技遥测终端机HBJH-B01说明书
网络·科技·水文遥测终端机·遥测终端机·广西水资源遥测终端机·广西水利遥测终端·广西用水终端
羑悻的小杀马特12 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
愚戏师13 小时前
Python3 Socket 网络编程复习笔记
网络·笔记
降临-max14 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
1560820721914 小时前
基于7VX690T FPGA实现万兆TCP/IP资源和性能测试
网络协议·tcp/ip·fpga开发