一、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. 自动生成材质Material(Unity3D开发之十九)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/46854411 ...

  2. 【Qt编程】基于Qt的词典开发系列<五>--无边框窗口的拖动

    在上一篇文章中,我们讲述了如何进行无边框窗口的缩放与拖动,而在一些情况下,我们的窗口只需要进行拖动也不需要改变其大小,比如:QQ的登录窗口.本来在上一篇文章中已经讲述了如何进行窗口的拖动,但是却与窗口 ...

  3. How tomcat works 读书笔记十二 StandardContext 上

    在tomcat4中,StandardContext.java是最大的一个类,有117k.废话不说,开始分析吧. 其实要分析StandardContext,也就主要分析两个方法,一个start,一个in ...

  4. 获取list,有内容就赋值,根据ID显现NAME,没有显现list

    function onTOWN() { var town=mini.get("TOWN_ID"); var town_id =town.getValue(); $.ajax({ u ...

  5. wave音频格式一窥

    学习需要不断的刨根问底,首先,RIFF是微软多媒体格式的一个规范. 其次,有很多用C++实现wave解析的好文章.

  6. IDEA 下新建 Hibernate 项目

    Hibernate 概述 什么是 Hibernate 一个 Java 领域的持久化框架 一个 Java 领域的ORM 框架 什么是持久化 持久化是指把对象永久保存到数据库中 持久化包括和数据库相关的各 ...

  7. Java面试与回答技巧(1.如何正确的面试)

    在IT行业中,大部分公司很难用有效的方式招到合适的人.直接暴露出来的问题是:・花重金招了一个人,但实际的战斗力还比不上应届毕业生.・招聘了一个知名企业的高管,引入了一些高大上的技术,结果本来稳定的生产 ...

  8. Google搜索排名优化-面向搜索引擎的网站设计

    内容摘要:网站在搜索营销方面最主要的缺点: 行业知识:不知道搜索引擎对吸引的新用户的重要性,在搜索引擎排名服务中追求“傻瓜相关”,购买一些其实没有太多实际意义的行业关键词.其实能够用户输入的关键词越多 ...

  9. linux下安装apc

    wget htdtp://pecl.php.net/get/APC tar zxvf APC-3.1.3p.tgz cd APC-3.1.3p /usr/local/php/bin/phpize ./ ...

  10. EF Code First 数据迁移配置

    这里我想讲清楚code first 数据迁移的两种模式,还有开发环境和生产环境数据迁移的最佳实践. 1.1 数据迁移综述 EF Code first 虽然已经有了几种不同的数据库初始化策略,但是大部分 ...