<计算机网络>计算机网络和应用层

1、端系统通过通信链路和分组交换机连接在一起,构成网络。网络和网络之间通过路由器相连,组成了因特网。

2、ISP(Internet Service Provider)因特网服务提供商。端系统通过ISP接入互联网,每个ISP是由一个或者多个分组交换机和多段通信链路组成的网络。为了允许因特网用户之间互相通信,允许用户访问世界范围的因特网内容,这些低层ISP通过国家的、国际的高层ISP互联起来。高层ISP是由通过高速光纤链路互联的高速路由器组成。每个ISP都是独立管理的,运行IP协议,遵从一定的命名和地址习惯.

时延:

  • 处理时延:检查分组首部,决定将分组导向何处所需的时延

  • 排队时延:分组在链路上等待传输时,经受的排队时间
  • 传输时延:将分组的所有比特推向链路所需的时间
  • 传播时延:分组在链路中传播所需的时间

模型:

五层模型:

  • 应用层:任务是通过应用进程间的交互来完成特定网络应用

  • 运输层:负责向两台主机中进程之间的通信提供数据传输服务
  • 网络层:负责为分组交换网上的不同主机提供通信服务、选择合适的路由
  • 链路层:将网络层的数据报封装成帧,使用链路层协议在相邻节点间的链路上传输帧
  • 物理层:帧中一个个比特从一个节点移动到下一个节点

七层模型:

  • 会话层:提供了数据交换的定界和同步功能,包括建立检查点和恢复方案的方法

  • 表示层:使通信的应用程序能够解释交换数据的含义,提供数据压缩、数据加密等服务

应用层

两种体系结构:

  • 客户-服务器模型(C/S)

  • P2P

运输服务要求分类:(1)可靠的数据传输(2)吞吐量(3)定时(4)安全

TCP

  1. 面向连接的服务

  2. 可靠数据传输

除此之外,TCP还有拥塞控制机制,拥塞控制不一定能带来好处。

UDP

  1. 无连接的服务

  2. 不可靠数据传输服务(不保证到达,也不保证有序到达)

应用层协议

HTTP协议:使用TCP作为运输层协议

HTTP是超文本传输协议,它是一个无状态协议:服务器向客户机发送请求的文件的时候,并不保存任何有关客户机的状态信息。假设某个客户之前请求过一个对象,服务器并不会因为刚刚该用户请求国就不再作出反应。

连接类型:持续连接和非持续连接

  • 持续连接:所有请求/相应对使用同一个TCP连接发送
  • 非持续连接:每次请求/响应是经一个单独的TCP连接发送

如果使用持续连接,那么客户机收到请求信息后,服务器不会发送一个TCP连接关闭请求。这个连接服务于所有web对象的传输,如果经过一个时间间隔仍然未被使用,那么服务器关闭这个连接

如果使用非持续链接,将TCP握手第三步与一个http请求报文结合起来发送,服务器接收请求后响应一个对象。因此,传输一个对象消耗2个RTT。由于TCP连接会分配缓冲区和变量,大量使用非持久连接会给服务器造成压力。

  • http1.0 非持续连接
  • http1.1使用持续连接。

请求报文格式

http请求第一行叫做请求行,后继的行叫做首部行。

相关参数:

  • 请求行:请求方法,URL字段,HTTP协议版本
  • Host:请求的目标主机
  • connection:告知浏览器不必使用长连接
  • User-agent,用户代理,即浏览器的版本。

请求报文通用格式:

使用GET方法时,实体体为空,使用POST方法时,实体体才会存有数据。

方法字段:

  • GET:大多数HTTP请求使用GET方法
  • POST:用户提交表单时
  • PUT:类似于GET,区别是服务器返回的响应报文中不包括请求对象
  • HEAD:向服务器上传对象
  • DELETE:删除服务器上的对象

POST和GET区别:

  1. get通过url传递,post放在实体体中
  2. get请求在url中传递的参数是有长度限制的,而post没有
  3. get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。
  4. get只能进行url编码,而post可以进行多种编码
  5. get请求参数会被完整保留在浏览历史记录中,而post的参数不会被保留
  6. get和post本质上是tcp连接,并无差别。但由于http的规定和浏览器/服务器的限制,导致应用上出现不同
  7. get产生一个tcp数据包,而post产生两个。对于get请求,浏览器会把data和head一起发送过去,而post则先发送header,服务器响应100,然后再发data,服务器响应200.

响应报文信息:

状态码:

  • 200 ok,请求成功
  • 301 Moved Permanently,请求的信息已经被永久转移了
  • 400 bad Request,一个通用差错代码,请求不能被服务器理解
  • 404,not found, 请求的文档不在服务器
  • 505 版本不支持

cookie:用于识别用户,一方面限制用户的访问,另一方面时服务器想将内容与用户联系起来。

cookie包含四个组成部分:

  • 在http响应报文中有一个Set-cookie首部行。
  • 在http请求报文中有一个cookie首部行。
  • 在用户端系统中保留有一个cookie文件,由用户的浏览器管理。
  • 在web站点有一个后端数据库。

web缓存:也叫代理服务器。用于缓存web对象。如果web缓存器没有请求的对象,会与初始服务器建立一条tcp连接,web缓存器进一步发送http请求,获取对象,然后将该对象缓存在本地,首先本地缓存,然后生成一个http响应报文,发送给客户机。

条件get:web缓存器使用条件get向web服务器确认某个对象是否已经被修改。

DNS(域名服务系统):运行在UDP之上,53端口

  1. 主机名到IP地址的转换。
  2. 主机别名
  3. 邮件服务器别名
  4. 负载分配

DNS服务器:

