运维小白的成长日记第七天-OSI七层传输层/应用层精讲!
1、IP提供了点到点的连续接,通过IP地址可以找到目标主机。但是目标主机有很多应用,服务器到底使用哪个应用来响应客户端?通过端口号决定。
2、TCP:传输控制协议。可靠的、面向连接的协议。相当于是打电话的过程,需要建立连接、发送数据、断开连接。
3、UDP:用户数据报协议。不可靠的,非面向连接的协议。相当于是发信息的过程。不需要建立连接,直接发送数据。
4、TCP头部的主要字段:
目标端口号:表明要访问的哪个应用,如80端口表示http
源端口号:标识自己的应用
序列号:上层数据被分成很多段,段的编号
确认号:接收方收到数据段后,要告诉发送方已收到
窗口大小:接收方告知发送发一次可以发多少个段
5、TCP建立连接的过程称作三次握手。
(1)发送方发送SYN=1的数据段给接收方
(2)接收方回应SYN=1,ACK=1的数据段给发送方
(3)发送方发送ACK=1的数据段给接收方
6、TCP发送完数据后,断开连接的过程有4步,叫四次断开
(1)主机A发送FIN=1的数据段给对方B
(2)另外一方B回应ACK=1的数据段给A
(3)B也发送FIN=1的数据段给A
(4)A回应ACK=1的数据段给B
第三次握手的必要性:防止已失效的请求报文段突然又传送到了服务端而造成连接的误判。假如客户端发出连接请求A,由于网络原因,服务端并没有收到A,于是客户端又发送了连接请求B,并建立了连接,完成通信,断开连接。这时候,服务端突然又收到了A,于是看作是一次新的连接请求,进行第二次握手,由于不存在第三次握手,所以这时已经建立了TCP连接。但实际上客户端并没有发起连接,所以不会传递数据,那么这条连接就会变成一条死连接。
必要性:为保证单向通信的可行性,所以多一次握手。
1)主动断开方发送FIN时,被动断开方要回复ACK,意思是“我收到你的FIN了”;
2)主动断开方发送FIN并不意味着立即关闭TCP连接,而是告诉对方自己没有更多的数据要发送了,只有当对方发完自己的数据再发送FIN后,才意味着关闭TCP连接;
3)被动断开方收到FIN并回复ACK后,此时TCP处于“半关闭”状态,为保证被动断开方可以继续发送数据,所以第二个FIN并不会伴随ACK发送,所以比连接时多一个报文段。
基于TCP的应用
HTTP:80 WEB服务 HTTPS:443 安全的WEB服务 TELNET:23 远程管理路由器交换机用到 SMTP:25 简单邮件传输协议,用于发邮件 POP3:110 邮局协议第三版,用于收邮件 FTP:21 文件传输协议 DNS:53 域名服务
UDP
TFTP:69 简单文件传输协议
DNS:53 域名服务
NTP:123 网络时间协议,用于同步系统时间
应用层
1、DNS:域名服务,用于将名称解析为IP地址,反之亦然
2、DNS是一个倒置的树形结构。最顶部是根域,用英文句点(.)表示。全球有13个根域服务器,一台主服务器在美国,9台辅助服务器在美国,2台在欧州,一台在日本。
3、根域服务器以下是一级域(顶级域)、二级域、三级域……最多127级
4、百度的域名:baidu.com,达内的域名:tedu.cn
5、主机的完整名称:主机名.域名后缀
FQDN:完全合格域名、完全限定域名、全称域名
6、初期的域名,顶级域只有七个: com:商业 net:网络 gov:政府 edu:教育 mil:军事 int:国际化 org:组织 7、后来又使用两个字母表示一个国家或地区,成为地理域 8、客户机解析域名的过程 (1)查询自己的缓存 ipconfig/displaydns 查看本机DNS缓存 ipconfig/flushdns 清除本机缓存 (2)查询HOSTS文件 C:\Windows\System32\drivers\etc\ hosts (3)本地DNS服务器(配置网络参数时指定的) 9、收发邮件 发信客户端被称作MUA(邮件用户代理),服务器被称作MTA(邮件传输代理) 10、实现DNS:windows server中有DNS服务器软件 11、实现http/ftp:IIS(Internet信息服务) 12、FTP有两个端口21和20。21用于控制连接,20用于数据传输。