做ppt到哪个网站找图片有趣的网站名称
计网
一.概念
1.什么是Internet
节点:主机及其运行的应用程序、路由器、交换机
 边:通信链路,接入网链路主机连接到互联网的链路,光纤、网输电缆
 协议:对等层的实体之间通信要遵守的标准,规定了语法、语义、时序,TCP/IP协议
Internet是由一堆的网络通过网络互联设备连在一起的网络的网络,每个网络中都有节点、边、协议
 从服务角度看:互联网是分布式的应用进程以及为分布式应用进程提供通信服务的基础设施
网络结构:网络边缘、网络核心、接入网或物理媒体
2.网络边缘
网络边缘包括主机和网络应用程序
主机与主机之间有两种传输模式:
 ①C/S(Client/Server)模式:客户端向服务器请求数据,如web浏览器
 ②P2P模式:很少(甚至)没有专门的服务器,P2P传输模式中,每个参与节点既可以作为客户端,也可以作为服务器
 P2P模式就是为了解决C/S模式服务器负载高的问题
传输协议:
 ①TCP:多次握手,将不可靠的信息转为可靠的信息,有流量控制、拥塞控制,如Http、FTP
 ②UDP(用户数据协议):无连接、不可靠、无流量控制、拥塞控制、支持广播和多播,如流媒体、实时在线游戏
3.网络核心
网络核心包括分组交换机和链路
 
电路交换(也叫线路交换)中每个线路是独享的,每个呼叫建立起来就能保证性能
 如果没有数据发送,被分配的资源就会浪费
 电路交换通常被传统电话网络采用
 电路交换中:网络资源(如带宽)被分为片,如果没有数据,则资源片处于空闲状态
 具体的分法:
- 频分:按频率分,每个呼叫占用线路的一些频率
 - 时分:每个呼叫占用一定时间的线路
 - 波分:光通信中的频分,按电磁波的波长来分
 - 码分
 
如果一个交换机宕机,所有呼叫都会中断
 注意到,计算机的通信具有突发性,而线路交换的连接时间长,且会造成资源片的浪费,故不适合线路交换
分组交换:以分组为单位存储-转发方式
 网络带宽资源不再分为一个个片,传输时使用全部带宽
 主机之间的数据被分为一个个包,每个节点会完整接收这个包,然后发送给下一个节点
 
如果到达速率>链路的输出速率:分组将会排队,等待传输
 如果路由器的缓存用完了,分组将会被抛弃,也就是丢包
 这种分组方式实际上也是一种时分,叫统计多路复用
论证分组交换的共享性:
 若链路通信速率为1Mbps,每个用户的通信速率为100kbps,有10%的时间是活跃的
 对于电路交换: 1 M b p s 100 k b p s = 10 \frac{1Mbps}{100kbps} = 10 100kbps1Mbps=10,满足10人的通信
 对于分组交换: 1 − Σ n = 0 9 C 35 10 ∗ 0. 1 n ∗ 0. 9 35 − n = 0.4 % 1 - \varSigma^9_{n=0} C^{10}_{35}*0.1^n*0.9^{35-n} = 0.4\% 1−Σn=09C3510∗0.1n∗0.935−n=0.4%,35人通信只有0.4%的概率产生排队
 由于特殊原因,流量强度不能为1,所以只能9个人同时通信
分组交换网络按有无网络层的连接,分为数据报网络和虚电路网络
 数据报网络是一种在网络层提供无连接服务的计算机网络,数据报网络中每个数据分组(称为数据报)都独立地在网络中传输,并且每个分组都携带完整的目的地址
 虚电路网络是一种在分组交换通信中提供的面向连接的通信服务。在两个节点或应用进程之间建立起一个逻辑上的连接或虚电路后,就可以依次发送分组,并且接收端收到分组的顺序与发送端的发送顺序一致
 数据报的工作原理:数据报在通信之前无须建立连接,每一个分组都有独立路由,路由器根据分组的目标地址进行路由
 
4.接入网和物理媒体
住宅接入:modem(调制解调器,俗称猫)
 最早是将上网数据调制(modulate)在音频信号上,用电话线传输,在局端中将其的数据解调(demodulate)出来
 具体方式:用户的数据通过猫调制成特殊音频,通过电话线传输到交换器,交换器前会有一个猫将音频解调成数据
 但是这样就不能同时上网和打电话
