是通信计算机双方必须共同遵守的一组约定。
例如,怎么探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。
不同的硬件、操作系统之间的通信,都需要一种规则,也就是协议。
三要素
语法:即数据与控制信息的结构或格式。
语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
时序(同步),即事件实现顺序的详细说明。
1.SOCKS5
是一个代理协议,位于传输层和应用层之间。
它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器能够访问Internet网中的服务器,或者使通讯更安全。
前端将原本要发送给服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯。
2.Socket
是应用层与TCP/IP协议组通信的中间软件抽象层,是一组接口,可以让不同程序间进行进程通讯。
设计中,它把TCP/IP隐藏在接口后面,对用户来说,接口就是全部,让Socket去组织数据,以符合指定的协议。
一、TCP/IP网络模型简介
是互联网的基础,也是互联网相关的各类协议族的总称。
使用点对点(PointtoPoint)连接进行数据传输。
概念层(从第四层(最高层)开始)
应用层:负责向用户提供应用程序。
传输层:负责对报文进行分组和重组,并以TCP或UDP协议格式封装报文。
网络层:负责路由,以及把分组报文发送给目标网络或主机。
链路层:负责封装和解封装IP报文,发送和接受ARP/RARP报文等。
封装:应用层(应用层数据)-传输层(加上TCP头)-网络层(加上IP头)-链路层(加上帧头)
二、OSI(开放式系统互连:OpenSystemInterconnect)
是一个具有七层结构的体系模型。
除了物理层外,不同主机之间的相同层次被称为对等层,且之间存在协议关系。
每一层实体为相邻的上一层实体提供的通信功能称为服务。N层实体利用N-1层实体所提供的服务,向N+I层实体提供功能更强大的服务。
OSI七层模型(从第七层(最高层)开始)
应用层:应用程序协议,如文件传输,电子邮件,文件服务,虚拟终端。(如HTTP)
表示层:信息的语法语义化及关联,如数据格式化,代码转换,数据加密。(如LPP)
会话层:解除或建立与其他用户的联系(会话)。(如RDP、SSH)
传输层:接收上层数据传给网络层,必要时分割,并保证有效到达对端。(如TCP、UDP、SCTP)
网络层:控制子网运行,如逻辑编址、选择路由。(如IP)
数据链路层:物理寻址,同时将原始比特流转为逻辑传输线路。(如ARP)
物理层:以二进制数据形式在物理媒体上传输数据。(如ISO、IEEE、IEEE.2、Ethernetv.2、Internetwork)
过程
发送端:从上到下(应用层到物理层)。
接收端:从下到上(物理层到应用层)。
应用层协议(第七层)
三、DNS(域名系统:DomainNameSystem)
1、DNS简介
也称uDNS(单播DNS),是互联网的一项服务。
网站会将用户输入的网址发给DNS服务器,DNS将网址解析成对应IP并返回给网站,网站再访问对应IP。
作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
2、端口:53tcp/udp
3、解析方式
正向解析(A):解析域名为IP。
逆向解析(PTR):解析IP为域名。
4、浏览器根据访问的域名找到其IP地址的DNS查找过程
浏览器缓存:首先搜索浏览器自身的DNS缓存(时间较短,大概只有1分钟,且只能容纳条缓存),看自身的缓存中是否是有域名对应的条目,而且没有过期,如果有且没有过期则解析到此结束。
系统域名:如果浏览器自身的缓存没有找到,那么浏览器会搜索操作系统自身的DNS缓存,如果找到且没有过期则停止搜索解析到此结束。
路由器缓存:如果系统缓存也没有找到,则会向路由器发送查询请求。
ISP(互联网服务提供商)DNS缓存:最后会在ISP缓存DNS的服务器里查。
5、域名作用
是Internet上某一台计算机或计算机组的名称,由一串用点分隔的名字组成(例