网络原理初识

局域网和广域网

局域网 (LAN)

局域网,即 Local Area Network,简称 LAN。它是本地、局部组建的一种网络,局域网内部的主机能够方便地进行网络通信,又称为内网。局域网和局域网在没有连接的情况下是无法通信的。

局域网的组建方式:

  1. 基于网线直连
  2. 基于集线器组建
  3. 基于交换机组建
  4. 基于交换机和路由器组建

广域网 (WAN)

广域网,即 Wide Area Network,简称 WAN。它是通过路由器,将多个局域网连接起来,在物理上形成很大范围的网络,就形成了广域网。广域网内部的局域网都属于子网。

需要注意的是: 广域网和局域网之间没有明确的界限,例如一个城市的网络对于一个家庭就是广域网,但对于一个国家来说就是局域网了。

网络通信基础

IP 地址

概念

IP 地址主要用于识别主机、其他网络设备的网络地址。简单来说,IP 地址就是用于定位主机的网络地址。

格式

IP 地址是一个 32 位的二进制数,通常被划分为 4 个 "8 位二进制"(也就是 4 个字节),一般用点分十进制来表示,即 IPv4,例如:a.b.c.dabcd 的范围都是 0~255 的十进制整数。

IPv4 的范围大概在 42 亿左右,IPv6 大概可提供 340 亿亿亿个 IP 地址。

端口号

概念

在网络通信中,IP 地址可以识别主机在网络中的地址,而端口号可以识别主机发送数据和接收数据的进程。简单来说,端口号用来定位主机的进程。

格式

端口号是 0~65535 范围内的数字,在网络通信的过程中,进程可通过绑定端口号来发送和接收数据。

原则上一台主机上的端口号在不同网络程序之间不能冲突。

1~1024 为知名端口号,一般被一些比较有名的程序占用,例如 HTTP 的 80 端口,HTTPS 的 443 端口。

协议

概念

协议,即网络协议,网络协议是网络通信经过的每个网络设备都必须遵守的一组约定、规则。最终体现为在网络上传输的数据包的形式。

作用

规定好发送时如何去组织数据,接收时如何去解析数据。

五元组

  1. 源 IP 地址: 标识源主机
  2. 源端口号: 标识源主机在该通信中发送数据的进程
  3. 目标 IP 地址: 标识目标主机
  4. 目标端口号: 标识目标主机在该通信中接收数据的进程
  5. 协议: 标识发送进程和接收进程双方约定好的数据格式

协议分层

分层的作用

目的是为了让不同的层专注于自己的数据处理方式,只需为上层提供 API,按下次要求提供数据即可。

OSI 七层模型

OSI:即 Open System Interconnection,开放系统互连

  • OSI 七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了 7 层。
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输。

OSI 七层模型划分为以下七层:

TCP/IP 五层(四层)模型

TCP/IP 是一组协议的名称,它还包含许多协议,组成的 TCP/IP 协议簇。

  • 应用层: 和用户打交道,接收和展示用户需要的数据
  • 传输层: 完成端到端的传输准备,也就是确定收发主机的 IP 地址和端口号
  • 网络层: 规划出端到端的网络路径,路径中也可能包含其他网络设备
  • 数据链路层: 完成点到点的传输,即在每个网络设备之间进行传输
  • 物理层: 把真实的 BIT 数据流转换成光电信号,在传输介质中传输

封装和分用

  • 封装是在发送方进行的对数据的处理。
  • 分用是在接收方进行的对数据的处理。

以 TCP/IP 五层协议为例:

发送方

  1. 应用层: 由应用程序实现对发送数据的组织和协议的确定,调用系统 API 将组织好的消息体移交给下一层。(用户自定义协议)
  2. 传输层: 为消息体加上 TCP 头,记录源端口号和目标端口号,然后移交给下一层。(TCP、UDP 协议等)
  3. 网络层: 规划出端到端的路径,并为消息体添加 IP 头,确定源 IP 地址和目标 IP 地址,然后移交给下一层(IP 协议)
  4. 数据链路层: 为消息体增加帧头和帧尾,帧头储存源 MAC 地址和目标 MAC 地址,帧尾储存校验和,然后把消息体以二进制的形式移交给物理层。(以太网协议)
  5. 物理层: 把具体的数据(报文)转换成光电信号,通过传输介质传输。(以太网协议)

接收方

  1. 物理层: 接收到光电信号后,根据以太网协议解析成二进制 BIT 数据流,然后移交给上一层。
  2. 数据链路层: 根据以太网协议解析出帧头,载荷,帧尾,根据帧尾的检验和确认数据正确后将载荷移交给上一层。
  3. 网络层: 根据 IP 协议解析出 iP 头,并将载荷移交给上一层。
  4. 传输层: 根据 TPC 协议解析出报文件,将载荷移交给上一层。
  5. 应用层: 按照应用程序的协议解析出消息体,然后展示出来。
相关推荐
神仙别闹6 分钟前
基于C++实现一个平面上的形状编辑程序
java·c++·平面
努力也学不会java7 分钟前
【MyBatis】MyBatis 操作数据库
java·数据库·spring boot·spring·java-ee·intellij-idea·mybatis
计算机学姐20 分钟前
基于SpringBoot的足球俱乐部管理系统
java·vue.js·spring boot·后端·mysql·java-ee·intellij-idea
快去睡觉~36 分钟前
Linux之数据链路层
linux·运维·网络
李白的粉1 小时前
基于ssm的养老院综合服务系统
java·毕业设计·ssm·课程设计·源代码·养老院综合服务系统
失乐园2 小时前
Redis性能之王:从数据结构到集群架构的深度解密
java·后端·面试
cs阿坤dn2 小时前
IP大洗牌ipv6强势来袭!!!【ipv6配置及应用】
网络·网络协议·tcp/ip
DanmF--2 小时前
Unity中UDP异步通信常用API使用
网络·网络协议·unity·udp·c#
九州ip动态2 小时前
小红书多账号运营:如何实现每个账号独立 IP发布文章
网络·网络协议·tcp/ip