集中设计(单一DNS服务器)具备以下问题:

  • 单点故障
  • 通信容量:单个DNS服务器承受所有查询负载
  • 远距离的集中式数据库:单个DNS服务器不可能临近所有的查询客户机。

所以DNS采用上述的分布式设计方案,

  • 根服务器:13个根DNS服务器
  • 顶级域DNS服务器
  • 权威DNS服务器。

除此之外,DNS还有本地DNS服务器。

DNS查询步骤:

DNS缓存:在查询链中,当一个DNS服务器接收到一个DN应答时,DNS服务器能将回答中的信息缓存在本地存储。以便加速后续可能的查询。由于主机IP和主机名之间的映射不是永久的,DNS服务器会在一段时间后丢弃缓存。

原文地址:https://www.cnblogs.com/tingweichen/p/10661488.html

时间: 2024-11-05 02:04:03

<计算机网络>计算机网络和应用层的相关文章

计算机网络读书笔记-----应用层

每个应用层的协议都是为了解决某一类应用问题,而问题的解决又往往是通过不同主机之间多个应用进程之间的通信和协作工作来完成的.应用层的具体内容就是规定应用进程在通信时遵循的协议. DNS(Domain Name System ) DNS的出现: 用户与因特网进行通信时,显然不愿意使用很难记忆的32位二进制主机,即使点分十进制的IP地址也不容易记忆,相反愿意使用某种易于记忆的主机名. 在早期的时候,整个网络上只有数百台计算机,那时使用一个hosts的文件,列出所有的主机名字和相应的IP地址,用户只要输

计算机网络复习(二) 应用层

1.应用架构 (1)CS 对于 CS 架构 (Client/Server),网络中的每个节点是不对称的,具体而言可以分为两类: 服务端 (Server):服务端拥有资源,为客户端提供服务,每个客户端都能与服务端联系 客户端 (Client):客户端需要资源,向服务端申请服务,每个客户端之间不能相互联系 (2)P2P 对于 P2P 架构 (Peer-To-Peer),网络中的每个节点都是对称的,没有服务端和客户端之分 每个节点都拥有资源,每个节点都能提供服务,同时每个节点也都需要资源,也都需要申请

计算机网络相关:应用层协议(二):HTTP

前言 复习下计算机网络的知识并记录 正文 定义:HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议. 一.HTTP请求过程(非持续连接) 访问URL的过程:(以http://www.someSchool.edu/department/home.index为例) 1.HTTP客户进程在端口号80发起一个到服务器的TCP链接(三次握手),在客户和服务器上分别有套接字与该连接相关联. 2.HTTP经它的套接字向该服

计算机网络 chapter 6 应用层

第六章 应用层 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的.应用层的具体内容就是规定应用进程在通信时所遵循的协议. 域名系统DNS:是用来将人们使用的机器名字转换为IP地址.(其实就是因特网使用的命名系统) 许多应用层软件经常直接使用域名系统DNS,但计算机的用户只是间接而不是直接使用域名系统. 因特网采用层次树状结构的命名方法,并使用分布式的域名系统DNS.DNS被设计成一个联机分布式数据库系统,并采用客户服务器方

计算机网络-计算机网络和因特网

一.什么是因特网 1.具体构成描述 公共因特网是一个世界范围内的计算机网络,即它是一个互联了遍及全世界的数以百万计的计算机设备(主机或端系统)的网络. 端系统通过通信链路和分组交换机连接到一起. 发送端系统将数据分段,并为每段加上首部字节(由此形成的信息包称为分组),这些分组通过网络发送到目的端系统. 两种最著名的分组交换机:路由器 链路层交换机. 两个最重要的协议:TCP(Transmission Control Protocol) IP(Internet Protocol) IP协议定义了在

计算机网络——计算机网络和因特网

1.通信网络 1)电路交换:通信前先拨号,构建直通通路 2)分组交换(不是包交换):不用拨号,存储转发交换 3)虚拟电路交换:介于两者间,中间设备ATM存储后再转发,本质存储转发 2.网络架构(Internet是瘦内核,胖端系统:电话.手机是胖内核,瘦端系统) 1)内核:路由器(构成mesh),交换机 2)边缘:应用,所有服务都位于边缘 3)通信链路 3.通信模式 C/S模式.对等模式.混合模式 4.交换模型 电路交换.分组交换(按需使用.路由器具有存储并转发分组的队列.统计复用) 1)分组交换

【目录】计算机网络

计算机网络 网络层1 应用层1

计算机网络的概述

一.什么是计算机网络 计算机网络将两台或多台计算机通过电缆或网络设备连接在一起,已便在他们之间交换信息.共享资源. 计算机之间也有其他方式交换信息.大多数人都用过一种最原始的"手工网络"的方式,那就是将文件复制到u盘上,然后将其复制到其他的计算机上,"手工网络"的问题在于速度太慢,再加上要用容量越来越大的U盘来复制文件.有一天,计算机玩家发现联网比U盘在计算机之间复制文件快得多.于是,现代计算机延生了. 那么,到底什么是计算机网络?用通信设备和线路处在不同地理位置,

计算机网络学习什么

计算机网络概述: 计算机网络是计算机技术和通信技术紧密结合的产物,它的发展经历了以下三个阶段: 1)具有通信功能的批处理系统 2) 具有通信功能的分时系统 3) 计算机网络 计算机网络学习的内容: 数据通信原理 计算机网络体系结构 TCP/IP协议族(IPv6) 局域网技术 综合布线技术 网络工程周期 网络操作系统 交换机与路由器 网络管理技术 网络安全与加密 无线网络,云计算,物联网 如何学好计算机网络 1.理论内容较为抽象,新概念多,涉及知识面宽(学习起来有点象背政治,也有点象语文.语言描述