XCXCXCXCX

java后台

认识tcp/ip协议中的http协议

一、什么是tcp/ip

tcp/ip协议是一个协议集合,按照层次分为链路层、网络层、传输层、应用层四个层次。

(与tcp/ip协议并列的还有OSI网络框架模型---开放式系统互连参考模型,分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七个层次)


1.链路层:用来处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动和网络适配器,及光纤等物理可见的部分。硬件上的范畴均属于链路层的作用范围之内。


2.网络层:用来处理网络上流动的数据包(网络传输中最小的数据单元),规定了怎样的路径把数据包传输到目标计算机,并把数据包传送给对方。(与tcp/ip协议密切相关的有IP协议、ARP协议、RARP协议)

IPv4:头部由20字节定长和一个可选的变长部分(小于等于40字节)组成,32位记录源端IP地址,32位记录目的端IP地址,所有内容长度最大为2^16=65476字节。

IPv6:头部由40字节定长组成。128位记录源端IP地址,128位记录目的端IP地址。

ARP协议:专用于将32位IP地址映射到网卡的48位MAC地址。

RARP协议:主要用于将网卡的48位MAC地址转换为32位IP地址。


3.传输层:主要包括UDP协议TCP协议

UDP协议是一种不可靠无连接的传输层协议,不考虑流控制、错误控制,没有重传机制,不会对分组进行顺序检查和排序。

(UDP报头含8字节定长和2字节倍数的数据<不是2字节倍数时需要填充位>)

TCP协议是一种面向连接、可靠的、基于字节流的传输层协议,采用了确认机制、超时重传机制,还会对接收到的TCP报文段进行重新排列整理。

(TCP报头含20字节定长、选项和填充<选项和填充小于等于40字节>)

UDP优点:

控制选项少,无须建立连接,从而使得数据传输过程中的延迟小、数据传输效率高。

UDP适合对可靠性不高,或网络质量有保障,或对实时性要求较高的应用程序。

TCP优点:

能保证可靠性、稳定性。

TCP适合用于端到端的通信,适用于对可靠性要求较高的服务。


4.应用层:负责直接和应用程序接口并提供常见的网络应用服务,此外,为了向应用程序提供有效的网络服务,应用层还需要确立相互通信的应用进程的有效性并提供双方之间的同步,需要提供应用进程所需的信息交换和远程操作,需要建立错误恢复的机制以保证应用层数据的一致性。(有FTP协议、TFTP协议、Telnet协议、DNS协议HTTP协议

DNS协议:主要功能是通过用户友好的名称为用户提供域名解析服务,即将主机名域名解析为IP地址。

HTTP协议:是一种详细规定了浏览器和万维网服务器之间互相通信的规则。


二、以HTTP协议为例的工作流程

与之密切相关的协议有IP/TCP/DNS

DNS解析主机名域名为IP地址后,IP通过ARP解析后找到目的主机,TCP则通过三次握手与目的主机建立连接。

连接后,若一方想主动取消连接,TCP通过四次挥手与主动主机取消连接。


1.TCP连接建立的三次握手过程



2.TCP连接释放的四次挥手过程



3.当访问一个网页时,所有协议在其中的作用如下:



参考文章:

http://www.cnblogs.com/roverliang/p/5176456.html

http://blog.csdn.net/oney139/article/details/8103223

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