首页 > 其他 > 详细

网络知识

时间:2019-06-26 15:25:06      阅读:109      评论:0      收藏:0      [点我收藏+]

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。 

下面的图表试图显示不同的TCP/IP和其他的协议在最初OSI模型中的位置:

7 应用层 例如HTTPSMTPSNMPFTPTelnetSIPSSHNFSRTSPXMPPWhoisENRP
6 表示层 例如XDRASN.1SMBAFPNCP
5 会话层 例如ASAPTLSSSH、ISO 8327 / CCITT X.225、RPCNetBIOSASPWinsockBSD sockets
4 传输层 例如TCPUDPRTPSCTPSPXATPIL
3 网络层 例如IPICMPIGMPIPXBGPOSPFRIPIGRPEIGRPARPRARP、 X.25
2 数据链路层 例如以太网令牌环HDLC帧中继ISDNATMIEEE 802.11FDDIPPP
1 物理层 例如线路无线电光纤信鸽

 

TCP/IP具体是怎么通信的呢?

  • 利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层往上走。我们用HTTP举例来说明,首先作为发送端的客户端在应用层(HTTP协议)发出一个想看某个Web页面的HTTP请求。接着,为了传输方便,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。在网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的HTTP请求。

技术分享图片

  1. 应用层 :

  • 应用层决定了向用户提供应用服务时通信的活动。TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务就是其中两类。HTTP协议也处于该层。

  • 2传输层 :

  • 传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议:TCP(Transmission ControlProtocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。

  • 3、网络层 :

  • 网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。

  • 4、链路层(又名数据链路层,网络接口层) :

  • 用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

 

 

技术分享图片

确保可靠性的TCP协议。

  • 按层次分,TCP位于传输层,提供可靠的字节流服务。所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠地传给对方。一言以蔽之,TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达到对方。

  • 确保数据能到达目标。为了准确无误地将数据送达目标处,TCP协议采用了三次握手(three-way handshaking)策略。用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志(flag) ——SYN(synchronize) 和ACK(acknowledgement)。发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后,发送端再回传一个带ACK标志的数据包,代表握手结束。若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。除了上述三次握手,TCP协议还有其他各种手段来保证通信的可靠性。

技术分享图片

负责域名解析的DNS服务。

  • DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议。它提供域名到IP地址之间的解析服务。计算机既可以被赋予IP地址,也可以被赋予主机名和域名。比如www.baidu.com。因为域名更加直观,所以用户通常使用主机名或域名来访问对方的计算机,而不是直接通过IP地址访问。但要让计算机去理解名称,相对而言就变得困难了。因为计算机更擅长处理一长串数字。为了解决上述的问题,DNS服务应运而生。DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

技术分享图片

HTTP协议用于客户端和服务器端之间的通信。

  • HTTP协议和TCP/IP协议族内的其他众多的协议相同, 用于客户端和服务器之间的通信。请求访问文本或图像等资源的一端称为客户端, 而提供资源响应的一端称为服务器端。在两台计算机之间使用HTTP协议通信时, 在一条通信线路上必定有一端是客户端, 另一端则是服务器端。有时候, 按实际情况, 两台计算机作为客户端和服务器端的角色有可能会互换。 但就仅从一条通信路线来说, 服务器端和客户端的角色是确定的, 而用HTTP协议能够明确区分哪端是客户端, 哪端是服务器端。

技术分享图片

通过请求和响应的交换达成通信。

技术分享图片

  • HTTP协议规定, 请求从客户端发出, 最后服务器端响应该请求并返回。 换句话说, 肯定是先从客户端开始建立通信的, 服务器端在没有接收到请求之前不会发送响应。

技术分享图片

  • 起始行开头的GET表示请求访问服务器的类型, 称为方法(method) 。 随后的字符串/index.htm指明了请求访问的资源对象,也叫做请求URI(request-URI) 。 最后的HTTP/1.1, 即HTTP的版本号, 用来提示客户端使用的HTTP协议功能。综合来看, 这段请求内容的意思是: 请求访问某台HTTP服务器上的/index.htm页面资源。

  • 请求报文是由请求方法、 请求URI、 协议版本、 可选的请求首部字段和内容实体构成的。

技术分享图片

  • 紧挨着的200 OK表示请求的处理结果的状态码(status code) 和原因短语(reason-phrase) 。 下一行显示了创建响应的日期时间, 是首部字段(header field) 内的一个属性。接着以一空行分隔, 之后的内容称为资源实体的主体(entity body)。响应报文基本上由协议版本、 状态码(表示请求成功或失败的数字代 码) 、 用以解释状态码的原因短语、 可选的响应首部字段以及实体主体构成。 稍后我们会对这些内容进行详细说明。

HTTP是不保存状态的协议。

  • HTTP是一种不保存状态, 即无状态(stateless) 协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。 也就是说在HTTP这个级别, 协议对于发送过的请求或响应都不做持久化处理。

技术分享图片

  • 使用HTTP协议, 每当有新的请求发送时, 就会有对应的新响应产生。 协议本身并不保留之前一切的请求或响应报文的信息。 这是为了更快地处理大量事务, 确保协议的可伸缩性, 而特意把HTTP协议设计成如此简单的。可是, 随着Web的不断发展, 因无状态而导致业务处理变得棘手的情况增多了。 比如, 用户登录到一家购物网站, 即使他跳转到该站的其他页面后, 也需要能继续保持登录状态。 针对这个实例, 网站为了能够掌握是谁送出的请求, 需要保存用户的状态。HTTP/1.1虽然是无状态协议, 但为了实现期望的保持状态功能, 于是引入了Cookie技术。 有了Cookie再用HTTP协议通信, 就可以管理状态了。

网络知识

原文:https://www.cnblogs.com/yhm9/p/11089730.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!