计算机网络基础

  计算机网络和因特网
1.描绘因特网:构成因特网的基本硬件和软件组件,为分布式应用提供服务的网络基础设施。
2.所有连入计算机网络的设备被称为主机或端系统。
3.端系统通过通信链路和分组交换机连接在一起。通信链路包括:同轴电缆,铜线,光纤,无线电频谱。链路的传输速率以bps度量,当从一台端系统发送数据时,发送端要将数据分段,并在每段加上首部字节,由此形成的信息称为分组。
4.路由器和链路层交换机是两种最著名的分组交换机。一个分组所经历的一系列通信链路和分组交换换机称为通过该网络的路径。端系统通过因特网服务提供商ISP接入因特网,每个ISP是一个由多个分组交换机和多段通信链路组成的网络。
TCP/IP是因特网中两个最为重要的协议,IP协议定义了在路由器和端系统中分组的格式,因特网标准是由因特网工程任务组IETF研发,其标准文档被称为RFC,请求评论。
涉及多台交换数据的端系统为分布式应用程序,应用程序都运行在端系统中,并不运行在分组交换机上。
与因特网相连的端系统提供了应用程序编程接口API,API规定了一个端系统上的软件通过网络基础设施向另一个端系统上的软件支付数据的方式。
因特网中的所有活动,涉及及到两个或多个通信的远程实体之间都受协议的制约。
一个协议定义了在两个或多个通信实体之间交换报文的格式和次序,以及在报文接收和传输所采取的动作,。
边缘路由器是端系统到任何其它端系统的路径上的第一个路由器。
以太网技术是当前网络中最为流行的接入技术,基于IEEE802.11技术的无线局域网,也被称为无线以太网和WIFI。
网络核心:互联了因特网端系统的分组交换机和链路的网状网络。
通过网络链路和交换机移动数据有两种基本方法:电路交换和分组交换,在电路交换网络中,沿着端系统通信路径,为端系统通信所提供的资源在通信会话期被保留,。分组交换中这些资源不会被预留。
电话网络是电路交换的例子,在双方通话之前,需在两者间建立一条连接,并且预留带宽。
因特网是分组交换网络的典范。
电路交换网中要么通过频分多路用实现,要么通过时分多路复用实现,FDM中,链路的频谱由所有连接共享,为每条连接专用一个频段,该频段的宽度称为带宽,TDM中,时间被划分为固定分区的帧,每个帧被分为固定数量的时隙,在创建连接时,网络在每个帧中为该连接指定一个时隙。
2.分组交换:应用程序在完成其任务时要交换报文,报文可包含控制信息,可包含数据,分组以该链路的最大传输速率传输。
3.多数分组交换机在链路的输入端使用存储转发传输机制,存储转发机制的原理是:在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收完整个分组,并因此引入了存储转发时延。
4.每个分组交换机都有多条链路与之相连,该分组交换机具有一个输出缓存(输出队列),如果到达的分组需要跨跃链路传输,但发现链路忙于传输其它分组,于是他必须在输出缓存中等等,因此除了存储转发时延外,还有排队时延。因为缓存的大小是固定的,所以可能在某一分组到达时,发现输出缓存已经被全部占了。由此便产生了分组丢失或丢包。
5.电路交换不考虑要求而预告分配传输链路的使用,这使得已经分配但还没有利用的时间浪费,分组交换使用按需方式传输数据,有时也被称为资源的统计多路复用。
1.3.2
路由器从与它相连的一条通信链路得到分组,并将分组转发到与它相连的另一条链路,但路由器如何选择它向哪条链路进行转发呢?每个通过网络的分组在它的首部包含了目的地址,当分组到达路由器时,该路由器检测该分组的目的地址,并向邻近链路发送,每台路由器具有一个转发表。用于将目的地址映射到输出链路,因特网具有一些特殊的选中协议,它们用于自动的设置,转发表。选路协议可以决定从每台路由器到目的地址的最短路径,并使用这些最短路径配置转发表。
实际看到分组在因特网中的端到端路径?traceroute软件
因特网是网络的网络,坐落在网络边缘的接入网通过分层的ISP层次结构与网络其它部分相连,该层次结构的最顶层是第一层ISP,其特性是:直接与其它每一个第一层ISP相连,与大量的第二层ISP和其他客户网络相连,覆盖国际区域,第一层ISP也被称为因特网主干。第二层ISP通常具有区域性或国家性覆盖范围。第二层ISP称为第一层ISP的客户,第一层ISP相对该客户而言是提供商,当两个ISP彼此直接相连时,它们被称为彼此是对等的。
在一个ISP中,某个ISP与其它ISP的连接点称为汇集点,就是一台或多台路由器组,通过它能与其它的ISP的路由器相连,因特网的拜年是相当复杂的,它由几十个第一层ISP和第二层ISP与数以千计的较低层ISP相连。
1.4分组交换网中的时延,丢包,吞吐量。
分组从一台主机出发,通过一系列路由器传输,并在另一台主机停止,会经受节点处理时延,排队时延:分组在链路上等待传输。
传输时延:假设分组以先到先服务方式传输,将分组所有的比特推向链路所需要的时间,。
传播时延:两个路由器之间的距离除以传播速率。
设计系统时流量强度不能大于1,假设分组达到队列的平均速率为a,R为传输速率,每个分组有两个比特,则比特到达队列的平均速率为La,流量强度为La/R.丢包。
traceroute 程序,图形化界面免费软件程序pingplotter
媒体分组化时延:出现在IP话音应用中,发送方在向因特网传递分组之前必须首先使用数字休的编码语音填 充分组。
吞吐量取决于数据流过的链路传输速率,当没有干扰流量时,吞吐量近似为沿着源和目的地之间路径的最小传输速率。吞吐量还取决于干扰流量,如时机许多数据流都通过一条链路传输,即使这条链路具有很高的传输速率,也可能成为文件传输的瓶颈电路。
1.5协议层次和它们的服务模型
为了给网络协议的设计提供一个纸醉金迷,网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件。一个协议可以用软件和硬件或两者的结合来实现。HTTP,SMTP等应用层协议通常都是在端系统中用软件实现的运输层的协议也是如此,因为物理层和数据链路层负责处理,跨特定链路的通信,它们通常在与给定链路相关的网络接口卡中实现,网络层经常是软件和硬件的混合体。
协议分层具有概念化和结构化的优点,分层提供了一种结构化方式来讨论系统组件,模块化使得更新系统组件更为容易,分层的一个潜在的缺点是某层可能重复其较低层的功能。而且,某层的功能可能需要仅在其他层才出现的信息。
各层的所有协议被称为协议栈,因特网的协议栈由物理层,链路层,网络层,传输层,应用层组成。应用层是网络应用程序及其应用层协议存留的地方。将位于应用层的分组称为报文 运输层提供了在应用层端点之间传送应用层报文的服务,有两个运输层协议。TCPUDP .TCP 是面向连接的服务,UDP提供无连接服务不提供可靠性,没有流量控制,没有拥塞控制。将运输层分组称为报文段,。
网络层:负责将称娄数据报的网络层分组从一台主机移动到另一台主机,运输层协议向网络层递交运输层报文段和目的地址,包括著名的IP协议,该协议定义了数据报中的各个字段以及端系统和路由器如何作用于这些字段,网络层也包括决定路由的选路协议。
链路层:因特网的网络层经过一系列路由器在源和目的主机之间发送分组,为了将分组从一个节点移动到下一个节点,需要链路层提供服务,链路层提供的服务取决于应用于该链路的特定链路层协议。如:某些协议基于链路提供可靠传递,即从传输节点跨越一条链路到下一个节点,不同于TCP。TCP是为从一个端系统到另一个端系统提供可靠传递,链路层的例子包括:以太网,WiFi,PPP,因为数据报从源到目的主机需要经过不同的链路,所以可能被不同链路上的不同链路层协议处理。将链路层分组称为帧。
物理层:链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素。而物理层的任务是将该帧中的一个一个比特从一个节点传办理到另一个节点。
开放系统互联的参考模型是:应用层,传输层,网络层,链路层,物理层,表示层,会话层,表示层的作用是使通信的应用程序可以解释交换数据的含义。包括:数据压缩,数据加密,数据描述。会话层的作用是提供数据交换的定界和同步功能。包括建立检查点和恢复方案。
数据从发送端系统的协议栈向下,上下链路层交换机与路由器的协议栈,进而向上到达端系统的协议栈。路由器和链路层交换机都是分组交换机。链路层交换机实现了链路层和物理层,路由器实现了网络层,链路层,物理层,尽管链路层交换机不能识别IP地址,但它可以识别第二层地址,如以太网地址。
应用层报文传送给运输层,添加运输层首部信息后构成运输层报文段,网络层添加源和目的地址构成网络层数据报,链路层添加自忆的信息创建链路层帧,在每一层中,分组包含两部分:首部字段和有效载荷字段,即上一层传来的分组。
攻击威胁下的网络。
坏家伙能够经因特网将恶意软件放入你的计算机。
病毒是一种需要某种形式的用户交互来感染用户设备的恶意软件,典型的例子是电子邮件附件,蠕虫是一种无需任何明显用户交互就能进入设备的恶意软件,特洛伊木马是隐藏在有用软件中的恶意软件。
坏家伙能够攻击服务器和网络基础设施。
拒绝服务攻击是一种宽泛类型的攻击,DoS使得合法用户不能使用网络:主机或其他基础设施。
弱点攻击:向目标主机上易受攻击的应用程序和操作系统制作精细的报文,以适当的顺序发送,可能导致崩溃。
带宽洪泛:向目的主机发送大量分组。导致链路拥塞,正常的分组无法到达服务器。
连接洪泛:攻击者在目标主机中创建大量和TCP连接,使目标主机陷入困境。
分布式DDos:攻击者控制多个源并让每个源向目标猛烈发送流量,即僵尸网络。
坏家伙能够伪装成你信任的人:生成具有任意源地址,分组内容和目的地址的分组,然后将这个人工制作的分组使办理到因特网中,将具有虚假源地址的分组进入因特网的能力称为IP哄骗。
坏家伙能够修改或删除报文 :中间人攻击。
ping命令与tracerout命令详解
ping -t ping指定的计算机直到中断,ctrl+c停止。直到按ctrl+C停止。
ping -a将地址解析为计算机名。
ping -n count发送 count指定的数据包数,默认为4.ping -n 6  www.swu.edu.cn
ping -l length发送包含有length指定的数据量的数据包,默认为32字节。
ping -f在数据名中发送“不要分段”标志,数据包就不会被路由上的网关分段。
ping -i ttl将生存时间字段设为ttl指定的值
ping -r count在记录路由中记录付出和返回数据包的路由
ping -w timeout指定超时间隔
traceroute命令详解:
tracert -d指定不对计算机名解析地址。
tracert -h max指定查找目标的跳转的最大数目
测试本机的网卡是否正确安装的常用命令:ping 127.0.0.1
netstat命令可以帮助网络管理员了解网络的整体使用情况,可以显示当前正在活动的网络连接的详细信息。
netstat -r 显示本机路由表的内容
netstat -s显示每个协议的使用状态
netstat -n以数字表格形式显示地址和端口。
netstat -a显示所有主机的端口号
ipconfig
分组嗅探器:Ethereal
第二章
2.1应用层协议原理
研发网络应用程序的核心是写出能够运行在不同的端系统和通过彼此通信的程序,当研发新应用程序时,你需要编写运行在多个端系统上的应用程序,不需要写在网络核心设备(路由,交换机)上,网络核心设备只在网络层及下面协议起作用。
网络应用程序体系结构:客户机、服务器体系结构,对等(p2p)体系结构。
在客户机/服务器体系结构中,服务器具有固定的,周知的IP地址,并且总是处于打开状态。一台服务器主机常会出现跟不上所有客户机请求的情况,便用主机群集(服务器场)创建强大的虚拟服务器,基于客户机/服务器的应用服务通常是基础设施密集的,如:搜索引擎,因特尔商务,电子邮件。
在P2Pk ,对总是打开的基础设施服务器有最小的依赖,这种对等方通信不需要经过专门的服务器,目前,大多数流行的流量密集型程序都是P2P结构的,如BitTorrent,emule,skype,IPTV
某些应用具有混合的体系结构,由客户机/服务器与p2p结合,如对于许多即时讯负责而言,服务器场用于跟踪用户的IP地址,用户到用户的报文则直接发送。
P2P体系结构的最突出特性之一是它的自扩展性,如:在一个p2p文件共享中,尽管每个对等方都由请求文件产生负载,但每个对等方向其它对等方文件增加了系统的服务能力。p2p通常不需要很大的服务器基础设施和服务器带宽,是成本有效的。
2进程通信
在操作系统中,进行通信的实际上是进程而不是程序,当运行在相同的端系统上时,使用进程间通信机制相互通信,不同端系统上的进程通过跨越计算机网络交换报文通信,客户机进程和服务器进程,进程与计算机网络之间的接口--套接字,套接字是一台主机内应用层与运输层之间的接口,也称为应用程序与网络之间的应用程序可编程接口,应用程序开发者可以控制套接字在应用层端的所有东西,但对传输层几乎没有什么控制:选择运输层协议,设定运输层参数。
3.可供应用程序使用的运输服务:可靠数据传输,吞吐量,定时,安全性。
确保由应用程序一端发送的数据正确的,完全的交付给应用程序的另一端,如果一个协议提供了这样的确保数据交付服务,便提供了可靠数据传输。
具有吞吐量要求的程序,称为带宽敏感的应用,可用吞吐量是指发送进程能够向接收进程交付比特的速率,现在许多多媒体应用是带宽第三的。带宽敏感的应用需要提供一定的吞吐量,而弹性应用能够根据需要充分利用可供使用的吞吐量。如E-mail,文件传输。web.
因特网提供的运输服务:TCP服务包括面向连接服务与可靠数据传输服务,面向连接服务指:在应用层数据报文开始流动之前,客户机与服务器互相交换运输层控制信息,并在套接字之间建一个TCP连接。拥塞控制。
UDP服务:提供最小服务,无连接,不可靠数据传输服务,无拥塞控制,目前的因特网运输层并没有提供吞吐量和定时这两个服务,TCP在应用层可以通过SSL提供安全服务。
进程寻址:为了识别接收进程,需要提供1.该主机的名称为地址。主机上接收进程的标识,主机是用IP地址标识,除了知道报文去往的主机的IP地址,发送程序必须识别运行在该程序上的接收进程,端口号就是服务于这个目的的。
5.应用层协议:定义了运行在不同端系统上的应用程序进程如何相互传递报文,特别定义了:交换的报文类型,如请求报文和响应报文,报文类型的语法,字段的语义,进程何时如何发送。应用层协议只是网络应用的一部分。
WEb应用和HTTP协议
Web的应用层协议是超文本传输协议。HTTP。HTTP协议由两部分程序实现:一个客户机程序和一个服务器程序,通过交换HTTP报文 实现,HTTP定义了报文的格式以及如何如何进行报文交换,HTTP使用TCP作为它的运输层支撑协议,HTTP是一个无状态协议,即服务器并不存储任何关于客户机的信息。非持久连接和持久连接:HTTP的默认模式使用了流水线方式的持久连接。
Http报文格式:
GET /somedir/page.html    HTTP/1.1
Host:www.someschool.edu
Connection:close
User-agent:Mozilla/4.0
Accent-language: fr
请求行有三个字段:方法字段,URL字段和HTTP协议版本字段,方法字段可以取值,get,post,head,put,delte。首部行Host: www.someschoole.edu 定义了目标所在的主机。Connection:close.要求服务器在发送完被请求的对象后就关闭连接,在首部行后有一个实体主体,若使用get方法,该实体主体为空,在使用post方法时才用HEAD方法与get方法相似,服务器收到使用head方法的请求时,会用一个HTTP报文响应,但并不会返回请求对象。put方法被应用程序用来向服务器上传对象,利用delete方法,用户或应用程序可以删除服务器上的对象。HTTP响应报文:
HTTP/1.1   200   ok
Connection:close
Date:Thu,03 Jul 2003 12:00:15 GMT 
server:Apache/1.30
Last-Modified:Sun,6,May 2007 09:23:24 GMT 
Content-Length:6821
Conntent-type:text/html
查看真实的HTTP响应报文 ?使用telnet工具登录到Web服务器。
用户与服务器的交互-Cookie,Cookie技术有四个组成部分,在HTTP响 应报文中有一个Cookie首部行,在HTTP请求报文中有一个首部行,在用户端系统保留一个Cookie文件,在Web站点有一个后端服务器,Web缓存:在因特网上部署WEB缓存有两个主要原因:可以大大减少对客户机的响应时间,可以大大减少一个机构内部网与因特网接入链路上的通信量,从而不必急于增加带宽,节省了费用。整体上降低了因特网上的Web流量,从而改善了所有的性能。
条件GEt方法:尽管高速缓存能减少用户响应的时间,但引出另一个问题,Web缓存所拷的对象是阵旧的。便使用了条件GET方法:请求报文使用GET方法,请求对象中包含一个if-modified-since首部行。
2.3文件传输协议--FTP
用户通过一个FTP用户代理与FTP交互,该用户首先提供远程主机名,使本地的FTP客户机进程建立一个到远程FTP服务器的TCP连接,然后该用户提供用户标识和口令,一旦服务器授权,用户便可以上传和下载文件,HTTP和FTP都是文件传输协议,并且都运行在TCP上,但FTP使用两个并行的TCP连接,一个是控制21端口连接,一个是数据连接,控制连接用于在两个主机中传输控制信息,如:用户标识,口令,改变远程目录的命令以及put和get文件的命令,因为FTP使得一个分离的控制连接,所以也称为FTP的控制信息是带外传送的。用于控制音频,视频等连续媒体传输的,RTSP协议也是带外传送,HTTP是带内发送控制协议。针对整个FTP传输而言,控制连接穿过了整个用户会话层,而数据连接是非持久的。FTP服务器必须在整个会话期间保留用户的状态信息。
FTP服务器必须在整个会话期间保留用户的状态信息,
FTP命令:user username pass password list retr filename stor filename
2.4 电了邮件
因特网电子邮件系统主要有三个组成部分,用户代理,邮件服务器和简单邮件传输协议,邮件服务器组成了电子邮件体系结构的核心。每个接收方在其中的某个服务器上有一个邮箱,一个典型的邮件发送过程:从发送方的用户代理开始,传到发送方的邮件服务器,再传到接收方的邮件服务器,然后分发给接收方邮箱。SMTP是因特网电子邮件中主要的应用层协议,使用TCP可靠数据传输SMTP用于从发送方的邮件服务器发送报文到接收方的邮件服务器,SMTP限制所有邮件报文的主体部分,只能采用的七位ASC码,在使用SMTP发送邮件时,需要将二进制多媒体数据编码为ASC码,并且在传输后再还原为多媒体数据。HTTP不需要转换。
SMTP一般不使得中间邮件服务器发送邮件。首先,发送邮件服务器在25号端口发起一条到接收邮件服务器的TCP连接,连接建立后,便执行一些应用层的握手,指明发送方的邮件地址和接收方的邮件地址。然后便发送报文。
telnet serverName 25与SMTP服务器直接对话
2.与HTTP对比:HTTP是一个拉协议,SMTP是一个推协议,在如何处理一个包含文本又包含图形的文档时,HTTP把每个对象封装到它自己的HTTP响应报文中,而因特网电了邮件则把所有报文对象放在一个报文 中。
邮件报文格式与MIME
每个首部行都包含有一个From:首部行和一个To,首部行,可以包含一个subject首部行,在首部行之后,紧接着是报文主体。
MIME:多用途因特网邮件扩展:为发送非ASC的内容,发送方的用户代理必须使用附加的首部行:Conntent-type:Content-transfer-Encoding
邮件访问协议:POP3第三版的邮局协议。IMAP因特网邮件访问协议。HTTP
用户代理不能使用SMTP从邮件服务器上获取文件,帮需要邮件访问协议。
SMTP用来将邮件从发送方的用户代理传送到发送方的邮件服务器也用于将邮件从发送方的邮件服务器传送到接收方的邮件服务器,通过pop3等从邮件服务器传送到接收方的用户代理。
POP3:简单的邮件访问协议,当用户代理找开了一个到邮件服务器端口110上的TCP连接后,POP3便开始工作了,分三个阶段:特许,事务处理,更新。特许阶段即用户发送口令以鉴别身份。
命令user   pass    事务处理阶段有两种方式,下载并删除,下载并保留。
当处理quit命令后,pop3服务器进入更新阶段。
IMAP:为用户提供了创建文件夹以及在文件夹之间移动邮件的命令,还提供了在远程文件夹中查询邮件的命令,另一个重要特性是它具有允许用户获取报文组件的命令。
基于WEB的电子邮件:在浏览器发送给web服务器时,使用HTTP协议。
邮件报文格式:
From:[email protected]
To:[email protected]
subject:searching for the meaning of life 
From 
To 
Subject
2.5DNS:因特网的目录服务
同HTTP,FTP,SMTP协议一样,DnS协议是应用层协议,原因为,DNSwget客户机服务器模式来在端系统之间通信,通过下面的端到端运输层协议传递报文,但DNS并不写用户直接交互,DNS为因特网上的应用程序提供将主机名转换为IP地址。
因特网上有两种方式可以用来识别主机:主机名和IP地址,人们喜欢主机名,路由器喜欢IP地址,于是产生了域名系统(DNS),DNS是一个由分层的DNS服务器实现的分布式数据库,允许主机查询分布式数据库的应用层协议,DNS服务通常是运行BIND软件的UNIX机器,运行UDP协议上的53号端口。
除了进行IP地址到主机名的转换外,DNS还提供重要的服务。
主机别名,一个复杂的主机名可以拥有多个主机别名,这个复杂的主机名也被称为规范主机名,主机别名比主机名更容易记忆,应用程序可以调用DNS来获得主机别名对应的主机名及IP。
邮件服务器别名:允许一个公司的邮件服务器与Web服务器具有相同的别名。
负载分配:DNS也用于在冗余的服务器之间进行负载分配,一个繁忙的WEB站点被冗余分布在多个服务器上,每个服务器运行在不同的端系统,有着不同的IP,一个规范主机名对应一个IP地址的集合。DNS在这些服务器之间旋转分配负载。
DNS工作机理:当某一应用程序要将主机名转换为IP地址时,将调用本地的DNs客户端口,并指向要转换的主机名,DNS客户端向网络中发送查询报文,运行在UDP协议经53号商品,DNS客户端收到回答报文传给应用程序,。
DNS的一种简单设计是只有一个DNS服务器,集中式设计出现的问题,单点故障,如果该服务器崩溃,因特网随之瘫痪,通信容量,远距离的集中式数据库,维护分布式,层次数据库,为了处理规模,DNS使用了大量的DNS服务器,它们以层次的方式组织,分布在全世界范围内。有三种类型的DNS服务器,根DNS服务器,TLD顶级域DNS服务器,权威DNS服务器。根DNs:因特网上有13个根DNS,大部分位于北美。
顶极或:负责顶级勤勉和所有国家的顶级域名。
权威DNS服务器:因特网上具有公共可访问主机(WEB服务器和邮件服务器)的组织机构必须提供公共可访问的DNS记录,这些记录将主机名映射为IP地址,由组织的权威DNS服务器保存,多数大学和公司实现和维护自己的DNS服务器。
根,顶级,权威都处于DNs的层次结构中,另有一类重要的称为本地DNS服务器,每个ISP都有一台本地DNS服务器,它起着代理的作用。当主机发出DNS请求时,首先发往本地DNs,本地DNS将请求转发到DNS服务器层次结构。
在查询DNs记录的时候用到了递规查询和迭代查询,实际中采用的模式是:从请求主机到本地DNs服务器的查询是递归的,其余的查询是迭代的。
DNs缓存:当一个Dns服务器接收一个Dns回答时,Dns服务器能将回答中的信息缓存在本地存储器中,DNS服务器在一段时间后(通常为两天)将丢弃缓存的信息。
DNS记录和报文:实现DNS分布式数据库的所有DNS服务器共同存储着资源记录,提供了由主机名到IP地址的映射。每个回答报文中包含一条或多条资源记录。资源报文是一个包。
含了下列字段的四元组。(Name,Value,Type,TTL)TTL为该记录的生存时间,
Type='A'  Name为主机名,Value为主机名的IP。
Type='NS'  Nameo 域,value为该域 中权威DNS服务器的主机名
Type="CNAME"  Name为主机别名,Value为规范主机名。
Type=“MX"  Name为邮件服务器别名,Value为规范邮件服务器名。
Dns只有查询和回答报文,他们具有相同的格式。
从正在工作的主机直接向某些DNS服务器发送一个查询报文,使用 nslookup程序在DNS 数据库中插入记录。
向某些注册登记机构注册域名,需要提供权威DNs服务器和辅助权威DNS服务器的名字和IP。对这两个权威服务器中的每一个,注岫登记机构确保将一个NS和一个A类型的记录输到TLD服务器。
PSP应用
三种特别适合用P2P设计的应用程序,种应用是文件分发,其中应用程序从单个源向大量的对等方发送文件,PSP的自我扩展性,第二种是在对等方社区中组织并搜索信息。Skype因特网电话最流行的p2p文件分发协议:BitTorrent
BitTorrent:参与一个特定文件分发的所有对等方的集合称为洪流,在洪流中,对等方彼此下载等长度的文件块,块长度为256kb.当一个对等方开始加入一个洪流时,它没有文件块,随着时间的推移,它将积累更多的文件块,当它下载文件块时,也在为多个对等方上传文件。
每个洪流具有一个基础设施结点,称为追踪器,当一个对等 方加入洪流时,它向追踪器注册。并周期性的通知追踪器它仍在洪流中,追踪器以这种方式跟踪洪流中的对等方。
当一个新的对等加入洪流时,追踪器从参与对等方集合中选择一些对等方并将其IP地址发送给该新的对等方,它具有对等方的列表,并试图与它们建立并行的TCP连接,我们将的呢与它成功的建立TCP连接的对等方称为领近对等方。
在任何时候,每个对等方都具有来自某文件块的子集,且不同的对等方具有不同的子集,Alice周期性地询问每个对等方他们所具有的列表文件块,如果Alice具有L个邻居,将获得L个块列表。Aclice对当前还没有的块发出请求。Alice向她的邻居请求哪些块?最稀罕优先
应当把她的块分发给哪些邻居?一种的对换算法,从她的领近对等方选择流入速率最高的四个邻居,将文件分发给这四个邻居,每隔10秒重新计算机速率并更换对等方,每隔30秒随机选择一个另外的邻居并向它发送块。
搭免费车是指只下载不上传文件,对换算法有效的消除了这种搭免费车问题。
在PSP区域中搜索信息
在p2p应用程序中,一个重要部分是信息索引,信息到主机位置的映射,在p2p文件共享系统中,有大量的对等方,他们都有很多文件可供共享,p2p文件共享系统有一个索引,它动态的跟踪这些记录。将文件信息映射到对等方的IP。即时应用程序,有一个映射用户与IP地址的映射。
集中式索引:由一台大型服务器提供索引,具有集中式索引的p2p文件共享系统,实际上是p2p与客户机/服务器混合的体系结构,许多即时记住程序采用这样的体系结构。缺点:单点故障,性能瓶颈,基础设施费用。侵犯版权。
查询洪泛:与集中式索引对应的完全分布式方法,建立在Gnutella协议上,索引全面的发布在不同的对等方区域中,在Gnutella中,对等方形成了一个抽象网络,覆盖网络。尽管一个定位和检索文件,查询洪泛与范围受限查询洪泛。
当新对等方加入时:首先必须发现该覆盖网络中其他对待方,有两种方法:让x维护一个对等方列表,可以联系维护这种列表的跟踪站点。随后建立TCP连接。
层次覆盖:结合上两种,与因特网调整连接并具有高可用性的对等方被指为超级对等方,超级对等方维护着一个索引,该索引维护了对等方的文件与IP的映射。使用范围受限查询。
分布式散列表,就用于电骡,产生一个全分布引,允许用户确定文件的所有位置不产生过多的流量 。
第三章   运输层
首先,我们将讨论运输层和网络层之间的关系,即研究运输层的第一个关键功能,将网络层的两个端系统之间的交付服务,扩展到运行在两个端系统上的不同进程之间的服务。运输层协议为运行在不同主机上的应用进程提供了逻辑通信,通过逻辑通信,应用进程好像直接相连一样。网络路由器仅处理该数据报的网络层字段。
运输层刚好位于网络层之上,运输层为运行在不同主机上的进程间提供了逻辑通信,网络层则提供了主机之间的逻辑通信,运输层只工作于端系统,运输层将来自于应用进程之间的报文移动到网络层。 
因特网运输层概述:提供TCP和UDP两种不同的协议,当设计一个网络应用进程时,必须指定使用哪一种协议,将运输层分组称为报文段,网络层分组称数据报,在网络层
有一个协议为IP,IP为主机之间了逻辑通信,IP的服务模型是尽力而为交付服务。IP被称为不可靠服务,每台主机有一个IP地址,UDP与和CP最基本的服务是将两个端系统之间的IP服务扩展为两个端系统上的进程之间的交付服务,将主机间交付扩展到进程间交付,称为运输层的多路利用与多路分解,进程间数据交付和差错检测是两种最低限度的运输层服务,也是UDP仅有的服务,TCP协议通过流量控制,序号,确认,定时器等技术确保可靠数据传输,还提供拥塞控制,。
多路复用与多路分解
多路复用与多路分解:将网络层所提供的主机到主机的服务扩展为在主机上运行的应用程序所提供的进程到进程间的服务。
在目的主机运输层从紧领其下的网络层接收到报文段,运输层负责将这些报文段中的数据交付给主机上运行的合适的进程。每一个进程有一个或多个套接字,相当于进程与网络之间传递数据的门户,运输层江没有直接将数据交付给进程,而是通过套接字来传递,套接字有唯 一的标识符,套接字的格式取决它是UDP套接字清空是TCP套接字。
将运输层报文段的数据交付给合适的套接字称为多路分解,从源主机的多个套接字中收集数据并加上头部信息从而生成报亠段,然后将报文段传递到网络层的工称为多路复用。每个报文段有特殊字段来指示所需交付的套接字,这些特殊字段是源端口号字段和目的端口号字段,端口号是一个16比特的数字,大小在0到65535之间,其中,0到时1023为周知端口号。主机上的每个套接字被分配一个端口号,当报文 段到达主机时,运输层检查该报文段的目的端口号。并将其定位到相应的套接字。
一个UDP套接字是由一个包含目的IP地址和目的商品号的二元组来全面标识的,因此,如果两个报文段具有不同的IP或源端口号,但具有相同的目的IP与目的端口号, 那么这两个报文段将通过相同的套近字定位到相同的进程中,。
TCP套接字是由一个四元组,源Ip,源端口,目标IP,目标端口组成,当一个报文段到达主机时,主机使用全部四个值将报文段定位到相应的套接字,与UDP不同,具有不同IP或不同端口号将被定位到不同的套接字。
端口扫描器nmap
连接套接字与进程之间并非总是有着一一对应的关系,许多高性能的服务器通常只有一个进程,但是 为每个连接的用户创建一个新的线程。
无连接服务UDP:
UDP从应用层得到数据,附加上多路分解与多路复用所需的源端口和目的端口号,及其他两个小字段,然后将形成的报文段将会网络层,网络层将该报文 段封装到一个IP数据报中,在发送报文段之前,发送方和接收方的运输层实体间没有进行握手,因此,UDP被称为无连接的。DNS使用UDP协议:使用UDP的应用是可以实现可靠数据传输的。可以通过在应用程序自身中建立可靠机制来完成。
UDP报文段结构:UDP首都只有四个字段,源端口,目的端口,长度,校验和,每个字段由两个字节组成。

你可能感兴趣的:(网络安全)