详解网络的五层协议
1.应用层
任务 :为操作系统或网络应用程序提供访问网络服务的接口 ,通过应用进程间的交互完成特定网络应用。应用层定义的是应用进程间通信和交互的规则
常用协议:HTTP、SMTP、FTP、ping、telnet、DNS、DHCP等
主要特点:
● 支持客户/服务器模式
● 简单快速:客户向服务器请求服务时,只需传送请求方法和路径;请求方法常用GET、HEAD、POST等,每种方法规定了客户与服务器联系的不同类型;HTTP协议简单,服务器程序规模小,通信速度较快
● 灵活:HTTP允许传输任意类型的数据对象;正在传输的数据类型由Content-Type加以标记
● 无连接:无连接是指每次连接只处理一个请求;服务器处理完客户请求,并收到客户应答后,即断开连接,节省传输时间
● 无状态:无状态是指协议对于事务处理没有记忆能力;应答较快,但传输数据量较大
HTTP URL:定位网络资源
● http://host[:port][abs_path]
HTTP请求
● 三部分组成:请求行、消息报头、请求正文
● 格式:Method Request-URI HTTP-Version CRLF
● Method:请求方法,GET、POST等
● Request-URI:请求的HTTP协议版本
● CRLF:回车换行
HTTP响应
● 由三部分组成:状态行、消息报头、响应正文
● 状态行格式:HTTP-Version Status-Code Reason-Phrase CRLF
● HTTP-Version:服务器HTTP协议版本
● Status-Code:服务器返回的响应状态码
HTTP状态码
● 由三位数字组成,首数字定义响应类别
● 1xx:指示信息,表示请求已接收,继续处理;
● 2xx:成功
● 3xx:重定向,要完成请求必须进行更进一步的操作;
● 4xx:客户端错误,请求有语法错误或请求无法实现
● 5xx:服务器端错误:服务器未能实现合法的请求
常见状态代码
● 200:OK,请求成功;
● 400:Bad Request,请求有语法错误,不能被服务器所理解;
● 401:Unauthorized,请求未经授权;
● 403:Forbidden,服务器收到请求,但是拒绝提供服务;
● 404:Not Found,请求资源不存在;
● 500:Internet Server Error,服务器发生不可预期的错误;
● 503:Server Unavailable,服务器不能处理客户请求
2.运输层
任务:负责向两个主机中进程之间的通信提供通用数据服务(为两台主机的应用程序提供端到端通信)
主要使用以下两种协议:
传输控制协议TCP :提供面向连接的 、可靠的、基于流的数据传输服务,数据传输的单位是报文段。使用超时重发、数据确认等方式确保数据被正确发送至目的地
用户数据报协议UDP:提供无连接的、不可靠的、基于数据报的数据传输服务;数据传输的单位是用户数据报
3.网络层
任务: 负责对数据包进行路由选择和存储转发
● 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段和用户数据报封装成分组(IP数据报)或包进行传送。
● IP协议:逐跳发送模式;根据数据包的目的地IP地址决定数据如何发送;如果数据包不能直接发送至目的地,IP协议负责寻找一个合适的下一跳路由器,并将数据包交付给该路由器转发
4.数据链路层
任务: 负责分配MAC地址
● 两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻的链路上传送帧(frame)。每一帧包括数据和必要的控制信息。
● 网卡接口的网络驱动程序,处理数据在物理媒介上的传输;不同的物理网络具有电气特性,网络驱动程序隐藏实现细节,为上层协议提供一致接口
● 常用协议:地址解析协议(ARP)和反地址解析协议(RARP),实现IP地址与机器物理地址(MAC地址)之间的转换
5.物理层
物理层所传数据单位是比特(bit)。物理层要考虑用多大的电压代表1 或 0 ,以及接受方如何识别发送方所发送的比特。
6.各层对应的工作设备
● 物理层:中继器、集线器
● 数据链路层:网桥或交换机
● 网络层中继系统:路由器
● 网络层以上的中继系统:网关
以上就是详解网络的五层协议的详细内容,更多请关注其它相关文章!