初识 网络原理
1.网络通信基础
1.IP
1.ip用来定义主机的地址,类似于我们寄快递的时候,双方的地址,表示具体的两个地址
2.格式:IP地址是一个32位的二进制数,通常被分为4个“8位二进制数”相当于4个字节(约等于42亿左右)如 01100100.00000100.00000101.00000110
通常⽤“点分⼗进制”的⽅式来表⽰,即a.b.c.d的形式(a,b,c,d都是0~255之间的⼗进制整数)。 如:100.4.5.6。
通常是ipv4的格式,但是随着网络设置的越来越多升级成了IPv6(40亿亿)
2.端口号
1.端口号用于定位主机中的进程,可以理解为发件人和收件人的电话,表示具体的人
2.格式
0~65535范围的数字
1~1024是比较知名的端口号,已经被很有名的程序占用了,我们一般不使用
1025~65535这个范围可以任意指定
3.认识协议
协议相当于程序员之间的约定,表示发送快递以怎样的包装
4.五元组
1. 源IP:标识源主机
2. 源端⼝号:标识源主机中该次通信发送数据的进程
3. ⽬的IP:标识⽬的主机
4. ⽬的端⼝号:标识⽬的主机中该次通信接收数据的进程
5. 协议号:标识发送进程和接收进程双⽅约定的数据格式
5.协议分层
相当于公司实行业务,每一层都有每一层的任务,互不干扰,不同层级只需要结果对接就好
5.1 TCP/IP五层(或四层)模型
TCP/IP通讯协议采用了五层的层级结构,每一层都呼叫了它的下一层所提供的网络来完成自己的需求
每个层的作用
1.应用层:负责和用户打交道,接收和展示用户的数据,比如收发快递过程中,只关注了物品的本身
2.传输层:完成端到端的传输的准备,也就是说确定收送主机的地址和端口号,对比快递来说确定好收件人和发件人的地址和电话
3.网络层:规划出端到端之间的网络路径,路径中可能会包含中间经过的其他网络设备,比如快递运输中的可以经过的加油站
4.数据链路层:完成点到点之间的传输,每个网络设备之间的传输
5.物理层:将真实的BIT数据流,通过转换成光电信号在传输介质中传输
6.封装和分用
1.封装是在发送方进行的对数据的处理
2.分用是在接收方进行的对数据的处理
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报 (datagram),在链路层叫做帧(frame)。
• 应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装 (Encapsulation)。
• ⾸部信息中包含了⼀些类似于⾸部有多⻓,载荷(payload)有多⻓,上层协议是什么等信息。
• 数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,根据⾸部中的"上 层协议字段"将数据交给对应的上层协议处理
1.数据封装(发送方)
场景:模拟QQ放送与接收
首先发送方要发售那个一条信息比如hello
1.应用层确定消息体的内容
2.传输层,传输层众多协议中典型的两种,TCP, UDP协议,我们以TCP协议举例
确定好端口号和目的端口号把数据发送给下一层,网络层
3.网络层,规划出端于端之间的网络路径,加上IP头
4.数据链路层
5.物理层:把具体的数据(报文)转换成光电信号,通过传输介质进行传输,利用二进制,利用电信号,(3.5~5v表示高电平为1)(0.1v~0.25v为低电平为0)