计算机网络总结
第一章
-
端系统通过通信链路和分组交换机连接到一起。
-
hosts(主机)= endsystems(端系统):PCs, workstations, Web servers, mail servers, Internet-connected PDAs, WebTVs, etc.
-
链路的传输速率是以bps度量的。
-
communication links: wi red(fiber(同轴电缆), copper(铜线)), wireless:(radio(光纤), satellite(卫星))
-
分组交换机:路由器和链路层交换器。
-
六个不同的接入技术:
1. Dial-up modem over telephone line: residential;
2. DSL over telephone line: residential or small office;
3. Cable to HFC: residential;
4. 100 Mbps switched Etherent: company;
5. Wireless LAN: mobile;
6. Cellular mobile access (for example, WAP): mobile
-
端系统通过因特网服务提供商(ISP, Internet Service Provider)接入因特网.
-
HFC bandwidth is shared among the usersHFC是在用户间共享的。
-
TCP(Transmission Control Protocol)(传输控制协议)和IP(Internet Protocol)(网际协议)是互联网协议的集合。
-
与因特网相连的端系统提供了一个应用程序编程接口(Application Programming Interface, API).
-
主机又被分为客户机(Client)和服务器(Server)。
-
通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)和分组交换(packet switching)。
-
链路中的电路通过频分多路复用(Frequency-Division Multiplexing, FDM)和时分多路复用(Time-Division Multiplexing, TDM)实现。
-
总时延(total nodal delay):处理时延(nodal processingdelay)、排队时延(queuing delay)、传输时延(transmissiondelay)、传播时延(propagation delay)。
-
传输时延:是分组长度和链路传输速率的函数;传播时延:两台路由器之间的函数。
-
端到端时延:D(end-end)= d(proc)+d(trans)+d(prop)+d(queue).
-
任何瞬间的瞬时吞吐量是接收方接受到该文件的速率(bps)。
-
因特网中对吞吐量的限制因素通常是接入网。
-
因特网的七层ISO参考模型:应用 表示 会话 运输 网络 链路 物理;
五层协议栈:应用 运输 网络 链路 物理。
-
端到端的传输时延:
-
端到端的传播时延= 。
第二章
-
应用层协议原理
1)网络应用程序体系结构:1.client-server.2.P2P .3.server/client-p2p
e.g p2p应用程序:Skype.IPTV….
2)进程通信
进程通过套接字(socket)在网络上发送和接收报文。
3)可供应用程序使用的运输服务
应用程序服务要求:1.可靠数据传输(reliabledata transfer)
2.吞吐量(throughput)
3.定时(Timing)
4.安全性(Security)
4)因特网提供的运输服务
某些应用程序的服务要求
-
TCP服务
面向连接.可靠数据传输.拥塞控制(当发送方和接收方之间的网络出现拥塞时,会抑制发送进程速率)。.全双工(双方的进程可以在此连接上同时进行报文收发)
-
UDP服务
无连接.不可靠。无拥塞控制机制。不提供时延保证
流行的因特网应用及其应用程序协议和支撑的运输协议
-
Web和HTTP
-
HTTP(超文本传输协议)hypertext transfer protocol
-
HTTP协议定义了报文的格式以及客户机和服务器交换报文的方式。
-
URL:UniformResource Locator。统一资源定位符。标识万维网WWW上的各种文档,全网范围唯一。
-
URL地址组成:
存放对象的服务器主机名和对象的路径名。
如
http://www.someSchool.edu/somedepartment/picture.gif
前一段是主机名,后一段是路径名
-
HTTP协议使用的底层运输协议是TCP。工作过程:创建TCP连接->交换报文->关闭TCP连接。
-
HTTP默认方式是使用流水线方式的持久连接。
-
非持久HTTP连接:一对一的传送。
-
持久HTTP连接 :一对多(一个TCP连接可以上传多个对象)
-
RTT:(Round-TripTime):包括传播时延,排队时延,处理时延。
-
三次握手:Client TCP连接->server TCP ACK->Client 发送包含HTTP请求与TCP确认的报文。总相应时间=2RTT+文件传输时间。
-
持久连接两种方式:非流水线方式,流水线方式。
-
HTTP响应状态码:
200 OK
请求成功,请求的对象在这个报文后面
301 Moved Permanently
请求的对象已转移,新的URL在响应报文的Location:首部行中指定
400 Bad Request
请求报文不为服务器理解
404 Not Found
请求的文档没有在该服务器上发现
505 HTTP Version Not Supported
服务器不支持请求报文使用的HTTP版本
三.文件传输协议:FTP
1.FTP与HTTP的比较。
FTP使用了两个并行的TCP连接
HTTP协议是有状态的
FTP协议是无状态的
-
因特网中的电子邮件。
1.结构:1).用户代理
2).邮件服务器
3).SMTP协议 (simplemessage transfer protocol)
2.与HTTP的比较
相同点:都用于从一台主机向另一台主机传送文件
持久HTTP和SMTP都使用持久连接。
不同点: HTTP是拉协议(pullprotocol):用户使用HTTP从服务器拉取信息。 其TCP连接是由想获取文件的机器发起。
SMTP是推协议(push protocol):发送邮件服务器把文件推向接收邮件服务器,其TCP连接是由要发送文件的机器发起。
-
IMAP(InternetControl Message Protocol)
-
DNS(Domain NameSystem)
-
进行主机名到IP地址的转换。
-
DNS协议运行在UDP之上,使用53号端口。
-
世界范围的13个根名字服务器
-
P2P应用和P2P体系结构
文件分发时间-> C-S结构
对服务器: N个对等方,故必须发送(上载)N份文件副本: NF/us
对每一个客户(对等方):必须下载一个文件副本
dmin = min{d1 , d2 , …, dN }
最慢下载数率的客户下载时间: F/dmin
Dc-s > max{NF/us,,F/dmin}
文件分发时间->
P2P结构
对服务器: 最少发送一份文件副本: F/us
对每一个客户(同C/S结构): :F/dmin
对所有客户+服务器: 必须向网络上载NF(N个文件副本供N个客户下载);而上载总数率=us + Sui
DP2P > max{F/us,, F/dmin,,NF/(us + ui)}
第三章
-
UDP: 无连接传输;TCP: 面向连接传输;TCP 拥塞控制
-
运输协议运行在端系统中:
(1)发送方:将应用报文划分为段(segment),传向网络层
(2)接收方:将段重新装配为报文(fragment),传向应用层
-
可供应用使用的运输协议不止一个。例如:因特网:TCP和UDP
-
网络层: 主机间的逻辑通信,运输层: 进程(process)间的逻辑通信。
-
网络层协议(IP):尽力而为交付服务(它是不可靠服务,因为不确保 能交付、按序交付及完整性)。
-
UDP(用户数据报协议):UDP段可能丢包或对应用程序交付失序;它是不可靠、不按序交付的协议。
(1)无连接:在UDP发送方和接收方之间无握手;每个UDP段的处理独立于其他段
(2)进程到进程的“数据交付”和“差错检查”(最低限度的2种运输层服务)
(3)常用于流式多媒体应用;丢包容忍、速率敏感
(4)UDP检验和(用于检测在一个传输分组中的比特错误):
发送方:段内容的加法(先求和(如溢出要回卷)),再求反)
接收方:核对计算出的和是否等于全1;
NO – 检测到差错,YES –无差错检测到(但可能会有两个错)。
-
可靠数据传输:不可靠信道(udt)的特点决定了可靠数据传输协议 (rdt) 的复杂性。
Rdt3.0 停等协议的运行
实际发送一个分组到R信道中所需的时间是:T=L/R
ACK 到达,发送下一个分组:t = RTT + L / R
发送方利用率U:U=(L/R)/(RTT+L/R)
-
流水线协议
发送方允许发送多个、“传输中的”,还没有应答的报文段;序号的范围必须增加、发送方和(或)接收方设有缓冲
流水线协议的两种形式:(1)回退N步法(go-Back-N,GBN)
(2)选择性重传(SR)
-
TCP(传输控制协议):可靠的、按序的交付
(1)可靠数据传输
(2)拥塞控制:非正式地解释为“太多的源发送太多太快的数据,使网络来不及处理”。
流量控制:发送方不能发送太多、太快的数据让接收方缓冲区溢出。
表现:1、丢包 (路由器缓冲区溢出) 2、长时延 (路由器缓冲区中排队)
控制拥塞的两类方法:
(1)端到端的拥塞控制:不能从网络得到明确的反馈,从端系统根据观察到的时延和丢失现象推断出拥塞,这是TCP所采用的方法
(2)网络辅助的拥塞控制:路由器为端系统提供反馈,一个bit指示一条链路出现拥塞,指示发送方按照一定速率发送;分类:直接网络反馈,经由接收方的网络反馈。
TCP序号和确认号
序号:报文段中第1个数据字节在字节流中的位置编号;
确认号:期望从对方收到下一个字节的序号
问题:接收方如何处理失序报文段?
回答:TCP规范没有说明, 由实现者自行选择实现: 抛弃/缓存
问题: 如何设置TCP 超时值?
应大于RTT,但RTT是变化的;太短: 过早超时,不必要的重传;太长: 对报文段的丢失响应太慢。
TCP 连接管理(三次握手):
步骤 1: 客户机向服务器发送 TCP SYN报文段(指定初始序号,没有数据)
步骤 2: 服务器收到SYN报文段, 用SYN ACK报文段回复(服务器为该连接分配缓冲区和变量,指定服务器初始序号)
步骤 3: 客户机接收到 SYN ACK, 用ACK报文段回复,可能包含数据。
TCP 关闭连接:
步骤 1: 客户机向服务器发送TCP ,FIN控制报文段
步骤 2: 服务器收到FIN,用ACK回答。关闭连接,发送FIN
步骤 3: 客户机收到FIN,用ACK回答。(进入 “超时等待” – 将对接收到的FIN进行确认)
步骤 4: 服务器接收ACK,连接关闭
-
不可用的服务:
吞吐量(带宽保证)
定时(时延保证)
安全性(机密性保证)
-
Internet层的复用与分解
ICMP Protocol UDP Protocol TCPProtocol
(因特网控制报文协议) (用户数据报协议) (传输控制协议)
IP module(模块)
Data-gram Arrives
-
复用/分解
(1)主机接收IP数据报,每个数据报承载1个运输层段;每个段具有源、目的端口号 (HTTP端口号80、FTP端口号21)
(2)主机使用IP地址&端口号将段定向到适当的套接字,然后报文段中的数据通过套接字进入其所连接的进程。
-
无连接分解
UDP套接字由二元组标识 :(目的地IP地址, 目的地端口号);
当主机接收UDP段时:(1)在段中检查目的地端口号;(2)将UDP段定向到具有该端口号的套接字
具有不同源IP地址和(或)源端口号的IP数据报定向到相同的套接字
-
面向连接分解
TCP套接字由四元组标识: 源IP地址、源端口号、目的IP地址、目的端口号;接收主机使用这四个值来将段定向到适当的套接字。
服务器主机可能支持许多并行的TCP套接字:每个套接字由其自己的四元组标识;Web服务器对每个连接的客户机具有不同的套接字,非持久HTTP将为每个请求具有不同的套接字。
-
小结:运输层服务依据的原则:1、多路复用与多路分解 2、可靠数据传送 3、流量控制 4、拥塞控制 5、连接管理
第四章
-
网络层的分组名称是数据报(datagram)。路由器(router)根据包的IP地址转发包。链路层根据包的MAC地址来转发包。
-
地址空间:MAC是6字节,IPv4是4字节,ipv6是16字节,也就是分别是2的48次方,2的32次方,2的128次方
-
数据报网络中网络层的两个重要功能:
路由选择(routing)是当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。
转发(forwarding)是当一个分组到达路由器的一条输入链路时,该路由器将该分组移动到适当的输出链路。
虚电路网络层的三个重要功能:路由选择,转发,呼叫建立。
-
数据报网络和虚电路网络都要使用转发表
-
Network VS transport layer service:
Network: between two hosts//网络层服务:主机之间
Transport: between two processes//运输层服务:进程之间
-
虚电路(Virtual-Circuit, VC)网络:仅在网络层提供连接服务的计算机网络;数据报网络(datagram network):仅在网络层提供无连接服务的计算机网络。
-
一条虚电路(VC)的组成:源和目的主机之间的路径;VC号,沿着该路径的每段链路一个号码;沿着该路径的每台路由器中的转发表表项。
-
一条虚电路在每条链路上可能具有不同的VC号。
-
IP address: 32-bit identifier for host, router interface
-
interface: connection between host/router and physical link
-
one IP address associated with each interface
-
子网掩码与IP地址逻辑与后获得网络号,路由器按最长匹配原则决定转发端口。
-
路由器的两个重要功能:运行路由算法/协议 (RIP, OSPF, BGP);将数据报从输入链路转发至输出链路。
-
输出和输入端口的缓存溢出可能导致延迟和丢包。
-
最大传输单元(Maximum Transmission Unit,MTU):一个链路层帧能承载的最大数据量。
-
一个IP地址在技术上是与一个接口相关联的,而不是与包括该接口的主机或路由器相关联的。
-
IP address:
subnet part (high order bits)//子网部分
host part (low order bits)//主机部分
-
子网:设备接口具有相同的子网部分,可以不需要中转路由器互相访问。(不含路由器,但其边界由路由器和主机端口决定)
-
因特网控制报文协议(ICMP, Internet Control Message Protocol): 用于主机和路由器彼此交互网络层信息.
-
IPv6 datagram format: fixed-length 40 byte header; nofragmentation allowed.
第五章
-
链路(link):沿着通信路径连接相铃节点的通信信道
-
链路层协议交换的数据单元成为帧(frame),每个链路层帧通常封装了一个网络层的数据报
-
链路层协议任务:将网络层的数据报通过路径中的单段链路节点到节点地传送;
特点:数据报在路径不同的链路上可能由不同链路层协议所承载
-
链路层协议服务:
成帧(framing)在一段数据的前后分别添加首部和尾部构成一个帧.确定帧界限
链路接入(link access)
可靠支付(reliable delivery)常用于易产生高差错率的链路
流量控制(flow control)避免接收方因缓冲区溢出而使帧丢失的情况
差错检测(error detection)
差错纠正(error correction)
半双工和全双工(half-duplex and full-duplex)全双工时,链路两端的节点可以同时传输分组;半双工时,一个节点不能同时进行传输和接收
-
传播时延对载波侦听过程图解
-
MAC是6字节(2的48次方),IPv4是4字节(2的32次方),IPv6是16字节(2的128次方)
-
在广播链路中,两个以上的节点同时传输帧时,所有节点都会收到这些帧,即发生碰撞。多个节点同时活动时,多址访问协议可确保广播信道进行有用的工作。
-
信道划分协议
频分多路复用(Frequency Division Multiplexing,FDM)
时分多路复用(Time Division Multiplexing,TDM)
波分多路复用(Wavelength Division Multiplexing,WDM)
码分多路复用(Code Division Multiplexing,CDM)
-
随机访问介质访问控制(随机访问协议)
ALOHA协议:纯ALOHA的效率是时隙的一半
CSMA协议:载波侦听多址访问协议
CSMA/CD协议:带碰撞检测的载波侦听多址访问协议
CSMA/CA协议:避免碰撞的载波侦听多址访问协议
-
轮询访问介质访问控制(轮流协议)
令牌传递协议要点:有帧传送时持有令牌、无帧传送时转发令牌、发送帧数超过最大帧数也要转发令牌(一个节点崩溃可能导致整个信道崩溃,一个节点释放令牌出现故障时的恢复)
-
PPP协议(点对点协议)
特点:简单,只检错,不纠错,具有透明性
标志字段:用01111110 的一字节字段来作开始和结束。
地址字段:唯一可能的值是:11111111
控制字段:唯一可能的值:00000011(这两个字段以后可能有其他值,现在只有固定值,所以可以不发送)