名词解释:
协议:
HTTP:HyperText Transfer Protocol,超文本传输协议,属于应用层的协议
FTP:File Transfer Protocol,文件传输协议,相比于HTTP协议更加复杂,控制文件双向传输,比如:上传,下载都用到了这个协议
IP协议:Internet Protocol,网际协议,位于网络层。作用是把各种数据包传送给对方,要保证传送到对方那里需要满足两个重要条件,IP地址和Mac地址(Media Access Control Address)
ARP:Address Resolution Protocol,一种用以解析地址的协议,根据通信方的IP地址可以反查出对应的MAC地址
TCP:Transmission Control Protocol,传输控制协议,将应用层发向传输层的数据流,TCP将数据流分割成适当长度的报文段
UDP:User Data Protocol,用户数据报协议,不可靠的数据报协议,为网络层以上和应用层以下提供接口,它一旦把应用程序发送给网络层的数据发送出去就不保存数据备份,所以说它不可靠。
URI:Uniform Resource Identifier,统一资源标识符
URL:Uniform Resource Locator,统一资源定位符,就是使用浏览器访问web页面时需要输入的网页地址
URI和URL的区别:URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同部分。URL是URI的一个特例,它包含了定位Web资源的足够信息
RFC:Request for Comments,征求修正意见书,用来制定HTTP协议技术标准的文档,可以看做是互联网的设计文档,如果不按照RFC标准执行则可能导致无法通信
路由器:router,是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 路由器是互联网络的枢纽
路由选择:IP协议发送数据时会经过路由选择,具体解释见下
IP地址:节点被分配到的地址,与域名相对应
Mac地址:网卡所属的固定地址,通常一台PC机对应一个Mac地址,且不再改变
DNS:Domain Name System,域名系统,因特网上作为域名和相互映射的一个,能够使用户更方便的访问,而不用去记住能够被机器直接读取的IP数串。比如:www.baidu.com 对应IP为 183.232.231.173,在地址栏中输入这两个内容都可以访问到百度页面,域名是www.baidu.com,方便用户记忆
TCP/IP协议族:
不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,从电缆的规格到IP地址的选定方法、寻找异地用户的方法、双方建立通信的顺序,以及web页面显示需要处理的步骤,等等。这样把与互联网相关联的协议集合起来总称为TCP/IP是在IP协议的通信过程中,使用到的协议族的统称。
TCP/IP的分层管理
应用层:决定向用户提供应用服务时通信的活动,TCP/IP协议族内预存了各类通用的应用服务。比如FTP和DNS服务就是其中两类。
传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输,在传输层中还有两个性质不同的协议,TCP和UDP
网络层(网络互连层):用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线,IP协议
链路层(数据链路层、网络接口层):用来处理连接网络的硬件部分。包括控制操作系统,硬件的设备驱动,NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。在硬件上的范畴均在链路层的作用范围之内。
发送信息时:
(发送端)应用层 ——> 传输层 ——> 网络层 ——> 链路层(添加通信目的地地址(Mac地址))
|
|
(接收端)应用层 <—— 传输层 <—— 网络层 <—— 链路层
发送端在层与层之间传输数据时,每经过一层时会被打上一个该层所属的首部信息,在接收端的层与层传输数据时,每经过一层时会把对应的首部去掉。(封装)
注:有的书上在应用层和传输层中间还有一个 会话层
IP协议所属的网络层在传送信息时需要经过路由选择,不论哪一台计算机,哪一台网路设备都无法全面掌握互联网中的细节,发送端使用ARP协议解析后发现未解析成功则会先发给某一MAC地址的路由器,再由该路由器解析后中转给下一个路由器,直到最后发往正确的地址
TCP协议所属传输层,提供可靠的字节流服务,即将大块数据分割成报文段为单位的数据包进行管理,之所以说TCP“可靠”,是因为TCP协议中采用的“三次握手”策略
发送端发送一个带有SYN标识的数据包给对方,接收端收到后回传一个带有SYN/ACK标识的数据包告诉发送端自己已经收到了,发送端再发送一个带有ACK标识的数据包,代表“握手”结束
发送端发送数据到接收端的具体过程:
URI格式:
不区分大小写,也可以使用data:或javascript:这类指定数据或脚本程序的方案名
服务器地址可以是DNS可解析的名称,或者IPv4地址名(192.168.1.1),或者IPv6地址名([0:0:0:0:0:0:0:1])
服务器端口号,可选项,省略则使用默认端口号
带层次的文件路径是指在服务器上该文件的路径
查询字符串,为可选项
片段标识符,在该页面的某一位置,可选项