SYN:Synchronize sequence numbers同步序列编号
seq:sequence序列
ACK:ACKnowledge Character确认字符
三次握手(客户端先手)
客户端状态SYN_SENT,发送SYN请求信息给服务端,此数据段序列号seq=x
服务端状态从LISTEN转到SYN_RCVD
回复SYN+ACK数据段,此数据段序列号seq为y,确认序列号ACK=x+1
客户端状态从SYN_SENT转到ESTABLISHED
回复确认序列号ACK=y+1
服务器状态从SYN_RCVD转到ESTABLISHED
四次挥手(客户端、服务端都可先手)
应用层
由来:用户使用的都是应用程序,均工作于应用层
互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式
功能:规定应用程序的数据格式
socket
应用层
》socket《
传输层
网络层
数据链路层
物理层
DHCP
想实现网络通信,每台主机需要具备四要素:
本机的IP地址
子网掩码
网关的IP地址
DNS的IP地址
获取方式
静态获取:手动配置
动态获取:通过DHCP获取(udp头)
以太网头+IP头+udp头+DHCP数据包
"以太网头"设置发出方(本机)的mac地址和接收方(DHCP服务器)的mac地址
前者就是本机网卡的mac地址,后者此时未知,填广播地址FF-FF-FF-FF-FF-FF
"IP头"设置发出方IP地址和接收方IP地址
此时两者均未知,发出方填0.0.0.0,接收方填255.255.255.255
"UDP头"设置发出方的端口和接收方的端口
这一部分是DHCP协议规定好的,客户端是68端口,服务端是67端口
DHCP client(68号端口)---------------->DHCP server(67号端口)
DNS(Domain Name System)域名系统
dns作用
DNS是解析域名的,会把域名翻译成IP再进行连接
DNS服务器地址是唯一的,是运行商提供给终端用户来解析IP地址及域名的关系的
dns查询方式
递归
主机向本地域名服务器查询一般都是采用递归查询
如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,
那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(替主机继续查询,而不是让主机自己进行下一步查询)。
因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。
迭代
本地域名服务器向根域名服务器的查询是迭代查询
当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。
根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。
顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。
最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。
结合
dns解析流程