接入网:digital subscriber line(DSL)
 在电话线的基础上,将上网数据分布在更高的音频,并将DSL的数据分开,一部分接入电话网,一部分接入互联网
 DSL的上下行的带宽的划分是不对称的,一般下行的大一些,如果是对称的,那就叫ADSL
线缆网络,形式与DSL类似,不过是通过电视的线缆
 线缆和光纤网络将整个家庭用户接入到ISP路由器
 各用户共享到线缆头端的接入网络
 还有用电力线接入互联网,不过我国比较少
企业接入网络:通过交换机的积累,将企业的网络一步步接入互联网
 目前企业用的大多是10Gbps的网,而家庭用的是1Gbps的网
无线接入网络:
 无线LANs:在建筑物内部可用
 广域无线接入:由电信运营商提供
物理媒体
导引型媒体:电缆、光纤、同轴电缆
 非导引型媒体:无线电
 同轴电缆:中间有铜芯,外面有铜网,形成一个同轴
 无线链路类型:地面微波、LAN、wide-area、卫星
5.互联网结构和ISP
ISPs(Internet Service Providers)互联网服务提供商
 端系统通过ISPs接入到互联网
 
ICP(Internet Cotent Providers)内容供应商
 例如谷歌,它会在全球建立自己的专网,以减少成本,其形式类似与ISPs
互联网结构:
 
 
IXP:Internet exchange point,网络交换点
 tier 1 ISP:国家或者国际范围的覆盖,点少但单宽高,如美国的BBN
 tier 2 ISP = regional ISP:区域型的ISP
 local ISP = access net:接入网,与端系统最近
ISP之间的连接:
- POP:高层面向底层的接入点
 - 对等接入:2个ISP互接,不涉及费用结算
 - IXP:多个对等ISP互联互通
 - ICP自己部署专用网络,同时和各级ISP连接
 
6.分组延迟、丢失和吞吐量
四种分组延迟:
- 节点处理延时:检查bit级差错,检查分组首部决定分组导向何处,微秒级
 - 排队延时:取决于路由器的拥塞程度
 - 传输延时:R=链路带宽,L=分组长度,延时=L/R,微秒到毫秒级
 - 传播延时:d=物理链路的长度,s=在媒体上的传播速度,延时=d/s。几微秒到几百毫秒级
 
R=链路带宽,L=分组长度,a=分组到达队列的平均速率
  流量强度 = L a R 流量强度 = \frac{La}{R} 流量强度=RLa
 由于数据包的到达是随机的,因此即使平均到达速率等于传输速率,仍然可能出现瞬时到达速率超过传输速率的情况。这将导致数据包在队列中等待,从而增加排队延迟。当流量强度趋近于1时,排队延迟会趋于无限大,因为任何微小的到达速率波动都可能导致队列长度的显著增加
Traceroute诊断程序:提供从源端,经过路由器,到目的地的延时测量
 原理:包的head部分和body部分之间有一个TTL(生存时间),每过一个路由器TTL-1,当TTL=0时会被打回,诊断程序就靠发送TTL为特定数字的包然后等待打回,然后计算延时
 实际上是利用了ICMP协议,ICMP(Internet Control Message Protocol)是互联网控制消息协议,是TCP/IP协议族中的一个子协议。ICMP协议定义了错误报告和其他回送给源节点的关于IP数据包处理情况的消息
分组丢失:链路的队列缓冲区容量有限,超出容量的就会丢失,丢失的包可能由上一个节点后者端系统重传,或者不重传
吞吐量:在源端和目标端之间传输的速率(数据量/单位时间)
 瓶颈链路:端到端路径上,限制吞吐的链路
7.协议层次和服务模型
服务:底层实体向上层实体提供通信的能力
 原语:上层使用下层服务的形式
 服务访问点(Services Access Point):使用下层提供的服务通过层间的接口地点,用于区分这个数据应该交给哪个上层实体
服务类型:
- 无连接的服务:对等实体之间不需要握手就通信,不可靠
 - 面向连接的服务:需要握手
 
数据单元(DU):
 
意思是下层的SDU传到上一层时会将head和body分开,head叫ICI,body叫SDU
 如果SDU过大,会分成好几个部分,如果过小,会将好几个SDU合成为一个
