阅读 252

DNS、IP、TCP/UDP、HTTP/HTTPS、三次握手

www www: World Wide Web 万维网 Internet提供了很多的服务,在其中包括了WWW(网页服务)、FTP(文件传输)、E-mail(电子邮件)、Telnet(远程登录) 等等。由于www是用浏览器访问网页的服务,所以在以前网站的主页的域名前是需要加www的。而随着网站服务类型的增加,不同的二级或三级域名对应不同的业务,而业务的处理任务会分配到多个服务器,所以,不再需要使用www来标注主页,很多网站都还会做DNS解析www,原因是尊重用户习惯。(国外网站基本不用www标注主页 github)。

www协议 -> 网页服务协议

DNS解析 DNS:Domain Name Server(域名服务器) 作用:域名与对应的IP转换的服务器 特征:DNS中保存了一张域名与对应的IP地址的表 一个域名只能对应一个IP地址,一个IP地址可以对应多个域名

gTLD: generic Top-Level DNS Server 顶级域名服务器 为所有的.com、.net ......后缀做域名解析的服务器

DNS解析.png

IP地址 英文:Internet Protocol Address 中文:互联网协议地址、IP地址 作用:分配给用户上网使用的互联网协议 分类:IPv4 IPv6 形式:192.168.0.1 (长度32位(4个字节), 十进制表示)(IPv4)(0-255 * 4)

v: version IPv6的优点: 1.IPv6地址空间更大 (8组(128位),16进制) 2.路由表更小 3.组播支持以及对流支持增强 4.对自动配置的支持 5.更高的安全性 6.举例:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 (4 * 8)

IP端口号PORT 每一个端口号对应的是一个服务器的一个业务,访问一个服务器的不同端口相当于访问不同的业务。 默认端口(就是你没写:xxx时自动认为你访问的端口):http协议的默认端口是80https协议的默认端口是443ftp协议的默认端口是20/21

TCP

TCP:Transmission Control Protocol 传输控制协议

特点:面向连接(收发数据前,必须要建立可靠的连接)

建立连接的基础:三次握手

应用场景:数据必须准确无误的收发

HTTP请求、FTP文件传输、邮件收发

优点:稳定、重传机制、拥塞控制机制、断开连接

缺点:速度慢、效率低、占用资源、容易被攻击(三次握手 -> DOS/DDOS攻击)

TCP/IP协议组:提供点对点的连接机制,制定了数据封装、定址、传输、路由、数据接收的标准

UDP

特点:面向无连接(不可靠的协议,无状态传输机制) 无连接信息发送机制

应用场景:无需确保通讯质量且要求速度快、无需确保信息完整

消息收发、语音通话、直播(QQ)

优点:安全、快速、漏洞少(UDP flood攻击)

缺点:不可靠、不稳定、容易丢包

总结:只要目的源地址、端口号、地址、端口号确定,则可以直接发送信息报文, 但不能保证一定能收到或收到完整的数据。

HTTP与HTTPS

HTTP: HyperText Transfer Protocol 超文本传输协议

定义:客户端和服务端请求和应答的标准,用于从WEB服务器传输超文本到 本地浏览器的传输协议。

HTTP请求:按照协议规则先向WEB服务器发送到超文本传输到本地浏览器的请求

HTTPS: HyperText Transfer Protocol Secure 超文本传输安全协议

定义:HTTP的安全版(安全基础是SSL/TLS)

SSL: Secure Sockets Layer 安全套接层

TLS: Transport Layer Security 传输层安全

为网络通信提供安全及数据完整性的一种安全协议,对网络连接进行加密

HTTP与HTTPS的区别

1.HTTP是不安全的(监听和中间人攻击等手段,获取网站账户信息和敏感信息),HTTPS可防止被攻击 2.HTTP协议的传输内容都是明文,直接在TCP连接上运行,客户端和服务器都无法验证对方的身份 3.HTTPS协议的传输内容都被SSL/TLS加密,且运行在SSL/TLS上,SSL/TLS运行在TCP连接上,所以数据传输是安全的。

TCP连接前的三次握手

1、第一次握手:客户端给服务端发一个TCP报文,报文里SYN标志位置1,并指明客户端的初始化序列号 ISN(随机生成的序列号)(也可以用seq表示)。此时客户端处于 SYN_Send 状态。

2、第二次握手:服务器收到客户端的 SYN 报文之后,也会发送TCP报文 (将SYN和ACK置1),并且也是指定了自己的初始化序列号 ISN(也是随机生成的序列号),同时会把客户端的 ISN + 1 作为 ack序列号,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_REVD 的状态。

3、第三次握手:客户端收到 SYN 报文之后,会发送一个ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 establised 状态。

4、服务器收到 ACK 报文之后,也处于 establised状态,此时,双方以建立起了链接。

image.png

ACK=1,确认序号有效;SYN=1,连接是新发起的;FIN=1,要结束连接

文章分类
前端
文章标签