一、OSI七层模型
  OSI参考模型是国际标准化组织ISO(International Standards Organization )制定的模型,把计算机与计算机之间的通信分成七个互相连接的协议层
  从低到高
  1. 物理层:提供通信的物理介质,如网线,网卡  传输的是比特流
  2. 数据链路层:建立收发两端的数据通道,网卡驱动等;具有检错和重发的功能 传输的是帧
  3. 网络层:加入了源ip地址和目的ip地址,使数据路由经过大型网络找到目标主机 传输的叫数据包
  4. 传输层:加入了端口号,促进进程间的通信; 传输的是数据段  
  5. 会话层:管理主机之间的会话进程的建立和终止; 会话层及以上传输的数据统称为报文
  6. 表示层:不同操作系统间信息的语法表示问题,类似于语言翻译;加密、解密
  7. 应用层:用户与网络的接口,各种web应用,收发邮件等
 
 
二、七层模型的具体作用  

  1、物理层
    物理层处于最底层,负责传送比特流 它从第二层数据链路层接收数据帧,并将帧的结构和内容串行发送,即每次发送一个比特
    只与电信号技术和光信号技术的物理特征相关,这些特征包括用于传输信号电流的电压、介质类型以及阻抗特征。该层的传输介质是同轴电缆、光纤、双绞线等
    物理层可能受到的安全威胁是搭线窃听和监听,可以利用数据加密、数据标签加密,数据标签,流量填充等方法保护物理层的安全

  2、数据链路层
    数据链路层处于OSI的第二层,负责:发送和接收数据;端到端连接,确保数据传送完整安全到达,需要具备:
      目标节点收到帧时,源节点必须收到一个响应
      目标节点发响应帧前,必须先验证内容完整性

  3、网络层
    网络层(Network Layer)的主要功能
      完成网络中主机间的报文传输
      源端到目的端的路由(在广域网中)
      使异构网络互连(存在寻址、协议不同的网络中)
    该层缺乏任何检测/纠正本地传输差错的机制,从而依赖于数据链路层或传输层端到端的可靠传输服务

  4、传输层
    传输层的主要功能:实现网络中不同主机上的用户进程之间可靠的数据通信。提供逻辑上的端到端的可靠连接

  5、会话层
    会话层允许不同机器上的用户之间建立会话关系。
      类似传输层的普通数据的传送
      在某些场合还提供了一些有用的增强型服务
      允许用户利用一次会话在远端的分时系统上登录
    会话层提供的服务之一是管理对话控制。
      会话层允许信息同时双向传输
      或限制只能单向传输(通过 提供令牌管理服务)

  6、表示层
    表示层关心的是所传送的信息的语法和语义。
      一个典型例子是用一种一致选定的标准方法对数据进行编码
    表示层还涉及数据压缩、解压、加密和解密

  7、应用层
    应用层包含大量人们普遍需要的协议
    对于需要通信的不同应用来说,应用层的协议都是必须的
    应用层协议用户可以自主开发

  网络协议结构图:
  
  数据传输图:
  
三、TCP/IP四层模型
       对应  OSI七层模型
  从低到高
  1.网络访问层(网络接口层)  ===   物理层+数据链路层
  2.Internet层(网络层)  ===     网络层
  3.传输层      ===      传输层
  4.应用层      ===      会话层+表示层+应用层
