前言#
一次对网络协议的简单总结
层次划分#
物理层:以太网 ・ 调制解调器 ・ 电力线通信 (PLC)・ SONET/SDH ・G.709・ 光导纤维 ・同轴电缆・双绞线等
数据链路层:Wi-Fi (IEEE 802.11)・WiMAX (IEEE 802.16)・ATM・DTM・ 令牌环 ・ 以太网 ・FDDI・ 帧中继 ・GPRS・EVDO・HSPA・HDLC・PPP・L2TP・PPTP・ISDN・STP・CSMA/CD 等
网络层协议:IP (IPv4・IPv6)・ICMP・ICMPv6・IGMP・IS-IS・IPsec・ARP・RARP・RIP 等
传输层协议:TCP・UDP・TLS・DCCP・SCTP・RSVP・OSPF 等
应用层协议:DHCP・DNS ・FTP・Gopher・HTTP・IMAP4・IRC・NNTP・XMPP・POP3・SIP・SMTP・SNMP・SSH・TELNET・RPC・RTCP・RTP・RTSP・SDP・SOAP・GTP・STUN・NTP・SSDP・BGP 等
HTTPS 工作流程#
- 对称加密,用于传输的数据进行加密(请求,响应)需要有一个对称密钥,客户端生成,要告知服务器
- 非对称加密,服务器提供一个公钥(服务器自己持有一个私钥),客户端使用公钥对对称密钥加密,密文传输给服务器
- 中间人攻击,黑客可能劫持了服务器给客户端的公钥,用自己生成的公钥代替,从而导致对称密钥的泄露
- 为了解决中间人攻击,引入了证书机制,通过第三方工证机构,向网站颁发证书,证书里面就包含公钥,客户端向服务器请求的就是证书,客户端那着证书去公证机构进行验证,看看证书是否合法。
总结#
面试最经常问 HTTPS 问题的就是上面的 4 步过程,准确来说这个过程就是 SSL/TLS 的一个流程,而 SSL/TLS 不仅仅使用在 HTTPS 中,也在很多其他地方会用到。