1.数据转换
抽象语言 ---> 二进制----> 电信号
编码:将人类语言按照某种格式转化成二进制
2.标准化(协议)
TCP/IP
七层模型
1.更利于标准化 2.有利于层级之间独立发展
应用层 人机交互的窗口
表示层 抽象语言转化成二进制,统一编码格式
会话层 建立 维护 断开 一次会话通信
1.提供会话层地址 2.建立主机与服务器的逻辑通道
传输层 建立端到端的传输(应用与应用之间,比如PC上有很多应用,服务器发信息过来PC不知道将数据传输到目标应用)
利用传输层地址(端口号)进行应用与服务的区分
端口号0~2**16 0为保留端口号
1~1023 知名端口号,提供特定的服务
SSH 22端口
eg:我访问一个网站,在我打开应用时就产生了一个端口号,可能会有很多操作,比如发送信息 获取信息,但我的端口号为80 ,则服务器就知道我是想向他获取信息的,而不是提供其他服务
会话层像是会议的主持人,决定会议何时开始结束 会议流程;传输层像快递员,传输通信双方的数据包
网络层 通过IP地址提供逻辑寻址
数据链路层 通过MAC地址进行物理寻址,控制物理层,二进制和电流信号转换
物理层 处理传输电流信号
3.封装\解封装
封装
每一层把上一层的协议包当成数据部分,加上自己的协议头部,组成自己的协议包
封装: 应用层 ---> 数据链路层 ,物理层不封装
跨层封装 ?
可以提高数据包转发效率
利用协议字段区分上层协议
TCP --- 6
UDP ---- 17
OSPF --- 89 (跨四层)
STP --- (生成树协议,跨三四层)
解封装
4. DHCP (应用层)
UDP client---68(端口号) sever---67
运作过程
首次获取IP
1.client 发送discover包 ,寻找网络中的DHCP服务器
UDP SPORT 67 DPORT 68
SIP 0.0.0.0 DIP 255.255.255.255
SMAC DMAC FF-FF...
一般广播IP地址与广播MAC一起出现
2.sever回复client offer包,其中携带一个可用IP地址
UDP SPORT 68 DPORT 67
SIP DIP(华为写发送给client的可用IP/思科 255.255.255.255)
SMAC DMAC(client的mac\ff:ff...)
交换机转发
收到数据帧之后,将接收接口与数据帧中的SMAC地址信息对应记录到MAC地址表中,然后基于目标MAC转发,如果记录表中没有记录目标MAC,洪泛
3.C-->S request包,请求一个IP地址(与步骤1相同)
UDP SPORT 67 DPORT 68
SIP 获取到底IP DIP 255.255.255.255
SMAC DMAC FF-FF..
DIP广播原因
1.告诉请求服务器我是用他发下的IP
2.告诉网段中其他给我下发IP的Sever可以释放IP给其他人使用
4.S-->C ack报文(与步骤2相同)
再次获取IP
租期之内:
步骤3+4:
步骤3中DIP为上次使用的服务器IP,不需广播发送discover,因为此时知到网段中有Sever,且服务端会有缓存服务器的目标IP
5.ARP协议 (地址解析协议)
已知一种协议获取另外一种地址
正向ARP -- 通过IP获取MAC
发送一个报文,没有端口号,目标MAC为ff:ff...,经过交换机洪泛,广播方式获取
知道一个客户端的IP MAC 交换机和路由器会记录下来,IP\MAC地址与其接口的映射关系
反向ARP -- 通过MAC获取IP
免费ARP --检测地址冲突\广播自己的IP MAC让网段知晓
6.路由器
转发原理:
当一个数据包来到路由器,在路由表中查看目标IP,有就转发,没有则丢弃;
因为掩码,客户端知道目标IP是否和自己在同一网段,故包装此数据包时,目标MAC为网关地址
路由器接收数据包解封装数据链路层发现MAC地址是自己,往上解封装,网络层目标IP为另一个再次封装