四、网络协议
 
  应用层协议的使用
  
 
  1.TCP协议:transimission control protocol 传输控制协议
    TCP协议是传输层的协议
    TCP协议的头信息:源端口号和目标端口号  顺序号和确认号
    TCP协议提供了一种端到端、基于连接的、可靠的通信服务
    端到端:源端口号和目标端口号
    基于连接的: 连接:TCP的三次握手  断开:四次挥手
    可靠的:顺序号和确认号(类似于邮件的回执功能)
    TCP协议适用于对数据准确性要求高,但是速度可以相对较慢的应用。 比如文件传输、收发邮件、web访问
  2.UDP协议:user data protocol用户数据报协议
    UDP协议是传输层的协议
    UDP协议是在主机之间建立快速、轻便、不可靠的数据传输(面向非连接的)
    UDP协议适用于有实时要求但是对质量要求没那么高的程序。如在线视频、网络语音、QQ聊天
  3.IP协议: internet protocol 网际互联协议
    IP协议是网络层的协议
    IP协议的基本功能:寻址和分包
      寻址:通过源IP地址和目的IP地址找到互联网中的目标通信主机
      分包:拆分超过一定大小的数据包进行传输
          IP层数据包的最大大小为65535 字节Byte   1byte(字节)=8bit(比特)
    IP协议的特点:不可靠、无连接
      不可靠:指不保证数据包成功到达目的地
      无连接:每个数据包都是相互独立的,可以不按照发送顺序接收。
    IP协议版本
      IPV4:点分十进制表示法(现在基本在用IPV4)
      IPV6:冒分十六进制表示法
  4.HTTP协议: hyper text transmission protocol超文本传输协议
    是应用层的协议
    主要用来指导浏览器与web服务器间的数据传输
    HTTP协议是基于TCP/IP协议来传输数据
    HTTP协议版本的区别:
      HTTP1.0:每传一个http请求资源,都要进行三次握手和四次挥手,效率低。
      HTTP1.1:一次TCP三次握手连接后,可以传多个http请求
    HTTP协议请求数据的方法:
      GET请求:直接去服务器获取资源
      Post请求:浏览器会向服务器先发送数据(比如:登录、注册),服务器根据浏览器提交的数据进行个性化的返回。
    HTTP协议特点:
      1. 请求应答式的:对每一个http请求,服务器端都要给予应答,以http状态码方式表达
      2. 无连接无状态:用完就释放,对之前的操作或通信无记忆。
    HTTP状态码:
      1XX:表示保留的信息
      2XX:表示成功
      3XX:表示重定向
      4XX:代表客户端错误
      5XX:代表服务器端错误
      常用的http状态码:
        200:由服务器返回资源并且成功。
        304:代表向服务器发送请求,但是由浏览器的缓存文件读取请求的资源文件
        404:请求的网页在服务器上不存在
        500:代表的是服务器不可知的错误。有可能是在较大负载下服务器无响应抛500错误;服务器直接宕机了
 
  
  5.SMTP
    属于TCP/IP协议集中的应用层协议,端口号为25

    SMTP规定邮件信息的格式:
      邮件头部+邮件主体
    目前Email服务用的两个主要的协议是:简单邮件传输协议SMTP(Simple Mail Transfer Protocol)和邮局协议POP3(Post Office Protocol)
    SMTP默认占用25端口,用来发送邮件,POP3占用110端口,用来接收邮件
    在Windows平台下,主要利用Microsoft Exchange Server作为电子邮件服务器

  6.SNMP  简单网络管理协议

    简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema),和一组资料物件。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。该协议是互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。
    SNMP的基本功能是:取得,设置和接收代理发送的意外信息。取得指的是基站发送请求,代理根据这个请求回送相应的数据,设置是基站设置管理对象(也就是代理)的值,接收代理发送的意外信息是指代理可以在基站未请求的状态下向基站报告发生的意外情况。
    SNMP为应用层协议,是TCP/IP协议族的一部分。它通过用户数据报协议(UDP)来操作。在分立的管理站中,管理者进程对位于管理站中心的MIB的访问进行控制,并提供网络管理员接口。管理者进程通过SNMP完成网络管理。SNMP在UDP、IP及有关的特殊网络协议(如,Ethernet, FDDI, X.25)之上实现。
    SNMP协议的发展:v1 v2 v3

 

  7.ARP 地址解析协议
  作用
    当一台主机把以太数据帧发送到位于同一局域网上的另一台主机时,是根据48位的以太地址来确定目的接口的。设备驱动程序不检查IP数据包中的目的IP地址。
    ARP协议为IP地址到对应的硬件地址之间提供动态的映射。
  协议的工作过程
    ARP发送一个称作ARP请求的以太数据帧给以太网上的每个主机,ARP请求数据帧中包含目的主机的IP地址。
    目的主机的链路层收到这份广播报文后,识别出这是发送端在询问它的硬件地址,于是发送一个ARP应答,应答中包含了IP地址对应的硬件地址。而其他主机对这个广播请求不做任何反应。
    发送端收到应答后,就可以根据硬件地址传送IP层数据包了。发送端同时将IP地址与硬件地址的映射放到缓存中暂存。在之后的查询中,如果缓存中有表项,则直接使用缓存中的值,而不需再次发送ARP广播。缓存中的表项一般都要设置超时机制,超时后,将从表中删除。

 
五、DNS介绍
  DNS是域名系统(Domain Name System)的缩写,是一种组织域层次结构的计算机和网络服务命名系统。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP地址信息。
  发收数据时,计算机之间通信使用的是IP地址。所以必须将域名映射成IP地址 —— 该过程叫做域名解析;

  解析方式有两种:
  递归查询:名字服务器不向申请者返回下一个可用名字服务器的地址,而是直接请求下一个服务器得到答案,整个解析过程由系统一次完成
  迭代查询:如果当前名字服务器没有要查询的IP地址,向申请者返回下一个可用的名字服务器的地址,由查询者继续请求下一个名字服务器

 

