网络相关-网络初识

网络互连

网络互连:将多台计算机连接在一起,完成数据共享

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

根据网络互联的规模不同,可以划分为局域网和广域网。

局域网LAN

局域网,即 Local Area Network,简称LAN。

Local 即标识了局域网是本地,局部组建的一种私有网络。

局域网内的主机之间能方便的进行网络通信,又称为内网局域网和局域网之间在没有连接的情况下,是无法通信的。

广域网WLAN

广域网WAN

广域网,即 Wide Area Network,简称WAN。

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

网络通信基础

网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间基于网络传输数据

那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用IP地址来标识。

IP地址

这里简单的理解:

源IP:发件人地址

目的IP:收件人地址

端口号

这里简单的理解:

源端口号:发件人

目的端口:收件人

认识协议

协议是构建整个网络的基础。

协议就是一种约定,发送方和接收方约定好,按照特定的格式来进行传输。

协议是两个人的事情,必须两个人都了解/遵守才有意义。

协议三要素:

1.语法:即数据与控制信息的结构或格式;

  1. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;

  2. 时序,即事件实现顺序的详细说明。

作用

举个栗子:

张三约了一起打CSGO的网友出来面基,他们约定了在工广州塔下见面,张三到了广州塔,看到一个人也在东张西望的找人,就觉得应该是他,正巧另外一个人他也正好是在约网友面基,就这样凑巧,两个人一起去吃下午茶,他们聊到一半CSGO战绩,发现,不对啊,两个人都没有见过对方的战绩,这才立马反应过来原来找错人了。

协议:他们两个人约定好了,张三胸手里揣着咖啡,网友手里揣着交通卡

他们都事先约定好协议,这样就不会找错人了。

网络通信中:之间传输的数据本质上分为光信号和电信号,那这些信号是什么意思?就需要通过约定,把这些约定称为协议。

协议分层

网络通信中,中间的过程非常复杂,要进行的约定的协议,就需要考虑到很多的细节,就会导致协议变的非常复杂。

为了让协议好学,且没那么复杂,就对协议进行拆分,分成多个方法,多个类,多个文件,多个包,多个模块。

由于协议细节太多,过于复杂,又导致了分出来的协议太多了,此时我们就按照协议对应的功能,进行分类,这就叫做协议分层

特点:

上层协议调用下层协议
下层协议给上层协议提供服务

不能隔层调用

分层的目的就是加限定条件,为了让这些协议不要太灵活

协议分成好处:

1、封装:学习理解容易

2、方便维护

OSI七层和TCP/IP五层

OSI七层

image-20230308164431098

了解即可

TCP/IP五层

image-20230308164717825

应用层:归属于程序员的业务层

传输层和网络层:操作系统内核实现的

数据链路层和物理层:硬件和驱动实现的

举例解释每层含义:

应用层:应用程序,程序员打交道的

传输层:端到端的传输。【发件人信息和收件人信息】

网络层:点到点的传输【发件人到收件人的路径】

数据链路层:相邻接点之间的传输

物理层:底层基础设施

封装和分用【☆☆☆☆☆】

场景假设:主机A通过微信给主机B发了个WeChat

封装

主机A发送的过程:

一、应用层

微信程序内部自己约定好了一个应用程序(具体实现我们不知道,我们给出一种简单的设计方案来理解)

QQ应用程序会把用户输入的字符串构造成约定好的应用层报文

image-20230308175517282

应用程序就会把这个数据包,交给传输层协议,来进一步处理。

传输层是操作系统内核实现的,操作系统就会提供一些API【socket API】给应用程序,代码里面调用系统的API,就可以把应用层的数据交给传输层(也就是操作系统内核)。

二、传输层

传输层这里有很多的协议,其中最典型的就是TCP协议,此处以TPC为例。TCP协议要在之前数据的基础上,加上个TCP的协议报头

image-20230308182116059

TCP报头包含很多信息,最重要的就是源端口和目的端口

从应用程序到传输层,添加TCP协议报头的操作就叫做封装。

传输层继续把这个TCB数据报交给网络层进行处理。

三、网络层:

网络层中最典型的就是IP协议。

IP协议把整个TCP数据报视为是整体,作为载荷部分,在前头加上IP协议报头

image-20230308182046586

IP报头里面的信息也有很多,最关键的就是源IP和目的IP

构造好IP数据报之后,IP协议继续把整个数据交给数据链路层。

四、数据链路层

数据链路层的协议也有很多,其中最典型的就是**“以太网”**

注意:以太网整个协议,即管数据链路层,也管物理层。

以太网协议就IP数据报的报头和报尾分别插入一个帧头和帧尾

image-20230308182009411

五、物理层

数据已经组织好,就通过物理层的设备(网卡)就吧上诉数据的二进制bit流转换成光信号/电信号并进行传输。

上述数据,从上到下,层层添加信息的过程就称为“封装”;

分用

分用就是封装的逆过程

假设数据已经到达了主机B;

六、物理层

接收方的网卡硬件就收到了光信号/电信号,就把这个信号转换成了二进制的bit数据 ===》以太网数据帧。

接下来这个数据就被交给数据链路层,由以太网协议负责解析。

七、数据链路层

当拿到了一个以太网数据帧,由以太网协议,去掉帧头和帧尾,取出载荷部分。

image-20230308182009411

把取出的载荷就,交个网络层。

八、网络层

IP协议针对刚才拿到的IP数据包再进行解析,去掉IP报头,得到载荷部分,也交给传输层。

image-20230308182046586

九、传输层

传输层TCP协议根据刚才得到的载荷数据进行解析,去掉TCP报头,得到载荷部分,再交给应用层。

image-20230308182116059

十、应用层

QQ应用程序,就会把应用层数据报再进行解析,取出里面的“WeChat”信息显示在界面上。

image-20230308175517282

在传输层的地方有说过,传输层给应用层提供了一套API,这套API到底是什么,下篇文章来看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XY枫晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值