精华内容
下载资源
问答
  • 计算机网络层协议

    千次阅读 2019-06-14 16:48:41
    OSI(open system interconnect开放系统互联)七模型:物理,数据链路网络层,传输,会话,表示,应用。 对等之间不能相互直接通信,各之间是严格单向依赖,上层使用下层提供的服务,下层向上...

     

    文章转载: https://blog.csdn.net/N1neDing/article/details/79938570

    OSI(open system interconnect开放系统互联)七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

    对等层之间不能相互直接通信,各层之间是严格单向依赖,上层使用下层提供的服务,下层向上层提供服务。

    1.物理层(比特bit)
    通过媒介传输比特,确定机械及电气规范。
    规定如何为网络通信实现最底层的物理连接。

    如:如何使用电缆和接头的类型、用来传送信号的电压等。
    物理层实际上是一种规定,规定物理媒介设备在连接网络时的各种规格、参数以及工作方式。
    物理媒介(网线,电缆)不属于物理层,双绞线,线缆等物理媒介等是物理层的实现。
    2.数据链路层(帧frame)
    将比特组装成帧和点到点的连接。
    规定了如何进行物理地址寻址,如何在物理线路上进行数据(帧frame)的可靠传递以及流量控制。
    协议有SLIP协议,CSLIP协议,PPP协议等。
    交换机工作在数据链路层,对帧解码并根据帧中包含的信息把数据发送到正确的接收方。
    3.网络层(包packet)
    负责数据包从源到宿的传递和网际互连。
    4.传输层(段segment)

    提供端到端的可靠报文段和错误恢复。

    TCP UDP协议

    5.会话层(会话协议数据单元SPDU)

    在网络中的两个节点之间建立、维持和终止通信。

    6.表示层(表示协议数据单元PPDU)

    对数据进行翻译、加密、解密和压缩

    在应用程序和网络之间对数据进行格式化,使之能够被另一方理解,即发送方的表示层将应用程序数据的抽象语法转换成网络适用于OSI网络传输的传送语法,接收方则相反。

    7.应用层(应用协议数据单元APDU)

    允许访问OSI环境的手段

    最顶层的OSI层,为应用程序提供网络服务。如为电子邮件、文件传输功能提供协议支持。

      应用层协议有HTTP协议、FTP协议、SMTP协议等。

     

    OSI模型为最经典的网络模型,但其较复杂,

    常用的为TCP/IP网络模型( Transmission Control Protocol/Internet Protocol)传输控制协议/因特网互联协议,共有四层结构:

     

    1.网络接口

     

    针对不同的物理网络的连接形式的协议:erther net

      主要作用一:数据封装/解封装成帧(frame)。为了保证可靠传输,网络层传过来的数据在这里被加工成了可被物理层传输的结构包——帧。帧中除了包括需要传输的数据外,还包括发送方和接收方的物理地址以及检错和控制信息。其中的物理地址确定了帧将发送到何处,检错和控制信息则是用来保证数据的无差错到达。数据帧结构如下(Address均为mac地址):

    主要作用二:控制帧传输

    主要作用三:流量控制。

    2.网络层

    负责数据传输、路径及地址选择,常用协议:IP ARP(地址解析协议)

    说到网络层不得不提的就是IP协议,它是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP、IGMP协议数据都以IP数据报格式传输。IP协议提供的是不可靠的、无连接的数据报传输服务。不可靠是指IP协议不会保证数据报能否成功到达目的地,仅提供传输服务,传输出错,则会丢弃出错的数据报。无连接是指IP协议对数据报的处理是独立的,这也意味着接收方不一定会按照发送顺序接收数据报。

    ip地址分类:

     

    3.传输层

     

    确认数据传输进行纠错处理,常用协议:TCP UDP

    端口的作用则正是体现在传输层的。用来区分网络消息由主机上的那一个进程处理。端口号有 0~65535 的编号,其中0~1023为系统端口号。

    4.应用层

    各种服务及程序通过该层利用网络,常用协议:HTTP,FTP,SMTP

    为了标识通信实体中进行通信的进程,TCP/IP协议提出了协议端口(protocol Port)的概念。端口是一种抽象的网络结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口号建立连接后(binding),传输层传给该端口的数据都被相应的程序接收,相应程序发送给传输层的据都通过该端口输出。

    结合 OSI  和 TCP/IP  产生了一个五层结构,分别为:物理层、数据链路层、网络层、传输层和应用层。

     Internet  就是采用的 TCP/IP  协议

    集线器工作在 OSI  模型的物理层,网卡工作在 OSI  模型的物理层交换机工作在数据链路层路由器工作在网络层。

    主要参考自以下:点击打开链接

    点击打开链接

    点击打开链接

    展开全文
  • 计算机网络应用层协议分析总结

    千次阅读 2016-09-21 17:35:11
    1、应用层协议原理1.1、网络应用程序体系结构C/S结构,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户机的主机请求。客户机主机既可能有时打开,也可能总是打开。C/S结构之下,客户机之间不直接通信...

    1、应用层协议原理

    1.1、网络应用程序体系结构

    C/S结构,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户机的主机请求。客户机主机既可能有时打开,也可能总是打开。C/S结构之下,客户机之间不直接通信。服务器有固定的IP地址。在C/S体系结构中,常用主机集群创建强大的虚拟服务器。基于C/S结构的应用服务通常是基础设施密集的(infrastrucuture intensive)。

    P2P结构,任意间断连接的主机对(称为对等方)直接相互通信,不必通过专门的服务器。P2P结构的最突出特性之一是它的自扩展性(self-scalability)。

    1.2、进程通信

    同一个端系统上的进程通过操作系统上的进程间通信机制相互通信。不同端系统上的进程通过跨越计算机网络交换报文(message)而相互通信。

    客户机和服务器进程

    对于每对通信进程,通常将这两个进程之一标示为客户机(client),另一个标示为服务器(server)。标示的规则是,在给定的一对进程之间的通信回话中,发起通信的进程称为客户机,在会话开始时等待联系的进程是服务器。(P2P结构下一个进程既可以使服务器也可以是客户机)。

    进程与计算机网络之间的接口

    进程通过一个称为套接字(socket)的软件接口在网络上发送和接收报文。套接字是同一台主机内应用层与运输层之间的接口,是网络上建立网络应用程序的可编程接口,称为应用程序和网络之间的应用程序编程接口(API)。

    1.3、可供应用程序使用的运输服务

    可靠数据传输

    如果一个协议能够确保由应用程序的一端发送的数据正确地、完全地交付给该应用程序的另一端,那么该协议提供了可靠数据传输服务(reliable data transfer)。

    吞吐量

    两个进程在一条网络路径上进行通信会话时,可用吞吐量就是发送进程能够向接收进程交付比特的速率。因为其它会话将共享沿着该网络路径上的带宽,并且这些其它会话将会到达和离开,所以可用吞吐量将随时间波动。因此有了另一种服务,即运输层协议能够以某种特定的速率提供确保的可用吞吐量。

    定时

    运输层协议也能提供定时保证,如同吞吐量保证一样,定时保证可以以多种形式实现。例如,可以设置发送方注入进套接字的每个比特到达接收方的套接字不迟于100ms。这种服务对交互式实时应用程序非常适用。

    安全性

    在发送主机中,运输层协议能够加密由发送进程传输的所有数据;在接收主机中,运输层协议能够在数据交付给接收进程之前解密这些数据。

    1.4、因特网提供的传输服务

    因特网上的应用使用了两个运输层协议:UDP和TCP。

    TCP服务

    面向连接服务: 使用TCP协议时,在应用层数据报文开始流动之前,其客户机程序和服务器程序之间相互交换运输层控制信息(握手过程)。握手阶段后,两个进程的套接字之间建立一个TCP连接,连接双方可以在此连接上同时进行报文收发。报文收发结束之后,该连接将被拆除。

    可靠数据传输服务:进行通信的进程依靠TCP协议,无差错、按适当顺序交付发送的数据。

    拥塞控制机制:发送方和接收方之间的网络出现拥塞时,TCP协议的拥塞机制会抑制发送进程。TCP协议的拥塞控制试图限制每个TCP连接,使它们达到公平共享网络带宽的目的。

    UDP服务

    UDP是一种不提供不必要服务的轻量级运输层协议。它是无连接的,两个进程通信前没有握手过程。UDP协议提供的是不可靠数据传输服务,也就是说,当进程通过UDP套接字发送报文时,UDP协议不保证该报文能够被接收进程收到。此外,接收进程收到报文的顺序也可能是乱序的。UDP协议没有拥塞控制机制。

    TCP和UDP的安全问题

    TCP和UDP都没有提供任何加密机制,发送进程传送至套接字的数据与经过网络传送到目的进程的数据相同。如果某个进程以明文方式将一个口令传送至它的套接字,该明文口令将经过发送方和接收方之间的所有链路传送,这就可能在任何中间链路被嗅探和发现。

    由于存在种种隐私和其他安全问题,人们研制了TCP的加强版本,称为安全套接字层(Secure Socket Layer, SSL)。SSL不是独立于TCP和UDP的第三种协议,而只是对TCP的增强。这种增强是在应用层上实现的。如果一个应用程序要使用SSL的服务,它需要在其客户机和服务器中都包括SSL的代码。

    进程寻址

    为了识别接收进程,需要定义两种信息:主机名称或地址;目的主机上接收进程的标识。在因特网中,主机是用IP地址进行标识的。目的地端口号则用于标识接收进程。

    2、web应用和HTTP协议

    2.1、HTTP概况

    web的应用层协议是产文本传输协议(HyperText Transfer Protocol, HTTP)。HTTP协议由两部分程序实现:一个客户机程序和一个服务器程序,它们运行在不同的端系统中,通过交换HTTP报文进行会话。HTTP定义了这些报文的格式以及客户机和服务器是如何进行报文交换的。

    HTTP使用TCP作为它的支撑运输层协议。客户机发起一个与服务器的TCP连接,一旦连接建立,浏览器和服务器进程就可以通过套接字接口访问TCP。HTTP是一个无状态协议(stateless protocol),一个HTTP服务器并不保存关于客户机的任何信息。

    2.2、非持久连接和持久连接

    在许多因特网应用中,客户机和服务器进行长时间通信,其中客户机发出一系列请求,服务器对每个请求进行响应。根据不同的应用程序以及应用程序的使用方式,这一系列请求可以周期性地一个接一个发出,也可以间断地发出。当客户机/服务器的交互运行于TCP协议之上时,应用程序的研制者需要确定每个请求/响应对是经一个单独的TCP连接发送,还是所有的请求及响应经相同的TCP连接发送。如果采取前一种方法,该应用程序使用非持久连接(non-persistent connection);如果采用后一种方法,该应用程序使用持久连接(persistent connection)。HTTP既可以使用非持久连接,也可以使用持久连接,默认方式下HTTP使用持久连接。

    非持久连接

    在非持久连接的情况下,访问一个网页(假设该网页中还有引用了其他静态资源,如css,js,img等等)会经过下面几个步骤:

    • 【1】 HTTP客户机进程发起一个到服务器的TCP连接。客户机和服务器上分别有一个socket与该连接相关联。
    • 【2】 HTTP客户机经它的套接字向服务器发送一个HTTP请求报文。
    • 【3】 HTTP服务器进程经它的套接字接受该请求报文,从其存储器中检索出请求对象,在一个HTTP相应报文中封装对象,并通过其套接字向客户机发送响应报文。
    • 【4】 HTTP服务器进程通知TCP断开该TCP连接(直到TCP确认客户机已经完整地接受到响应报文为止,它才会真正中断连接)。
    • 【5】 HTTP客户机接受响应报文,TCP连接关闭。
    • 【6】 对其他资源都重复前面几个步骤

    上面整个过程中,每次访问一个对象(资源)都会重新建立一次TCP连接。浏览器和服务器之间发起一次TCP连接,涉及到一个”三次握手”的过程,即客户机向服务器发送一个小TCP报文段,服务器拥抱一个小TCP报文段做出确认和响应,最后,客户机向服务器返回确认。一个RTT(Round-Trip Time,即一个分组从客户机到服务器再回到客户机所花费的时间)等于三次握手中前两个部分所耗费的时间。完成三次握手的前两个部分之后,客户机将三次握手的第三个部分(确认)与一个HTTP请求报文结合起来发送到该TCP连接。一旦该请求报文到达服务器,服务器向该TCP连接发送响应报文。该请求/响应又消耗一个RTT。因此,粗略地讲,总的响应时间就是两个RTT加上服务器传输响应报文的时间。

    发起连接过程

    非持久连接必须为每一个请求的对象建立和维护一个全新的连接。对于每个这样的连接,在客户机和服务器都要分配TCP的缓冲区和变量,这给服务器带来了严重的负担。其次,每个对象的传输时延为两个RTT。

    持久连接

    在持久连接的情况下,服务器在发送响应后保持该TCP连接打开。在相同的客户机与服务器之间的后续请求和响应报文可通过相同的连接进行传送。一般来说,如果一个连接经过一定时间间隔仍未被使用,HTTP服务器就关闭该连接。HTTP的默认模式使用了流水线方式的持久连接。

    2.3、HTTP报文格式

    请求报文

    GET /somedir/page.html HTTP/1.1
    Host: www.someschool.edu
    Connection: close
    User-agent: Mozilla/4.0
    Accept-language: fr

    上面是一个请求报文的示例。HTTP请求报文第一行叫做请求行(request line),其后继的行叫做首部行(header line)。请求行有3个字段:方法、URL、HTTP协议版本。首部行包含了请求的一些基本信息。在通用的HTTP请求报文格式中,首部行后面可能还有实体主体(entity body)。使用GET方法时,实体主体为空;而使用POST方法时,提交的数据信息会放在这个实体主体中。

    响应报文

    HTTP/1.1 200 OK
    Connection: close
    Date: Thu, 03 Jul 2003 12:00:15 GMT
    Server: Apache/1.3.0 (Unix)
    Last-Modified: Sun, 6 May 2007 09:23:24 GMT
    Content-Length: 6821
    Content-Type: text/html
    
    (data data data ...)

    上面是一个HTTP响应报文的示例。响应报文分成3部分:状态行(status line)、首部行(header line)、实体主体(entity body)。状态行有3个字段:协议版本、状态码、响应状态信息。首部行则包含了一些基本信息。实体主体部分是报文的主体,包含所请求的对象本身。下面是一些常见的状态码和状态信息:

    200 OK: 请求成功,信息包含在返回的响应报文中
    301 Moved Permanently: 请求对象已经被永久转移了
    400 Bad Request: 请求不能被服务器理解
    404 Not Found: 请求的文档不在服务器上
    505 HTTP Version Not Supported: 服务器不支持请求报文使用的HTTP协议版本

    2.4、cookie

    HTTP协议是无状态的,为了能够识别用户,HTTP使用cookie这项技术。cookie技术有4个组成部分:

    • 【1】在HTTP响应报文中有一个cookie首部行
    • 【2】在HTTP请求报文中有一个cookie首部行
    • 【3】在用户端系统中保留有一个cookie文件,由用户浏览器管理
    • 【4】web站点有一个后台数据库

    cookie的工作过程

    1. 客户端访问一个网站
    2. 请求报文到达服务器
    3. 服务器产生一个唯一识别码
    4. 以此识别码作为索引在数据库中产生一个表项
    5. 服务器用一个包含Set-cookie首部行的HTTP响应报文对客户端进行响应,Set-cookie首部行含有识别码
    6. 客户端接收到响应报文,看到Set-cookie首部
    7. 浏览器在它管理的特定cookie文件中添加报文中的识别码
    8. 客户端继续向服务器请求页面,这时浏览器会从cookie文件中提取识别码并放置到请求报文的cookie首部行中
    9. 服务器根据请求报文中的cookie信息识别用户
    10. 客户端后续每次向服务器发送请求都将重复8、9两步直到cookie被删除

    cookie工作流程

    2.5、web缓存

    web缓存器(web cache)也叫代理服务器(proxy server),它是能够代表初始web服务器来满足HTTP请求的网络实体。web缓存器有自己的磁盘存储空间,并在该存储空间中保存最近请求过的网络实体。它既可以是客户机也可以是服务器。主要的工作流程如下:

    • 【1】浏览器建立一个到web缓存器的TCP连接并向web缓存器中的对象发送一个HTTP请求
    • 【2】web缓存器检查本地是否存储了该对象的拷贝。如果有,web缓存器就用HTTP响应报文向客户机浏览器返回该对象
    • 【3】如果web缓存器没有该对象,它将与该对象的初始服务器打开一个TCP连接,然后发送获取对象的HTTP请求。收到请求后,初始服务器向web缓存器发送具有该对象的HTTP响应
    • 【4】当web缓存器接收该对象时,它在本地存储空间存储该对象的拷贝,并用HTTP响应报文向客户机浏览器发送该对象

    web缓存机制

    部署web缓存器有两个原因:减少客户机请求的响应时间;减少一个机构内部网与因特网接入链路的通信量,从而减少带宽,降低费用。

    2.6、条件GET方法

    尽管高速缓存能减少用户感受到的响应时间,但也引入了一个新的问题,即存放在缓存器上的对象可能不是最新的。保存在服务器中的对象在该拷贝缓存在客户机后可能已经被修改了。幸运的是,HTTP协议有一种机制,允许缓存器证实它的对象是最新的。这种机制就是条件GET(conditional GET)方法。条件GET请求包含下面两个特性:使用GET方法;报文中包含一个If-modified-since首部行。其工作流程如下:

    • 【1】缓存器向服务器发送一个请求报文
    • 【2】服务器向缓存器发送具有被请求对象的响应报文,其中包含Last-Modified首部行
    • 【3】缓存器存储该对象同时也存储了Last-Modified中描述的最后修改时间
    • 【4】一段时间过后,客户机向缓存器发送请求报文来请求对象
    • 【5】缓存器接收到客户机的报文之后,向服务器发送一个条件GET方法确认对象是否最新
    • 【6】服务器检查,发送缓存的对象还是最新的之后,向缓存发送一个状态为304(Not Modified)的响应
    • 【7】缓存器接收到响应确认最新之后再将对象发送给客户机
    • 【8】如果服务器检查发现缓存对象不是最新的,则向缓存器发送响应报文同时把最新的对象附在报文的实体主体中传送
    • 【9】缓存器接受响应报文之后更新缓存对象并发送给客户机

    3、文件传输协议:FTP

    FTP运行在TCP上,使用两个并行的TCP连接来传输文件,一个是控制连接(control connection),一个是数据连接(data connection)。控制连接用于在两个主机之间传输控制信息,如用户标识、口令、改变远程目录的命令以及”put”和”get”文件的命令。数据连接用于实际传输一个文件。因为FTP协议使用一个分离的控制链接,所以我们也称FTP的控制信息是带外(out-of-band)传送的。

    FTP传输图例

    当用户主机与远程主机开始一个FTP会话前,FTP的客户机首先在21号端口上向服务器发起一个用于控制的TCP连接。FTP的客户机通过该控制连接发送用户的标识和口令,也发送改变远程目录的命令。当FTP服务器从控制连接上收到一个文件传输命令后,就会发起一个到客户机的数据连接。FTP在该数据连接上准确地传送一个文件后关闭该连接。如果在同一会话期间,用户还需要传输另外一个文件,FTP则打开另一个数据连接。因此对FTP传输而言,控制连接贯穿了整个用户会话期间,但是针对会话中的每一次文件传输都需要建立一个新的数据连接(即数据连接是非持久的)。

    FTP服务器必须在整个会话期间保留用户的状态(state)信息。

    4、因特网中的电子邮件

    电子邮件系统主要由3各部分组成:用户代理(user agent)、邮件服务器(mail server)和简单邮件传输协议(Simple Mail Transfer Protocol, SMTP)。用户代理允许用户阅读、回复、转发、保存和撰写报文。邮件服务器是电子邮件系统结构的核心。一个典型的发送邮件过程如下:发送方的用户代理向其所在的邮件服务器发送邮件,该邮件被放在邮件服务器的发送报文队列中,邮件从发送方的邮件服务器发送到接收方的邮件服务器,接收方的用户代理从它所在的邮件服务器中获取邮件。

    SMTP是因特网电子邮件中主要的应用层协议。它使用TCP可靠数据传输服务,从发送方的邮件服务器向接收方的邮件服务器发送邮件。SMTP有两个部分:运行在发送方邮件服务器的客户机和运行在接收端邮件服务器的服务端。每个邮件服务器上既有SMTP客户机也有SMTP服务器。

    电子邮件系统

    4.1、简单邮件传输协议–SMTP

    SMTP一般不适用中间邮件服务器发送邮件。例如,A的邮件服务器再中国广东,B的邮件服务器在美国西海岸,当A向B发送邮件的时候,发起的TCP连接是直接从中国广东连接到美国西海岸,中间不经过其他服务器。如果B的服务器没有开机,那么邮件会保留在A的服务器上并在稍后继续进行新的发送尝试,也就是说,该邮件不会在中间某个其他邮件服务器上存留。

    SMTP发报过程:客户机在25端口建立一个到服务器的TCP连接,如果服务器没有开机,客户机会在稍后继续尝试连接。连接建立之后,服务器和客户机执行一些应用层的握手。在握手阶段,SMTP客户机指明发送方的邮件地址和接收方的邮件地址。握手阶段结束后,客户机开始发送邮件报文。SMTP可以利用TCP提供的可靠数据传输无差错地将邮件投递到接收方的服务器。SMTP使用的是持久连接,该客户机如果还有另外的报文要发送到该服务器,也会在同一个TCP连接上进行发送;否则,TCP连接会被关闭。

    4.2、邮件访问协议

    前面介绍了邮件服务器之间利用SMTP协议传送邮件的过程。现在,我们继续来看用户代理与邮件服务器之间是如何传输的。A向B发邮件时,A的用户代理会利用SMTP协议把邮件推送到其所在的邮件服务器,邮件服务器再利用SMTP协议将邮件发送给B所在的邮件服务器。这里我们会发现一个细节,这里有两个步骤使用了SMTP协议。为什么要这么做呢?主要原因是,如果从A的用户代理直接用SMTP协议向B所在的邮件服务器发送邮件,那么A的邮件可能无法被B接收到。因为B的邮件服务器可能关机了,通过先从用户代理将邮件发送到A的邮件服务器上之后,邮件缓存在A的服务器上并由服务器去不断尝试给B的服务器发送邮件直到成功。这样用户在自己的电脑上发送完邮件之后就不用继续关注邮件的发送过程了,也就是说不用一直开着电脑了,由服务器去帮助完成这些事情即可。

    邮件到达B的邮件服务器之后,会缓存在服务器上,等待B的用户代理来访问获取邮件。注意,这里B的用户代理不能用SMTP协议去向服务器取回邮件,因为取邮件是一个拉操作,而SMTP是一个推协议。于是邮件访问协议横空出世,该协议将B所在的邮件服务器上的邮件传送给B的电脑上的用户代理。目前有多个流行的邮件访问协议,包括第三版邮局协议(Post Office Protocol-Version 3, POP3)、因特网邮件访问协议(Internet Mail Access Protocol, IMAP)以及HTTP。最后,整个邮件发送和接收过程如下图所示:

    邮件发送接收过程

    5、DNS:因特网的目录服务

    主机的识别方式有两种:主机名和IP地址。主机名可以方便人们记住,而路由器则喜欢格式化的IP地址。域名系统(Domain Name System, DNS)的主要任务就是实现主机名到IP地址的映射转换。DNS是一个由分层的DNS服务器实现的分布式数据库,是一个允许主机查询分布式数据库的应用层协议。

    与HTTP、FTP、SMTP协议一样,DNS协议也是应用层协议。它运行在UDP之上,使用客户机/服务器模式在通信的端系统之间运行,在通信的端系统之间通过下面的端到端运输层协议来传送DNS报文。DNS通常由其他应用层协议(包括HTTP、FTP、SMTP)所使用,用于将用户提供的主机名解析为IP地址。假设某用户用浏览器访问某一个网站,DNS的工作流程如下:

    • 【1】用户主机上运行着DNS应用的客户端
    • 【2】浏览器从URL中提取出要访问的网站的主机名,将主机名传送给本机的DNS客户端
    • 【3】DNS客户端向DNS服务器发送一个包含主机名的请求
    • 【4】DNS客户端收到一份来自服务器的回答报文,其中包含对应于主机名的IP地址
    • 【5】浏览器向对应的IP地址定位的HTTP服务器发起一个TCP连接

    除了主机名到IP地址的转换外,DNS还提供了一些重要服务:主机别名(host aliasing)、邮件服务器别名(mail server aliasing)、负载分配(load distribution)。

    5.1、负载分配概述

    繁忙的站点可能被冗余分布在多台服务器上,每台服务器均运行在不同的端系统上,有着不同的IP地址。对于这些冗余的web服务器,一个IP地址集合对应于同一个规范主机名。DNS数据库中存储着这些IP地址集合。当客户机为映射到这个IP地址集合的名字发出一个DNS请求时,该服务器用包含全部这些地址的报文进行回答,但在每个回答中旋转这些地址排放的顺序。因为客户机通常总是向IP地址排在最前面的服务器发送HTTP请求,所以DNS就在所有这些冗余web服务器之间旋转分配负载。DNS的旋转同样适用于邮件服务器。

    5.2、DNS工作机理概述

    分布式、层次数据库

    DNS使用了大量服务器,它们以层次方式组织,并且分布在全世界范围内。没有一台DNS服务器具有因特网上所有主机的映射,相反,该映射分布在所有的DNS服务器上。DNS服务器有3种类型:根DNS服务器、顶级域(Top-Level Domain, TLD)DNS服务器和权威DNS服务器。这些DNS服务器的层次结构如下图所示。

    DNS服务器层次结构

    当一个DNS客户机想要获取IP地址时,它首先会从根服务器那边联系,根服务器返回TLD服务器的IP地址,DNS客户机根据IP地址继续去跟对应的TLD服务器联系,TLD服务器返回权威服务器的IP地址,这样一层一层找下去直到获取到相应主机的IP地址。

    除了根、TLD和权威DNS服务器之外,还有另一类服务器,本地DNS服务器(local DNS server)。每个ISP都有一台本地DNS服务器。当主机与某个ISP连接时,该ISP提供一台主机的IP地址,该主机具有一台或多台其他本地DNS服务器的地址。

    DNS缓存

    为了改善时延性能并减少在因特网上到处传输的DNS报文数量,DNS广泛使用了缓存技术。当一个DNS服务器接收一个DNS回答时,DNS服务器能将回答中的信息缓存在本地存储器。如果在DNS服务器中缓存了一个主机名/IP地址对,另一个对相同主机名的查询到达该服务器时,该服务器就能马上提供所要求的IP地址,即使它不是该主机名的权威服务器。由于主机和主机名与IP地址见的映射关系不是永久的,所以DNS服务器在一段时间后会将缓存信息丢弃。

    展开全文
  • OSI七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。TCP/IP协议体系结构则不同,但它得到了广泛应用。TCP/IP是一个四的体系结构,它包含应用、运输...因此在学习计算机网络时往往综合OSI和TCP/I...

            OSI七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。TCP/IP协议体系结构则不同,但它得到了广泛应用。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层(叫网际层是因为该层是为了解决不同网络的互连问题),不过从本质上来讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。因此在学习计算机网络时往往综合OSI和TCP/IP的优点,采用一种五层协议的体系结构

     

     

    现在自上而下地简单介绍一下各层的主要功能。

            (1)、应用层(application layer)  应用层时体系结构中的最高层,直接为用户的应用进程提供给服务。这里的进程就是指正在运行的程序。在应用层中的协议有很多,例如支持万维网应用的HTTP协议、支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。


            (2)、运输层(transport layer)  运输层的任务就是负责向两个主机中的进程之间的通信提供服务。由于一个主机可以同时运行多个进程,因此运输层具有复用和分用的功能。复用就是多个应用层进程可同时使用下面的运输层的服务;分用则是运输层把接收到的信息分别交付给上面的应用层中的相应进程。

            运输层主要使用一下两种协议:

                    ①、传输控制协议TCP(Transmission Control Protocol)---面向连接,数据传输单位为报文段(segment),能够提供可靠的交付。

                    ②、用户数据协议UDP(User Datagram Protocol)---无连接的,数据传输的单位是用户数据报,不保证可靠的交付,只能提供“尽最大努力交付”(best-effort delivery)


            (3)网络层(network layer)  网络层主要负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。另一个任务就是选择合适的路由,使源主机运输层所传下来的分组能够通过网络中的路由器找到目的主机。

            注意:运输层的“用户数据报UDP”和网络层的“IP数据报”不要弄混淆。另外,无论在那一层传送的数据单元,习惯上都可笼统地用“分组”来表示。

            因特网是个很大的互联网,它由大量的异构(heterogeneous)网络通过路由器相互连接。其主要的网络层协议是无连接的国际协议IP(Internet Protocol)和许多种路由选择协议,因此因特网的网络层也叫做国际层或IP层。


            (4)、数据链路层(data link layer)  简称链路层。数据在两个主机之间的传输是在一段一段的链路上传送的。在两个相邻节点之间(主机和路由器 或 两个路由器之间)传送数据时直接传送的(点对点)。这时就需要使用专门的链路层协议。在两个相邻结点间传输数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻节点的链路上“透明”地传送帧中的数据。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

    透明”是一个重要术语。它表示无论什么样的比特组合的数据都能够通过这个数据链路层,就好像数据链路层对这些数据来说时透明的。

    “控制信息”使接收端能够知道一个帧从那个比特开始到那个比特结束。这样,目的主机的数据链路层在接收到一个帧之后,就可以从中提取出数据部分,上交给网络层。


            (5)、物理层(physical layer)  物理层上所传输的数据单位时比特。物理层的人物就是透明的传送比特流。也就是说发的是1,接收方收到的就是1而不是0。因此,物理层需要考虑用多打的电压代表“1”或“0”,以及接收方如何识别发送方所发送的比特。

            注意:传送比特流时是从首部开始传送的,另外传递信息的物理媒体,如双绞线、同轴电联、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。

     


            在研究开放系统中的信息交换时,往往使用实体(entity)一词表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。

            协议是控制两个对等实体或多个对等实体(实体就是两机之间处于同一层的软件或应用)进行通信的规则的集合。协议的语法方面的规则定义了所交换的信息格式,而协议的语义方面的规则定义了发送者或接收者索要完成的操作,例如,在何种条件下数据必须重传或丢弃。

            在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议还需要使用下面一层所提供的服务。协议和服务在概念上是很不一样的。首先,协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。

            其次,协议是“水平的”,即协议时控制对等实体之间的通信规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。另外,只有那些能够被高一层实体“看得见”的功能才能被称之为“服务”。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中被称为服务原语

            在相邻两层的实体进行交互的地方,通常称为服务访问点SAP(Server Access Point)。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口。这种层间接口和两个设备之间的硬件接口(并行或串行)并不一样。OSI把层与层之间交换的数据单位称为服务数据单元SDU,它可以与PDU不一样,例如,可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU。这样,任何相邻两层之间的关系可概括为如下图所示:


    展开全文
  • 计算机网络(七协议

    千次阅读 2017-01-14 14:40:54
    OSI的7层从上到下分别是 7 应用 6 表示 5 会话 4 传输 3 网络层 2 数据链路 1 物理 ;其中高层(即7、6、5、4)定义了应用程序的功能,下面3(即3、2、1)主要面向通过网络的端到端的数据流。...

    概论

    OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。

    应用层

    应用层是网络应用程序及其应用层协议存留的地方。因特网的应用层协议包括许多层,如
    HTTP(为WEB文档提供请求和传送),
    SMTP(提供电子邮件报文的传输),
    FTP(提供2个端系统之间的文件传送),
    DNS-域名系统(将域名转换为32比特网络地址)
    应用层协议分布在多个端系统,一个端系统的应用程序使用协议与你另外一个端系统中的应用程序交换信息分组。这种位于应用层的 信息分组成为 报文(message)

    表示层

    会话层

    传输层

    传输层提供了在应用程序端点之间传输应用层报文的服务。在英特网中,有两个传输层协议,–TCP,UDP。利用其中任何一个都能传输应用层报文。
    TCP向他的应用程序提供了 面向连接 的服务。这种服务包括了应用层报文向目的地的 确保传递和流量控制(即发送方接收方速率匹配)。
    TCP也将长报文划分为短报文,并提供阻塞控制机制,因此网络拥塞时,抑制其传输速率。
    UDP协议向他的应用程序提供 无连接 服务。这是一种不提供不必要的服务,不提供可靠性,没有流量控制,没有阻塞控制。 传输层分组称为 报文段(segment)

    网络层

    因特网的网络层负责将 网络层分组–数据报(datagram) 从一台主机移动到宁外一台主机。源主机中的因特网 传输层协议(TCP/UDP)向网络层递交传输层报文段和目的地址,就像 我们向邮政提供目的地址一样。
    网络层协议包括
    IP协议,该协议定义了数据报中的各个字段以及端系统和路由器符合作用于这些字段。仅有一个IP协议,所有基友网络层的因特网组件都必须运行IP协议。因此网络层也包括
    决定路由的 选路协议,数据报根据路由从源传输目的地。因此因特网具有许多选路协议。

    数据链路层

    因特网的网络层通过一系列路由器在源和目的自之间发送分组。为了将分组从一个节点(主机或路由器)移动到路径上的下一个节点,网络层必须依靠链路层的服务。特别实在每个节点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个节点,在该个节点,链路层将数据报上传给网络层。
    网络层提供的服务取决于应用于该链路的特定链路协议。链路层的例子包括 以太网,wifi,点对点协议(PPP)。因为数据报从源到目的地传送通常需要经过几条链路,所以他可能被沿途的不同链路上的不同链路层协议处理。例如:某个数据报可能被一条链路上的以太网和下一条链路上的PPP处理。网络层接收来自每个不同的链路层的不同服务, 链路层分组成为 帧(frame)

    物理层

    链路层的任务是将整个帧从网络元素移动到邻近的网络元素,二服务里的任务是将该帧中一个一个比特从一个节点移动到下一个节点。该层中的协议仍然与链路相关,并且进一步与链路(双绞铜线,单模光纤)的书籍传输媒体相关。例如,以太网具有多个物理层协议:关于双绞铜线的,关于同轴电缆的,关于光纤的…..在每种情况下,跨越这些链路移动一个比特的方式不同。

    展开全文
  • 7层是指OSI七层协议模型,主要是:应用(Application)、表示(Presentation)、会话(Session)、传输(Transport)、网络层(Network)、数据链路(Data Link)、物理(Physical)。 二、5 5...
  • 计算机网络对应协议及概念

    千次阅读 2019-10-13 14:28:05
    计算机网络TCP/IP各对应协议计算机网络OSI七: 1. 应用(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用 2. 表示(数据):主要解决拥护信息的语法表示问题,如加密解密 3. ...
  • 计算机网络 | 一文搞懂什么是TCP/IP协议

    万次阅读 多人点赞 2019-10-28 12:48:16
    计算机网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,操作系统之间的通信,所有这一切都...
  • OSI七层协议:法律上的国际标准,但层次划分不合理,...网络接口 协议是水平的, 控制的是对等实体之间的通信。 而服务是垂直的,是由下层向上通过间接口提供的。 应用 直接为用户的应用进程提供服务。 主要
  • 计算机网络协议总结

    万次阅读 多人点赞 2019-05-12 16:35:29
    计算机网络协议全面总结 一、OSI七层协议 物理: 很久很久以前,那时候还没有现在的外星人超级电脑,或者华为的P30。比较调皮的小明想要把自己机器上写好的一些个人游戏心得(如何玩好王者农药)发给小红(校花)...
  • 计算机网络--七层协议/五层协议

    万次阅读 2016-09-22 11:24:38
    【OSI七层协议】 应用 与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果...
  • 网络7层协议简述

    千次阅读 2019-09-16 11:15:47
    互联网的本质是一系列的网络协议,这个协议就叫做OSI协议。按照功能不同分工不同,认为的分为七。实际上这七是并不存在的,也就是说没有这些概念,而我们今天提到的七概念,只是人为的划分而已。目的只是为了...
  • OSI分层 (7层):物理、数据链路网络层、传输、会话、表示、应用。TCP/IP分层(4):网络接口、 网际、运输、 应用。五层协议 (5):物理、数据链路网络层、运输、 应用。 ...
  • 计算机网络模型中对应的协议

    千次阅读 2015-10-21 09:11:22
    应用:用户接口(HTTP、Telnet、FTP、SMTP、NFS) 表示:定义数据格式(JPEG、ASCLL、GIF、DES、...网络层:端到端的包定义(IP、IPX、路由器和三交换机工作) 数据链路:IEEE802.3/.2、HDLC、PPP、ATM 物理
  • ZCMU计算机网络期中1(计算机网络概论,网络体系结构与网络协议,物理计算机网络概论部分 1.名词解释 Intranet:采用TCP/IP与web的系统设计方法的企业内部的专用网络 WSN:将无线自组网与传感器结合的网络...
  • 原文链接:网络层次划分及网络协议 1 OSI七模型、TCP/IP四模型、TCP/IP五模型 不管是OSI七模型还是TCP/IP的四、五模型,每一中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。 ...
  • 计算机网络7层模型

    万次阅读 多人点赞 2018-10-01 11:31:00
    2、局域网:在较小范围内组件的网络,通过交换器什么的连接各个PC机,比如一个实验室,一栋楼,一个校园内,这都市局域网,拿网线将两台计算机连在一起,这也能算是局域网,以太网是一种局域网,而局域网却不一定是...
  • 有类网中的IP路由选择:如果目的网络为直连网络,则下一跳(next hop)为空。路由表(routing table)有时也被称为转发表(forwarding table)。有类网的路由选择算法:利用数据包中的目的地址得到目的网络号,然后...
  • 层网络协议,各功能,各层协议

    万次阅读 多人点赞 2018-05-11 11:21:01
    一、OSI七模型OSI七层协议模型主要是:应用(Application)、表示(Presentation)、会话(Session)、传输(Transport)、网络层(Network)、数据链路(Data Link)、物理(Physical)。三、五...
  • 计算机网络7层结构归纳总结

    千次阅读 2016-07-14 18:14:34
    TCP/IP协议簇可以分为7层结构,从低到高可以分为:物理,数据链路网络层,传输,会话,表示,应用.也可以分为应用.网际.传输.网络接口。  其中物理主要包含一些物理设备,主要包含,中继...
  • 路由信息协议---RIP协议(1)概述(2)RIP协议和谁交换?交换什么?多久交换一次?(3)距离向量算法(4)RIP协议的报文格式(5)RIP协议好消息传得快,坏消息传的慢 0.前言 在看本篇文章之前,建议先看一下这篇...
  • 计算机网络之初识网络与协议

    千次阅读 2021-04-19 21:50:14
    计算机网络进行数据交换而建立的规则、标准或约定的集合。 一个协议定义了在两个或多个通信实体之间交换的报文格式和次序、以及在报文传输或接收方面采取的措施。 2、理解电路交换和分组交换(分组可能走的路...
  • 计算机网络:局域网协议

    千次阅读 2020-05-24 14:43:12
    根据计算机网络的拓扑结构,可将网络分为总线型、树型、星型、环型和网状型五种类型。常见的局域网组网方式包括令牌环、光纤分布数字接口和以太网等。 一、概述 在不同类型的网络拓扑结构中,网络设备的连接方式、...
  • 1、因特网 1.1 时代特点: 数字化、网络化、信息化 1.2 三网: 电信网络、有线电视网络、计算机网络(功能:连通性、共享性, 问题:安全性) 1.3 网络组成:节点(计算机、集线器、交换机、路由器(互联网:...
  • 通过本实验,熟悉PacketTracer的使用,学习PacketTracer中仿真分析应用和传输层协议,加深对协议工作过程的理解。 实验内容 从PC使用URL捕获Web请求,运行模拟并捕获通信,研究捕获的通信。 Wireshark 可以...
  • 计算机网络协议集合

    千次阅读 多人点赞 2018-03-21 09:17:26
    阅读目录 1. 网络层次划分2. OSI七网络模型3. IP地址4. 子网掩码及网络划分5. ARP/RARP协议6. 路由选择协议7. TCP/IP协议8. UDP协议 9.... 计算机网络学习的核心内容就是网络协议的学习。网络...
  • 计算机网络-OSI七模型 OSI : Open System Interconnection Reference Model,缩写为 OSI ,中文称开放系统互连参考模型,它定义了异种计算机连接传输的标准 物理(在TCP中为硬件) 二进制传输 主要设备与...
  • 网络层协议

    千次阅读 热门讨论 2017-12-26 14:29:35
    OSI模型有7层结构, OSI的7层从上到下分别是 7 应用 6 表示 5 会话 4 传输 3 网络层 2 数据链路 1 物理 ;其中高层(即7、6、5、4)定义了应用程序的功能,下面3(即3、2、1)主要面向通过网络的端到端...
  • 网络协议、socket、webSocket

    万次阅读 多人点赞 2019-07-31 19:20:28
    网络协议计算机网络中进行数据交换而建立的规则、标准或约定的集合。 1、OSI七层协议 OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,从上到下分别是 7应用6表示...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 212,564
精华内容 85,025
关键字:

计算机网络7层协议