网络原理

Posted 棒冰

tags:

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

(一)名词解释

  1) LAN:局域网

  2) WAN:广域网

  3) 以太网以太网(Ethernet)指的是由Xerox公司创建并由XeroxIntelDEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD载波监听多路访问冲突检测)技术。

  4) 广播地址:主机标识段全为1的地址,广播的边界通常为交换器和路由器等介质。例如10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 ),当发出一个目的地址为10.1.1.255 的分组(封包)时,它将被分发给该网段上的所有计算机。

  5) 集线器:集线器的英文称为Hub”。“Hub”是“中心”的意思,OSI参考模型的第层,即物理层。集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。不具有类似于交换机的"智能记忆"能力和"学习"能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。

  6) 网桥:和交换机功能类似

  7) 交换机:交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

  8) 路由器:交换机工作于OSI参考模型的第三层,即网络层。路由器(Router)又称网关设备Gateway)因此,路由器具有判断网络地址和选择IP路径的功能。路由器通过串行接口来连接WAN广域网。

(二)OSI七层模型

  1) ISO:(国际标准化组织)开发了OSI(开放系统模型)。

  2) OSI七层模型

    l 应用层:用户与计算机交付的场所

    l 表示层:向应用层提供数据并负责数据转换与代码格式化

    l 会话层:负责与表示层实体建立、管理和终止回话,并将不同应用程序的数据进行隔离

    l 传输层:数据分段并重组为数据流

    l 网络层:管理设备编址,跟踪设备在网络中的位置选择最佳的路径

    l 数据链路层:提供数据传输、处理错误通知、控制网络流量等

    l 物理层:发送和接受比特

(三)报文数据格式

  数据经过上层的应用程序协议封装后传给传输层,传输层封装TCPUDP等协议头部,交给网络层,网络层封装IP等协议头部,再交给数据链路层,数据链路层封装帧头和帧尾,最后交给物理层,物理层将以比特流的形式将数据发送到物理线路上。

  在不同协议层我们对数据包有不同的称谓,在传输层我们称为段(segment),在网络层我们称为报(datagram),在数据链路层我们称为帧(frame)。数据封装成帧后发送到传输介质上,在到达主机后每层协议再剥掉相应的首部,最后交由应用层来处理。

  整个过程如下:

  

  整个数据帧的格式如下:

  其中,Tcp Header的详细信息如下:

  名词解释:

名称

作用

源端口号(Source Port)

16位,标识主机上发起传送的应用程序;

目的端口(Destonation Port)

16位,标识主机上传送要到达的应用程序。

序列码(Sequence Number)

32位,TCP会话的每一端都包含一个32位(bit)的序列号,该序列号被用来跟踪该端发送的数据量。每一个包中都包含序列号,在接收端则通过确认号用来通知发送端数据成功接收

确认码(Acknowledgment Numbwe)

 

32位,如果设置了ACK控制位,这个值表示一个准备接收的包的序列码,只有ACK标志为1时,确认号字段才有效。它包含目标端所期望收到源端的下一个数据字节。

数据偏移量(Data Offset)

4位,也就是头部长度,指出TCP负载(数据)的开始位置。以4字节为单位,如"0101"表示20字节位置的数据为负载开始,也就是头部长度为20字节。

保留(Reserved)

6位,这些位必须是0;

控制标记(Contral Flag)

URG(Urgent data)

紧急指针(urgent pointer)有效。如果URG为1,表示这是一个携有紧急资料的封包。

ACK(Acknowledgment field significant)

确认序号有效。如果ACK为1,表示此封包属于一个要回应的封包。一般都会为1。

PSH(Push function)

接收方应该尽快将这个报文段交给应用层。如果PSH为1,此封包所携带的数据会直接上传给上层应用程序而无需经过TCP处理。

RST(Reset)

重建连接。如果RST为1,要求重传。表示要求重新设定封包再重新传递。

SYN(Synchronize sequence number)

发起一个连接。如果SYN为1,表示要求双方进行同步沟通。

FIN(Finish-No more data for sender)

释放一个连接。如果FIN为1,表示传送结束,然後双方发出结束回应进而正式终止一个TCP传送过程。

窗口(Window)

16位,接收窗口大小。此字段用来进行流量控制,单位为字节数,这个值是本机期望一次接收的字节数。这里一般称为“滑动视窗(Sliding Window)”。

校验位(Checksum)

16位,对整个TCP报文段,即TCP头部和TCP数据进行校验和计算,并由目标端进行验证。

紧急指针(Urgent Pointer)

16位,它是一个偏移量。指向后面是优先数据的字节,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号,和序号字段中的值相加表示紧急数据最后一个字节的序号。

选项(Options)

长度不定;但长度必须以字节记;选项的具体内容我们结合具体命令来看。

填充(Padding)

不定长,填充的内容必须为0,它是为了保证包头的结合和数据的开始处偏移量能够被32整除。

   三次握手:

 

 

 

 

(四)CIRD表示法

ip段:10.0.0.1-10.0.0.255的表示方法:10.0.0.0/24
ip段:10.0.0.1-10.0.255.255的表示方法:10.0.0.0/16
ip段:10.0.0.1-10.255.255.255的表示方法:10.0.0.0/8

二进制表(表1)  
0   0   0   0   0   0   0   0  
128  64  32   16  8   4   2   1   
CIDR值(表2)  
子网掩码                 CIDR值  
255.0.0.0                 /8  
255.128.0.0                /9  
255.192.0.0                /10  
255.224.0.0                /11
255.240.0.0                /12  
255.248.0.0                /13
255.252.0.0                /14  
255.254.0.0                /15  
255.255.0.0                /16  
255.255.128.0               /17  
255.255.192.0               /18  
255.255.224.0                /19  
255.255.240.0                /20  
255.255.248.0                /21  
255.255.252.0                /22  
255.255.254.0                /23  
255.255.255.0               /24  
255.255.255.128               /25
255.255.255.192               /26  
255.255.255.224               /27  
255.255.255.240               /28  
255.255.255.248               /29  
255.255.255.252                /30

 (五)IP地址

  • IP地址分类  

    IP地址格式:IP地址=网络地址+主机地址

    网络地址全0和全1的地址用做特殊用途,主机地址全0表示网络段本身,即网络号,主机地址全1表示该网络段的广播地址,所以主机地址不可以分配全0或者全1

  

分类

网络地址

点分表示

网络个数

实际网络个数

主机个数

A

0000 0000

0111 1111

1.0.0.0126.0.0.0

0.0.0.0127.0.0.0保留

2^7+1=128

2^7-1=126

2^24-2=16777213

B

1000 0000 0000 0000

1011 1111 1111 1111

128.1.0.0191.254.0.0

128.0.0.0191.255.0.0保留

2^14+1=16384

2^14-1=16382

2^16-2=65533

C

1100 0000 0000 0000 0000 0000

1101 1111 1111 1111 1111 1111

192.0.1.0223.255.254.0

192.0.0.0223.255.255.0保留

2^21+1=2097152

2^21-1=2097150

2^8-2=253

  • 私有IP地址  

    A类私有地址: 10.0.0.0~10.255.255.255 即10.0.0.0/8

    B类私有地址:172.16.0.0~172.31.255.255即172.16.0.0/12

    C类私有地址:192.168.0.0~192.168.255.255 即192.168.0.0/16

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

Android之网络—第二篇(Https原理)

容器网络原理(有点长)

5G NGC — 关键技术 — 网络切片 — 实现原理

Docker容器间网络互联原理,讲不明白算我输

小白必读神经网络原理

【Tensorflow】深度神经网络原理