http是TCP/IP协议簇 的一个子集
TCP/IP分层
应用层,传输层,网络层,数据链路层
链路层
处理网络硬件部分,包括控制操作系统,硬件的设备驱动,NIC,光纤等物理可见的部分
发送端从应用层往下走,接收端往上走
客户端在应用层(http协议)发出http请求
传输层(tcp)把从应用层接收到的http请求报文进行分割,在各个报文上打上标记序号和端口号,转发给网络层
在网络层(ip),增加作为通信目的地 的MAC得知后,转发给链路层
服务器在链路层收到数据,按层往上发送,一直到应用层,这是才算真正接收到http请求
发送时经过一层必定会被打上一个该层所属的首部信息,接收收没经过一层都会摘去头部
(封装)
IP/TCP/DNS
负责传输的ip协议
ip(网际协议)协议位于网络层,作用是把数据包传送给对方,
但要保证确实传送到了对方那里,需要满足各类条件,其中两个重要条件是
ip address :指明节点被分配到的网址
和MAC地址(Media Access Control Address):网卡所属固定地址
二者进行配对
使用ARP协议
ip间通信依赖MAC地址,通常在同一个局域网内的情况很少没经过多台计算机和网络中转设备才可以连接到对方,而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标,这时会采用
ARP协议:解析地址的协议,根据Ip地址查出对应的MAC地址
没人能全面掌握互联网中的传输状况
在到达通信目标的中转过程中,计算机和路由器等网络设备只能获悉粗略的传输路线。
这种机制称为路由选择
确保可靠性的TCP协议
tcp位于传输层,提供可靠的字节流服务:为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理,
可靠服务:能够把数据准确可靠度 传给对方
为了准确送达数据,采用了三次握手
采用了SYN(synchronize) ACK(acknowledgement) 标志(flag)
负责域名解析的DNS服务
DNS(Domain Name System)和http都位于应用层,提供域名到IP地址之间的解析服务