计算机网络学习笔记(2)----OSI参考模型,应用层,Web和HTTP

目录

1 计算机网络体系结构概述---分层结构

 2 OSI参考模型---开放系统互连

 3 应用层

4 Web和HTTP 


1 计算机网络体系结构概述---分层结构

计算机网络是一个非常复杂的系统,涉及许多组成部分;

主机(hosts);路由器(routers);各种链路(links);应用(applications);协议(protocols);硬件、软件……

分层结构:每层完成一种(类)特定服务/功能;

每层依赖底层提供的服务,通过层内动作完成相应功能;

1.1 计算机网络的体系结构---抽象的

(1)网络体系结构是从功能上描述计算机网络结构;

(2)计算机网络体系结构简称网络体系结构(network architecture)是分层结构

(3)每层遵循某个/些网络协议完成本层功能;

(4)计算机网络体系结构是计算机网络的各层及其协议的集合;

1.2 分层结构的优点

1、结构清晰,有利于识别复杂系统的部件及其关系;---分层的参考模型(reference model)

2、模块化的分层易于系统的更新、维护---任何一层服务实现的改变对于系统其它层都是透明的;

3、有利于标准化;

1.3 分层网络体系结构基本概念

 2 OSI参考模型---开放系统互连

开放系统互连(OSI)参考模型是由国际标准化组织(ISO)于1984年提出的分层网络体系结构模型;

目的是支持异构网络系统的互联互通;异构网络系统互连的国际标准;

 2.1 OSI参考模型解释的通信过程

 2.2 OSI参考模型数据封装与通信过程

数据封装的原因---增加控制信息,构造协议数据单元(PDU);

控制信息包括:地址(Address)---标识发送端/接收端;差错检测编码(Error-detecting code)---用于差错检测或纠正;协议控制(Protocal control)---实现协议的附加信息,如:优先级(priority)、服务质量(QoS)和安全控制等

2.3 物理层功能---实现每一个比特的传输在具体的物理介质上

 1、接口特性

机械特性(接口的几何形状);电气特性(多大电平,多高电压);功能特性(引脚数量/功能)、规程特性(过程顺序);

2、比特编码;3、数据率;4、比特同步--时间同步

5、传输模式:单工(Simplex);半双工(half-duplex);全双工(full-duplex)

2.4 数据链路层功能

 1、负责结点-结点(node-to-node)数据传输;

2、组帧(Framing);

3、物理寻址(Phsical addressing)

在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端

4、流量控制(Flow control)---避免淹没接收端

5、差错控制(Error control)---检测并重传损坏或丢失帧,并避免重复帧

6、访问(接入控制)(Access control)---在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权

2.5 网络层功能---源主机到目的主机跨越多个网络,链路的数据分组的传输(交付)

1、源主机到目的主机数据分组(packet)的交付---可能跨越多个网络

2、逻辑寻址(Logical addressing)全局唯一逻辑地址,确保数据分组被送达目的主机,IP地址;

3、路由(Routing)---路由器(或网关)互连网络,并路由分组至最终目的主机;路径选择

4、分组转发

 2.6 传输层功能---负责源-目的(端-端)(进程间)完整报文传输

 1、分段与重组

2、SAP寻址,确保将完整报文提交给正确进程,如端口号

3、连接控制 ---逻辑连接;4、流量控制;5、差错控制

2.7 会话层功能---(最薄的一层)

1、对话控制(dialog controling)---建立、维护

2、同步(synchronization)---在数据流中插入“同步点”

2.8 表示层功能---处理两个系统间交换信息的语法与语义(sytax and semantics)问题

1、数据表示转化---转换为主机独立的编码

2、加密/解密;3、压缩/解压缩

2.9 应用层功能---支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)

 典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、Web(HTTP)

2.10 TP/IP四层参考模型

 

 2.11 五层参考模型---综合OSI和TCP/IP的优点---应用最多

 

 五层模型的数据封装

 3 应用层

3.1 网络应用的体系结构 

 1、客户机/服务器结构(Client-Server,C/S)---例子:Web

(1)服务器:24小时提供服务;永久性访问地址/域名;利用大量服务器实现可扩展性

(2)客户机:与服务器通信,使用服务器提供的服务;间歇性接入网络;可能使用动态IP地址;不会与其他客户机直接通信;

2、点对点结构(Peer-to-Peer,P2P)

(1)没有永远在线的服务器;(2)任意端系统/节点之间可以直接通讯;(3)节点间歇性接入网络;(4)节点可能改变IP地址;

