author:pasca time:2019/01/05编程
前言:部分来源于网络,仅供学习使用。
复制代码
[TOC]浏览器
大道尚有三千,而为了多种维度描述网络,到如今也有多种网络体系结构。分别是TCP/IP四层网络模型,TCP/IP五层网络模型以及咱们广为人知的ISO七层网络模型。 固然,不管哪一种模型,其目的都是为了创建 一个标准而让更多的人可使用它,就如同咱们的语言:普通话和英语。 而目前TCP/IP协议已经成为Internet中的“通用语言”,学习和使用网络必不可少。 bash
国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即咱们熟知的OSI七层模型。此外,还有TCP/IP 四层模型、TCP/IP 五层模型。服务器
物理层主要是原始数据的传输,其中可能发生的错误由上层的数据链路层来校验。这里记住物理层两个重要的网络设备:中继器和集线器。 二者的功能主要是链接客户端之间信号的放大、 网络
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。app
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、链接的创建、保持和终止等。它提供的服务使传输层不须要了解网络中的数据传输和交换技术。对于网络层的理解,关键词是“路径选择、路由及逻辑寻址”。 学习
传输层的任务是根据通讯子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供创建、维护和取消传输链接的功能,负责端到端的可靠数据传输。 网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。 加密
会话层主要是利用传输层提供的端到端服务,向表示层提供增值服务,同时负责创建、管理以及终止会话进程,实现数据同步。url
表示层对上层数据或信息进行变换以保证一个主机应用层信息能够被另外一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。spa
为操做系统或网络应用程序提供访问网络服务的接口。
链接在Internet中的每一台主机(或 路由器)的全球惟一的标识符
IP地址 = 32位 = 网络号 + 主机号;即IP地址 ={<网络号>,<主机号>}
其中:
网络号:标志主机(或路由器)所链接到的网络。一个网络号在整个因特网范围内必须是惟一的。
主机号:标志该主机(或路由器)。一个主机号在它面前的网络号所指明的网络范围必须是惟一的。
复制代码
不一样类型的IP地址,其主机号 & 网络号所占字节数不一样;故:一个IP地址在整个网络范围内是惟一的
传统的IP地址是分类的地址,分为A,B,C,D,E五类
区别在于网络号 & 主机号占的字节数不一样
复制代码
IPv4地址协议中预留了3个IP地址段,做为私有地址,供组织机构内部(公司内网)使用。这三个地址段分别位于A、B、C三类地址内: A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255 B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255 C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255
特别注意:在各种IP地址中,有一些IP地址用于特殊用途,不能用于作主机IP地址
Transmission Control Protocol,即 传输控制协议。
首部前20个字符固定、后面有4n个字节是根据需而增长的选项,故 TCP首部最小长度 = 20字节
结论 防止服务器端因接收了早已失效的链接请求报文,从而一直等待客户端请求,最终致使造成死锁、浪费资源
具体描述
在通讯结束后,双方均可以释放链接,共需 四次挥手
为了保证通讯双方都能通知对方 需释放 & 断开链接,即释放链接后,都没法接收 / 发送消息给对方
User Datagram Protocol,即 用户数据报协议,无链接的、不可靠的、面向报文、无拥塞控制。
HTTP协议采用 请求 / 响应 的工做方式,以下图。
意义:声明请求方法 、主机域名、资源路径 & 协议版本
请求行的组成 = 请求方法 + 请求路径 + 协议版本
GET /buckets HTTP/1.1
复制代码
Host: rs.qbox.me
Content-Type: application/x-www-form-urlencoded
User - Agent:Mozilla/5.0
复制代码
可选部分,如 GET请求就无请求数据
复制代码
有下面三种使用方式:
示例:
Soclet即套接字,是应用层 与 TCP/IP 协议族通讯的中间软件抽象层,表现为一个封装了 TCP / IP协议族 的编程接口(API)。
Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)
即:经过Socket,咱们才能在Andorid平台上经过 TCP/IP协议进行开发
对用户来讲,只需调用Socket去组织数据,以符合指定的协议,便可通讯
复制代码
Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)}
复制代码
简介
区别&对比
简介
基于Cookie的身份验证 & 验证流程
基于Token的身份验证 & 验证流程
打开一个网页,完成流程以下: