计算机网络
2022-05-04 16:43:36 25 举报
AI智能生成
计算机网络教程、网络五层模型、谢希仁
作者其他创作
大纲/内容
运输层
运输层协议
计算机网络中进行通信的真正实体是位于通信<b>两端主机中的进程</b>。运输层协议又称为<b>端到端协议</b>。
运输层提供应用进程之间的逻辑通信
用户数据报协议:UDP,UDP报文。传输控制协议:TCP,TCP报文段。
文件传输:FTP->TCP;电子邮件:SMTP->TCP;网络管理:SNMP->UDP;名字转换:DNS->UDP;<br>IP地址选择:DHCP->UDP;路由选择协议:RIP->UDP;万维网:HTTP->TCP;远程终端接入:TELNET->TCP<br>
<b>复用</b>:应用层的所有应用进程都可以通过运输层再传送到IP层
<b>分用</b>:运输层从IP层接收到数据后必须交付给指明的应用进程(端口号)
熟知端口:FTP21,TELNET23,SMTP25,DNS53,TFTP69,HTTP80,SNMP161,SNMPtrap162<br>登记端口、动态端口
UDP
UDP用户数据报只提供不可靠的交付
UDP的特点
UDP是无连接的:发送数据前不需要建立连接,减少了开销和发送数据前的时延
UDP使用尽最大努力交付:不保证可靠交付,不使用流量控制和拥塞控制,因此主机不需要维持许多参数的连接状态表
UDP没有拥塞控制:网络出现的拥塞不会使源主机的发送速率降低(IP电话、视频会议)
<b>UDP是面向报文的</b>:应用程序交给UDP一个报文,UDP就发送这个报文;UDP收到一个报文,就把他交付给应用程序。<br>
UDP支持一对一、一对多、多对一和多对多的交互通信。
用户数据报只有8个字节的首部开销,TCP的首部有20个字节。
UDP报文格式
UDP报文有两个字段:<b>首部和数据字段</b>。首部字段:源端口+目的端口+长度+检验和。
<b>一个UDP端口与一个报文队列(缓存)关联</b>,一个队列面对多个连接,如果报文到达的速度长度大于应用进程从队列中读取报文的速度,<br>会导致队列溢出和报文丢失。<br>
TCP
TCP和UDP最大的区别就是:TCP是面向连接的,而UDP是无连接的。TCP在运输层使用了流量控制和拥塞控制机制。
TCP的特点
TCP是面向连接的运输层协议:应用程序在使用TCP提供的服务传递数据之前,必须先建立TCP连接,初始化状态变量,分配缓存等资源。
每一条TCP连接只能有两个端点:每一条TCP连接只能是点对点的(一对一)
TCP提供可靠交付的服务。无差错、不丢失、不重复,按序到达。
TCP提供<b>全双工通信</b>:允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都有发送和接收缓存,临时存放双向通信的数据。
<b>面向字节流</b>:TCP中的流指的是流入到进程或从进程流出的字节序列。
TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系(发送方应用程序交给发送方的TCP共10个数据块,而接收方的应用程序分4次(四个数据块)从TCP接收方缓存将数据读取完毕)。
<b>与UDP的端口队列不同的是</b>,<b>TCP的发送缓存和接收缓存都是分配给一个连接的</b>,而不是一个端口。TCP服务器进程用一个端口号与不同的客户端进程建立多个连接。
TCP报文
TCP虽然面向字节流的,但TCP传送的数据单元却是报文段。
TCP报文分为首部和数据两部分。TCP首部包括:源端口和目睹端口,序号、确认号、校验和、同步、终止等。
TCP的<b>可靠传输</b>
<b>数据编号和确认</b>
TCP协议是<b>面向字节</b>的,TCP把应用层交下来的长报文看成是一个个字节组成的数据流,并使每一个字节对应一个序号。
TCP每次发送的报文段的首部中的序号字段数值表示该报文段中紧接着首部后面的第一个数据字节的序号。
TCP使用<b>累积确认</b>,确认是对所有按序接收到的数据的确认。
<b>以字节为单位的滑动窗口</b>
为了提高报文段的传输效率,TCP采用<b>滑动窗口协议</b>。TCP发送窗口大小单位是字节
TCP发送方已发送的未被确认的字节数不能超过发送窗口的大小。
<b>超时重传时间的选择</b>
超时时间可能相对较长。
当一个报文段丢失,可能要等待很长时间才能重传丢失的报文段。
<b>快速重传</b>
通过收到多个重复的确认可以快速地判断报文段可能已经丢失而不必等待重传计时器超时
TCP的<b>流量控制</b>
一条TCP连接的双方主机都为该连接设置了接收缓存。放在接收缓存中的数据应用程序不一定马上读取。
TCP为应用程序提供了流量控制服务,以<b>解决因发送方发送数据太快而导致接收方来不及接收,使接收方缓存溢出的问题</b>。
TCP的<b>连接管理</b>
<b>TCP的连接建立</b>
主机A处于主动打开状态,主机B处于被动打开状态。
主机A向主机B发送连接请求;
主机B向主机A返回一个接受请求;
主机A向主机B发送一个发送确认。
<b>连接建立为什么要采用三次握手呢?</b>防止已经失效的连接请求报文段突然又传送到了主机B,因而产生错误。
发送多次建立请求连接报文,因网络延迟,此次连接关闭才发送给主机B的情况。
<b>TCP的连接释放</b>
主机A应用进程释放连接A不在发送数据;
主机B通知主机进程并向主机A发送确认;
此时处于<b>半关闭状态</b>,主机B仍然可以发送数据,主机A不能发送数据,但可以发送确认;
主机B应用进程释放连接,主机B不再发送数据;
主机A向主机B发送确认;等待超时后连接关闭。
<b>主机A的TCP不能马上释放整个连接,还要等待一个超时时间才能将整个连接释放。</b>
因为主机A的确认可能丢失。若在这段时间内,A收到B重传的FIN报文段,A需要再次确认。
TCP的有限状态机
<b>拥塞控制</b>
<b>拥塞</b>:网络中出现太多分组。如果网络中的<b>负载</b>(发送到网络中的数据量)超过网络的容量,就可能发生拥塞控制。
<b>拥塞控制:</b>防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。
避免:慢启动、拥塞避免、快重传、快回复
应用层
应用层协议
电子邮件:SMTP->TCP;远程终端访问:TELNET->TCP;万维网:HTTP->TCP;<br>文件传输:FTP->TCP;IP电话:专用协议->UDP;多媒体通信:专用协议->UDP/TCP<br>
域名解析DNS
<b>域名解析</b>:域名到IP地址的转换是由若干个域名服务器程序完成。
主机别名<br><b>负载分配</b>:DNS允许用一个主机名对应一个IP地址集合。<br>反向域名解析
域名解析过程
<b>主机</b>向<b>本地域名服务器</b>进行查询;
本地域名服务器以DNS客户的身份向某个<b>根域名服务器</b>继续发出查询请求;
根域名服务器把自己知道的<b>顶级域名服务器</b>的IP地址告诉本地域名服务器;
顶级域名服务器收到本地域名服务器的查询请求后,告诉本地域名服务器下一步应当向哪一个<b>权威域名服务器</b>进行查询。
WWW万维网
http默认端口80,http无状态协议
<b>域名解析到响应过程</b>
DNS解析域名的IP地址;
浏览器与服务器建立TCP连接;
浏览器与服务器建立TCP连接;
浏览器发出取文件命令;
服务器给出响应,把文件发送给浏览器;
释放TCP连接;
HTTP/1.0协议采用的<b>非持续性连接</b>方式,即一次请求/响应对应一个TCP连接。每次请求一个文档就要有两倍的RTT的开销。
HTTP/1.1协议使用<b>持续连接方式</b>,所谓持续连接就是万维网服务器在发送响应后仍然保持这条连接。
<b>HTTP报文结构</b>
<b>请求行/响应行</b>
<b>首部行</b>:每一个首部行中都有首部字段名和它的值
<b>实体主体</b>:通常是返回给客户的文档。
在服务器上记录用户信息:Cookie。
当张三初次访问某个使用Cookie的网站时,该网站的服务器为张三产生一个唯一的Cookie识别码。当张三再次访问网站时,每发送一个HTTP请求报文,HTTP请求报文携带Cookie,
电子邮件
邮件发送协议:SMTP,邮件读取协议:POP3
文件传输协议
FTP
远程终端协议
TELNET
动态主机配置协议
DHCP
物理层
物理层基本知识
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输<b>数据比特流</b>,<b>而不是值具体的传输媒体。</b>
模拟信号,或连续信号——消息的参数的取值是连续的。
数字信号,或离散信号——消息的参数的取值是离散的。
传输方式:并行/串行传输、异步/同步传输、单工/半双工/全双工通信
传输媒体
双绞线
同轴电缆
光纤
信道复用技术
复用就是通过一条物理线路同时传输多路用户的信号。
频分复用
时分复用
波分复用
码分复用
数据链路层
点对点信道的数据链路层
链路:从一个节点到相邻结点的一段物理链路。<br>数据链路:物理线路+必要的通信协议。<b>网路适配器</b>(拨号上网使用拨号适配器,以太网上网使用局域网适配器)来实现这些协议的硬件和软件。<br>
<b>封装成帧</b>:首部和尾部的作用之一是进行帧定界,同时也包括其他必要的控制信息。用控制字符进行帧定界(首位加flag标志,帧中间出现的话flag前面加转移字符)。
PPP协议使用 ”01111110“。PPP协议采用的<b>零比特填充法</b>说明比特填充是如何实现透明传输的。<b>只要发现有5个连续1,则立即填入一个0</b>。
<b>差错检验</b>:比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1.
<b>差错检验码</b>实现差错检验的基本原理。在数据链路层通常使用<b>循环冗余检验</b>(CRC)技术进行差错检验。
<b>可靠传输</b>:发送方发送什么,在对应的接收端就收到什么。
可靠传输协议就是要在不可靠的信道上实现可靠的数据传输服务。
<b>停止等待协议</b>:发送方每发送完一个分组必须停下来等待收到确认后才能发送下一个分组。
<b>超时重传</b>
点对点协议
PPP特点:简单、封装成帧、透明性、差错检验、等。
PPP的帧格式:首部+尾部+IP数据报。首部和尾部有标志字段G。
局域网
局域网拓扑
网络适配器:<b>进行数据串行传输和并行传输的转换</b>。适配器和局域网之间的通信是通过<b>电缆或双绞线以串行传输方式</b>进行的。适配器和计算机之间的通信则是通过计算机<b>主板上的I/O总线</b>以并行传输方式进行的。
MAC地址:每个发送的帧中必须携带标识接收站点和发送站点的地址,MAC地址。
802标准为局域网规定了一种48位的全球地址,是指局域网上的每一台计算机中<b>固化在适配器ROM中的地址</b>。
适配器的<b>过滤功能</b>:适配器从网络上每收到一个MAC帧就先用硬件检查MAC帧中的目的地址。如果是发往本站的帧就收下,否则将丢弃此帧。发往本站的帧:<b>单播</b>、<b>广播</b>、<b>多播</b>。
共享式以太网
CSMA/CD协议
网桥和以太网交换机
无线局域网
网络层
网络层
网络层关注如何将分组从源主机沿着网络路径送达目的主机。为了将分组送达目的主机,有可能沿路要经过许多跳中间路由器。
<b>分组转发</b>:当一个<b>分组</b>到达路由器的某一条链路时,该路由器必须将该分组转发到适当的输出链路。为此,在每个路由器中需要有一个<b>转发表</b>,路由器在转发分组时,根据到达分组首部中的转发标识在<b>转发表</b>中查询。
<b>路由选择</b>:当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。<b>生成供分组转发使用的转发表</b>。
虚电路网络:可靠通信应当由网络来保证;必须有连接的建立;
数据报网络:可靠通信应当由用户主机来保证;不需要连接的建立;
网际协议IP
地址解析协议ARP:逆地址解析协议:RARP;网际控制报文协议:ICMP;网际组管理协议:IGMP
物理层使用的中间设备叫做<b>转发器</b>。
数据链路层使用的中间设备叫做<b>网桥</b>或<b>桥接器</b>
网络层使用的中间设备叫<b>路由器</b>
网络层以上使用的中间设备叫做<b>网关</b>
IP地址
IP地址及编址方式:分类编址、划分子网、无分类编址
IP地址和子网掩码二进制做与运算得到网络地址。同样的IP地址和不同的子网掩码可以得出相同的网络地址。
128.14.35.7/20=<u>10000000 00001110 0010</u>0011 00000111,前20位是网络前缀,后12位是主机号。最小地址:128.14.32.0,最大地址:128.14.47.255
IP地址和物理地址:IP地址放在IP数据报的首部,而物理地址则放在MAC帧的首部。在局域网中,物理地址已固化在网卡的ROM中。
<b>地址解析协议ARP</b>
解决IP地址与物理地址的动态映射问题。在主机<b>ARP高速缓存</b>中存放一个从IP地址到物理地址的映射表,并且不断动态更新映射表。
<b>为什么不直接用物理地址通信</b>?由于存在各式各样的网络,它们使用不同形式的物理地址。如果要使这些异构网络能够互相通信就必须进行<b>复杂的物理地址转换工作</b>。但统一的IP地址把这个复杂的问题解决了。
<b>IP数据报格式</b>:首部和数据两部分。首部包括:首部长度、版本、协议、首部校验和、源地址、目的地址等。
IP数据报的转发<b></b>
<b>路由表包含</b>:目的网络地址、掩码、下一跳、接口。用一个IP并不能标识一个网络,因此在路由表中除了目的网络地址外还要有一个地址掩码(合起来等价于一个网络前缀)。
将目的地址的IP与路由表中每一行的子网掩码进行与运算,判断是否等于子网掩码对应的目的网络地址。
路由聚合
最长前缀匹配
网际控制报文协议ICMP
ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
<b>ICMP差错报告报文</b>:重点不可达3、源点抑制4、超时11、参数问题12、改变路由5
<b>ICMP询问报文</b>:回送请求和回答、时间戳请求和回答
ICMP重要应用就是<b>分组网间探测</b>,用来测试两个主机之间的连通性。
<b>traceroute/tracert</b>:跟踪一个分组从源点到终点的路径。
路由选择协议
内部网关协议IGP:具体协议RIP、OSPF等
外部网关协议EGP:目前使用的协议就是BGP
<b>路由器的工作原理</b>
构成:<b>路由选择</b>核心是路由选择处理机,任务是根据所选定的路由选择协议构造路由表。<b>分组转发</b>包括:交换结构、一组输入端口和一组输出端口(端口指硬件接口)
<b>输入端口</b>:<b>转发</b>就是路由器根据转发表把收到的IP数据报从路由器合适的端口转发出去。转发仅仅设计一个路由器,路由选择涉及很多路由器。路由表是许多路由器协同工作的结果。
交换结构:将某个输入端口进入的分组根据查表的结果从一个合适的输出端口转发出去。
输出端口:输出端口从交换结构接收分组,然后把它们发送到路由器外面的线路上。
路由器和交换机区别:
交换机最大优点在于即插即用(主机感觉不到交换机的存在),具有相对高的分组过滤和转发速度(第二层)。
交换的缺点:由于MAC地址是平坦的,一个大型交换机网络要求交换机维护大的转发表,也将要求在主机中维护大的ARP表,并会产生和处理大量的ARP广播。
路由器优缺点与交换机相反:优点是能提供更加智能的路由选择(路由器的网络寻址是层次的),并能隔离广播域(不会无目的的转发广播分组)。
缺点就是不是即插即用的,网络管理员要为路由器的每个接口小心地配置IP地址,用户需要在主机中配置默认路由器的IP地址。
三层交换机:一次路由,多次转发/交换。一个路由器和支持VLAN的二层交换机的集成体。三层交换机可以很方便的直接将多个VLAN在IP层进行互连。
VPN和NAT
虚拟专用VPN:仅在本机构有效的IP地址称为<b>本地地址</b>。向因特网的管理机构申请全球唯一的IP地址称为<b>全球地址</b>。<br>
本地地址可能会和因特网中的IP重合,这样会出现<b>二义性问题</b>。专用地址只能用于本地地址而不能用作全球地址。
在因特网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。
RFC1918指明的专用地址:10.0.0.0-10.255.255.255(10/8)、172.16.0.0~172.31.255.255(172.16/12)、192.168.0.0~192.168.255.255(192.168/16)
NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。在专用网络连接到因特网的路由器上安装NAT软件。NAT路由器,至少有一个有效的外部全球地址IP。
当内部主机X用其本地地址IPx和因特网上的主机Y通信时,他所发送的数据报必须经过<b>NAT路由器</b>。NAT路由器从<b>全球地址池</b>中为主机X分配一个临时的全球地址IPg,并记录在<b>NAT转发表</b>中,然后将数据报的源地址IPx转换成全球地址IPg,目的地址IPy保持不变,然后发送到因特网。
IP多播
在因特网的网络层进行的多播就叫做<b>IP多播</b>。
IP多播需要两种协议。IGMP
0 条评论
下一页