【网络原理】初始网络,了解概念

文章目录

    • [1. 网络通信](#1. 网络通信)
      • [1.1 局域网LAN](#1.1 局域网LAN)
      • [1.2 广域网WAN](#1.2 广域网WAN)
    • [2. 基础概念](#2. 基础概念)
      • [2.1 IP](#2.1 IP)
      • [2.2 端口号](#2.2 端口号)
    • [3. 认识协议](#3. 认识协议)
    • [4. 五元组](#4. 五元组)
    • [5. 协议分层](#5. 协议分层)
      • [5.1 分层的作用](#5.1 分层的作用)
      • [5.2 OSI七层模型](#5.2 OSI七层模型)
      • [5.3 TCP/IP五层(四层)模型](#5.3 TCP/IP五层(四层)模型)
    • [6. 封装和分用](#6. 封装和分用)

1. 网络通信

计算机与计算机之间是互相独立,是独立模式。这就造成计算机之间无法形成数据的共享,协同完成工作,那么网络互连便孕育而生了。
网络互联

将多台计算机连接在一起,形成数据共享。

数据共享的本质是网络数据传输,即计算机之间通过网络进行传输数据,也称为网络通信。

根据连接的规模不同,可以分为局域网和广域网。

1.1 局域网LAN

局域网,Local Area Network,LAN。

local是表识了局域网是本地的,是私有的,是一个内网。那么局域网内的设备可以互相通信,局域网与局域网之间如果没有连接,那么将无法通信。
例如

我们使用手机开热点便形成了一个小型局域网,当其他设备连接这个热点,便加入了这个局域网中,那么它们之间便可以进行传输数据,进行多人游戏......

常见的局域网组成网络:

  1. 基于网络直连。
  2. 基于集线器(集线器(Hub)是计算机网络中用于连接多台计算机或网络设备的中心化设备。它是一个物理层设备,用于将多个设备连接在一起,以便它们可以在同一局域网上进行通信。现在几乎不在使用,被交换机取代)组建。
  3. 基于交换机(交换机(Switch)是计算机网络中的关键设备,用于连接多个计算机或网络设备,并以智能的方式在它们之间进行数据包转发。与集线器(Hub)不同,交换机工作在数据链路层(第二层),能够识别和学习设备的MAC地址,并根据需要选择性地转发数据包,以提供更高的性能和网络分段。)组建。
  4. 基于交换机和路由器(路由器(Router)是计算机网络中的网络设备,用于连接多个不同的网络,并在它们之间转发数据包,以确保数据在网络之间正确传输。路由器工作在网络层(第三层),它的主要任务是根据目标IP地址来决定如何将数据包从源网络传输到目标网络。)组建。

1.2 广域网WAN

广域网,Wide Area Network,WAN。

通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。

但其实WAN和LAN的概念是相对的,广域网也可以是一个比较大的局域网。

2. 基础概念

2.1 IP

概念

IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址,通过IP地址我们可以定位到主机。

例如:我们寄快递,IP地址就相当于我们寄的快递地址。
格式

IP地址通常使用32位2进制数字表示,然后被分为4组(四个字节)。

例如:00000000.00000000.00000000.00000000。

每个字节也可以使用10进制表示(范围0~255整数)。

例如:

100.22.22.22,
特殊IP

127.*类的IP常用于本机环回测试,就是本机与本机之间的通信,最常用的IP:127.0.0.1

2.2 端口号

IP地址可以确定主机位置,但是还有一个问题,一个主机上面有着许多的进程,那么我们如何保证数据是我们需要的进程接受呢?

所以我们引入了一个端口号。
概念 :端口号可以标识主机中发送数据,接受数据的进程。

这就相当于寄快递有了地址(IP)还是不行,我们还需要有接受人名字(端口号)。
格式

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

  1. 两个不同的进程不能绑定同一个端口号,但是可以绑定多个端口号。
  2. 端口0~1023是知名端口号,已经被绑定,例如:HTTP(端口号80),FTP(端口号21),但它们仍然可以使用其他端口号。
  3. 大于1023的端口号一般用于用户定义或私有的服务。

3. 认识协议

在网络信息传输中,传的数据有着很大的区别,那个数据可能是照片、视频、文字等,那么格式就会不同,如何让对方知道传的是什么数据呢?

我们便引入了协议,通过协议规定两方的数据格式。
概念

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:

  1. 语法:即数据与控制信息的结构或格式;
  2. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
  3. 时序:即事件实现顺序的详细说明。

4. 五元组

在TCP/IP协议中,用五元组来标识一个网络通信:

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

5. 协议分层

协议分层就是把协议按照不同的功能分为不同层,使每层都有特色。

5.1 分层的作用

  1. 模块化设计:将协议分为不同层次, 每一层都有特定的功能和作用,方便维护与管理。
  2. 提高互操作性:协议分层使不同设备和系统之间更容易实现互操作性,因为它们可以使用相同的协议栈来进行通信。这有助于设备来自不同供应商或开发者之间的无缝集成。
  3. 促进标准化:协议分层促进了标准化,不同厂商和组织可以基于通用的协议标准来开发设备和应用程序,从而确保一致性和可互操作性。
  4. 简化故障排除:由于每个协议层都有特定的功能,故障排除变得更加简单。如果出现问题,可以更容易地确定故障所在的层次,从而加快修复过程。
  5. 促进技术创新:协议分层鼓励技术创新,因为可以独立地开发和更新每个协议层次,而不影响其他层次的功能。
  6. 支持多种网络拓扑:不同类型的网络拓扑(如星型、总线型、网状型)可以使用相同的协议栈,因为每个层次都关注特定的任务,而不受拓扑结构的影响。
  7. 安全性和隔离:协议分层有助于安全性和隔离。例如,安全协议可以在应用层上添加加密功能,而不必修改传输层或网络层。

最经典的网络协议分层模型OSI(开发系统互联)模型和TCP/IP模型。

5.2 OSI七层模型

上图就是OSI模型,即复杂也不实用,所以并没有流行起来,我们最常用的协议分层还是TCP/IP五层(有时忽略物理层,也可称四层)模型。

5.3 TCP/IP五层(四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

  1. 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
  2. 传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。
  3. 网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
  4. 数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。
    有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
  5. 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

6. 封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)。

首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息。

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理。

相关推荐
方方怪1 小时前
与IP网络规划相关的知识点
服务器·网络·tcp/ip
weixin_442643422 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
阑梦清川2 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
FeelTouch Labs3 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
长弓三石5 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
残月只会敲键盘5 小时前
php代码审计--常见函数整理
开发语言·php
xianwu5435 小时前
反向代理模块
linux·开发语言·网络·git
follycat5 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
ac-er88886 小时前
MySQL如何实现PHP输入安全
mysql·安全·php
xiaoxiongip6666 小时前
HTTP 和 HTTPS
网络·爬虫·网络协议·tcp/ip·http·https·ip