优点:高度可伸缩;缺点:难于管理

3、混合结构(Hybrid)

(1)文件传输使用P2P结构;

(2)文件的搜索采用C/S结构---集中式;

a、每个节点向中央服务器登记自己的内容;

b、每个结点想中央服务器提交查询请求,查找感兴趣的内容;

3.2 网络应用进程通信

1、进程:主机上运行的程序

客户机进程:发起通信的进程;服务器进程:等待通信请求的进程;

2、套接字:Socket---进程间通信利用socket发送/接收消息实现

 传输基础设施向进程提供API:传输协议的选择;参数的设置

3、寻址进程

不同主机上的进程间通信,每个进程必须拥有标识符进程的标识符=IP地址+端口号

通过IP地址寻址主机,通过端口号/Port number,定位同一主机上的不同进程,为每一个需要通信的进程分配一个端口号,例如HTTP Server:80,Mail Server:25;

 3.3 应用层协议---网络应用需遵循应用层协议

1、公开协议:由RFC(Request For Comments)定义;允许互操作;HTTP,SMTP……

2、私有协议:多数P2P文件共享应用

3、应用层协议的内容

(1)消息的类型(type):请求消息,响应消息;

(2)消息的语法(syntax)/格式:消息中有哪些字段(field),每个字段如何描述

(3)字段的语义(semantics):字段中信息的含义;

(4)规则(rules):进程何时发送/响应消息;进程如何发送/响应消息

3.4 网络应用的需求与传输层服务

1、网络应用对传输服务的需求

(1)数据丢失(data loss)/可靠性(reliability);

(2)时间(timing)/延迟(delay);

(3)带宽(bandwith);

2、Internet提供的传输服务

4 Web和HTTP 

4.1  Web应用---world Wide Web

1、网页(Web Page)包含多个对象(objects)

(1)对象:HTML文件、JPEG图片、视频文件、动态脚本等;

(2)基本HTML文件:包含对其他对象引用的链接;

 2、对象的寻址(addressing)

4.2 HTTP协议---HyperText Transfer Protocol(超文本传输协议)

1、C/S结构:

(1)客户---Browser:请求、接收、展示Web对象;

(2)服务器---Web Server:响应客户的请求,发送对象;

2、HTTP版本:1.0:RFC 1945;1.1:RFC 2068

3、使用TCP传输服务:

 4、无状态(stateless)---服务器不维护任何有关客户端过去所发请求的信息

 (有状态的协议更加复杂,需要维护状态(历史信息);如果客户或服务器失效,会产生状态的不一致,解决这种不一致代价高)

4.3 HTTP连接

1、非持久性连接(Nonpersistent HTTP)

每个TCP连接最多允许传输一个对象;HTTP1.0版本使用非持久性连接;

 2、响应时间分析与建模

3、非持久性HTTP连接的问题 

(1)每个对象需要2个RTT;(2)操作系统需要为每个TCP连接开销资源(overhead);

(3)打开多个并行的TCP连接以获取网页所需对象,意味着服务器端会有很大负担;

4、持久性连接(Psistent HTTP)

每个TCP连接允许传输多个对象;HTTP1.1版本默认使用持久性连接;

发送响应后,服务器保持TCP连接的打开,后续的HTTP消息可以通过这个连接发送;

(1)无流水(pipelining)的持久性连接

客户端只有收到前一个响应后才发送新的请求;每个被引用的对象耗时1个RTT;

(2)带有流水机制的持久性连接

HTTP1.1的默认选项;客户端只要遇到一个引用对象就尽快发出请求;理想情况下,收到所有的引用对象只需耗时约1个RTT

4.4 HTTP消息格式

4.4.1 HTTP协议有两类消息:请求消息(request);响应消息(response);

4.4.2 请求消息---ASCII:人直接可读

1、HTTP请求消息的通用格式:

2、上传输入的方法:

(1)POST方法:

网页经常需要填写表格(form);在请求消息的消息体(entity body)中上传客户端的输入

(2)URL方法:使用GET方法;输入信息通过request行的URL字段上传;

 

3、方法的类型

 (1)HTTP/1.0---GET,POST,HEAD(请Server不要将所请求的对象放入响应消息中)

(2)HTTP/1.1---GET,POST,HEAD;PUT(将消息体中的文件上传到URL字段所制定的路径);

DELETE---删除URL字段所指定的的文件;

4.4.3 HTTP响应消息

 1、HTTP响应状态代码---响应消息的第一行

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值