网络通信

Posted yyshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络通信相关的知识,希望对你有一定的参考价值。

网络通信基础


网络通信可以理解为是将数据从一台计算机传输到另一台计算机

01 最简单通信

  • 假设当前只有二台计算机设备

  • 每台计算机都会有一个网卡

  • 每个网卡都会有一个唯一标识计算机的 mac 地址

  • 通过网络将二台计算机的网卡连接起来

  • 此时能完成最直接的二台计算机通信

02 多台计算机通信

  • 如果当前有 100 台计算机需要互相之间完成通信,那么二二之前连接是不现实的

  • 此时可以通过交换机来完成(每台计算机都连接在一个交换机上,然后通过交换机完成互相连接)

技术图片

  • 当计算机越来越多的时候 ,直接通过 Mac地址来标识电脑,会显得越来越麻烦,因此就有人设计了IP地址

  • 传统的IPV4地址就是 4位点分10进制的数据 0.0.0.0~255.255.255.255

  • 每位都是8位二进制,故 00000000.00000000.00000000.0000000 ~ 11111111.11111111.1111111.11111111

  • 有了IP之后就需要想办法将它转为 Mac 地址,这个过程会由 ARP 协议来完成

03 局域网通信

  • 如果单纯的采用上述的交换机连接所有计算机进行通信,则会产生广播风暴(每个机器,每次都会收到广播)

  • 为了解决广播风暴问题,就采用了网络的划分,从而产生了很多不同的子网

  • 每个子网都会有一个自已的守门员,就是我们所谓的 “网关”

  • 通过网关和目标IP地址进行按位的与运算,则可以验证目标IP与自已是否在同一个子网类

  • 这个过程中设置了IP协议,这个协议可以确定子网

技术图片

04 按位与操作

  • 条件:本机IP 地址 192.168.1.40,目标IP地址 192.168.1.23, 网关255.255.1.0

  • 需求:验证上述二个地址是否为同一个局域网

 128 64 32 16 8 4 2 1
  1   1  0  0 0 0 0 0 192
  1   0  1  0 1 0 0 0 168
  0   0  0  0 0 0 0 1 1
  0   0  1  0 1 0 0 0    40
  0 0  0  1 0 1 1 1    23
 ?
 IP1按位与:
  11000000.10101000.00000001.00101000
  11111111.11111111.00000001.00000000
  11000000.10101000.00000001.00000000 【192.168.1.0
 IP2按位与:
  11000000.10101000.00000001.00010111
  11111111.11111111.00000001.00000000
  11000000.10101000.00000001.00000000 【192.168.1.0
     
 只要前三位的地址一致,那么就证明二者属于同一个局域网
 ?

TCP三次握手与四次挥手


01 三次握手

  • 客户端发送连接请求

  • 服务端回送响应,确定客户端与服务端之间的连接

  • 服务端发送连接请求

  • 客户端回送响应,确定服务端与客户端之间的连接

  • 上述的连接建立之后就创建了一个全双工的通信通道

  • 其中服务端回送给客户端和服务端发送请求给客户端可以进行合并,此时就产生了三次握手

02 四次挥手

  • 客户端发送请求断开与服务端连接

  • 服务端回送响应,确认断开

  • 服务端发送请求断开与客户端连接

  • 客户端回送响应,确认断开

以上是关于网络通信的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

在tablayout片段之间进行通信[重复]

与另一个片段通信的片段接口

无法通过接口获取与片段通信的活动

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

201555332盛照宗—网络对抗实验1—逆向与bof基础