夜光:计算机网络笔记(四)

夜光序言:

 

 

少年你一定程度上挺温柔的呢

但是啊...

温柔的人绝对会吃亏的

 

 

 

 

 

 

 

 

 

正文:

 

网络安全 
 
1 信息安全  

•保密性 具有一定保密程度的信息只能让有权读到或更改的人读到和更改。措施:加密。

•完整性 在存储或传输信息的过程中,原始的信息不能允许被随意更改。措施:消息摘要。

•不可抵赖性  对自己行为的不可抵赖及对行为发生的时间的不可抵赖。措施:数字签名。

•可用性 对于信息的合法拥有和使用者,在他们需要这些信息的任何时候,都应该保障他们能够 及时得到所需要的信息。措施:访问控制。 



 
2 网络安全 Internet 设计时没有考虑安全问题。

网络安全是关于:坏人如何攻击计算机网络,如何防卫,以及如何设计网络架构能够防 御攻击的问题。 
 
威胁来源:

   •恶意软件 恶意软件通常能够自我复制: 从感染的主机, 伺机进入其他有类似缺陷的主机。

例如木 马、病毒、蠕虫。

•DoS 攻击 攻击者通常使用过量的服务请求或流量,使资源(server, bandwidth) 不可用。

•网络嗅探 在网络接口混杂模式下读取/记录所有经过的数据报,从而窃取秘密。

•欺骗 录制正常数据,通过重放,麻痹网络管理员。或者生成具有任意源地址、分组内容、目 的地址的分组,然后发送到网络中实现一些不正常的目标。 

 

 


 

 

应用层协议原理 


   
应用软件通常在网络边缘的端系统中运行,而不是在网络核心的交换机和路由器上运行, 这种模式促进了大量应用的开发和部署。

网络核心的交换机和路由器只专注于数据包(分组) 的转发。

 
 
1 网络应用程序体系结构应用程序都有一个体系结构。网络应用程序所使用的两种体系结构包括:客户机/服务 器(C/S)体系结构或对等(P2P)体系结构。 
 
在客户机/服务器体系结构中,有一个总是打开的主机称为服务器,它服务于来自许多 其他称为客户机的主机请求。

 

一个典型的例子是 Web 应用程序,当 Web 服务器接收到来自某客户机浏览器对某对象 的请求时,它向该客户机发送所请求的对象作为响应。注意到客户机/服务器体系结构中, 客户机相互之间不直接通信。

 

服务器具有固定的、周知的地址,称为 IP 地址,并且总是处 于打开状态。

在客户机/服务器体系结构中,常用主机群集之类的虚拟服务器对客户机提供服务。      

 

在 P2P 体系结构中,对作为基础设施的服务器依赖很少。相反,主机与主机之间—称为 对等方,直接相互通信,互相提供服务。

很多应用程序都是 P2P 体系结构的,包括文件分发、 因特网电话 Skype 等。

P2P体系结构的最突出特性之一是它的可扩展性。 
 

 



某些应用具有混合的体系结构,由客户机/服务器和 P2P 结合而成。

例如,对于许多即 时讯息应用(QQ 等)而言,服务器用于跟踪用户的 IP 地址,但用户到用户的消息在用户主机 之间直接发送(无需通过中间服务器)。 

 



 
   2 进程通信 运行在多个端系统上应用程序之间的互相通信,对于操作系统来说,实际上是进程之间 的通信。进程可以被认为是程序的一次执行。同一台主机上的进程间通信的可以使用操作系统的进程间通信机制例如共享内存、信号量等。

 

但运行在不同端系统(可能具有不同的操作 系统)上的进程间的通信,需要交换消息(message )来实现相互通信。发送进程创建并向网 络中发送消息,接收进程接收这些消息并负责回送消息。

 

这个过程是通过调用操作系统提供 的发送接收函数来实现的。 
 

 



•客户机和服务器进程 网络应用程序由成对的进程组成,这些进程通过网络相互发送消息。

 

对每对通信进程,在给定的一次通信会话中,发起通信的进程被标示为客户机,在会话 开始时接受请求的进程是服务器。

例如在 Web 中,一个浏览器进程向 We b 服务器进程发起联系,因此该浏览器进程是客户机,而该 Web 服务器进程是服务器。 
 
