网络初识(概念入门)

目录

1.局域网VS广域网

1.1局域网

1.2广域网

2.五元组

[2.1 IP和端口](#2.1 IP和端口)

[2.1.1 IP](#2.1.1 IP)

2.1.2端口号

2.2协议

3.协议分层

[4. TCP/IP五层模型](#4. TCP/IP五层模型)

5.封装和分用

5.1封装

5.2分用


1.局域网VS广域网

1.1局域网

简单介绍:指在某一特定区域内由多台计算机组成的互联网组。
(1)局域网,即 Local Area Network ,简称 LAN 。 Local 即标识了局域网是本地,局部组建的一种私有网络。 局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下, 是无法通信的。
(2)局域网组建网络的方式有很多种:

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

    4.基于交换机和路由器组建

1.2广域网

简单介绍: 通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。

广域网,即 Wide Area Network,简称WAN。
广域网内部的 局域网都属于其子网。


2.五元组

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

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

2.1 IP和端口

2.1.1 IP

IP 地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。
简单说, IP 地址用于定位主机 的网络地址
格式

(1) IP地址是一个32位的二进制数 ,通常被分割为 4 个 "8 位二进制数 " (也就是 4 个字节),如: 01100100.00000100.00000101.00000110。
(2) " 点分十进制 " 的方式来表示,即 a.b.c.d 的形式( a,b,c,d 都是 0~255 之间的十进制整数)。如: 100.4.5.6 。

2.1.2端口号

引入:
IP 地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进 程来接收这个数据呢?这就需要端口号来标识。
端口号可以标识主机中发送数据、接收数据的进程。
简 单说:端口号用于定位主机中的进程
格式
端口号是0~65535范围的数字 ,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数 据。
注意事项
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。

IP和端口的概念加深:

2.2协议

引入:

(1)有了 IP 地址和端口号,可以定位到网络中唯一的一个进程,但还存在一个问题,网络通信是基于二进制 0/1数据来传输,如何告诉对方发送的数据是什么样的呢?
(2)网络通信传输的数据类型可能有多种:图片,视频,文本等。同一个类型的数据,格式可能也不同,如 发送一个文本字符串" 你好! " :如何标识发送的数据是文本类型,及文本的编码格式呢?

基于网络数据传输,需要使用协议来规定双方的数据格式
协议,网络协议的简称

网络协议是网络通信(即网络数据传输) 经过的所有网络设备 都必须共同遵从的一组约定、规则。如:怎么样建立连接、怎么样互相识别等。

通常由三要素组成:

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

协议(protocol)最终体现为: 在网络上传输的数据包的格式。


3.协议分层

引入:

网络通信过程中,需要涉及到的细节方方面面,如果只有一个协议来完成通信,则这个协议无比复杂,非常不利于学习和维护。故我们需要把一个庞大,复杂的协议,拆分成一个小而美的协议。

通信协议拆分后归类形成层状结构。

细节:

(1)把功能定位相似的协议放在同一层。

(2)上层协议调用下层协议的功能,下层协议给上层协议提供服务。

(3)只有相邻的层次之间可以进行交互。

分层的作用

(1)最大的好处 :定义好两层间的接口规范,让双方遵循这个规范来对接, 类似于面向接口编程

在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类 (使用方,使用服务)
(2)上层协议自接使用下层协议(已封装好),不需要理解下层协议的细节。
(3)某一层的协议进行封装之后,对于其它层没影响。


4. TCP/IP****五层模型

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。
TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

应用层:负责应用程序间沟通,关注的是 传输的数据在应用程序中如何使用
传输层:负责两台主机之间的数据传输。 关注的是传输的起点和终点
网络层关注的是通信中的数据规划
数据链路层:负责设备之间的数据帧的传送和识别。 关注的是相邻结点的通信细节
物理层 :负责光 /电信号的传递方式。 是网络通信的基础设施


物理层我们考虑的比较少。因此很多时候也可以称为 TCP/IP 四层模型。
网络设备所在分层

(1)对于一台 主机 ,它的 操作系统 内核实现了从传输层到物理层的内容,也即是 TCP/IP 五层模型的 四层
(2)对于一台 路由器 ,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的 下三层
(3)对于一台 交换机 ,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的 下两层
对于 集线器 ,它只实现了 物理层

网络分层对应
网络数据传输时,经过不同的网络节点(主机、路由器)时,网络分层需要对应。
以下为同一个网段内的两台主机进行文件传输:


5.封装和分用

1.不同的协议层对数据包有不同的称谓,在传输层叫做段 (segment),在网络层叫做数据报
(datagram),在链路层叫做帧(frame)
2.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header) ,称为封装
(Encapsulation) 。
3.首部信息中包含了一些类似于首部有多长,载荷 (payload) 有多长,上层协议是什么等信息。
4.数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中 的 " 上层协议字段 " 将数据交给对应的上层协议处理

我们通过QQ发消息的例子来介绍封装和分用

A通过QQ给B发送一个hello

5.1封装

每一层的数据都会组装交给下一层。

交给下一层:下层提供api,上层调用api,把组装的数据当作参数传递。

5.2分用

封装的逆过程

补充:

交换机或路由器的封装分用过程也同样适用。

只是 封装分用的程度不同。
对于一台 路由器 ,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的 下三层
对于一台 交换机 ,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的 下两层

总结:


以上为我个人的小分享,如有问题,欢迎讨论!!!

都看到这了,不如关注一下,给个免费的赞

相关推荐
星迹日2 小时前
C语言:联合和枚举
c语言·开发语言·经验分享·笔记
shuxianshrng4 小时前
大气网格化精细化监管监测系统
大数据·服务器·windows·经验分享
小米里的大麦4 小时前
【C++】深入理解引用:从基础到进阶详解
c++·经验分享·笔记·引用·引用和指针
天行健王春城老师6 小时前
六西格玛绿带培训多少钱?从授“鱼”到授“渔”
经验分享
Filotimo_6 小时前
【自然语言处理】实验三:新冠病毒的FAQ问答系统
人工智能·经验分享·笔记·python·学习·自然语言处理·pycharm
paixiaoxin9 小时前
学术新手进阶:Zotero插件全解锁,打造你的高效研究体验
人工智能·经验分享·笔记·机器学习·学习方法·zotero
万河归海42811 小时前
C语言——二分法搜索数组中特定元素并返回下标
c语言·开发语言·数据结构·经验分享·笔记·算法·visualstudio
真正的能量来自内心14 小时前
如何删除EXCELL文件中的空行?
经验分享
重生之我在20年代敲代码17 小时前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
铁匠匠匠1 天前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计