web网络协议的更多相关文章

  1. Java Web学习(九)网络协议详解

    一.基本概念 概念:协议是网络中计算机或设备之间进行通信的一系列规则的集合. 协议栈/族:在网络中为了完成通信而使用到的多层上的各种协议按照层次顺序的组合. 作用:建立对等层之间的虚拟通信.实现层次之 ...

  2. 基础笔记(三):网络协议之Tcp、Http

    目录 一.网络协议 二.TCP(Transmission Control Protocol,传输控制协议) TCP头格式 TCP协议中的三次握手和四次挥手 TCP报文抓取工具 三.HTTP(Hyper ...

  3. WEB相关协议

    1.数据链路层 2.网络层 3.传输层 4.应用层 ,其中ip是在第二层网络层中,tcp是在第3层传输层中,Internet体系结构最重要的是tcp/ip协议,是实现互联网络连接性和互操作性的关键,它 ...

  4. Wireshark网络抓包(三)——网络协议

    一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址. IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信: 在通 ...

  5. python模块:网络协议和支持

    python模块:网络协议和支持 webbrowser 调用浏览器显示html文件 webbrowser.open('map.html') [webbrowser - Convenient Web-b ...

  6. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  7. 网络协议 20 - RPC 协议(上)- 基于XML的SOAP协议

    [前五篇]系列文章传送门: 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HTTPDNS:私人定制的 DNS 服务 网络协议 ...

  8. 网络协议 18 - CDN:家门口的小卖铺

    [前五篇]系列文章传送门: 网络协议 13 - HTTPS 协议:加密路上无尽头 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - D ...

  9. Wireshark使用介绍(二):应用Wireshark观察基本网络协议

    TCP: TCP/IP通过三次握手建立一个连接.这一过程中的三种报文是:SYN,SYN/ACK,ACK. 第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始. 如果你找不 ...

随机推荐

  1. Linux进程管理 - PRI,nice,free,uname,netstat

    优先运行序 (priority, PRI) 这个 PRI 值越低代表越优先的意思.不过这个 PRI 值是由核心动态调整的, 使用者无法直接调整 PRI 值的. 由於 PRI 是核心动态调整的,我们使用 ...

  2. ubuntu15.04下sublime text不能输入中文的解决

    原因是由于中文输入法的输入焦点不能插入sublime的输入窗口中,需要使用代码强制插入输入焦点. 代码是cjacker 君提供的,可以看原始的讨论帖子: http://www.sublimetext. ...

  3. HFile

    HFile存储格式 HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括两种文件类型: 1. HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop ...

  4. STM32之使用库函数驱动LED灯

    一.熟悉GPIO结构体 以下这个结构体是我从官方手册中获取的: typedef struct { u16 GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMod ...

  5. win32多线程学习笔记

    <多核程序设计技术> 第五章--线程api,一个使用windows事件的线程应用程序,vs2008下编译调试通过. // 线程通信机制.cpp : 定义控制台应用程序的入口点. // #i ...

  6. rails中migration数据库后测试不通过的问题

    rails项目中由于后期需求变化,需要在products数据库中增加一个字段来满足多国家商品的分类: rails g migration add_locale_to_products locale:s ...

  7. ethtool确定网卡对应的物理网口

    在配置有多个网络接口的设备时我们会犯难,eth0.eth1.--到底是那个接口? 我使用的机器是CentOS系统,打开终端,输入ethtool –help 显示帮助信息,下面我就简要介绍一下最常用的两 ...

  8. (WPS) 网络地理信息处理服务

    WPS 标准为网络地理信息处理服务提供了标准化的输入和输出. OGC® Web Processing Service (WPS) 标准描述了如何通过远程的任何算法和模型处理获得地理空间的栅格或矢量信息 ...

  9. CSS3实现多样的边框效果

    半透明边框 实现效果: 实现代码: <div> 你能看到半透明的边框吗? </div> div { /* 关键代码 */ border: 10px solid rgba(255 ...

  10. java安全——BASE64

    这个主题主要是关于java安全的,应该来说算是个大杂烩吧,但是又不缺乏实用性,算是作为一个总结,用的时候可以作为参考. 1.使用BASE64加解密 在java加密技术中,BASE64算是一种最简单.最 ...