导图社区 计算机网络(谢希仁版1-6章)
复习时间不够,看这一张图就行了!比较全面系统地介绍了计算机网络的发展和原理体系结构、物理层、数据链路层(包括局域网)、网络层、运输层、应用层的内容,希望能帮助大家理清知识脉络、提高学习效率。
编辑于2021-04-01 23:23:42计算机网络
基础概念
计算机网络:由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。(可编程硬件:一定包含CPU)
特点:连通和交换共享
性能指标:定量描述网络的技术性能
速率data rate:数据传送速率,数据率、比特率。传输速度的实际值(与传输介质、接口有关)
带宽bandwidth:频带宽度(赫兹)、单位时间内信道能通过的最高数据率(b/s)。传输速度的最高值(每秒信号波峰波谷的频率越大,信息量就越大,数据率就越大,与信号特性、网卡性能有关)
对信道而言,频带就是允许传送的信号的最高频率与允许传送的信号的最低频率这之间的频率范围(当然要考虑衰减必须在一定范围内)。若两者差别很大,可以认为频带就等于允许传送的信号的最高频率。
吞吐量throughput:单位时间内通过某个网络的数据量。现实世界中对网络的测量
时延delay/latency:数据从网络一端到另一端的时间
发送时延:数据从结点到传输媒体所用的时间,从发送数据的第一个比特到最后一个比特发送完毕的时间。发送时延=数据帧长度(b)/发送速率(b/s)。与网卡带宽有关。
传播时延:电磁波在信道中传播一定距离所花费的时间。传播时延=信道长度(m)/信号传播速率(m/s)。与传输介质、距离有关。
处理时延:主机或路由器在收到分组时,处理分组花费的时间。与算法、协议、CPU性能有关。
排队时延:在路由器输入输出队列中排队处理所经历的时延。与网络当时的通信量有关。
时延带宽积:以比特为单位的链路长度。代表链路的管道充满比特时,链路才充分利用。不一定越大越好,数据超过存储处理能力则会被丢弃。时延带宽积=传播时延×带宽。
往返时间RTT(round trip time):从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。除了传播时延,还包括各中间结点的处理时延、排队时延、发送时延。
利用率
信道利用率:信道有数据通过时间的百分比(信道有数据通过的时间=发送时延+传播时延)
网络利用率:全网信道利用率的加权平均值。网络利用率U=1-(网络空闲时间D0/网络总时延D)=(D-D0)/D;D=D0/(1-U);(0≤U≤1)假设空闲时间D0为定值=处理时延+排队时延+无信号时间,利用率U增大,引起的时延D也增大。U通常在30%-50%之间。
非性能指标:宏观整体评价网络的外在表现
费用、质量、标准化、可靠性、可扩展性、可升级性、易于管理和维护
数据结构树tree
因特网Internet:特指遵循TCP/IP标准,利用路由器将各种计算机网络互连起来而形成的、一个覆盖全球的、特定的互联网 网络internet:把很多计算机网络互连而成的网络
分类
范围:广域网WAN (wide area network),城域网MAN (metropolitan area network),局域网LAN(local area network),个人区域网PAN ( personal area network)
局域网
特点:为1个单位拥有,地理范围和站点数目有限
优点:1.具有广播功能,从一个站点安全的访问全网,共享局域网主机的资源。 2.便于系统扩展和演变,设备位置可灵活调整改变。 3.提高系统可靠性、可用性、残存性
结构:星形网(趋势)、总线网、环形网
标准:DIX Ethernet v2第一个局域网规约,IEEE802.3 第一个以太网标准
共享技术
动态媒体接入控制(多点接入):随机接入、受控接入(如多点线路探询polling,或轮询,环形网采用轮询)
信道复用
连接方式:基于信道质量好,出错概率小的情况下。无连接工作方式,不提前建立连接,不编号,不要求确认。不可靠传输
基带调制:曼彻斯特编码Manchester、差分曼彻斯特编码
扩展网络
硬件和软件
集线器hub:模拟电缆线工作,使用集线器后,逻辑上仍是一个总线网,进行自适应串音回波抵消,减少近端串音。属于物理层
优点:使以太网上的计算机能够跨碰撞域collision domain通信,扩大了覆盖范围
缺点:碰撞域增大,吞吐量并未提高。如果不同的碰撞域使用不同的数据率,则不能用集线器
所有计算机处于同一碰撞域和广播域中
转发器repeater:属于物理层
交换机switching hub:检查MAC地址,确定接口,对MAC地址进行转发和过滤(丢弃)。实质上是多接口网桥。属于数据链路层
全双工方式,具有并行性,多对主机同时通信,常用24个接口
特点:1.即插即用,内部交换表通过自学习算法建立 2.使用专用交换结构芯片,用硬件转发,速率快过网桥 3.性能超过集线器,价格便宜 4.用户可以独享带宽。集线器带宽B/N,交换机带宽B*N 5.具备多种速率的接口
交换表的自学习算法:记录从接口发出的帧(地址、接口、有效时间)
交换方式:存储转发(检查后再转发)、直通(cut-through)方式(不检查,直接按地址转发)
每个接口处于独立碰撞域,但所有计算机处于同一广播域中
生成树协议STP:IEEE 802.1D
网桥bridge:属于数据链路层
路由器router:网络互连通常都是指用路由器进行互连和路由选择。属于网络层
网关gateway:属于传输层和应用层
类型
虚拟局域网VLAN( virtual LAN ):IEEE 802.1Q,由局域网网段构成的与物理位置无关的罗继祖,具有某些共同的需求。
优点:改善性能、简化管理、降低成本、改善安全性
划分方法
基于交换机端口,第一层划分方法,简单常用,不允许用户移动端口
基于MAC地址,第二层划分方法,可以移动,需输入和管理大量MAC地址,如果MAC变了,要重新配置
基于协议类型,第二层划分方法,以太网帧第三个字段“类型”划分
基于IP地址划分,第三层划分方法,类型和源IP地址分组
基于高层应用或服务划分,更灵活,更复杂
VLAN 1 有2个默认属性(默认VLAN1不能被创建和删除,但是vlan1可以被更改为不是native vlan)
星形以太网
IEEE 802.3i 10BASE-T:10Mb/s,base基带,T两对无屏蔽双绞线,通信距离100m
高速以太网:速度超过100Mb/s
IEEE 802.3u 100BASE-T:100Mb/s,base基带,T两对无屏蔽双绞线,通信距离100m
100BASE-TX 使用 2 对 UTP 5 类线 或 屏蔽双绞线 STP。网段最大程度:100 米。 100BASE-T4 使用 4 对 UTP 3 类线 或 5 类线。 网段最大程度:100 米。 100BASE-FX 使用 2 对光纤。 网段最大程度:2000 米。
吉比特以太网:1Gb/s
物理层:现有以太网或光纤
1000BASE-SX 光缆 550 m 多模光纤(50 和 62.5μm)
1000BASE-LX 光缆 5000 m 单模光纤(10μm)多模光纤(50 和 62.5 μm)
1000BASE-CX 铜缆 25 m 使用 2 对屏蔽双绞线电缆 STP
1000BASE-T 铜缆 100 m 使用 4 对 UTP 5 类线
载波延伸、分组突发
10吉比特网
只在全双工工作,不使用CSMA/CD协议
只使用光纤
10GBASE-SR 光缆 300 m 多模光纤(0.85 μm)
10GBASE-LR 光缆 10 km 单模光纤(1.3 μm)
10GBASE-ER 光缆 40 km 单模光纤(1.5 μm)
10GBASE-CX4 铜缆 15 m 使用 4 对双芯同轴电缆 (twinax)
10GBASE-T 铜缆 100 m 使用 4 对 6A 类 UTP 双绞线
物理层 40GE 100GE 在背板上传输至少超过 1 m 40GBASE-KR4 在铜缆上传输至少超过 7 m 40GBASE-CR4 100GBASE-CR10 在多模光纤上传输至少 100 m 40GBASE-SR4 100GBASE-SR10, *100GBASE-SR4 在单模光纤上传输至少 10 km 40GBASE-LR4 100GBASE-LR4 在单模光纤上传输至少 40 km *40GBASE-ER 100GBASE-ER4
使用者:公用网(public network),专用网(private network)
接入网AN( access network):边缘路由器,用户端到互联网的第一个路由器
优点:技术成熟、互操作性好、价格便宜、统一的以太网帧格式,简化操作管理
宽带接入特点:提供双向宽带通信,可以根据需求灵活升级,实现端到端传输,不需要进行帧格式转换。不能进行用户身份鉴别。
互联网标准化
互联网协会ISOC(Internet Society)
互联网体系结构研究委员会IAB
互联网研究部IRTF
互联网研究指导小组IRSG
RG
互联网工程部IETF
互联网工程指导小组IESG
领域
RG
形成过程
互联网草案 Internet draft
有效期6个月,简化后取消
建议标准 proposed standard
成为RFC文档
RFC解释及分类
Internet所有技术标准都是以RFC文件形式公布的,但这不是所有的RFC文件。RFC还包括政策研究报告,技术部门的工作总结,研讨会的成果综述和网络使用指南等。每一份RFC文件都有一个唯一的编号,当某一文件产生了更新版本时,就为新的版本指派新的RFC编号。
STD RFC:已经或者致力于成为Internet标准的RFC
BCP RFC:对于Internet的使用和管理提供一些一般性的指导。BCP同时有一个BCP编号和一个RFC编号,一旦约定了一个BCP编号,就不会再变,而其RFC编号则可能会经过修订不断更新。
FYI RFC:提供有关Internet的知识性内容。所有的FYI在提交到RFC编辑以前,必须先经过IETF的User Services WorkingGroup审查
Technical Specification(TS):对协议、规则、格式、实用程序的描述
Applicability Statement(AS):描述在何种环境,以及怎样在Internet中使用TS;AS所涉及的并不一定全是Internet标准
草案标准 draft standard
互联网标准 Internet standard
编号STDxxxxx,和多个RFC文档关联
体系结构
计算机网络的各层及其协议的集合。这个计算机网络及其部件所应完成功能的精确定义。
实现:遵循体系结构下,用何种硬件或软件完成这些功能
网络协议 network protocol
数据交换必须遵守事先约定好的规则、标准或约定,明确规定了所交换的数据的格式及有关的同步问题。在各个对等层次间传递数据的各项规定。
组成要素
语法:数据与控制信息的结构或格式
语义:需要发出何种控制信息,完成何种动作以及做出何种响应
同步:事件实现顺序的详细说明
形式
文字描述
程序代码
分层
优点:各层之间独立、灵活性好、结构上可分割开、易于实现维护、促进标准化工作
缺点:降低效率,功能重复出现,产生额外开销
OSI七层协议、TCP/IP四层协议、综合五层协议
相似:邮政、物流
实体entity:任何可发送或接受信息的硬件或软件进程
协议数据单元PDU ( protocol data unit ):对等层次peer layers之间传送的数据单位,即数据单元+控制信息(报头)
服务访问点SAP ( service access point ):同一系统相邻两层实体进行交互的地方,是一个逻辑接口
服务数据单元SDU ( service data unit ):同一系统相邻两层通过SAP交换的数据
组成
边缘部分(资源子网、端系统):所有连接在互联网上的主机组成,是用户直接使用的,用来通信和资源共享
主机host
主机之间的通信,实际是主机上某个程序和另一主机的某个程序进行通信
通信方式
C/S
客户主动向服务器发起通信请求服务
客户必须知道服务器程序地址,服务器不需要知道客户程序的地址
P2P
两个主机不区分服务请求方和提供方,既是客户又是服务器
核心部分(通信子网):由大量网络和路由器组成,为边缘部分的用户提供服务
路由器router
实现分组交换(packet switching)的关键构件,任务是转发分组
交换技术
电路交换(circuit switching)
电路直接连接需N(N-1)/2对电线,通过交换机,把一条电话线转接到另一条电话线上
面向连接:始终占用资源
过程
建立连接:建立一条专用的物理通路,保证双方通话时所需的通信资源不被其他用户占用
通信:相互通话
释放连接:释放占用的通信资源
缺点:计算机数据具有突发性,通信线路利用率低
时延=建立连接时间s+传播时延d*链路数k+数据总长度x/数据率b=s+kd+x/b
分组交换(packet switching)
使用存储转发技术,以分组作为数据传输单元在网络中传送,每个分组包含地址信息,在互联网中独立的选择传输路径
不一定要面向连接
优点
高效:动态分配传输带宽,对通信链路资源逐段占用,提高通信网络利用率
灵活:为每个分组独立的选择合适的转发路由
迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
可靠:保证可靠性的网络协议;分布式多路由的分组交换往,使网络有很好的生存性(相对可靠,比电路交换差一些,但减少了网络拥堵)
缺点
存储转发需排队,有时延(时延大于电路交换,小于报文交换)
必须携带首部,占用更多资源
时延=链路数k*(传播时延d+分组长度p/数据率b)+(数据总长度x-分组长度p)/数据率b=kd+x/b+(k-1)p/b
分组p越短,数据率b越大,时延越小,当s>(k-1)p/b,分组时延小于电路时延
如每个分组加上报头h,则时延=kd+x/p*(p+h)/b+(k-1)(p+h)/b,使时延最小,则p=[xh/(k-1)]^0.5
报文交换(message switching)
发完一整段电报,再通过结点进行存储转发
缺点:等待报文发完,时延长
时延=(传播时延d+数据总长度x/数据率p)*链路数k=kd+kx/b
因为x>p, 所以kx>x+(k-1)p,报文时延大于分组时延
在输入和输出端口间没有直接连线,收到分组放入缓存,查找转发表,找到适当端口转发
结点node
世界发展历史
1974:IBM公司宣布系统网络体系结构SNA(system network architecture)
1977:国际标准化组织ISO成立专门机构研究,提出在世界范围内互连成网的标准框架,即开放系统互连基本参考模型(OSI/RM open systems interconnection reference model)
失败原因:没有商业驱动力,协议实现复杂效率低,制定周期长、按标准生产的设备无法及时进入市场,层次划分不合理、功能重复出现
从单个网络appanet到互联网,TCP/IP获得广泛应用
建成3级结构的Internet:主干网、地区网、校园网
形成ISP结构的Internet:ISP首次出现
多层次ISP结构互联网(Internet service provider):向某个ISP交纳费用就可以获得IP地址使用权
我国发展历史
1980:铁道部计算机联网实验
1989.11:第一个公用分组交换网CNPAC建成运行
1994.4.20:64kb/s专线正式连入互联网,成为接入互联网国家
1994.5:中科院高能物理所设立第一个万维网服务器
1994.9:公用计算机互联网ChinaNet正式启动
目前网络:电信ChinaNet,联通UNINET,移动CMNET,教育科研网CERNET(第一个ipv4互联网主干网,下一代CNGI主干网CERNET2试验网2004.2开通),科学技术网CSTNET
应用层 application layer
规定应用进程在通信时所遵循的协议
域名系统DNS(domain name system)
互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统。 名字到IP地址的解析是由若干个域名服务器完成。 域名是为了方便人记忆的字符串,不是真正的物理地点。
域名结构:三级域名.二级域名.一级域名 每段域名最长63个字符,总长253个字符
顶级域名: arpa:基础结构域名,反向域名解析 int:国际组织 mil:美国军事部门 gov:美国政府部门 net:网络服务机构
域名服务器:一个服务器负责管辖的范围叫做区,每个区设置相应的权限域名服务器,用来保存所有主机域名到IP地址的映射。 每个服务器都有高速缓存,存放最近名字映射记录,为每项设置计时器,减少开销,提高准确性
根域名服务器:最高层次的域名服务器,共13套装置,用一个英文字母命名,a-m.rootservers.net
顶级域名服务器TLD:管理在该顶级域名服务器注册的所有二级域名
权限域名服务器:负责一个区的域名服务器
本地域名服务器:默认域名服务器,主机查询请求发送的服务器
域名解析流程:主机——本地域名服务器——递归查询——根域名服务器——迭代查询——反馈下一个查询的服务器
文件传输协议FTP(file transfer protocol)RFC959
最广泛的文件传送协议。提供交互式访问,允许客户指明文件类型与格式,允许文件具有存取权限。 屏蔽了各计算机系统的细节,适合在异构网络中任意计算机之间传送。
特点: 使用TCP可靠传输,提供文件传送的基本服务。 消除不同操作系统下处理文件的不兼容性。 使用客户服务器方式,一个主进程接收请求,若干从属进程处理单个请求。 内存消耗大
两个连接,两个端口
控制连接,端口号21:接收传输请求,创建连接,控制传输进程,会话期间一直打开
数据连接,端口号20:传送数据
简单文件传送协议TFTP(trivial file transfer protocol)
特点: 很小且易实现,使用UDP按块传输,每次传送512字节的数据,在应用层进行差错改正,每个文件块按序编号。 只支持传输,不支持交互。可读写,没有命令集,没有目录,不能对用户身份鉴别。 支持ASCII码或二进制 使用简单首部。
传送流程:类似停止等待协议,发送一个文件块,等待对方确认,超时重发。结束时,若数据恰好是512字节的整数倍,则最后发送只含首部而无数据的UDP,若否。则不满512的数据报正好作为结束标志。
端口号69
NFS:允许应用进程打开远程文件并读写,只是传输少量修改数据
远程终端协议Telnet
用户用Telnet通过TCP连接注册到另一远程主机上
特点: 主进程等待新请求,从属进程处理连接。 明文传输,不够安全,后来配合使用ssh
流程:客户软件把客户的命令转换成NVT格式——传输——服务器把NVT格式转换为远地系统所需格式
万维网www
大规模的、联机式的信息储藏所。 分布式超媒体系统hypermedia,是超文本系统hypertext的扩充
统一资源定位符URL(uniform resource locator):万维网的文档唯一标识符,网址
协议://主机:端口/路径
无大小写要求
主机:存放资源的主机在互联网的域名
端口、路径:有时可省略,如HTTP默认端口80,可省略,省略路径代表指到互联网主页
流程:用户点击网址——浏览器分析页面的URL——请求DNS解析IP地址——浏览器与服务器建立TCP连接——浏览器发出取文件命令——服务器响应、把页面文件index.htm发给浏览器——连接释放
超文本传送协议HTTP(hypertext transfer protocol):使用TCP连接,客户与服务器之间进行交互所使用的协议
请求:ASCII码,响应:mime-like
请求报文格式
版本:HTTP的版本
响应报文格式
HTTP 1.0 无状态stateless,一次性的,静态的,浏览器刷新数据不变化 HTTP 1.1 持续连接,发送响应后一段时间内保持连接,客户可以传送后续的请求响应报文。一次加载一样信息 HTTP 2.0 同时加载声音图片等信息 HTTPS 在HTTP的基础上增加SSL、TLS,端口443,具备安全需求的网站
所需时间:RTT(发起TCP)+RTT(HTTP请求)+文档传输时间
代理服务器proxy server:万维网高速缓存,代表浏览器发出HTTP请求,把最近的请求和响应暂存本地磁盘中,当与暂存的请求相同的新请求到达时,缓存就把暂存响应发出。
cookie:服务器为用户产生的唯一识别码,跟踪该用户在网站的活动
文档语言
超文本标记语言HTML(hypertext markup language):通过超链接显示万维网页面
用于排版的命令,构成HTML文档,可用任何文本编辑器创建的ASCII码文件
.html、.htm,浏览器可以显示正常网页,改为.txt后,只能看到文本文件
可扩展标记语言XML(extensible markup language):基于语义的语言,为了传输数据,是动态的,可对数据进行更新
可扩展超文本标记语言XHML(extensible HTML):与HTML 4.01几乎相同,是更严格的HTML版本,将逐渐取代HTML
层叠样式表CSS(cascading style sheets):为HTML文档定义布局,规范字体字号等格式
动态文档:浏览器访问服务器时才由应用程序动态创建 静态文档:创作完毕后就存放在服务器中,客户浏览过程中,内容不会改变
通用网关接口CGI(common gateway interface):定义动态文档如何创建,输入数据如何提供给应用程序,以及输出结果如何使用 CGI脚本script:程序,被不是计算机的处理机来解释执行
活动文档active document:服务器返回的一段程序副本,在浏览器端运行,可连续改变屏幕显示,不需要服务器连续更新传送
Java:使用小应用程序applet来描述活动文档程序,与计算机硬件无关,通过服务器程序运行,网页弹窗、在线计算按钮等
程序设计语言:Java,从c++派生,省略了复杂的、少用的语言特点 运行环境runtime:包括Java虚拟机JVM,定义了Java二进制代码的执行模型 类库class library:为了更容易编写小程序 解释程序
信息检索系统
全文检索搜索:搜索引擎、爬虫 分类目录搜索:门户网站
博客、微博
电子邮件
发送协议:SMTP
TCP连接,端口号:25
基于文本ASCII码的协议,不能传送可执行文件、其他二进制对象、其他非英语国家文字,有长度限制
邮件扩充MIME
增加邮件主体的结构,定义了传送非ASCII码的编码规则
首部字段: MIME版本,若无则为英文 content-description 邮件说明 content-id 邮件唯一标识符 content-transfer-encoding 邮件主体使用的编码方法 content-type 邮件内容类型、子类型
内容传送编码: 7bit 7位ASCII码,每行不超过1000字符 8bit 8位非ASCII码,每行不超过1000字节 binary 8位非ASCII码,任意长度 base64 把3字节转换为4个6位组,再转换为4个ASCII码,=代表0。任意长度字节串转换为7位ASCII码字符串,可用于二进制和非文本数据编码 quoted-printable 任意长度字节串转换为ASCII码字符串,可用于二进制和非文本数据编码,适用于传送数据只有少量非ASCII码的情况,一个字节转为3个字节
内容类型: 7个基本内容类型 / 15种子类型
读取协议
邮局协议pop3:支持用户鉴别,客户读取后,pop3服务器删除邮件
网际报文存取协议IMAP(Internet message access protocol):联机协议,连接后只下载邮件首部,用户直接在IMAP服务器创建和管理文件夹,可用不同计算机随时上网阅读和处理邮件,必须联网
互联网文本报文格式
组成
用户代理UA(user agent):用户与电子邮件系统的接口,是客户端软件,撰写、显示、处理和通信 邮件服务器mail server:发送和接收邮件,同时报告传送情况
动态主机配置协议DHCP(dynamic host configuration protocol)
给协议参数赋值,包括:IP地址,子网掩码,默认路由器IP地址,域名服务器IP地址
使用UDP传输,服务器端口号:67,客户端口号:68
提供即插即用连网plug-and-play networking机制,允许计算机自动获取IP地址,给运行服务器软件且位置固定的计算机指派永久地址,给客户端计算机分配临时地址。
租用期lease period:客户计算机分配到IP地址的租用时间,通常8小时,可由DHCP服务器决定,也可由客户发现报文中提出
流程:主机向DHCP服务器广播发送发现报文DHCPdiscover——所有主机收到,只有DHCP服务器回答,DHCP服务器查找计算机配置信息
找到——返回找到信息
找不到——从服务器IP地址池取一个地址分配给该计算机——提供报文DHCPoffer——客户发送请求报文DHCPrequest——DHCP服务器发送确认报文DHCPack——绑定,可使用临时IP地址
租用期过半0.5T——客户发送请求报文DHCPrequest要求更新租用期
DHCP服务器不响应——租用期超过0.875T——客户重新发送请求报文DHCPrequest
DHCP服务器同意——发回确认报文DHCPack——新的租用期开始,客户重新设置计时器
DHCP服务器不同意——发回否认报文DHCPnack——客户立即停止使用原IP地址
客户可随时终止租用期,发送释放报文DHCPrelease
中继代理relay agent:主机广播发送发现报文——中继代理收到并单播转发DHCP服务器——DHCP服务器回答中继代理——中继代理回复主机
简单网络管理协议SNMP
网络管理功能: 故障管理:故障检测、隔离和纠正 配置管理:初始化网络,配置网络 计费管理:记录网络资源的使用 性能管理:估价系统资源的运行状态及通信效率 网络安全管理:对授权机制、访问控制、加密和加密关键字的管理
网络管理构件: 管理站、网络运行中心NOC(network operation center) 管理程序 网络管理代理程序:被管设备运行
管理信息结构SMI
定义命名对象和定义对象类型的通用规则,以及把对象和对象的值进行编码的规则。 不定义应管理的对象数目,被管对象名以及对象名和值之间的关联
所有被管对象必须在命名树上
SMI数据:类型,值集合的名字;值,某个值集合中的元素 数据类型:简单类型、结构化类型
所有MIB变量必须使用抽象语法记法ASN.1(Abstract Syntax Notation dotone)来定义,抽象语法只描述数据的结构形式,与具体的编码格式无关,同时也不涉及这些数据结构在计算机内如何存放。
基本编码规则BER(basic encoding rule):将 ASN.1 类型的值编码成字节串(string of octets)的方法。BER的数据都由三个域构成:标识域(tag)+长度域(length)+值域(value)。简称TLV格式。
长度: 首位0,则后7位=v字段长度 首位1,则后7位=后续长度字节数,后续长度字节=v字段长度
v字段可嵌套其他元素的TLV字段
管理信息库MIB
创建命名对象并规定其类型
只有在MIB中的对象才是SNMP所能够管理的
基本功能:监视网络性能,检测分析网络差错,配置网络设备 定义了管理站和代理之间所交换的分组格式,SNMP负责读取和改变这些数值。 使用UDP 传送,被管设备使用端口号:161,管理员使用端口号:162
探询操作:SNMP定时向被管理设备周期性的发送探询信息。 优点:使系统相对简单,能限制通过网络所产生的管理信息的通信量。 缺点:不够灵活,所能管理的设备数目不能太多,开销大。
陷阱trap:允许被管理设备不经询问就能发送某些信息。代理向管理进程报告达到某些门限值的事件(过滤) 优点:仅在严重事件发生时才发送陷阱,陷阱信息简单且所需字节数很少。
格式
应用进程跨网络通信
应用编程接口API(application programming interface):应用进程的控制权和操作系统的控制权进行转换的接口。
Berkeley Unix 定义的API,套接字接口socket interface Windows socket at&t 定义的API,TLI
套接字:应用进程需要使用网络进行通信时,发出系统调用,请求系统创建套接字,把所需的系统资源分配给进程
P2P技术
集中式目录
Napster:文件传输分散,文件定位集中。可靠性差,目录开销大
全分布式结构
gnutella:用洪泛法在用户之间查询,减少了流量,也降低了准确性
分布式散列表DHT(distributed hash table):利用散列函数,记录资源名标识符KID及存放结点的IP地址标识符NID,chord把结点标识符从小到大沿顺时针排列成环形覆盖网络。
文件分发时间
上传速率ui,下载速率di,最慢主机下载速度dmin,Ut上传速率之和,Us服务器上传速率,下载文件长度F C/S方式下分发时间:T=MAX( NF/Us, F/dmin ) 传给N台主机,则服务器要上传N次 P2P方式下分发时间:T≥MAX( F/Us, F/dmin, NF/Ut )传给N台主机,N台主机都可以上传,Ut=Us+(U1+……Un)服务器上传速率和所有主机上传速率之和
运输层 transport layer
面向通信部分的最高层,也是用户功能中的最低层;只有位于网络边缘部分的主机协议栈才有运输层。为应用进程之间提供端到端的逻辑通信。(网络层提供的事主机之间的通信)
协议
传输控制协议TCP(transmission control protocol):面向连接,全双工可靠通信,支持点对点单播,传送TCP报文段(segment)(分段)
应用:HTTP/SMTP/FTP
特点:1.面向连接;2.提供可靠交付;3.全双工通信(两端同时有接收窗口和发送窗口,共4个窗口);4.面向字节流stream,数据大小可以不一样,但字节流顺序必须一样;5.具有流量控制;6.一条TCP只能有两个端点endpoint,只能点对点。
TCP连接的端点:套接字socket=(IP地址:端口号) TCP连接::={ socket1, socket2}={(IP1:port1), (IP2: port2)}
指令:socket
建立连接
连接建立
三报文握手: 1. A-B SYN=1 seq=x ACK=0 确认号ack=0(A连接请求) 2. B-A SYN=1 seq=y ACK=1 确认号ack=x+1(B同意连接) 3. A-B SYN=0 seq=x+1 ACK=1 确认号ack=y+1(A确认同意收到,连接已建立,不必再同步)
A发送确认同意收到,表明已知道B准备好。B收到后开始接收A发送的信息,否则B应再次发送同意信息
数据传送
连接释放
四报文握手: 1. A-B FIN=1 seq=u(A发出连接释放请求,停止再发数据,主动关闭TCP连接) 2. B-A seq=v ACK=1 ack=u+1(B确认收到释放连接请求,A-B连接释放) 3. B-A FIN=1 seq=w ACK=1 ack=u+1(B发送完数据,请求释放连接) 4. A-B seq=u+1 ACK=1 ack=w+1(A确认收到释放连接请求,B-A连接释放)
B没有数据要发送时,可以将2、3步骤合并发送
解决第四次握手,A数据超时问题: A等待2MSL时间(报文最大生存时间),确认没有收到B重传信息,通常为4分钟
保活计时器通常为2小时——2小时后无对方信息——发送探测报文(10个,每个间隔75秒)——无响应——终止连接
可靠传输
停止等待协议:每发送完一个分组就停止发送,等待对方确认,收到确认后再发送下一分组。发送一组数据时间=2*信息传播单程时间T+M1发送时间+M1处理时间
差错控制: B接收M1时检测出差错——丢弃——不发送确认 传输丢失,B未收到M1——不发送确认 A未收到确认——超时重传 B确认丢失或延迟——A超时重传——B收到重复分组——B发回确认,丢弃重复分组 A收到重复确认——丢弃
优点:协议简单; 缺点:信道利用率U=Td/(Td+RTT+Ta)太低
连续ARQ协议:一次发送多个分组;使用滑动窗口协议控制发送方和接收方所能发送和接收的分组数量和编号;每收到一个确认,发送方将窗口向前滑动;每发送一个确认,接收方将窗口向前滑动;接收方采用单独确认+累积确认方式;采用回退N( go-back-N )方法进行重传(目前TCP使用)
累积确认:不必逐个确认,对按序到达的最后一个分组发送确认,表明它之前的分组都已收到
优点:容易实现,确认丢失也不必重传 缺点:不能向发送方反应已正确收到的所有分组信息(如确认序号之后的分组)
接收方确认时间:1.在合适的时候发送确认(不应过分推迟发送);2.在有数据发送时顺便确认(较少发生)
回退N( go-back-N ):对未确认的分组全部重传。
优点:提高传输效率,信道利用率。 缺点:通信质量不好时,会增加负担。
滑动窗口流量控制
接收方窗口可以进行变化,窗口变大,发送方可以多发,窗口变小,发送方不能把多余的数据扔掉,只能不继续向前移动,等前面多余的数据发完才向前。 收到零窗口通知(接收方无法接收更多数据),不再发送;等待非零窗口通知才继续发送。
持续计时器persistence timer:为避免非零窗口通知丢失,收到对方零窗口通知后开始启动持续计时器,时间到就发送一个零窗口探测报文(仅携带1字节数据),若仍是零则重新计时
糊涂窗口综合征:接收方缓存区已满,消耗数据慢。计时器时间太短,收到探测报文时窗口数量很小,发送方得知窗口数量后立刻发送较少数据的报文,导致接收方缓存再次填满,信道利用率低,加重网络拥塞。
解决方法:Nagle算法,在没有收到已发送分组的ack前,不发送其他分组,最多只能有一个未被确认的分组,避免发送较小数据报。 1. 发送方把第一个数据字节先发送——后面到达的字节缓存 2. 发送方收到第一个字符确认——把缓存中所有数据装成一个报文发送——后面到达的数据缓存 3. 收到前一个报文段确认——发送下一个报文段 4. 到达数据达到发送窗口一半或达到报文段最大长度MSS——立即发送
抑制发送端发送数据的速率,以便接收端来得及接收,对点通信量的控制。
发送时机控制
1. 数据量:当数据到达最大报文长度MSS时发送 2. 特别指明:发送方指明要求推送时 3. 时间:计时器期限到,把已有数据发送
自动重传请求ARQ(automatic repeat request):重传自动进行,不需要接收方请求
发送完的分组暂时保留,分组和确认必须编号
发送缓存:应用程序传送给发送方准备发送的数据,TCP已发送但尚未收到确认的数据 接收缓存:按序到达但尚未被接收应用程序读取的数据,不按序到达的数据
超时重传时间RTO (retransmission time-out)
自适应算法
RTT本轮往返时间(假定恒定),RTTS加权平均往返时间 1. RTTS1=RTT=R 2. RTTS2=(1-a)*RTTS1+a*RTT=R (RFC2988 a=0.125) ……
RTTD =RTT的偏差的加权平均值 1. RTTD1=1/2RTT=0.5R 2. RTTD2=(1-B)*RTTD1+B*|RTTS1-RTT|=0.375R (B=0.25) …… RTTD = mdev_max = max(RTTD, TCP_RTO_MIN)
RTO2=RTTS1+4RTTD2 1. RTO1=3R 2. RTO2=2.5R
karn算法:只要报文重传,就不采用其往返时间样本RTT
修正karn算法:对报文段时延突然增大情况的修正算法 报文段重传则:RTO2=2RTO1 不再重传则重新按照上述公式往返时间计算数值
拥塞控制congestion
拥塞:某段时间内,对网络中某资源的需求超过该资源所能提供的可用部分,网络性能就变坏。
拥塞判断
1.重传定时器RTO超时(已拥塞)
2.收到三个重复的ACK(可能拥塞)重复ack情况: a. 接收端的 ACK 具有未完成的数据。 b. 传入的 ACK 不携带数据。 c. SYN 和 FIN 位都已关闭。 d. ACK 等于给定连接上收到的最大 ACK。 e. 收到的 ACK 的通告窗口等于上次 ACK 的通告窗口。
重复ack原因: 1. 上一段报文丢失,后面发送的报文都会触发ack 2. 网络对数据重新排序 3. 网络对ack或报文复制
原因:点缓存的容量太小;链路容量不足;处理机处理速率慢;拥塞加剧拥塞
解决:增加网络资源、减少用户需求(供需)
防止过多数据注入到网络中,使路由器或链路不致过载。全局性的过程,涉及与降低网络传输性能有关的所有因素。
前提:网络能够承受现有的网络负荷
方法
开环控制:设计网络时事先考虑周全,力求工作时不发生拥塞
闭环控制:基于反馈环路的概念,根据当前运行状态采取相应控制措施
监测网络系统,找到拥塞发生的时间地点
监测指标: 1. 由于缺少缓存空间而被丢弃的分组的百分数 2.平均队列长度 3.超时重传分组数 4.平均分组时延 5分组时延的标准差
将拥塞信息传送到可采取行动的地方
传递拥塞通知: 1.发送通知拥塞发生的分组;2.在分组中保留表示拥塞状态的字段;3.周期性发出探测分组。
调整网络系统的运行以解决出现的问题
TCP拥塞控制方法
发送方维持拥塞窗口,利用拥塞窗口,根据网络拥塞情况调整发送的数据量 发送窗口值=min(接收方窗口值,拥塞窗口值) 拥塞窗口值cwnd:没有拥塞时增大,有拥塞时减小
TCP算法 (RFC5681)
SSTH(ssthresh):慢开始门限 cwnd<SSTH,使用慢启动 cwnd>SSTH,使用拥塞避免 cwnd= SSTH,两者皆可
重传计时器超时,则: 执行慢开始算法 SSTH=max ( cwnd/2, 2 ) cwnd=1
慢开始slow start
目的:确定网络的负载能力或拥塞程度
思路:由小到大逐渐增大拥塞窗口值
流程
每收到一个对新报文段的确认后,可把拥塞窗口增加最多一个SMSS值(RFC5681传统建议) cwnd每次增加量=min(N,SMSS)(N是确认报文段最新所确认的字节数)
传输轮次transmission round:把窗口的报文段都发送出去并收到最后一个字节确认的RTT 设cwnd<SMSS 1. cwnd1=IW 2. cwnd2=cwnd1+cwnd1=2*cwnd1 3. cwnd3=2cwnd2=2^(n-1)cwnd1 …… 每个传输轮次后,cwnd翻倍
IW : cwnd初始值,SMSS:发送端能传输的最大数据 初始值设定太低,数据传输效率慢,故 SMSS>2190字节,IW=2*SMSS ≤ 2个数据包 1095字节<SMSS ≤2190字节,IW=3*SMSS ≤ 3个数据包 SMSS ≤1095字节,IW=4*SMSS ≤ 4个数据包 目前推荐IW=10 SMSS
拥塞避免congestion avoidance
思路:让cwnd按线性规律更缓慢的增大,避免拥塞
流程
每个传输轮次cwnd2=cwnd2+1 RFC5681标准:cwnd+=SMSS 或 cwnd+=min(N, SMSS ) 另一个常用公式:cwnd+=SMSS*SMSS/cwnd(缺点:当cwnd大于SMSS*SMSS时,cwnd+小于1,则取整后增量为0)
快重传fast retransmit
只要一连收到3个ack重复确认,立即进行快重传。不必等待重传计时器,更早的重传丢失的报文。
要求接收方不要捎带确认,而是立即确认(包括失序报文段)
网络吞吐量提高20%
快恢复fast recovery
收到3个ack,执行快恢复算法
流程
cwnd2=SSTH=cwnd1/2 执行拥塞避免算法
RFC5681标准:SSTH=max ( cwnd1/2, 2 ) cwnd2=SSTH+3
AIMD算法:加法增大additve increase,乘法减小multiplicative decrease
路由器处理规则
先进先出FIFO( first in first out ):先进来的分组先处理,队列满时,尾部丢弃tail-drop policy
缺点:由于路由器处理能力不足,使尾部一连串分组丢失,出现超时重传,TCP进入慢开始状态,发送方速率突然降低。TCP复用时,重传规模进一步扩大,多条TCP同时进入重传状态,全局同步global syncronization,网络恢复正常后,通信量又同时增大。
主动队列管理AQM( active queue management )(网络层路由器)
在队列长度达到某个值时(拥塞征兆开始时),主动丢弃到达的分组
随机早期检测RED (random early detection)RFC2309
计算平均队列长度LAV: LAV<最小门限THmin,将新到分组放入队列排队; LAV>最大门限THmx,丢弃; THmin<LAV<THmax,按照某一概率p随机丢弃。p随LAV线性变化
格式
固定长度20字节+可变长度4N字节,最长60字节 源端口、目的端口:16位 序号:32位,传送的数据流每个字节标序,此序号表示本报文所发送数据的第一个字节序号。数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,通过循环使用序号,仍能用TCP来传送 确认号:32位,接收方发送,希望收到对方下一个报文数据的第一个字节序号,表明前面的已收到。A发送:序号n,确认号x;B接收后,发送:序号x,确认号:n+A发送报文字节长度 数据偏移(首部长度):4位,以4字节为单位 保留:6位,以后用,目前为0 紧急URG:1,表明有紧急数据,尽快传送 确认ACK:1,确认号有效;0,确认号无效。 推送PSH (push):1,表明尽快交付应用进程,不等缓存填满。 复位RST (reset):1,表明连接出现严重差错,必须释放连接,再重新建立。 同步SYN:1,表明连接请求或连接接受报文,达成同步过程。 终止FIN:1,发送端传输数据完毕,要求释放连接。 窗口:16位,表示己方的接收窗口大小,让对方调整发送窗口。 紧急指针:16位,紧急数据字节(报文最前面) 选项字段: 1.MSS,数据字段的最大长度(既要尽可能利用网络,又不要再IP传输时分片) 2.窗口扩大选项,24位3字节,1字节代表位移值S,表明新窗口值=窗口+S 3.时间戳选项:80位10字节,包含:时间戳值4字节、时间戳回送回答4字节
4.选择确认SACK(selective ack):在TCP首部选项中添加允许sack选项,并指明不连续字节快的边界。最多40字节,最多指明4个边界
6:协议值 检验和:伪首部12字节+TCP首部+数据3字节+1字节0填充=0
用户数据报协议UDP(user datagram protocol):无连接,不可靠信道,支持单播多播广播,传送UDP报文或用户数据报(不分段)
应用:DNS/DHCP/RIP
对IP数据报增加的功能:复用和分用、对数据进行差错检测
特点:1.无连接,减少开销;2.尽最大努力交付,主机不需维持复杂的连接状态表;3.面向报文,一次交付完整报文;4.没有拥塞控制,出现拥塞不会要求主机降低发送速率;5.支持单播多播广播;6.首部开销少,8字节,比TCP短。
格式
17:协议值 UDP长度=下方长度 长度:UDP总长度(含首部) 检验和:16位二进制反码求和,伪首部+UDP首部+7字节数据+0填充=0 如果只对UDP首部和数据进行检验,如果有另一台电脑端口一样,那么检验和也是一样的,有可能会把别的电脑数据当作自己的数据,检验不出差别。可能会存在有别人从中窃取数据修改的情况。为了确定发出数据是从唯一进程发出来,因此要加上IP地址
传送的数据叫运输协议数据单元TPDU(transport protocol data unit)
协议端口号protocol port number:16位,65535个端口,只有本地意义,用来标志本地计算机应用层中的各进程,不同计算机的相同端口号没有联系。
服务器端端口号
熟知端口:0-(2^10-1)=0-1203
常用端口: UDP:DNS 53 / TFTP 69 / RPC 111 / SNMP 161 / SNMP( TRAP) 162 TCP : FTP 21 22 / TELNET 23 / SMTP 25 / HTTP 80 / HTTPS 443
登记端口:2^10-(2^15+2^14-1)=1024-49151,没有熟知端口的应用程序使用,必须在IANA登记,防止重复。
客户端端口号
短暂端口号:(2^15+2^14)-(2^16-1)=49152-65535,留给客户进程暂时使用
网络层 network layer
协议
IP协议
作用:把性能各异的网络互连起来,看起来像统一网络。可简称IP网。
IPv4协议
IP地址:互联网名字和数字分配机构ICANN ( internet corporation for assigned names and numbers ) 给互联网上的主机分配全世界唯一的32位标识符。标志一个主机或路由和一条链路的接口。
子网标准:RFC950
32位:网络号net-id + 主机号host-id 方便管理,减少路由表项目数,减少存储空间
缺点:空间利用率有时很低,每个物理网络分配网络号使路由表太大,影响网络性能,两级IP地址不够灵活
A类0xxxxxxx=1-126,网络数126,主机数2^24-2 B类10xxxxxx=128-191,128.1-191.255,网络数2^14-1,主机数2^16-2 C类110xxxxx=192-223,192.0.1-223.255.255,网络数2^21-1,主机数2^8-2=254 D类1110xxxx=224-239 E类1111xxxx=240-255
不使用的IP地址
0:0:0:0 源地址,本主机 0:host-id 源地址,在本网上的某台主机 255:255:255:255 目的地址,只在本网广播,各路由不转发 net-id:全1 目的地址,对net-id的所有主机广播 127:非全0或全1 源地址、目的地址,用作本地软件环回测试
多归属主机multihomed host:同时拥有两个IP地址的主机,如路由器。两路由接口处可指明,也可不指明IP地址,指明则构成只包含一段线路的特殊网络,现在通常不指明
子网号字段划分子网subnetting:从主机号借用若干位作为子网号subnet-id 网络号net-id + 子网号subnet-id + 主机号host-id(子网越多,主机越少)
优点:减少IP地址浪费,使网络组织更加灵活,便于维护管理。划分子网为一个单位内部的事情,对外仍为一个网络
子网掩码:32位,1对应网络号和子网号,0对应主机号。计算机逐位进行and运算,子网掩码的连续性并没有要求,可以111000111
不使用的IP:子网和主机不能全0或全1(现在有些支持)
划分
固定长度:所划分的所有子网的掩码都相同
变长子网VLSM (variable length subnet mask ):RFC 1009 规定一个划分子网的网络中可选择几个不同的子网掩码
无分类域间路由选择CIDR (classless inter-domain routing ) 网络前缀+主机号/前缀所占位数
消除传统地址划分和子网划分,使用网络前缀network-prefix 指代网络号,回到两级编址
地址块:网络前缀都相同的地址
地址块包含地址数=2^(32-前缀长度)
路由聚合route aggregation/构成超网supernetting:一个地址块表示多个地址,减少路由之间的信息交换,提高互联网性能,可根据客户需求分配适当大小的地址块。
举例:原本前8位192-223之间为C类地址,1-24位为网络号,若有1位变动,则网络变动,改为CIDR划分后,只要前缀不变,后面的位数如何变都是一个网络
记法:CIDR 记法“斜线记法”(slash notation),10.0.0.0/10,10/10,10*
IP数据报
首部(固定长度20字节+可变部分0-40字节(必须4的倍数))+数据
版本:4位,版本号4 首部长度:4位,1个单位4字节,20-60字节(必须4的倍数) 区分服务:8位,只有在使用区分服务diffserv时才起作用,集中服务不行 总长度:16位,1个单位1字节,最大2^16-1=65535字节,不超过最大传送单元MTU 标识identification:16位,IP数据报标识,同一个数据报分片后标识相同 标志flag:3位。最低位MF(more fragment)=1,还有分片;=0,无分片。中间位DF(don't fragment)=0才能分片 片偏移:13位,1个单位8字节,某片在分组相对位置,一定是8字节的倍数,总长2^16/片偏移2^13=8 生存时间:8位,TTL,在网络中可通过路由器最大值,即255 协议:8位,携带本层或上层的协议,对方接收后应该交个哪个进程。IGMP字段2 首部检验和:16位,只检验首部,不检验数据。16位二进制反码求和,首部相加等于0。因为IP数据报每经过一个路由器,路由器都要重新计算校验和(一些字段,比如生存时间、片偏移等可能发生变化);不校验数据部分,主要是为了减少软件计算量。因为路由拿到的IP报是包含了数据链路层封装的(比如以太),而且又不能直接将以太封装(如MAC地址)去掉——还需要用MAC地址来查找和维护地址表呢,假设要求IP报校验和,需要先“掐头去尾”,且要将“头”和“尾”保留,计算IP净荷的校验和,再将“头”和“尾”装回去,这么复杂的过程难以用硬件实现。CRC 可以用硬件实现。 源地址、目的地址:各32位IP地址
可变部分 选项字段:0-40字节(4的倍数),支持排错、测量、安全措施。增加可变部分会增加数据报开销,一般不用。
IPv6协议
IP地址:128位,扩展的地址层次结构,灵活的首部格式,改进的选项,允许协议扩充,支持即插即用(不需DHCP)。支持资源预分配
一个主机、路由有多个接口,每个接口分配一个单播IP地址,任何一个地址都可以当做到达该结点的目的地址
记法: 冒号十六进制colon hexadecimal notation,32位16进制,前面的0可省略 0压缩,FF05:0:0:0:0:0:0:B3,FF05::B3 冒号十进制,0:0:0:0:0:0:128.10.2.1(前24位16进制,后12位10进制) CIDR斜线法
分类
标准:RFC 4291
未指明地址:全0,源地址,还没有配置到IP地址的主机 环回地址: ::1,环回测试地址 多播地址:FF00::/8 本地链路单播地址:1111111010,FE80::/10,没有连接到互联网上的局域网主机可以使用
全球单播地址: 结点地址、子网前缀+接口标识符、全球路由前缀+子网标识符+接口标识符
IP数据报/分组
基本首部base header40字节+(有效载荷payload(允许多个扩展首部+数据)≤65535字节)
基本首部40字节 版本:4位,6即ipv6 通信量类traffic class:8位,不同数据报的类别和优先级 流标号flow label:20位,从特定源点到终点的一系列数据报。 有效载荷长度payload length:16位,除基本首部外的字节数,最大值64kb 下一个首部next header:8位,协议字段或可选字段 跳数限制hop limit:源站设定跳数限制,每转发1次减1,0时丢弃 目的地址:单播、多播、任播anycast(一组计算机,交付时选择最近的一个)
扩展首部:相当于可选字段。 逐跳选项(途经路由器处理,其他的首部不处理) 路由选择、分片、鉴别、封装安全有效载荷、目的站选项
向IPv4过渡
双协议栈:主机、路由同时安装两种协议,与不同的协议主机通信使用不同的地址
缺点:IPv6-IPv4-IPv6,过程中会损失IPv6头部的部分数据(IPv4没有的数据)
隧道技术:IPv6-IPv4,将IPv6数据报封装至IPv4数据报
虚拟专用网VPN
对于仅在内部使用的就计算机,可以由本机构自行分配IP地址。会导致地址二义性。 RFC1918指明专用地址(private address)、可重用地址reusable address:只能用作本地地址,所有路由对目的地址是专用地址的数据报一律不转发。
A类:10.0.0.0-10.255.255.255 B类:172.16.0.0-172.31.255.255 C类:192.168.0.0-192.168.255.255
利用公用互联网作为本机构各专用网之间的通信载体。在效果上,和用专用网一样。专用网不同网点之间通信必须经过公用互联网,则数据必须加密。
使用隧道技术
内联网intranet:由内部网络构成的虚拟专用网 外联网extranet由一个机构和外部机构建立的虚拟专用网
网络地址转换NAT(network address translation)
在专用网连接互联网的路由器上安装NAT软件,至少有一个有效的外部全球IP地址。 当路由器具有n个全球IP地址时,专网内最多可有n台主机接入互联网,专网内主机轮流使用IP地址。 通信必须由专网内主机发起,专网内主机不能充当服务器。
流程: 本地主机A发送IP数据报——NAT路由将A地址转换为全球IP地址——记录地址转换表、发送互联网 B发回数据——根据NAT转换表将全球IP地址转换为A地址——发回A
NAT转换表,不使用端口号叫传统NAT,利用运输层端口号叫做网络地址与端口号转换NAPT(network address and port translation),使用端口号可以使多台主机共用一个全球IP地址,只需要端口不一样就可以去到不同主机
地址解析协议 ARP (address resolution protocol )
作用:从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。使用不同硬件的网络,相互之间能够通信
硬件和软件
ARP高速缓存 (ARP cache):存储所在局域网上的主机和路由的IP地址到硬件地址的映射表
<IP address ; MAC address ; TTL > TTL (time to live ):地址映射有效时间
指令: arp-a
作用:减少ARP广播数量
流程
A-B IP数据报——A查找ARP缓存B硬件地址
有——将B对应的MAC地址写入MAC帧发送
无——A的ARP进程本地广播发送ARP请求分组<A IP ; A MAC ; B IP ; 0>——B收到请求,将A MAC-IP映射写入自己的ARP缓存——B发送ARP响应——A收到ARP响应<A IP ; A MAC ; B IP ; B MAC>——A将B MAC地址映射写入ARP缓存
反向地址转换协议RARP (reverse address resolution protocol)
硬件设备反向请求自己的IP地址,如无盘工作站,只知道网卡地址
网际控制报文协议 ICMP (internet control message protocol )
互联网标准协议,允许主机或路由报告差错情况和提供有关异常情况,提高IP数据报成功交付的机会。装在IP数据报中,即IP数据报首部+ICMP报文(ICMP报文首部8字节+数据部分)
格式
类型
差错报告报文
终点不可达、时间超过、参数问题、改变路由(重定向)redirect
数据部分内容:IP数据报首部(最少20字节)+前8字节
在ICMP的差错报文中要包含IP首部后面的8个字节的内容,而这里面有TCP首部中的源端口和目的端口。当TCP收到ICMP差错报文时需要用这两个端口来确定是哪条连接出了差错。
不发送情况:1.对ICMP差错报文的差错不发送。2.对已报错的IP数据报不重复报错。3.多播地址的IP数据报不发送。4.对特殊地址(全1、全0,或127.0.0.0 的数据报不发送。
询问报文
回送请求和回答报文、时间戳请求和回答报文
应用
指令
ping (packet Internet groper):测试两个主机之间的连通性(回送请求和回答询问报文)
tracert(win)、traceroute(Mac):跟踪一个分组从源点到终点的路径(时间超过差错报告报文)
许多服务器拒绝ICMP请求,以免IP地址暴露,服务器攻击
ICMPv6
将IGMP/ARP协议都合并至ICMP
面向报文协议,报告差错、获取信息、探测邻站ND(Neighbor-Discovery)协议、管理多波通信MLD(Multicast Listener Delivery)协议
路由选择协议
理想型路由算法:正确和完整,计算简单,适应通信量和拓扑变化,稳定性,公平,最佳
自适应性
静态策略:简单和开销小,不能适应网络变化
动态策略:较好适应网络变化,实现复杂,开销大
分层次路由选择协议:互联网规模大,路由器不可能了解所有网络;许多单位不愿外界了解本部门的路由协议。
自治系统AS( autonomous system ):单一技术管理下的一组路由器,使用同一路由选择协议以确定AS内部路由,同一种路由选择协议以确定AS外部的路由(对其他AS表现出单一的和一致的路由选择策略)
AS内部网关协议IGP (interior gateway protocol ) 域内路由选择intradomain routing
路由信息协议RIP (routing information protocol)
分布式,基于距离向量的路由选择,维护从自己到其他目的网络的距离记录,选择最短距离(最少跳数)。距离向量算法bellman-Ford、Ford-fulkerson算法,设X位于AB最短路径上的一个结点,AB=AX+XB,则AX\XB也是最短路径
距离(跳数 hop count):直接连接1,非直接连接每加一个路由+1,最多包含15个路由(IP数据报传递16次),16为不可达
仅和相邻路由在固定时间(如30s)间隔交换信息(路由表),拓扑发生变化时及时报告
收敛convergence过程较快,所有结点得到本系统正确路由选择信息
流程
收到邻近路由器X 的RIP报文
修改报文:目的网络地址不变,下一跳地址改为X,距离+1
目的网络不在原路由表,添加
目的网络在原路由表
下一跳地址相同,更新距离值
下一跳地址不同
距离<路由表距离,更新
距离>路由表距离,丢弃
3分钟内没有收到邻近路由器X报文,记为不可达路由器,距离16
格式
装在IP数据报、UDP数据报中,首部4字节,数据部分(路由信息20字节*最多25个)20-500字节
命令:8位,表示该报文是请求报文或响应报文;1表示请求,向邻居请求全部或部分路由信息;2表示应答,发送自己全部或部分路由信息;3和4舍弃不用,5和6表示非正式的轮询命令。 版本:8位,包括RIP和RIP2,1表示RIP,2表示RIP2 地址标识符:16位。地址类别,所使用的地址协议,ip协议为2。 路由标记:16位,自治系统号码,有可能收到系统以外的路由选择信息 下一跳路由:如果为0.0.0.0,则表示发布此路由的路由器地址就是最优下一跳地址。 距离:路由的开销值。对于Request报文,此字段为16。
RIP认证报文 鉴别功能,将数据部分的第一个路由信息用作鉴别,路由信息最多24个 0xFFFF:验证项标识,表示整个路由报文需要验证。 authentication type:认证类型,当为2 simple时表示明文;当为3 md5时为密文认证。 authentication:认证密钥。当使用明文验证时该字段才会包含密码信息
特点:好消息传得快,坏消息传的慢
出现故障,至少等到下一跳全部更新为16后,即间隔(16/2-1)*30s=3m30s才能发现
优点:简单,开销小 缺点:限制网络规模,最大距离为15;交换完整路由表,网络扩大,开销增大;坏消息传的慢
开放最短路径优先OSPF(open shortest path first)
不受某一厂商控制,公开发表的协议。使用Dijkstra最短路径算法SPF
分布式链路协议link state protocol
链路发生变化时,用洪泛法向本系统(区域)所有路由发送信息。
链路状态数据库link state database:全网拓扑结构图,全网范围是一致的(同步),每一个链路状态都有32位序号,序号越大状态越新。
优点:更新过程收敛得快,用于更大网络。 对不同链路。可根据IP分组的不同服务类型TOS而设置成不同代价,可计算出不同路由。同一网络如果有多条相同代价路径,可将通信量分配给这几条路径,多路径间负载平衡。 所有交换的分组都有鉴别功能。支持可变长度的子网划分和无分类编址CIDR。 定期刷新数据库中链路状态,只涉及邻近路由器连通状态,与规模无直接关系,当规模大时,节省开销。 解决坏消息传的慢问题,响应时间小于100ms
分区
将AS再分区,使用32位区域标识符(点分十进制),每个区域路由最好不超过200。使用层次区域划分,主干区域连通其他下层区域,主干标识符0.0.0.0
优点:使洪泛法局限于每个区域,减少网络通信量 区域内部的路由器只知道本区域的完整网络拓扑。
格式
直接用IP数据报发送(不使用UDP),数据报很短,减少通信量,不需分片发送,以免数据丢失重传。首部24字节
版本:1字节,OSPF协议版本号,目前最高版本为OSPF v4,即值为4 类型:1字节 类型1,问候 (Hello) 分组。 类型2,数据库描述 (Database Description) 分组。 类型3,链路状态请求 (Link State Request) 分组。 类型4,链路状态更新 (Link State Update) 分组,用洪泛法对全网更新链路状态。 类型5,链路状态确认 (Link State Acknowledgment)分组。 路由标识符:4字节,发送报文的源路由器ID 区域标识符:4字节,发送报文的路由器所在ospf区域号 鉴别类型:2字节,指定所采用的认证类型,0为不认证,1为进行简单认证,2采用MD5方式认证。 鉴别字段:8字节,认证类型为不认证时,此字段没有数据,认证类型为简单认证时,此字段为认证密码,认证类型为MD5认证时,此字段为MD5摘要消息。
数据部分 hello报文:定时向邻近路由发送,超过40s没发送,则证明已失效,内容包括定时器设置、DR、BDR以及本路由器已知的邻居路由器。 DD报文:DD报文序列号和LSDB中每一条LSA的头部 LSR报文:用于请求相邻路由器链路状态数据库中的一部分数据。当两台路由器互相交换完DD报文后,知道对端路由器有哪些LSA是本LSDB所没有的,以及哪些LSA是已经失效的,则需要发送一个LSR报文,向对方请求所需的LSA。 LSU报文:向对端路由器发送所需的LSA,内容是多条LSA完整内容的集合,LSU报文内容部分包括此次共发送的LSA数量和每条LSA的完整内容。 LSAck:路由器在收到对端发来的LSU报文后所发出的确认应答报文,内容是需要确认的LSA头部。
确定可达性:hello 达到数据库的同步:DD 新情况下的同步:LSR-LSU-LSAck
指定路由designated router:多点接入的局域网使用,代表该局域网,向连接到该网络的各路由发送状态信息
AS外部网关协议EGP (external gateway protocol ) 域间路由选择interdomain routing
BGP-4
标准:2006.4发表,RFC4271-4278
在AS之间交换可达性信息,力求寻找一条能达到且比较好的路由,并非一定最佳。不兜圈子,即经过网络数少,矢量路径
BGP speaker:AS选择的发言人,往往是边界路由,连接其他网络的BGP-S
流程:建立TCP连接,端口179-交换BGP报文-建立BGP会话session-交换路由信息
TCP提供可靠服务,简化路由选择协议,两个BGP-S 互为neighbor-peer
开始运行时,交换全部BGP路由表,以后只交换变化的路由表
特点:交换的路由信息是自治系统数,比网络数少;交换整个路由表信息;BGP-s少,简化了路由选择;支持CIDR
分类
EBGP ( external BGP):运行于不同AS之间,接收EBGP对等体发送的路由时,将本地AS的路由丢弃,并发给所有对等体
IBGP ( internal BGP ):运行于同一个AS内部,BGP不将从IBGP对等体(本地路由)学到的路由通告给其他IBGP对等体,只发给EBGP对等体,所有IBGP对等体建立全连接。
格式
装在IP数据报、TCP数据报中。首部19字节。
首部19字节 标记:16字节,检查BGP对等体的同步信息是否完整,用于验证计算,不使用验证时全为1 长度:2字节,范围19-2^12 类型:5类报文,RFC4271,RFC2918
数据部分: open报文:与相邻的另一个BGP-S建立关系 updata报文:发送某一路由信息,列出要撤销的路由 keepalive报文:确认打开报文和周期性证实邻站的关系 notification报文:发送检测到的差错,中断BGP连接 route-refresh报文:改变路由策略后,请求对等体重新发送路由信息(需要支持路由刷新能力的BGP设备)
多协议标记交换MPLS(multiprotocol label switching)
MPLS上层可以使用多种协议,每个分组被打上标记,对标记进行分组转发。同样的分组指派同样标记,同样标记选择同样路径,不必查阅第三层路由转发表,在数据链路层用硬件转发。
特点:1.支持面向连接的服务质量;2.支持流量工程,平衡网络负载;3.支持虚拟专用网VPN
流程
将IP数据报封装
入口处,每个IP数据报打上标记——按照转发表更新标记,使用硬件转发——离开MPLS域时,出口结点将标记去除
标记交换路由器LSR需要使用路由功能构造转发表,再进行快速转发
使用标记分配协议LDR——找出标记路径LSP——构造转发表
转发等价类FEC(forwarding equivalence class):按照同样的方式对待分组集合。同样接口转发到同样下一跳地址,具有同样服务类别和同样丢弃优先级。
用于负载平衡,称为流量工程TE(traffic engineering)或通信量工程,自定义FEC可以更好的管理网络资源;
格式
处于网络层和数据链路层之间,4字节,封装:MAC帧-MPLS标记-IP数据报
标记值:20位,同时容纳220 个流(即 1048576 个流) 实验:3位,保留 栈S:1位,有标记线时使用 生存时间TTL:8位,防止兜圈
网际组管理协议 IGMP ( internet group management protocol )
多播multicast:一对多通信,如实时信息、软件更新、多媒体通信
协议
网际组管理协议 IGMP ( internet group management protocol )
不对互联网所有多播成员进行管理,让本地局域网上的多播路由器知道本局域网是否有主机参加或退出了某个多播组。
标准:RFC 1112(IGMPv1)、RFC 2236(IGMPv2)、RFC 3376(IGMPv3)
装入IP数据报传播
流程: 1.加入多播组,某主机向多播组的多播地址发送IGMP报文,声明成为成员。多播路由器收到后,将组成员关系转发给其他多播路由器。 2.探询组成员变化。周期性探询本地局域网的主机,以便知道是否继续为组员,一个主机响应即为整组活跃;没有主机响应,多播路由不再将情况报告给其他路由。 对所有组发送一个请求信息的询问报文,默认125s发送一次。报文指明最长响应时间N(通常为10s),主机在0-N中选择发送响应时延,最小时延主机最先发送,其他主机监听到后不发送。
多播路由选择协议
必须动态适应多播组成员变化。可以由没有加入多播组的主机发出,也可以通过没有组成员接入网络
找出以源主机为根结点的多播转发树。转发树上的路由器不会收到重复的数据报。对不同的多播组、同一多播组不同源点应有不同的多播转发树。
方法
洪泛与剪除:适合小多播组,所有成员接入的局域网也是相邻的
反向路径广播RPB( reverse path broadcasting)
流程多播转发树
收到多播数据报
从源点经最短路径传送来——向其他方向转发数据报
不是从源点经最短路径传来——丢弃
转发多播数据报
选择最短路径
存在同样最短路径——比较相邻路由器谁的IP地址最小——转发
只有一条最短路径——转发
某路由下游已没有该多播组成员,连路由一起剪除,多播停止
隧道技术tunneling:适用于多播组地理位置分散的情况,将多播数据报封装在单播IP数据报中,穿过不支持多播的网络,到达另一个支持多播的网络。
基于核心的发现技术:适用于多播组大小变化比较大的情况,对每个多播组指定一个核心路由器,给出IP单播地址,创建多播转发树
协议
距离向量多播路由选择协议 DVMRP (Distance Vector Multicast Routing Protocol) 基于核心的转发树 CBT (Core Based Tree) 开放最短通路优先的多播扩展 MOSPF (Multicast Extensions to OSPF) 协议无关多播-稀疏方式 PIM-SM (Protocol Independent Multicast-Sparse Mode) 协议无关多播-密集方式 PIM-DM (Protocol Independent Multicast-Dense Mode)
只需发送一次到多播组,路由器复制分组。多播主机很大时,明显减轻网络资源消耗
硬件多播:48位Mac地址,IANA的OUI是00:00:5E,以太网多播地址块范围00-00-5E-00-00-00 00-00-5E-FF-FF-FF,只分配一半给多播,因此只有23位 映射D类IP地址,(前缀1110+5位)不变,后23位分配
流程:先在IP层用软件过滤,不是本主机接收的数据报丢弃
硬件:多播路由器multicast router,多播主干网MBONE( multicast backbone on the Internet)
硬件和软件
中继系统relay:路由器router
多次间接交付,最后才能直接交付
作用:连通不同网络,选择信息传送线路。提高通信速度,减轻网络系统负荷,节约网络系统资源,提高网络系统畅通率,使网络系统发挥更大效益。
结构
路由选择:控制部分,核心构件是路由选择处理机
根据路由协议,构造路由表,定期和相邻路由器交换信息,更新维护路由表
路由表:目的主机所在网络、下一跳地址、特定主机路由(方便管理员控制和测试网络,确保网络安全)、默认路由(适用只用一个路由和互联网连接的网络)CIDR网络前缀,所有都用IP地址表示
CIDR路由表查找方式:二叉线索binary trie,将无非类编址的路由表存放在一种层次的数据结构中,按从左到右的比特值,自上而下的按层次查找。广泛使用各种压缩技术
分组转发:交换结构switching fabric、输入端口、输出端口
转发流程:IP数据报提取目的地址D
无子网——得出目的网络地址N
网络N与路由器直接相连——直接交付D
网络N与路由器不直接相连
路由表有D的特定主机路由A——交付A
路由表无D的特定主机路由A
有网络N的路由B——交付B
无网络N的路由B
有默认路由C——交付C
无默认路由C——报告转发分组出错ICMP
有子网——用各网络子网掩码与D运算得出目的网络地址N1……Nn
其中网络Nx与路由器直接相连——直接交付D
网络N与路由器不直接相连
路由表有D的特定主机路由A——交付A
路由表无D的特定主机路由A
有网络N1……Nn的路由B——交付B
无网络N1……Nn的路由B
有默认路由C——交付C
无默认路由C——报告转发分组出错ICMP
使用CIDR——用各网络前缀与D运算得出目的网络地址N1……Nn
其中网络Nx与路由器直接相连——直接交付D
网络N与路由器不直接相连
路由表有D的特定主机路由A——交付A
路由表无D的特定主机路由A
有网络N1……Nn的路由B1……Bm,根据最长前缀匹配longest-prefix matching——交付B
无网络N1……Nn的路由B
有默认路由C——交付C
无默认路由C——报告转发分组出错ICMP
交换结构
通过存储器:收到分组,用中断的方式通知路由选择处理机,复制到存储器,查找路由表,将分组复制到输出端缓存。路由交换速率≤存储器带宽M/2
通过总线:输入端通过共享总线直接传送到输出端。受总线速率限制,目前已可以实现。
通过纵横交换结构crossbar switch fabric:有2N条总线纵横相交,使N个输入端口和N个输出端口相连。输入端收到分组,将它发送到水平总线,若输出端垂直总线空闲,则直接发送,不空闲则排队。
数据链路层 data link layer
物理链路link:一条无源的点到点的物理线路段,中间没有任何其他交换结点
控制数据传输的通信协议
通信规程procedure
帧
封装成帧framing:在数据的前后分别添加首部和尾部,进行帧定界
举例:控制字符进行帧定界:ascii码文本文件中,帧开始符SOH(start of header 0000 0001,0x01),帧结束符EOT(end of transmission 0000 0100,0x04),转义字符ESC(escape 换码、溢出,0001 1011,0x1B)
但凡数据中出现SOH/EOT/ESC都要在前面加上ESC
透明传输
字节填充byte stuffing、字符填充character stuffing
零比特传输
无论发送什么样的比特组合数据,都能没有差错的通过数据链路层
差错控制
差错情况
比特差错:1-0传输差错
误码率BER( bit error rate ):错误比特占传输比特的总数比率
循环冗余检验CRC(cyclic redundancy check )
K位原始数据+N位冗余码、帧检验序列FCS(frame check sequence)(验算时应被P整除,除尽代表数据正确,除不尽代表错误)
冗余码、帧检验序列FCS计算:K位数据后添加N位0/(N+1)位的除数P=Q……N位R(模二运算,不进位、不借位、不退位,即0-1=1,1-0=1,1-1=0,0-0=0) P取值标准:CCITT推荐CRC-CCITT=X^16+X^12+X^5+1 ; 美国二进制同步系统CRC-16=X^16+X^15+X^2+1 ; CRC-12=X^12+X^11+X^3+X^2+X+1 ; CRC-32=X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X+1
并不能确定是哪个比特出现差错,只能做到无差错接受(凡接受的帧,传输过程中没有产生差错的概率接近1),有差错丢弃,不能做到可靠传输
信道
点对点信道
点对点协议PPP(point-to-point protocol)
将IP数据报封装至串行链路
链路控制协议LCP( link control protocol ):连接下层物理层
网络控制协议NCP( network control protocol ):连接上层网络层
用户拨号-接入ISP-路由确认,建立物理连接-用户发送LCP分组(PPP帧)-路由进行网络层配置-NCP给用户分配临时IP地址-通信完毕-NCP释放网络层连接,收回IP地址,LCP释放数据链路层连接,最后释放物理层连接
格式
F:1字节,7E(01111110),表示帧开始
A:1字节,FF(11111111),地址字段,点到点通信,不起作用
C:1字节,03(00000011),控制字段,协议预留,不起作用
协议:2字节,各种协议
信息部分:不超过1500字节
FCS:2字节,校验码,16位
F:1字节,7E,帧结束
≤1508字节
透明传输
sonet/SDH同步光纤网上同步传输
零比特填充:5个连续1则立刻填入1个0
异步传输
字符填充:信息字段的0x7E转为0x7D,0x5E,0x7D转为0x7D,0x5D,ASCII码控制符(小于0x20字符)转为0x7D+字符
满足需求
简单 —— 这是首要的要求。 封装成帧 —— 必须规定特殊的字符作为帧定界符。 透明性 —— 必须保证数据传输的透明性。 多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。 多种类型链路 —— 能够在多种类型的链路上运行。 差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。 检测连接状态 —— 能够及时自动检测出链路是否处于正常工作状态。 最大传送单元 —— 必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值,促进各种实现之间的互操作性。 网络层地址协商 —— 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。 数据压缩协商 —— 必须提供一种方法来协商使用数据压缩算法。
不需满足的需求
纠错、流量控制、序号、多点线路、半双工或单工链路
1、在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。 2、在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。 3、帧检验序列 FCS 字段可保证无差错接受。
PPPoE (PPP over Ethernet )
在以太网上运行的PPP协议(协议在以太网上传输)
运用:光纤接入FTTx、ADSL,弹窗中键入用户名密码进行上网
广播信道
以太网
载波监听多点接入/碰撞检测协议CSMA/CD(carrier sense multiple access with collision detection )半双工通信使用,共享总线
多点接入:多台计算机以多点接入的方式连接在一根总线上
载波监听(发送前):站点发送数据之前,检测总线上是否有其他计算机在发送数据,以免发生碰撞。
若信道忙,则应不停检测,若检测到信道空闲,则等待96比特时间(根据数据率决定时长),发送数据。
96b时间:帧最小间隔
碰撞/冲突检测(发送时):计算机边发送数据边检测信道的信号电压大小。多个站同时发送数据,信号电压摆动值增大,超过一定门限值时,表明至少有两个站同时发送数据,发生碰撞。信号叠加后,产生失真,无法恢复有用信息。
争用期内发现碰撞立刻停止发送,再继续发送若干比特的干扰信号(jamming signal )通知所有用户,通过二进制指数类型退避算法,等待一段时间后再次发送。重传16次不成功就停止发送。
争用期:2倍往返时间,A检测到发生碰撞时间T<2*单程传播时延
10Mb/s以太网,最大端到端长度5km,信号传播速率2*10^8m/s,争用期=2*5000/2*10^8=51.2μs,可发送10Mb/s*51.2μs=512b,即64字节(目前已不适用,但64字节被保留,成为最短帧长标准)。A在争用期51.2μs内收到数据,或B收到数据<64字节,则证明有冲突。
1000Mb/s网,争用期512字节
二进制指数类型退避算法(truncated binary exponential type ):发生碰撞后要推迟一个随机时间才能继续发送数据。
1、基本退避时间=争用期=2t
2、重传时间=r*2t(r=random[0……(2^k-1)] , k=min[重传次数,10]) 重传次数=16,帧丢弃
吉比特网
载波延伸:将争用期增大为512字节,不足时用特殊字符填充(第一个帧)
分组突发:争用期后确认无冲突,随后的帧可以一个接一个发送,只需留最小间隔,直到1500字节
以太网MAC帧
标准:DIX Ethernet V2、IEEE 802.3
格式
前同步码:8字节,使用曼彻斯特编码传输时,表示编码的初始状态即101010……直到最后两位11表示帧开始
类型:2字节,标志上一层使用协议,大于0x0600(V2标准、802.3标准) 长度:2字节,帧长度,小于0x0600,即1536,数据字段必须装入LLC帧(802.3标准)
0x0800,IP数据报;0x8137,Novell IPX
帧长度64-1518字节,数据长度46-1500字节,数据长度小于46应加入填充字段
虚拟局域网MAC帧
标准:IEEE 802.3ac
格式
信道利用率S=T0/(T0+t)=1/(1+a)=实际吞吐量/信道带宽,(T0=帧发送时间=帧长L/发送速率C,t=单程传输时间,a=t/T0)
a越小,则信道利用率S越大,t/T0越小,信号传输用时少、距离短,一发生碰撞立刻被发现。S>30%,出现重载现象。
生成树协议STP (spanning tree protocol ):IEEE 802.1D,不改变网络实际拓扑,在逻辑上切断某些链路,使一台主机到其他所有主机路径是无环路的树状结构。避免兜圈子现象。全双工通信,交换机使用
逻辑链路控制LLC( logical link control ):接近网络层,与传输媒体无关,现在较少使用,适配器基本不配置此协议
媒体接入控制MAC( medium access control ):接近物理层
硬件地址、物理地址或MAC地址,如果主机有多个网卡,可以有多个Mac地址,即某个接口的标识符
MAC-48/EUI-48
格式:6字节
组织唯一标识符OUI(Organizationally Unique Identifier),3字节,IEEE管理机构RA分配
一个地址块有2^24个地址 第一字节的最低位为I/G(individual/group )位,最低第2位为G/L( global/local )位
单站地址:I/G位=0,共2^23个单站地址
组地址:I/G位=1,进行多播,共2^23个组地址
全球管理:G/L=0,本地管理:G/L=1
扩展唯一标识符,3字节,厂家自行分配
全为1,广播地址
硬件和软件
适配器adapter/网卡NIC(network interface card):一般包含数据链路层和物理层的功能
功能:
1.串行并行转换(物理层)
串并转换是完成串行传输和并行传输这两种传输方式之间转换的技术。移位寄存器可以实现并行和串行输入和输出。 这些通常配置为“串行输入,并行输出”(SIPO)或“并行,串行输出”(PISO)。
并行通信:CPU和存储器-网卡,计算机或PLC各种内部总线。并行数据传输是将固定位数(通常为8位或16位等)的数据和字符码元同时传输至接收端,用的通信线多、成本高,数据传送速度提高,但线路长度受到限制,干扰增加,数据易出错。并行接口的数据传输率比串行接口快8倍,标准并口的数据传输率理论值为1Mbps(兆比特/秒)
串行通信Serial communication:网卡-局域网,远距离传输。串行数据输出是将组成数据和字符的码元按时序逐位予以传输。远距离传输越来越普遍,甚至在短程距离的应用中,其优越性已经开始超越并行总线,许多集成电路都具有串行通信接口来减少引脚数量。不需要串行化元件(serializer),并解决了诸如时钟偏移(Clock skew)、互联密度(interconnect density)等缺点,更容易提高通信时钟频率,从而提高数据的传输速率。所需的物理介质,例如电缆和光纤,少于并行通信,从而减少占用空间的体积,节约成本;串扰的问题可以得到大幅度缓解。
2.数据缓存
3.在计算机操作系统安装驱动程序
4.实现以太网协议
从网络获取MAC帧-检查MAC地址是否为本站-本站地址收下,非本站丢弃。
识别单播帧unicast、广播帧broadcast,有的用编程方法可识别多播帧multicast
混杂方式工作promiscuous mode的适配器可以接收所有帧
物理层 physical layer
概念:连接各种计算机的传输媒体上传输数据的比特流,不是具体的传输媒体。尽可能屏蔽掉不同传输媒体和通信手段的差异。
协议(物理层规程 procedure)
规定特性
机械特性:接口所用接线器的形状尺寸、引线数目和排列、固定、锁定装置等
电气特性:接口电缆的各条线上出现的电压范围
功能特性:某一电平的电压表示的意义
规程特性:不同功能的各种可能时间的出现顺序
传输模型
源点产生数据-发送器编码-接收器接收信号并转换为目的设备可处理的信息-终点从接收器获取信息,传输系统:信号物理通道
信号
模拟信号 analogous signal:代表消息的参数的取值是连续的,即连续电磁波
数字信号 digital signal:代表消息的参数的取值是离散的,即0-1
码元 code:在使用时间域(简称时域)的波形表示数字信号时,代表不同离散数值的基本波形。
基带信号:来自信源的信号,计算机直接输出的信号。包含低频直流成分,不能被传输。(基带信号为数字信号。低频传输波长长,需要1/4波长的设备发送,不具备可行性)
调制 modulation
基带调制:仅对波形进行变换,使它与信道特性相适应。变换后仍为基带信号(数字信号)
不归零制:正电平1,负电平0
归零制:正脉冲1,负脉冲0(占用频带宽度增加2倍)
曼彻斯特编码:位周期中心向下跳变1,位周期中的的向上跳变0(占用频带宽度增加一倍)
差分曼彻斯特编码:每一位中心始终跳变,开始边界无跳变1,有跳变0(占用频带宽度增加一倍)
自同步能力:从波形中提取信号时钟频率
带通调制:使用载波(carrier)进行调制,把基带信号频率范围搬移到较高频段,转换为模拟信号。(带通信号)
调频FM:调整载波频率变化
调幅AM:调整载波振幅变化
调相PM:调整载波初始相位变化
混合调制:正交振幅调制QAM(quadrature amplitude modulation)
12种相位+1-2种振幅=16种组合,16种码元代表16种信息,即2^4,1个16进制数,可代表4bit,即4位2进制数
码元代表的比特数越多,接收端解调时正确识别难度大,出错率增加
信道
极限容量
信道能通过的频率范围
奈氏准则:为避免码间串扰,码元传输速率的上限值
最高码元传输速率R=2W Baud,W为带宽,1HZ为每秒振动1次,最多可表示2个码元,因此最高速率为2码元每秒
信噪比
信号的平均功率和噪声的平均功率之比,单位分贝,即信噪比(dB) = 10 log10(S/N ) (dB) ,S 为信道内所传信号的平均功率,N 为信道内部的高斯噪声功率
香农公式:信道的极限、无差错信息传输最大速率C = W log2(1+S/N) (bit/s)
带宽W或信噪比S/N越大,则C越大
C=R*log2(M)(C 数据速率;R 码元速率;M 进制数,一个码元代表多少种信息),在最高码元传输速率情况下,C=2W*log2(M),即一个码元代表的信息M越大,信息速率C越大
在信息传输最大速率和最高码元速率情况下,2log2(M)=log2(1+S/N) → M^2=1+S/N,码元进制数的平方等于1+信噪比
通信种类
单工通信:只能一个方向的通信,没有反方向的交互
半双工通信:通信双方都可以发送信息,但不能同时发送
全双工通信:通信双方可以同时发送和接收信息
复用(multiplexing)技术
概念:允许用户使用一个共享信道进行通信,降低成本,提高利用率
频分复用FDM (frequency division multiplexing):带宽分为多份,用户在分配频带后,始终占用这个频带(早期长途干线采用,频分复用模拟传输)
正交频分复用OFDM(Orthogonal Frequency Division Multiplexing):将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到在每个子信道上进行传输
波分复用WDM (wavelength division multiplexing ):光的频分复用,不同的波长有不同的频率,使用一根光纤传输多个光载波信号。
密集型光波复用(DWDM:Dense Wavelength Division Multiplexing)是能组合一组光波长用一根光纤进行传送。该技术是在一根指定的光纤中,多路复用单个光纤载波的紧密光谱间距,以便利用可以达到的传输性能
频段:需经本国政府无线电频谱管理机构许可。
ISM 频段可自由使用(WiFi设备使用)
2.4GHz 5GHz 标准:802.11a/b/g/n/ac
手机频段
时分复用TDM (time division multiplexing ):将时间划分为一段段等长的时分复用帧,每一个时分复用的用户在每一个帧中占用固定序号的时隙。每一个用户占用时隙是周期性出现,周期就是帧长度。时分复用的所有用户占用同样的频带宽度。(目前长途干线采用,时分复用数字传输)
缺点:计算机数据的突发性,信道利用率不高,大多数时间空闲
统计时分复用STDM (statistic ime division multiplexing ):不固定分配时隙,按需动态的分配时隙,提高线路利用率。
PCM((Pulse Code Modulation)时分复用:脉冲编码调制,把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程。(应用在电话局中继线上传送多路电话)
抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号,抽样必须遵循奈奎斯特抽样定理。奈奎斯特抽样定理指若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。
量化,就是把经过抽样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电平值来表示,通常是用二进制表示。量化级数越多误差越小,相应的二进制码位数越多,要求传输速率越高,频带越宽。
编码,就是用一组二进制码组来表示每一个有固定电平的量化值。
PCM数字接口是G.703标准,通过75Ω同轴电缆或120Ω双绞线进行非对称或对称传输,传输码型为含有定时关系的HDB3码
E1:共分32个时隙TS0-TS31。每个时隙为64K,其中TS0为被帧同步码,Si,Sa4,Sa5,Sa6,Sa7,A比特占用,若系统运用了CRC校验,则Si比特位置改传CRC校验码。TS16为信令时隙,当使用到信令(共路信令或随路信令)时,该时隙用来传输信令,用户不可用来传输数据。速率2.048Mb/s
称TS1至TS15和TS17至TS31为净荷,TS0和TS16为开销。如果采用带外公共信道信令(CCS),TS16就失去了传送信令的用途,该时隙也可用来传送信息信号,这时帧结构的净荷为TS1至TS31,开销只有TS0。因此时隙为30或31
T1:北美24路标准,速率1.544Mb/s
速率标准不统一,不是同步传输,传输速率高时,时钟同步成问题
同步光纤网SONET( Synchronous Optical Network ):规定了光纤传输的物理层标准,在光纤上具有标准的数据传输率,并在世界范围内被广泛接受。SONET使世界各电话公司融为一体
对电信信号:同步传送信号STS-1 -STS-192 (synchronous transport signal ),速率51.84-9953.28Mb/s
对光信号:光载波OC-1 - OC-192(option carrier ),速率51.84-9953.28Mb/s
同步数字系列SDH (synchronous digital hierarchy ):第1级同步传递模块 (synchronous transfer module ) STM-1速率155.52 Mb/s=OC-3
不同的数字传输体制在STM-1等级上获得统一,真正实现世界性标准,公认的新一代理想型传输网体制,SDH适合于微波与卫星传输技术体制
扩频通信(spread spectrum )
跳频扩频(Frequency Hopping Spread Spectrum , FHSS)利用整个带宽(频谱)并将其分割为更小的子通道。发送方和接收方在每个通道上工作一段时间,然后转移到另一个通道。它在无线电传输过程中反复转换频率,通常能将电子对抗(就是未经授权的对无线电通讯的中途拦截或人为干扰)影响减少到最小。它也被认为是分配多重通路的调频代码(FH-CDMA)
直接序列扩频(Direct Sequence Spread Spectrum,DSSS)技术,是将一位数据编码为多位序列,称为一个“码片”。
码分复用CDM (code division multiplexing ):各用户使用不同的、互相正交的码片序列,彼此互不干扰。
优点:强抗干扰能力,对信息加密,不易被敌人发现,实现扩频
码片序列(chip swquence ):每个比特时间划分为M个短间隔,称为码片
两个不同码片序列之间正交:规格化内积(inner product )=0
同码片:规格化内积=1
反码:规格化内积=-1
同时发送A\B\C三种码片信号,总发送信号为A+B+C,接收方码片序列为A`,则规格化内积后,A`*(A+B+C)=A*A`+B*A`+C*A`=1+0+0,只识别信号A
码分多址CDMA (code division multiplexing access):同一段信号,传到不同的地址,用不同的码片解密,得出不同的内容。
线路
数字用户线路DSL(Digital Subscriber Line),以电话线为传输介质的传输技术组合。不同之处,主要表现在信号的传输速率和距离,以及对称和非对称的区别上。
编码技术
2B1Q,由AMI技术发展出来的基带调制技术,能够利用AMI的一半频带达到AMI一样的传输速率,由于降低了频带要求,提高了传输距离,主要应用于H/SDSL技术中。
QAM,传统的拨号Modem所用的技术,MVL将其扩展到高频段,并综合了复用技术,以支持多Modem共享同一线路。
CAP,以QAM调制技术为基础发展而来的,是QAM技术的一个变种,主要应用于H/SDSL、RADSL、ADSL中。
DMT,将高频段划分为多个频率窗口,每个频率窗口分别调制一路信道,由于频段间的干扰,传输距离相对短。它可以根据实际中线路及外界环境干扰的情况动态地调整子通道的传输速率,这样既保证了传输数据的高速性又保证了其完整性,主要应用于RADSL、ADSL、G.LITE中
技术分类
对称
HDSL(高比特率DSL)是众多DSL技术中较为成熟的一种,并已得到了一定程度的应用。这种技术的特点是利用两对双绞线实现数据传输,支持N×64kbps各种速率,最高可达E1速率。HDSL无需借助放大器即可实现3.6公里以内的正常数据传输。与传统T1/E1技术相比,HDSL最突出的优势是部署成本低廉、安装简便,是T1/E1较为理想的替代技术之一。
SDSL(单线DSL)是HDSL的单线版本,可提供双向高速可变比特率连接,速率范围从160kbps到2.084Mbps。SDSL利用单对双绞线,可支持最高达E1速率的多种连接速率,在0.4mm双绞线上的最大传输距离可达3公里以上。与HDSL相比,SDSL可节省一对双绞线,因而部署更为简单方便。
MVL(多路虚拟DSL)是Paradyne公司开发的低成本DSL传输技术,能够利用一对双绞线实现高速数据接入,部署成本及功耗都相对较低,并可进行高密度安装,能够利用与ISDN技术相同的频率段,有效传输距离可达7公里左右。
IDSL(ISDN数字用户线)通过在用户端使用ISDN终端适配器和在另一端使用与ISDN兼容的接口卡,IDSL可以提供128kbps的服务。它与ISDN的最大区别在于IDSL的数据交换不通过交换机
非对称
ADSL(非对称DSL)能够在现有电话双绞线上提供高达8Mbps的高速下行速率,及1Mbps的上行速率,有效传输距离可达3至5公里。ADSL能够充分利用现有PSTN电话网络,只须在线路两端加装ADSL设备即可为用户提供高速宽带服务,无需重新布线,因而可极大地降低服务成本。
第一代
把 0~4 kHz 低端频谱留给传统电话使用,而把原来没有被利用的高端频谱留给用户上网使用。
距离:取决于数据率和线径,线径越细,信号衰减越大
0.5 毫米,传输速率为 1.5~2.0 Mbit/s 时可传送5.5公里,6.1 Mbit/s 时为 3.7 公里。 0.4 毫米, 6.1 Mbit/s时为 2.7 公里。
调制:离散多音调DMT (discrete multi-tone ):采用频分复用方法,40kHz-1.1MHz分为多个子信道,25个上行(40-138),249个下行(138-1100),每个子信道4.3125kHz
数据率:启动时自动测试可用的频率、信道、传输质量,不保证固定的数据率。通常下行34kb/s-6.4Mb/s,上行32kb/s-640kb/s(最大与最小的比值为20倍,对应1-25个信道,下行:上行最大速率=10,对应249:25)
第二代
ADSL2 (G.992.3 G992.4 )
下行8Mb/s,上行800kb/s
ADSL2+(G.992.5)
频谱扩展至2.2MHz ,下行16-25Mb/s,上行800kb/s
无缝速率自适应技术SRA (seamless rate adaptation ):可以在不中断通信、不产生误码情况下,自适应调整数据率。
改善线路质量评测和故障定位功能
RADSL(速率自适应DSL)允许服务DSL供应商根据实际带宽需求情况调整连接带宽,并较好地克服了传输距离与传输质量限制。主要特点是可利用一对双绞线实现数据传输,能够支持同步与异步传输,并具有速率自适应性能。RADSL的下行传输速率在640kbps到12Mbps之间,上行传输速率则在128kbps到1Mbps之间,并能够支持同时数据与语音传输。
VDSL(超高速DSL)仍处于研发之中,它可以在相对短的距离上实现极高的数据传输速率,最高可以实现58Mbps 的传输速率。在用户回路长度小于5000英尺的情况下,可提供13Mbps或更高的接入速率。从技术角度而言,VDSL实际上可视作ADSL的下一代技术,其平均传输速率可比ADSL高出5至10倍。另外,根据市场或用户的实际需求,VDSL可以设置成是对称的,也可以设置成不对称的
光纤同轴电缆混合网HFC(hybrid fiber coax ):在有线电视网CATV基础上开发的宽带接入网,提供CATV、电话、宽带业务
CATV:拓扑结构同轴电缆网络,模拟技术的频分复用对电视节目进行单向传输
HFC:将CATV同轴电缆主干部分改为光纤,可以双向传输,使用模拟光纤技术,采用调幅AM,比数字光纤经济
传输:头端-光纤结点(fiber node)/光分配结点ODN( option distribution node )(转为电信号)-同轴电缆-用户接口盒UIB (user interface box )-1、同轴电缆到机顶盒电视;2、双绞线到电话;3、电缆调制解调器到计算机
频段:上行5-65MHz, 下行87-1000MHz
速率:电缆调制解调器,上行0.2-2Mb/s 最高10Mb/s,下行3-10Mb/s 最高30Mb/s
FTTx技术
多种宽带光纤接入方式
光纤到户 FTTH (Fiber To The Home):光纤一直铺设到用户家庭,可能是居民接入网最后的解决方法。 光纤到大楼 FTTB (Fiber To The Building):光纤进入大楼后就转换为电信号,然后用电缆或双绞线分配到各用户。 光纤到路边 FTTC (Fiber To The Curb):光纤铺到路边,从路边到各用户可使用星形结构双绞线作为传输媒体。
无源光网络PON(passive optical network )
光纤干线-头端OLT-光分路器ODN-光网络单元ONU-用户端
传输媒体
它就是数据传输系统中在发送器和接收器之间的物理通路
分类
导引型
双绞线:模拟传输、数字传输都可使用,距离1-99KM
屏蔽双绞线STP( shielded twisted pair),带金属屏蔽层
无屏蔽双绞线UTP( unshielded twisted pair)
CAT5:100Mhz,<100Mb/s , S/N=2^1-1
CAT5E:125MHz,<1Gb/s , S/N<2^8-1
CAT6 : 250MHz,>1Gb/s , S/N>2^4-1
CAT7 : 600MHz,>10Gb/s , S/N>2^16.67-1
标准:1991年电子工业协会、电信行业协会联合发布EIA/TIA-568,1995年更新为EIA/TIA-568-A
同轴电缆:抗干扰、传输较高速率数据,工程施工难
50 Ω 同轴电缆 —— LAN / 数字传输常用
75 Ω 同轴电缆 —— 有线电视 / 模拟传输常用
光纤:10^8MHz,利用光的全反射传输
多模光纤:多条不同角度入射的光线在一条光纤中传输。传输距离几百米,信号有损失
单模光纤:光纤直径减小到只有一个光的波长,使光线一直向前传输,不发生多次反射。传输距离远,信号损失小
常用波段:850nm 1300nm 1550nm。带宽:2.5*10^7-3*10^7MHz
优点:1.通信容量大;2.传输损耗小,中继距离长;3.抗雷电和电磁干扰性能好;4.无串音干扰,保密性好;5.体积小,重量轻
掺铒光纤放大器EDFA:即在信号通过的纤芯中掺入了铒离子Er3 + 的光信号放大器
非导引型
短波通信:靠电离层反射通信,通信质量差,传播速率低
微波:直线传播,地面微波接力通信,卫星通信(波长短,频率高,能量大,穿透力强,衰减大,传播距离短)
缺点:1.安全性低,信号容易被他人读取。2.传播不稳定,障碍物遮挡后信号变弱
浮动主题
浮动主题