TCP/IP协议族
1.TCP/IP的分层:
分为4个层次:
应用层,传输层,网络层,和链路层。
分层的好处:
(1)可以在某层次变动后,只需修改某层次的内容,而不用把所有部分整体都替换掉。(维护性好,可扩展性高)
(2)层次化后,对于每个层次的设计也变得简单了许多。
各层的作用如下:
(1)应用层决定了向用户提供应用服务通信时的活动。(我的理解类似于准备活动)
这层包括 HTTP协议,DNS(域名系统),FTP(文件传输协议);
DNS服务:
由于计算机更擅长处理IP地址的纯数字,而字母配合数字更符合人类的记忆习惯。
所以为了解决上述问题,DNS服务应运而生,
DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。
DNS协议就类似于一个转换函数,当计算机需要时转换为IP,当人需要时转换为域名
(2)传输层:
传输层对上层的应用层,提供处于网络连接中的两台计算机的数据连接。
在传输层有个性质不同的协议TCP(传输控制协议),UDP(用户数据报协议)。
所谓的字节流服务是指,为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。
在传输层中,(TCP协议)会把从应用层收到的数据(HTTP请求报文)进行分割,并会在各个报文打上标记序号和端口号后转发给网络层。TCP协议
能够确认数据最终是否送到了对方。
三次握手:
(第一次握手)发送端首先发送一个带SYN标志的数据包给对方。(第二次握手)接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。(第三次握手)最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束。
通俗地讲
第一次握手:发送端发送正常。
第二次握手:接收端接收和发送正常。
第三次握手:发送端接受正常。
若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
(3)网络层(又叫网络互联层)
网络层用来处理网络上流动的数据包。数据包是网络传输的最小数据单位。网络层所起的作用就是在众多的选项内选择一条传输路线。
在网络层,会增加作为通信目的地的MAC地址后转发给链路层。
IP网际协议属于网络层,IP协议的作用是把各种数据包传送给对方。
传送给对方需要有两个条件:
IP地址:指明了节点被分配到的地址,IP地址可变。
MAC地址:指网卡所属的固定地址,MAC地址基本不变。
IP间的通信依赖MAC地址。通信的双方一般要经过多台计算机和网络设备中转才能连接到对方。而进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转的目标。这是会采用ARP协议。ARP协议是一种以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制被称作路由选择
(4)链路层(又名数据链路层,网络接口层)
用来处理连接网络的硬件部分。硬件上的范畴均在链路层的作用范围之内。
当利用TCP/IP进行网络通信时,会通过分层顺序与对方进行通信。
发送端会从应用层往下走,接收端则往应用层往上走。
发送端在进行层与层之间传输数据时,每经过一层必定会打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,
每经过一层会把对应的首部消去。 这种把数据信息包装起来的做法叫做封装。
URI(统一资源标识符)(Uniform Resource Identifier)
URI就是由某个协议方案表示资源的定位标识符。协议方案(如http,ftp等)是指访问资源所使用的协议类型的名称。
URI用字符串标识某一互联网资源,而URL表示资源的地点。URL是URI的子集。
绝对URI格式:
协议方案名+登录信息(可选)+服务器地址+服务器端口号(可选)+带层次的文件路径(可选)+查询字符串(可选)+片段标识符(可选)
RFC标准:,是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件