协议栈(从下到上):
- 物理层:在线路上传输bit
 - 链路层:相邻网络节点间的数据传输,协议:点对对协议PPP,802.11(wifi)
 - 网络层:为数据报从源到目的选择路由,不可靠,协议:IP、路由协议
 - 传输层:主机之间的传输,在网络层的基础上,细分为进程到进程,将不可靠的转为可靠的,协议:TCP、UDP
 - 应用层:网络应用
 
ISO/OSI参考模型:在传输层和应用层之间加了表示层:允许应用解释传输的数据,和会话层:数据交换的同步、检查点、恢复
 协议栈中这两层是在应用层实现的
 
H表示头部
 物理层的数据单元叫位(bit)
 链路层的数据单元叫帧(frame)
 网络层的数据单元叫数据报(datagram)
 传输层的数据单元叫报文段(segment)
 应用层的数据单元叫报文(message)
二.应用层
1.原理
可能的应用架构:C/S、P2P、混合体
 混合体:如Napster,文件搜索是集中在服务器上的,文件传输是通过P2P的
进程通信:在同一个主机内,使用进程间通信机制进行通信,不同主机之间,通过交换报文来通信
 分布式进程通信需要解决的问题及其方法:
 ①进程标识和寻址:SAP,由主机的32位的IP地址、传输层协议、端口号组成的数字
 本质上,一对主机进程之间的通信由2个端节点构成
 ②需要穿过层间的信息:要传输的数据(SDU)、谁传的(SAP)、传给谁(SAP)
 传输层实体根据这些信息进行TCP(UDP)报文段的封装
 如果Socket API每次传输报文都携带如此多的信息,容易出错
 可以用代号标识通信的双方或者单方:socket(套接字)
 TCP socket:4元组(源IP,源端口,目标IP,目标端口)
 对于使用面向连接服务(TCP)的应用而言,套接字是4元组的一个具有本地意义的标识
 UDP socket:2元组(本IP,本端口),因为两个进程之间的通信建立之前无需建立连接
 但是传输报文时,必须提供对方的IP、端口
 接受报文时,传输层需要上传对方的IP、端口
 ③如何使用传输层提供的服务实现应用:定义应用层协议:报文格式、解释、时序,编制程序
 应用层协议:定义了运行在不同端系统上的应用进程如何相互交换报文
 ④应用层需要传输层提供怎样的服务:数据丢失率、吞吐、延迟、安全性
 传输层提供的服务:TCP服务(可靠)、UDP服务(不可靠)
 安全TCP:TCP和UDP都没有加密,所有传输过去的数据都是明文
 所以有了一个在TCP上实现的SSL,可以加密数据再传输,比如:https
套接字 socket
进程向套接字发送报文或从套接字接收报文
 套接字<==>门户
2.Web和HTTP
Web页:由一些对象组成
 URL格式:协议名://用户:口令@主机名/路径名:端口
 HTTP:超文本传输协议
 传输过程:
- 客户端向服务器发送TCP连接,端口为80
 - 服务器接受客户端的TCP连接
 - 在浏览器与Web服务器交换HTTP报文
 - TCP连接关闭
 
现在的HTTP是无状态的,就是说服务器不维护客户端的任何信息
 非持久HTTP:最多只有一个对象在TCP连接上发送,HTTP/1.0默认使用非持久连接
 持久HTTP:多个对象可以在一个TCP连接上传输,HTTP/1.1默认使用持久连接
 响应时间模型:2RTT+传输时间,RTT(往返时间)
 非持久HTTP的缺点:每个对象要2个RTT,操作系统必须为每个TCP连接分配资源
 持久HTTP又分为流水式和非流水式
 非流水式的持久HTTP每个引用对象花费一个RTT
 流水方式的持久HTTP每遇到一个引用对象就立即产生一个请求,是HTTP/1.1的默认模式
HTTP的请求报文有两种:请求和响应
 
Post方式:网页通常也包括表单输入,包含在body中
 URL方式:方法:GET,包含在URL中
cookies:维护状态,用于记住你是谁,以文本形式存储在主机中
 cookies有4个部分:
- 在HTTP响应报文中有一个cookie的首部行
 - 在HTTP请求报文中有个cookie的首部行
 - 在用户端系统中保留有一个cookie文件,由用户的浏览器管理
 - 在Web站点由一个后端数据库
 
Web缓存(代理服务器),让用户不用访问原始服务器就满足用户的需求
 代理服务器也叫proxy server
 通常缓存是由ISP安装(大学、公司、居民区ISP)
 
