协议是什么
协议是大家都遵守,公有协议/私有协议
IP地址
IP地址是唯一标识,不能重复
OSI七层模型
物理层->数据链路层->网络层->传输层->会话层->表示层->应用层
分层是为了让问题立体化,每一层都要有要处理的事情。
TCP/IP栈
4层:数据链路层->网络层->传输层->应用层
应用层加HTTP头,传输层加TCP头,网络层加IP头,数据链路层加E-Ⅱ(Ethernet-Ⅱ)头,物理层不加头,把数据转为二进制流;
PDU
传输层叫segment 网络层叫packet 数据链路层叫frame 物理层叫比特流
对等通信
发送端的网络层只能与接收端的网络层对话,就是这两层互相能看懂。其他的层同理。
双绞线(物理层)
屏蔽双脚线和非屏蔽双绞线,一般信号干扰比较强的场景会用屏蔽双绞线
全双工和半双工
单工:一端只发送,一端只接受。(听调频广播)
半双工:一端发送时,不能接受。接受时,不能发(对讲机)
全双工:同时收发(电话)
CSMA/CD
载波监听多路访问/冲突检测
先听先发,边发边听,
A真听到电路空闲,A先发;B想要发送,先侦听,侦听到电路不空闲,B就不能发送信号。如果A和B同时侦听到电路空闲,就会产生冲突,但是边发边听,B听到了A在发送,同时A也听到了B在发送,这样就AB都停止发送,然后给AB设置不同的定时器。时间到了再回头从先结束定时器的一个信号源开始侦听。
MAC地址
物理地址,48位,MAC地址再网卡上
分类
- 单播:从高到低第八位为0;一发一收
- 多播:从高到底第八位为1;一发多收;
- 广播:所有bit全为1;一发全收;
在一个正常正常的以太数据帧中,源mac地址永远是单播,目标mac地址可以是单播,多播和广播
一个数据要想被发送出去,必须要先完成数据帧的封装,即成侦
ARP协议(地址解析协议)
解析对方的MAC地址,A通过ARP协议拿到B的MAC地址,然后保存在自己的ARP表中;之后封装ICMP报文发起通信
PING
A PING B就是A向B发送一个ICMP报文
标准ARP欺骗的原因
C的用A的源MAC地址,去访问B,这就是ARP的欺骗。动态绑定ARP容易被欺骗,所以用静态绑定ARP来解决这种欺骗问题。
免费ARP
进行重复IP地址检测(DAD duplicate address detect)
IP协议
IPV4的头部是可变长的。
一个报文每次跨越一个路由器TTL(生存时间)值都会自动减一,当一台路由器收到一个TTL值等于0的报文时,将直接丢弃该报文不再进行转发。
TCP协议
传输层的协议有端口号一说。TCP是一种面向连接的可靠的协议。
UDP 协议
UDP不重传,占用资源少,传输效率高,适用于视频音频等
冲突域:边界在交换机端口
广播域:边界在路由器端口
hub 一层设备对信号负责
switch 二层设备对frame负责(MAC)
router 三层设备对packet负责(IP)
数据帧在跨跳的时候(跨越路由器)三层IP不发生变化,二层MAC逐跳发生变化。当一个数据帧到达路由器的时候,路由器查看mac地址是不是自己,如果是自己,之后再将自己的max地址封装成源地址,继续发送。