概述
- 服务与协议
- 协议是水平的,即协议是控制对等实体之间通信的规则
- 服务是垂直的,即服务是下层向上层通过层间接口提供的。并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层看得见的功能才能称之为“服务”
- ==服务的三种类型==
- 面向连接的服务和面向无连接的服务
- 面向连接服务:当通信双方通信时,要事先建立一条通信线路,该线路包括建立连接、使用连接和释放三个过程
- 面向无连接服务:通信双方不需要事先建立一条通信线路
- 可靠服务和不可靠服务
- 可靠服务:提供纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地
- 不可靠服务:不能保证数据正确、可靠的传送到目的地
- 应答和无应答服务
- 面向连接的服务和面向无连接的服务
- SAP
- service access point/服务访问点
- 同一节点相邻两层交换信息的连接点
- SDU
- 服务数据单元
- 为完成用户所要求的功能而应传送的数据
- PCI
- 协议控制信息
- 控制协议操作的信息
- PDU
- 协议数据单元Protocol DataUnit
- 指对等层次之间传递的数据单位
- 物理层的PDU是数据位bit
- 数据链路层的PDU是数据帧frame
- 网络层的PDU是数据包packet
- 传输层的PDU是数据段segment
- 其他更高层次的PDU是报文message
- ==OSI七层模型==
- 开放系统互连OSI是网络中两个最终用户之间通信的标准参考模型,将整个网络按照功能分成七层,上面四层用于将信息传入主机。要传入主机的信息需要通过上面四层,要传入其他主机的信息不需要通过上面四层,而是传入另一个主机。
- 应用层、表示层、会话层、传输层为资源子网,网络层、数据链路层、物理层为通信子网
- 物理层
- 在设备之间传输比特bit;定义电压、线速、针脚等物理规范
- 数据链路层
- 把字节性质的包组成帧;根据MAC地址提供对传输介质的访问;实行错误检测,但不实行错误更正
- 网络层
- 提供逻辑地址,用于routers的路径选择
- 传输层
- 提供可靠和不可靠的数据传递;在错误数据重新传输前对其进行更正
- 会话层
- 建立会话,分割不同应用程序的数据
- 表示层
- 表述数据;对数据的操作诸如加密、压缩等
- 应用层
- 提供用户接口
- 物理层
- ==TCP/IP四层模型==
- 网络接口层
- 网际层
- 传输层
- 应用层
- 会话层+表示层+应用
- ==五层模型==
- 物理层
- 数据链路层
- 网络层
- 传输层
- 应用层
- ==层次模型的好处==
- 降低复杂度
- 灵活性好
- 易于实现和维护
- 促进标准化工作
物理层
- ==六种通信方式==
- 单工
- 单向信号只可以在一个方向上传播(飞机)
- 半双工
- 信道可以双向传播,但不能同时传播
- 全双工Full Duplex
- 全双工通信是指数据可以同时沿相反的两个方向传送,因此又被称为双向同时通信
- 单工
- 物理层四个特性(谢希仁38)
- 数字信号和模拟信号
- 常用编码方式
- 曼彻斯特编码
- 差分曼彻斯特编码
- ==物理层五种数据传输方式==
- 电路交换(面向连接)
- 报文交换
- 分组交换
- 报文和分组的区别
- 报文:要发送的完整数据
- 分组:将报文分割成较短的分组
-
面向连接的虚电路和无连接的数据报方式
- 物理层传输介质
- STP(屏蔽双绞线)
- 集线器:多端口中继器
- UTP(无屏蔽双绞线):电磁干扰能力
数据链路层
-
LLC逻辑链路控制+MAC媒体访问控制子层
- ==数据链路层的功能==
- 为网络层提供服务
- 无确认的无连接
- 有确认的无连接
- 链路管理
- 帧定界
- 帧同步
- 组帧
- 透明传输
- 无论数据是什么样的比特组合,都应该能在链路上传送
- 差错控制
- 常见的差错控制方式
- 奇偶校验吗
- 通过接收方请求发送方重传出错的数据帧来恢复出错帧
- 常见的差错控制方式
- 流量控制
- 停止-等待流量控制
- 滑动窗口流量控制
- 可靠传输
- AAQ(自动重传请求)
- 停止协议
- GFN
- SEO
- AAQ(自动重传请求)
- 介质访问控制
- 信道划分
- FDM(频分多路复用)
- STDM(统计时分多路复用)
- WDM(波分多路复用)
- CDM(码分多路复用)
- TDM(时分多路复用)
- 随机访问
- 纯ALOHA协议
- 轮询访问
- 信道划分
- 为网络层提供服务
- ==WAN(广域网)==
- 覆盖范围很广的长距链路层协议,应用于直接连接在两个节点的链路上,用来通过拨号或者专线方式建立点对点连接发送数据
- ==广播网相关协议==
- ==HDLC(高级数据链路控制协议)==
- 面向比特的互连成的计算机网络,采用广播技术
- ==PPP(点对点协议)==
- 面向字节,由具有存储转发功能的结点交换机和连接链路组成,采用交换技术
- ==HDLC(高级数据链路控制协议)==
-
==LAN(局域网)==
- ==数据链路层设备及特点==
- 网桥
- 用于连接多个以太网(局域网)
- 交换机
- 多端口网桥
- 网桥
- ==STP生成树协议==
- 该协议可应用于在网络中建立树形拓扑,消除网络中的环路
- STP的基本原理
- 通过在交换机之间传递一种特殊的协议报文,网桥协议数据单元BPDU(Bridge Protocol Data Unit),来确定网络的拓扑结构
- ==CSMA/CD==
- 带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测
- 先听后发,边听边发,冲突停止,随机重发
- ==BPUD网桥协议数据单元==
- 交换机之间使用BPDU来交换STP信息
网络层
- IP地址
- A类地址0-127
- B类地址128-191
- C类地址192-223
- ==路由算法==
- 静态路由
- 手动配置路由
- 动态路由
- 通过路由交换的信息来构造路由表
- 静态路由
- ==ARP地址解析协议==
- ARP用于解决同一个局域网上的主机或路由器的IP地址到MAC地址的映射问题
- RARP
- 反向地址转换协议
- 允许局域网的物理机器从网关服务器的ARP表或缓存上请求其IP地址
- ICMP
- IGMP
- CIDR
- ==DHCP(动态主机配置协议)==
- 是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段
- RIP
- ==OSPF(开放式最短路径优先)==
- 是一个内部网关协议IGP(Interior GatewayProtocol),用于在单一自治系统AS内决策路由
- VPN
- NAT
-
NAPT
- ==避免路由环路的技术==
- 定义最大值
- 水平分割技术
- 路由中毒
- 反向路由中毒
- 控制更新时间
- ==两种解决距离矢量协议中回路问题的技术==
- 水平分割splithorizon
- 是一种避免路由环路的出现和加快路由汇聚的技术
- 由于路由器可能收到他自己发送的路由信息,而这种信息是无用的,水平分割技术不反向通告任何从终端收到的路由更新信息,而只通告那些不会由于计数到无穷而清除的路由
- 原理:路由器从某个接口接收到的更新信息不允许再从这个接口发回去
- 优点:能够阻止路由环路的产生
- 减少路由器更新信息占用的链路带宽资源
- 毒性逆转Poisoned Reverse
- 实际上是一种改进的水平分割
- 原理:路由器从某个接口上接收到某个网段的路由信息后,并不是不往回发送信息了,而是发送,只不过是将这个网段的跳数设为无限大,再发送出去。收到此种的路由信息后,接受方会立刻抛弃该路由,而不是等待其老化时间到(Age Out),这样可以加速路由的收敛
- 水平分割splithorizon
传输层
- socket
- 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket
- ==TCP流量控制==
- 链路层的流量控制和传输层的流量控制区别是什么
- 链路层的流量是根据分配的带宽由路由器、交换机等网络设备控制的
- 传输层的流量控制是用户电脑为了保证传输质量而由电脑操作系统控制的
- 传输层流量受链路层流量的影响
- 链路层的流量控制和传输层的流量控制区别是什么
- ==TCP的拥塞控制==
- 慢开始和拥塞避免
- 快重传
- 快恢复
- 随机早期检测RED
- ==TCP链接管理==
- 简述TCP链接建立过程
- 简述TCP链接释放过程
应用层
- ==DNS==
- Domain Name System域名系统
- 因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串
- ==域名解析过程和具体步骤==
- 当客户机提出域名解析请求,并将该请求发送给本地的域名服务器
- 当本地的域名服务器收到请求后,先查询本地的缓存,如有该记录项,则本地的域名服务器就直接把查询的结果返回
- 如果本地的缓存中没有该记录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址
- 本地服务器再向上一步返回的域名服务器发送请求,接受请求的服务器查询自己的缓存,如果没有该记录,则返回相关的下级的域名服务器的地址
- 重复第四步,直到找到正确的记录
- 本地域名服务器把返回的结果保存到缓存, 以备下一次使用,同时还将结果返回给客户机
名词解释
- TCP/IP
- 传输控制协议/因特网互联协议,又名网络通信协议,是internet最基本的协议、internet国际互联网的基础。由网络层的IP协议与传输层的TCP协议组成。
- TCP/IP定义了电子设备如何连入因特网,以及数据如何在他们之间传输的协议。TCP/IP是一个协议族,是因为TCP/IP包括了TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议
- RIP 是一种内部网关协议IGP,是一种动态路由选择协议,用于自治系统内的路由信息的传递,RIP协议基于距离向量算法,使用“跳数”即metric来衡量到达目标地址的路由距离
- NAT
- 网络地址转换,允许把一个整体机构以一个公用IP地址出现在因特网上。它是一种把内部私有网络地址转换成合法网络IP地址的技术
- DNS
- Domain name system域名系统,万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串
- FTP
- 用于Internet上控制文件的双向传输。同时它也是个应用程序,基于不同的操作系统有不同的FTP程序,这些所有的应用程序都遵循同一种协议以传输文件
- ICMP
- 网际控制报文协议,允许主机发送错误报告
- SMTP
- 简单邮件传输协议,用于传输电子邮件,采用推方式
- ARP
- 地址解析协议,从IP地址中映射MAC地址
- TCP
- 传输控制协议,可靠的,面向连接的,基于字节的传输层控制层传输协议
- HTTP
- 超文本传输协议,使用TCP进行可靠传输,万维网客户程序和服务程序之间必须严格遵守
- Split horizon
- RARP
- Time division multiplexing
- PPP
- CSMA/CD
问答题
- 简述三次握手过程并说明为什么要进行第三次握手
- 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN-SEND状态,等待服务器确认。SYN:同步序列编号
- 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个syn包(syn=k),即SYN+ACK包,此时服务器进入SYN-RECV状态。
- 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕客户端和服务器进入ESTABLISHED状态,完成三次握手。
- 第三次握手是为了保证信息传达的准确性,确保信息没有丢失,之间的连接依然通畅。
- 比较RIP和OSPF的区别
- RIP是一种分布式的基于距离向量的路由选择协议
- OSPF是一种分布式的基于链路状态的路由选择协议
- RIP
- 仅相邻的路由器交换状态;
- 路由器交换的信息是当前路由器所知道的全部信息,即路由表;
- 按照固定的时间间隔交换路由信息;
- OSPF
- 向本自治系统的所有路由器发送信息,发送的信息是与本路由器相邻的所有路由器的链路状态,即本路由器周边的网络拓扑;
- 只有当链路状态发生改变时,路由器才向所有的路由器用洪泛发发送信息
- RIP
- 在RIP中,每个路由器只知道到所有路由器的距离以及下一跳路由器,不知道全网的拓扑结构,且由于所处位置不同,每个路由器的路由表不同;
- 发生网络故障时,要经过较长时间才能将此信息传送给所有路由器,即“好消息传得快,坏消息传得慢”
- OSPF
- 在OSPF中,由于交换的信息是相邻的路由器的链路状态,故每一个路由器都能建立起一个链路状态数据库(即全网的拓扑结构),该数据库在全网范围内是一致的(这称为“链路状态数据库的同步”)
- OSPF中,链路数据库能较快的更新,故OSPF的更新过程收敛快
-
RIP协议使用运输层的用户数据包UDP进行传送,OSPF直接使用IP数据报传送
- TCP/IP协议分为哪几层,各层分别有什么功能
- 网络接口层
- 从主机或结点上接受IP分组,并把它们发送到指定的物理网络上
- 网络层
- 处理数据路由,进行路由转发
- 传输层
- 为端到端通信提供可靠服务
- 应用层
- 提供用户与网络的界面,包含所有高层协议
- 网络接口层
- 试说明某些场景下使用静态路由协议
- 静态路由是指网络管理人员手工配置的路由信息
- 静态路由算法的优点是简便、可靠,在负荷稳定、拓扑变化不大的网络中运行的效果很好,故仍广泛应用于高密度安全性的军事系统和较小的商业网络
- 试描述单域OSPF的工作过程
- OSPF开放式最短路径优先
- 向自治系统内所有路由发送信息,使用洪泛法,此信息包含自身与相邻路由表
- 当链路状态发生变化时,路由器使用洪泛法向所有路由发送信息
- OSPF开放式最短路径优先
- 试述具有五层协议的网络体系各层的主要功能
- 应用层
- 直接为用户的应用程序提供服务
- 传输层
- 向上一层进行通信的两个进程之间提供一个可靠的端到端的服务,使他们看不见传输层以下的数据通信的细节
- 网络层
- 选择合适的路由,使发送站的传输层所传下来的数据报能够正确的按照地址找到目的站,并交付给目的站的传输层
- 数据链路层
- 在两个相邻结点的线路无差错的传送以帧为单位的数据,所有数据包括数据和必要的控制信息
- 物理层
- 透明的传输比特流,物理层还要确定电接电缆插头的定义
- 应用层