如果有proxy,假设缓存能满足的占40%,剩下要请求原服务器,那平均延迟为1.2s
条件GET方法:在head中加上If-modified-since:
 作用:如果缓存中的对象是最新的,则不发送对象
3.EMail
3个主要组成部分:用户代理、邮件服务器、简单邮件传输协议:SMTP
 用户代理:又名"邮件阅读器",如Outlook,输出输入邮件保存在服务器上
 邮件服务器:输出报文队列保持发送邮件报文
 邮件服务器之间的SMTP报文:发送email报文
 
SMTP规定的传输的3个阶段:握手、传输报文、关闭
 报文必须为7为ASCII码
 SMTP要求持久连接
 SMTP服务器使用的CRLF.CRLF决定报文的尾部
 
邮件报文格式:
 RFC 822:文本报文的标准:
 首部行:To、From、Subject
 主体:报文
MIME:多媒体邮件拓展,在报文首部用额外的行申明MIME内容类型,用于将非ASCII内容附加到电子邮件中
POP3:邮局协议,是一种用于从邮件服务器检索电子邮件至本地客户端应用程序的应用层通信协议,POP3在会话中是无状态的(本地管理文件夹)
 IMAP:互联网消息访问协议,是一种用于从邮件服务器上获取电子邮件的协议,IMAP在会话过程中保留用户状态(远程管理文件夹)
4.DNS
Domain Name System:域名系统
 DNS的必要性:IP地址不好记忆,所以用与IP一一对应的DNS来方便记忆
 DNS域名结构:
 采用树状命名的方式
 根被划分为数百个顶级域:如通用的:.com、.net、.org,如国家的:.cn、.us、.jp
 每个顶级域下面可划分为若干个子域,子域又可以继续划分,直到主机
 所以主机就是树叶
 
域名的管理:一个域管理其下的子域
 .jp被划分为ac.jp、co.jp
 .cn被划分为edu.cn、com.cn
 创建一个新的域,必须征得它所在域的同意
 域与物理网络无关,域的划分是逻辑的,而非物理的
区域(zone):将DNS的名字空间划分为互不相交的区域,这个区域就是zone,每个zone都是树的一部分
 区域的划分由区域管理者自己决定
 每个区域都有一个名字服务器,维护所在区域的权威信息
 名字服务器允许被放置在区域外
 权威DNS服务器:组织机构的DNS服务器,名字服务器的一部分,提供组织机构服务器可访问的主机和IP之间的映射
 组织机构可以选择自己维护或某个服务提供商来维护
 顶级域(TLD)服务器:负责顶级域名和所有国家的顶级域名
区域名字服务器维护资源记录:
 资源记录:维护域名和IP的映射关系
 RR格式:(域名, ttl, type, class, value)
 ttl:生存时间
 class:类别,对于Internet,值为IN
 value:可以是数字,域名或者ASCII串
 type:资源记录的类型
 
本地名字服务器:并不严格属于层次结构,每个ISP都有一个本地DNS服务器
 当一个主机发送一个DNS查询请求时,查询会被送到本地DNS服务器
 一旦名字服务器学到了一个映射,就会将其缓存起来,如果一段时间内没人用就会删除(解决方案:ttl,默认2天)
 DNS大致工作过程:
- 应用调用解析器
 - 解析器作为客户向名字服务器发送查询报文(udp)
 - 名字服务器查询缓存,若有缓存则返回响应报文
 - 若无,分为递归查询和迭代查询两种
 - 递归查询:本地DNS服务器向根发送请求,根向下发送请求,最后从目标再一层层返回响应报文,缺点:根服务器负担重
 - 由本地DNS服务器依次向根、根的下一级、一直到目标所在的本地DNS服务器发送请求,最后返回响应报文
 
 
 
DNS协议:查询和响应报文的格式相同,报文首部包含是查询/响应,是否希望递归,应答是否为权威
新增一个域:在上级域的名字服务器中增加指向新增域的子域的域名和域名服务器的地址,要到注册登记机构注册域名
攻击DNS:
 DDoS攻击:向服务器进行流量轰炸,发送大量ping,对根服务器没用,对TLD服务器效果一般
 重定向攻击:截获查询,伪造问答或者发送伪造的应答给DNS服务器,希望能缓存这个假的结果。这个技术上比较困难
