本文章用于理解网络中的各个关键字
1.IP地址 :
比如我们发快递时,需要知道对方的地址才能将包裹发送给他
格式:
IPv4:
IP地址是32位二进制数,如:01100000.01000010.00001110.00001010 (4字节 大约42亿)
通常采用“点分十进制”表示,即a.b.c.d(a,b,c,d均是0~255整数)
IPv6
IPv6协议将IPv6的地址长度增至128bit,分成8个部分,每个部分为16bit。
首选IPv6地址表示:8个由冒号隔开的16位字段,每个字段由4个十六进制数构成,比如AA22:BB11:1122:CDEF:1234:AA99:7654:7410。
2.端口号 :
端口号用于标识主机中进行数据传输接收的进程
比如发快递时不仅需要填写收货地址(IP地址),还要有收货人(端口号)
格式:
端口号是0~65535的整数,在网络通信中,进程可以绑定一个端口号用于接收与发送数据
0~1204范围是知名的端口号,已经被有名的程序占用
1205~65535范围可以随意指定
MYSQL是3306
原则是同一台主机上的端口号在不同运行程序之间不可冲突
3.协议
是一种网络约定,约定发送时如何组织数据,接受时如何解析数据
4.协议分层
OSI七层模型
从下到上分别是:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
TCP/IP五层模型(四层)
各层的作用:(以收发快递为例)
应用层: 接收与展示用户的数据,比如发快递时只关注快递本身。
传输层:完成端到端的传输,也就是记录收发主机的IP地址与端口号,比如发快递时填写的收件人地址与电话。
网络层:规划端到端的路径,路径中可能会经过其他网络设备,比如在收发快递的路上回经过加油站等等。
数据链路层:完成点到点的传输, 完成网络设备之间的传输,比如快递从一个村送到另一个村。
物理层:真实的bit传输,将数据以电信号/光信号传输
5.封装与分用
封装是传送端对数据的处理
分用是接收端对数据的处理
1.应用层
比如要用QQ发送数据:Hello
在应用层根据协议内容(互相协定的)对该数据封装
然后调用系统API将内容传输给下一层
2.传输层
以TCP协议为例:
为数据增加TCP头,内部装的是源端口号与目标端口号
3.网络层
遵守IP协议,为数据增加 IP头,内部装的是源IP与目标IP
4.数据链路层
遵守以太协议,为数据增加 帧头,帧尾,帧头装的是源MAC地址与目标MAC地址,帧尾装的是校验和
MAC地址:
校验和:
传输数据前将信息用某种方式加成数字和,在传输数据后再次判断校验数据是否被修改
5.物理层
将包装好的数据以电信号或光信号进行传输
分用
分用的过程就是将各个层级包装的头拆解解析,然后传递给下一层,这里就不概述了