目录
OSI七层模型
序号 | 名称 | 该层协议 | 解释 |
7 | 应用层 | 针对特定应用的协议(电子邮件用电子邮件协议,文件传输用文件传输协议,远程登陆用远程登陆协议) |
|
6 | 表示层 | 声音,图像,文字)等信息转换为网络的标准数据格式 |
|
5 | 会话层 | 通信管理(何时建立与断开连接,以及保持多久的连接) |
|
4 | 传输层 | TCP,UDP | 可靠的数据传输(数据是否有丢失) |
3 | 网络层 | IP | 地址管理与路由选择(IP协议,经过哪个路由传递到目标地址) |
2 | 数据链路层 | 传输和识别数据帧,数据帧与比特流之间的转换 |
|
1 | 物理层 | 用网线连接,电子信号与比特流之间的转换 |
TCP/IP五层(四层)模型
序号 | 名称 | 该层协议 | 解释 |
5 | 应用层 | HTTP,HTTPS | 针对特定应用的协议(电子邮件用电子邮件协议,文件传输用文件传输协议,远程登陆用远程登陆协议) |
4 | 传输层 | TCP,UDP | 可靠的数据传输(数据是否有丢失) |
3 | 网络层 | IP,ARP | 地址管理与路由选择(IP协议,经过哪个路由传递到目标地址) |
2 | 数据链路层 | 传输和识别数据帧,数据帧与比特流之间的转换 |
|
1 | 物理层 | 用网线连接,电子信号与比特流之间的转换 |
一.DNS协议(应用层协议)
1.1什么是DNS协议?
因为计算机操作系统只能解析IP地址,而不能解析域名(域名是为了方便人们记忆),所以DNS协议油然而生。
- DNS协议是一种将址域名转换为IP地的协议(或将IP地址转换为域名)
- DNS底层采用UDP(用户到服务器的通信)和TCP(服务器间的通信)协议
1.2域名服务器
- 根域名服务器管理所有的顶级域名服务器
- 顶级域名服务器管理各自的二级域名服务器
- 二级域名服务器管理各自的三级域名服务
例:www.baidu.com
- com:顶级域名
- baidu:权威(二级)域名服,一般是公司名
- www:三级域名yuming
1.3本地域名服务器
默认的域名服务器,用户所访问的第一个服务器
1.4递归查询与迭代查询
递归查询:别人帮我做事(我只要结果)
- 本机向本地域名服务器发出一次查询请求,然后等待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机
迭代查询:我自己做事情(每一步都需要我自己来完成)
- 本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询
1.5域名解析的过程:
- 在浏览器中输入www.qq.com域名,操作系统先会查询浏览器的DNS缓存,查看是否有这个网址映射关系,如果有,直接返回对应IP地址,完成域名解析。
- 如果没有,操作系统然后检查本地的hosts文件是否有这个网址映射关系,如果有,直接返回对应IP地址,完成域名解析。
- 如果hosts里没有这个域名的映射,则向路由器发起查询请求,是否有这个网址映射关系,如果有,直接返回对应IP地址,完成域名解析。
- 如果路由器缓存没有相应的网址映射关系,向本地域名服务器发起查询请求,本地域名服务器收到查询时,如果要查询的域名包含在本地域名服务器资源中,则返回解析结果给客户机,完成域名解析。
- 如果本地DNS服务器没有查询到,则本地DNS就把请求发至上一级域名服务,解析成功就返回给本地域名服务器解析结果,如果上一级域名服务器无法解析,本地域名服务其就向上上级服务器发起查询请求,直至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。
从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。
二.NAT与NAPT协议
2.1何为NAT技术?
NAT,全称为网络地址转换(Network Address Translation),是为了解决 IPv4 地址短缺而产生的技术。
三.UTP与TCP协议
3.1UTP协议
3.1.1UDP协议格式
- UDP首部有8个字节,由4个字段构成,每个字段都是2个字节
- 16位UDP长度:表示整个数据报(UDP首部+UDP数据)的最大长度(最大64K)
- 16位UDP检验和:如果校验和(双方约定好的字符串)出错, 就会直接丢弃;
3.1.2UDP的特点
- 无连接:知道对端的IP和端口号就可以直接进行通讯,不需要建立连接。
- 不可靠:没有类似TCP的安全机制(确认应答机制,超时重传机制,连接管理机制)。
- 面向数据报:不能够灵活的控制读写数据的次数&#