概述
OSI分层(7层)
物理层、数据链路层、网络层、运输层、会话层、表示层、应用层
TCP/IP分层(4层)
网络接口层、网络层、运输层、应用层
五层协议(5层)
物理层、数据链路层、网络层、运输层、应用层
五层结构的概述
应用层:
通过应用进程间的交互来完成特定网络应用
数据:报文
协议:HTTP, SMTP(邮件), FTP(文件传送)
运输层:
向两个主机进程之间的通信提供通用的数据传输服务。
数据:TCP:报文段,UDP:用户数据报
协议:TCP, UDP
网络层:
为分组交换网上的不同主机提供通信服务
数据:包或IP数据报
协议:IP
数据链路层:
数据:帧
物理层:
数据:比特
ARP地址解析协议:用来获取目标IP地址所对应的MAC地址的
各层协议
应用层
域名系统DNS
例:某用户通过主机A浏览西安交大的主页 www.xjtu.edu.cn
- A向本地域名服务器DNS查询
- 如果DNS上有www.xjtu.edu.cn的记录,就立即返回IP地址给主机A
- 如果DNS上没有该域名记录,则DNS向根域名服务器发出查询请求
- 根域名服务器把负责cn域的顶级域名服务器B的IP地址告诉DNS
- DNS向B查询获得二级域名服务器C的IP地址,最终迭代查询到www.xjtu.edu.cn的ip直接返回DNS
HTTP
常用的 HTTP 请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT;
GET:当客户端要从服务器中读取某个资源时,使用GET 方法。GET 方法要求服务器将URL 定位的资源放在响应报文的部分,回送给客户端,即向服务器请求某个资源。使用GET 方法时,请求参数和对应的值附加在 URL 后面,利用一个问号(“?”)代表URL 的结尾与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。
POST:当客户端给服务器提供信息较多时可以使用POST 方法,POST 方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。GET 一般用于获取/查询资源信息,POST 会附带用户数据,一般用于更新资源信息。POST 方法将请求参数封装在HTTP 请求数据中,以名称/值的形式出现,可以传输大量数据;
请求头部:请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:
- User-Agent:产生请求的浏览器类型;
- Accept:客户端可识别的响应内容类型列表;星号 “ * ” 用于按范围将类型分组,用 “ / ” 指示可接受全部类型,用“ type/* ”指示可接受 type 类型的所有子类型;
- Accept-Language:客户端可接受的自然语言;
- Accept-Encoding:客户端可接受的编码压缩格式;
- Accept-Charset:可接受的应答的字符集;
- Host:请求的主机名,允许多个域名同处一个IP 地址,即虚拟主机;
- connection:连接方式(close 或 keepalive);
- Cookie:存储于客户端扩展字段,向同一域名的服务端发送属于该域的cookie;
响应报文
状态码由三位数字组成,第一位数字表示响应的类型,常用的状态码有五大类如下所示:
1xx:表示服务器已接收了客户端请求,客户端可继续发送请求;
2xx:表示服务器已成功接收到请求并进行处理;
3xx:表示服务器要求客户端重定向;
4xx:表示客户端的请求有非法内容;
5xx:表示服务器未能正常处理客户端的请求而出现意外错误;
200 OK:表示客户端请求成功;
-
400 Bad Request:表示客户端请求有语法错误,不能被服务器所理解;
-
401 Unauthonzed:表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用;
-
403 Forbidden:表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因;
-
404 Not Found:请求的资源不存在,例如,输入了错误的URL;
-
500 Internal Server
-
Error:表示服务器发生不可预期的错误,导致无法完成客户端的请求;
-
503 Service Unavailable:表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常;
网络层
协议
地址解析协议 ARP
网际控制报文协议 ICMP
网际组管理协议 IGMP
IP
IP地址分类:
-
A类:1.0.0.0~126.255.255.255,默认子网掩码/8,即255.0.0.0 (其中127.0.0.0~127.255.255.255为环回地址,用于本地环回测试等用途);
-
B类:128.0.0.0~191.255.255.255,默认子网掩码/16,即255.255.0.0;
-
C类:192.0.0.0~223.255.255.255,默认子网掩码/24,即255.255.255.0;
-
D类:224.0.0.0~239.255.255.255,一般于用组播
-
E类:240.0.0.0~255.255.255.255(其中255.255.255.255为全网广播地址),E类地址一般用于研究用途