•进程与计算机网络之间的接口     从一个进程向另一个进程发送的消息必须经过下面的网络进行传输。

进程通过一个操作系统提供的称为套接字(Socket)的编程接口在网络上发送和接收消息,发送和接收函数是 这个编程接口提供的最基本的两个函数。

应用程序开发者对于传输层的控制仅限于:

①选择传输层协议。

②设定几个传输层参数, 如最大缓存、最大报文段长度等。

进程在通信时,必须给接收方指定接收地址,这个地址包括两个部分:对方主机的 IP 地址和应用程序的标识—端口号。 

 



 
3 可供应用程序使用的传输服务    

因特网提供了不止一种传输层协议。

当开发一个应用时,在选择可用的传输层协议时 需要从四个方面对应用程序所需的传输服务进行考虑:是否要求可靠数据传输、吞吐量、时效性和安全性。    

•可靠数据传输     分组可能在计算机网络中丢失。有些应用如电子邮件、文件传输、远程主机访问以及网 络金融等应用,数据丢失可能会造成灾难性的后果。对于这些应用,必须确保应用程序一端 发送的数据正确地、完全地交付给该应用程序的另一端。

当一个传输层协议提供这种服务时, 发送进程只要将其数据传递到套接字,就可以确信该数据将能无差错地到达接收进程。

当一个传输层协议不提供可靠数据传输时,发送的数据可能不能到达接收进程。

对于多媒体应用,如实时音频/视频或存储的音频/视频,它们能承受一定程度的数据丢失。      

 

•吞吐量     有些应用例如网络电话对话音传输有最小的带宽要求,当话音以 32kbps 的速率进行编 码,那么在通话过程中一直以这个速率向网络发送数据,并向接收应用程序交付数据。如果 传输层不能提供这种吞吐量保证,那么该应用程序或以较低速率进行编码,或者放弃发送。 而弹性应用能够根据需要充分利用可供使用的吞吐量。

电子邮件、文件传输以及 Web 传输 都属于弹性应用。      

 

•时效性     例如,因特网电话中较长的时延会导致会话中不自然的停顿。在网络游戏和虚拟互动环境中,在动作及响应之间较长的时延会使游戏失去真实感。在非实时的应用中,对端到端的时延没有严格的约束。      

 

•安全性 传输层协议能够为应用程序提供一种或多种安全性服务。传输层协议也能提供除了机密 性以外的其他安全性服务,包括数据完整性和端点鉴别。 
 

 

 



4 因特网提供的运输服务 因特网(更一般地说是 TCP/IP 网络)为应用提供了两个传输层协议:UDP 和 TCP(对应于 socket 编程的 SOCK_STREAM 和 SOCK_DGRAM)。    

 •TCP 服务    

TCP 服务模型是面向连接的可靠数据传输服务。

面向连接服务:使用 TCP 协议时,在应用程序开始交换消息之前,客户机程序和服务器 程序之间互相交换传输层控制信息,做好传输分组的准备。

在握手阶段后,就在两个进程的套接字之间建立了一个 TCP 连接。

这个连接是全双工的,即连接双方的进程都有发送和接收缓冲区,可以在此连接上同时进行报文段的收发。当应用程序结束消息发送时,必须拆除该连接。

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

其主要原理是报文段丢失了会进行重传。 

 



 
TCP 协议还具有拥塞控制机制,这种服务能为因特网带来整体好处。

•UDP 服务    

UDP 是一种不提供可靠传输服务的轻量级传输层协议。

UDP 是无连接的,因此在两个进 程通信前没有握手过程。

UDP 没有拥塞控制机制。    

 

 

•因特网传输层协议所不提供的服务     不提供吞吐量和时效性保证的服务。      

 


5 应用层协议     应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递消息。

特别是定义了: 交换的消息类型,如请求消息和响应消息。

各种消息类型的语法,如消息中的各个字段及其详细描述。    

字段的语义,即包含在字段中的信息的含义。    

进程何时、如何发送消息及对消息进行响应的规则。    

有些应用层协议是由 RFC 文档定义的,因此它们位于公共领域,例如 HTTP。 有些应用层协议是公司或者个人私有的,位于私人领域,例如 QQ。 
 


涉及的网络应用     Web、文件传输、电子邮件、DNS 目录服务和 P2P。重点需要了解 Web 和 DNS。 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值