tcp/ip协议和http协议

TCP/IP 是一类协议系统,它是用于网络通讯的一套协议集合.浏览器

传统上来讲 TCP/IP 被认为是一个四层协议:应用层(telnet, ftp, http, smtp, dns等),传输层(tcp, udp),网络层(ip,icmp,arp,rarp),网络接口层(各类物理通讯网络接口)安全

三次握手服务器

 

四次挥手网络

 

网络接口层:架构

主要是指物理层次的一些接口,好比电缆等.tcp

网络层:分布式

提供独立于硬件的逻辑寻址,实现物理地址与逻辑地址的转换.ide

在 TCP / IP 协议族中,网络层协议包括 IP 协议(网际协议),ICMP 协议( Internet 互联网控制报文协议),以及 IGMP 协议( Internet 组管理协议).加密

3) 传输层:spa

为网络提供了流量控制,错误控制和确认服务.

在 TCP / IP 协议族中有两个互不相同的传输协议: TCP(传输控制协议)和 UDP(用户数据报协议).

4) 应用层:

为网络排错,文件传输,远程控制和 Internet 操做提供具体的应用程序

2.数据包

在 TCP / IP 协议中数据先由上往下将数据装包,而后由下往上拆包

在装包的时候,每一层都会增长一些信息用于传输,这部分信息就叫报头,当上层的数据到达本层的时候,会将数据加上本层的报头打包在一块儿,继续往下传递.

在拆包的时候,每一层将本层须要的报头读取后,就将剩下的数据往上传.

3.网络接口层

这一块主要主要涉及到一些物理传输,好比以太网,无线局域网.这里就不作详细的介绍了

4.网络层

前面有提到,网络层主要就是作物理地址与逻辑地址之间的转换.

目前市场上应用的最多的是 32 位二进制的 IPv4 ,由于 IPv4 的地址已经不够用了,因此 128 位二进制的 IPv6 应用愈来愈普遍了(可是下面的介绍都是基于 IPv4 进行的)

1) IP:

TCP/IP 协议网络上的每个网络适配器都有一个惟一的 IP 地址.

IP 地址是一个 32 位的地址,这个地址一般分红 4 端,每 8 个二进制为一段,可是为了方便阅读,一般会将每段都转换为十进制来显示,好比你们很是熟悉的 192.168.0.1

IP 地址分为两个部分:

  • 网络 ID

  • 主机 ID

可是具体哪部分属于网络 ID,哪些属于主机 ID 并无规定.

由于有些网络是须要不少主机的,这样的话表明主机 ID 的部分就要更多,可是有些网络须要的主机不多,这样主机 ID 的部分就应该少一些.

绝大部分 IP 地址属于如下几类

  • A 类地址:IP 地址的前 8 位表明网络 ID ,后 24 位表明主机 ID。

  • B 类地址:IP 地址的前 16 位表明网络 ID ,后 16 位表明主机 ID。

  • C 类地址:IP 地址的前 24 位表明网络 ID ,后 8 位表明主机 ID。

这里可以很明显的看出 A 类地址可以提供出的网络 ID 较少,可是每一个网络能够拥有很是多的主机

可是咱们怎么才能看出一个 IP 地址究竟是哪类地址呢?

  • 若是 32 位的 IP 地址以 0 开头,那么它就是一个 A 类地址。

  • 若是 32 位的 IP 地址以 10 开头,那么它就是一个 B 类地址。

  • 若是 32 位的 IP 地址以 110 开头,那么它就是一个 C 类地址。

那么转化为十进制(四段)的话,咱们就能以第一段中的十进制数来区分 IP 地址究竟是哪类地址了。

 

2)地址解析协议 ARP

简单的来讲 ARP 的做用就是把 IP 地址映射为物理地址,而与之相反的 RARP(逆向 ARP)就是将物理地址映射为 IP 地址。

3)子网

前面提到了 IP 地址的分类,可是对于 A 类和 B 类地址来讲,每一个网络下的主机数量太多了,那么网络的传输会变得很低效,而且很不灵活。好比说 IP地址为 100.0.0.0 的 A 类地址,这个网络下的主机数量超过了 1600 万台。

因此子网掩码的出现就是为了解决这样的问题。

咱们先回顾一下以前如何区分主机 IP 和网络 IP 的。

以 A 类地址 99.10.10.10 为例,前 8 位是网络 IP ,后 24 位是主机 IP 。

子网掩码也是一个 32 为的二进制数,也能够用四个十进制数来分段,他的每一位对应着 IP 地址的相应位置,数值为 1 时表明的是非主机位,数值为 0 时表明是主机位。

 

5 传输层

传输层提供了两种到达目标网络的方式

  • 传输控制协议(TCP):提供了完善的错误控制和流量控制,可以确保数据正常传输,是一个面向链接的协议。

  • 用户数据报协议(UDP):只提供了基本的错误检测,是一个无链接的协议。

特色:

1)UDP:

  • 把数据打包

  • 数据大小有限制(64k)

  • 不创建链接

  • 速度快,但可靠性低

2)TCP:

  • 创建链接通道

  • 数据大小无限制

  • 速度慢,可是可靠性高

因为传输层涉及的东西比较多,好比端口,Socket等,都是咱们作移动开发须要了解的,以后的文章中咱们再具体作介绍,这里就不讲解了。

6 应用层

应用层作为 TCP/IP 协议的最高层级,对于咱们移动开发来讲,是接触最多的。

运行在TCP协议上的协议:

  • HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。

  • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。

  • FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。

  • POP3(Post Office Protocol, version 3,邮局协议),收邮件用。

  • SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。

  • TELNET(Teletype over the Network,网络电传),经过一个终端(terminal)登录到网络。

  • SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登录用。

运行在UDP协议上的协议:

  • BOOTP(Boot Protocol,启动协议),应用于无盘设备。

  • NTP(Network Time Protocol,网络时间协议),用于网络同步。

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。

其余:

  • DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工做(运行在TCP和UDP协议上)。

  • ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。

  • SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。

  • ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。

HTTP简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通讯协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP是一个属于应用层的面向对象的协议,因为其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,通过几年的使用与发展,获得不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工做正在进行之中,并且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议工做于客户端-服务端架构为上。浏览器做为HTTP客户端经过URL向HTTP服务端即WEB服务器发送全部请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

http请求-响应模型.jpg

主要特色

一、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法经常使用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不一样。因为HTTP协议简单,使得HTTP服务器的程序规模小,于是通讯速度很快。

二、灵活:HTTP容许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

3.无链接:无链接的含义是限制每次链接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开链接。采用这种方式能够节省传输时间。

4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺乏状态意味着若是后续处理须要前面的信息,则它必须重传,这样可能致使每次链接传送的数据量增大。另外一方面,在服务器不须要先前信息时它的应答就较快。五、支持B/S及C/S模式。

相关文章
相关标签/搜索