计算机网络 【速记宝典】

计算机网络

前言

今天的因特网无疑是有史以来由人类创造的、精心设计的最大系统、该系统由数以千计的计算机设备(计算机、平板电脑、智能手机)彼此相互连接构成,并且还有一批与因特网相互连接的物品比如游戏机、监控系统、汽车、医疗设备、智能眼镜、手表、运动手环等,随着5G时代的到来,万物互联也越来越称为可能,这里推荐一下 尤瓦尔·赫拉利 的《未来简史》,这个人的格局很高,他书中描述的未来也越来越成为现实,他写的文字能让你感觉到你更想变为计算机世界里的一片硅片。

但是,面对互联网如此巨大且迅速的变化,我们能做些什么?我在地铁站等车的时候经常被地铁广告洗脑,鼓吹人工智能发展的多么牛逼,鼓吹大家都成为人工智能的高端型人才,我不能否认这个操作,但是我认为人工智能并不适合每个人,而且人工智能需要的技术和知识储备是巨大的,所以,**与其憧憬成为人工智能的高端型人才,不如把眼下的计算机基础知识学好,你的未来才会有更多的可能性。**毕竟,一切计算力发展的源头都是计算机,也可以说现在互联网一切的衍生物都是计算机的儿子。

说到计算机基础,就不得不提计算机网络,就像人长大后是需要和外界进行交流一样,计算机网络也是计算机彼此通信的必要条件。如果计算机的创造好比新中国成立,那么计算机网络的出现就相当于是改革开放。并且计算机网络是每个软件工程师必须要学好的一门知识。扯了这么多,下面开始进入正题

计算机网络

  • 简单介绍:
    • 组成部分:硬件,软件,协议
    • 工作方式:边缘和核心
    • 功能组成:通信子网,资源子网
    • 局域网:广播技术;广域网:交换技术(点对点)
  • 计算机网络的分类:
    • 按传输技术:广播式网络,点对点网络
    • 按拓扑结构分类:星形网络,总线型网络,环形网络,网状形网络
    • 按数据交换技术分类:电路交换网络,报文交换网络,分组交换网络
  • 网络标准化:(non)
    • 标准化常见过程:因特网草案->建议标准->草案标准->因特网标准
    • 相关组织:ISO,ITU,IEEE
  • 网络体系结构:
    • 接口:有接口才能够提供服务
    • 常见分类:服务数据单元SDU,协议控制信息PCI,接口控制信息ICI,协议数据单元PDU
  • 对于“服务”的定义:
    • 只有能够被上一层级看得见的才能够称之为服务
  • TCP/IP和OS模型的显著区别:
    • TCP/IP有7层(多了数据链路层,网络层进行了细分:会话层和表示层),OSI有4层

 

应用层

  • 应用层的细分:
    • 会话层:点和点之间的建立,维护和进行释放
    • 表示层:数据格式的转换和压缩,便于不同设备进行通信
    • 应用层:主要是现成的接口
  • 网络应用模型:
  • C/S模型
  • P2P模型,应用如PPlive Bittorrent等
    • 优点:
    • 消除了对于服务器计算压力;
    • 多个客户机可以共享资源;
    • 可扩展性好
    • 网络健壮性強,单个结点失效不会影响其他部分结点

DNS系统

  • 层次域名空间:
    • 结构:三级域名:二级域名:顶级域名=www.google.com
    • 注意:不使用其他符号,除-;每一个部分字符不超过63个,整个不超过255个
  • 顶级域名分类Top Level Domain:
    • 国家顶级域名,如cn, uk,kr等
    • 通用域名,如gov,edu
    • 基础结构域名.这种域名只有一个,即apra
  • 域名解析过程:
    • 递归查询
      • 本地客户端->本地域名服务器->根域名服务器->顶级域名服务器->权限 域名服务器
  • 递归与迭代相互结合:
    • 本地客户端->本地域名服务器
      • 本地域名服务器->根域名服务器
      • 本地域名服务器->顶级域名服务器
      • 本地域名服务器->权限域名服务器

FTP协议

  • 工作步骤:
    • 打开端口21进行连接
    • 等待客户连接请求,20进行数据接受
  • 功能:
    • 以用户权限管理方式提供用户对远程FTP服务器上的文件管理功能;
    • 以匿名FTP的方式提供公用文件共享的能力;
    • 网络文件系统NSF(基于UDP),允许进程打开一个远程文件,并从特定位置开始读取;

电子邮件系统

  • 主要过程
    • Send:SMTP->服务器25端口
    • Receive:POP3->接受端
  • SMTP与MIME的关系
    • MIME在SMTP,用户中间,负责转换非ASCII码

万维网

  • 内核:URL(统一资源定位符),HTTP(超文本传输协议),HTML(超文本标记语言)
  • HTTP协议:基于TCP,一般是端口80
  • 常用HTTP请求:GET,POST,PUT,DLETE

 

传输层(TCP,UDP)

常用设备:路由器

  • 主要功能:报文段TCP和用户数据段UDP;
    • 负责进程之间的通信
    • 为端到端提供流量控制,差错控制
    • 提供无连接或者面向连接的服务
  • 寻址:
    • 传输层是按端口进行寻址;
    • 数据链路层是按MAC地址寻址;
    • 网络侧是按IP进行寻址
  • 端口号的分类:
    • 熟知端口:0~2^10;
    • 登记端口2^10~3x(2^14),这类端口需要在IANA进行登记;
    • 客户端端口号3x2^14~2^16
  • 套接字(主机IP:端口号PORT):唯一标识了网络中的某台主机上的某个应用进程;

UDP(20B)

  • 主要特点:
    • 无需提前建立连接,也无需确认
    • 头部短,开销小,时间延迟短
    • 支持N:M的形式进行通信,通过在UDP的端口分发实现
  • UDP数据报和IP分组的区别(倒序观看):
    • 应用层报文
    • UDP数据报部分+UDP首部
    • IP数据报部分+IP首部
  • UDP报文段:
    • 组成格式:伪首部:源端口:目的端口:长度:校验和:12B:2B:2B:2B:2B
    • 分段的数据一般来说是小于512B
  • UDP校验:
    • 伪首部主要是用来进行校验和,不向上下两层传输
    • 校验常用算法:反码计算后为1正常,否则不正常,丢弃

TCP(80b)

  • TCP与网络层虚电路的区别:
    • TCP报文段中含有端到端的逻辑通信地址信息,对路由器不可见
    • 电路交换是在物理层的一种物理连接
    • 虚电路建立是在网络层的建立,不属于物理连接
  • 主要特点:
    • 面向连接,故不提供广播或多播的服务
    • 可靠的交付
    • 报文段头部长,开销大
  • TCP连接与释放:
    • TCP连接需要解决的问题
      • 客户端和服务端要通知对方的存在
      • 允许双方协商一些参数进行差错控制(如最大窗口值等)
      • 能够对运输实体资源进行约定(如:缓存大小,连接表中的项目等)
  • TCP连接过程:SYN(synchronous建立联机,建立后不再需要),Sequence number(顺序号码),ACK(acknowledgement 确认):
    • Client->Server:SYN=1,SEQ=X;
    • Server->Client: SYN=1,ACK=1,SEQ=y,ACK=x+1;
    • Client->Server: ACK=1,SEQ=X+1,ACK=X+1;
  • TCP释放过程:FIN(finish结束)
    • 前两步关闭Client->Server,后两步关闭Server->Client
    • Client->Server: FIN=1,SEQ=u;
    • Server->Client: ACK=1,SEQ=v,ACK=u+1;
    • Server->Client: FIN=1,ACK=1,SEQ=w,ACK=u+1;等待2MSL
    • Client->Server: ACK=1,SEQ=u+1,ACK=w(U+1)+1;

TCP实现可靠传输的机制:超时,冗余ACK

  • 超时:
  • new RTTs=(1-a)x old RTTs +a x (new RTTo)
  • RTO(超时重传时间)=RTTs+4 x RTTd
  • RTTd是RTT的加权平均值
    • 第一次为1/2 RTTo;
    • 非第一次,new RTTd = (1-p)x old RTTd+ (p)(RTTs-new RTTo),p的值推荐为0.25
  • 冗余ACK:回传3个A,表示希望收到 A+1:
    • 例:A->B:1,2,3,4,5->1,3,4,5 ;
      • 2号丢失无法抵达:B->A:1,1,1->1,1,1

TCP拥塞控制

  • 流量控制与数据链路层区别:
    • 传输层是端到端,数据链路层是相邻结点
  • 拥塞控制和流量控制的区别:
    • 拥塞控制是指整体网络能够承受的负荷
    • 流量控制更强调端口与端口之间来得及接受
  • Max s wnd(发送端最大数据量)=Min[rwnd,cwnd]
  • 拥塞控制相关算法:
    • 慢开始和拥塞避免
      • 慢开始算法:
        • cwnd= (primary cwnd )^2;
        • 每经过一个RTT后,A收到B的确认,于是下一个窗口调整为4;
    • 拥塞避免算法:ssthresh最大拥塞数量的一半
      • cwnd<ssthresh:使用慢开始算法
      • cwnd=ssthresh:2种算法都可以
      • cwnd>ssthresh: 使用拥塞避免算法,线性增加cwnd=old cwnd+k
  • 快重传和快恢复:
    • 快重传不是取消计时,而是更早的重传丢失报文
    • 连续3个冗余ACK时,直接重传,不必等待计时
    • 快恢复定义:当cwnd达到最大值时,从0执行慢开始算法
    • 冗余是慢上升,超时才是重开始

 

网络层(IP,ARP)

  • 常用设备:路由器
  • 交换机(数据链路层)与路由器区别:交换机之间是同一网络,路由器之间可以不同网络;
  • 主要功能:进行异构网络互联,拥有对风暴的控制能力,进行路由转发;
    • 拥塞控制,进行路由选择的能力
    • 将传输层的报文段分组成数据
  • “尽最大努力交付”的含义?
    • 不保证一定无差错交付;
    • 不保证在某一规定时间内交付;
    • 不保证按发送时的顺序交付;
    • 不故意丢弃IP数据报,用首部校验和进行确保安全性;
    • 不会重复交付;
  • 路由与转发:
    • 路由选择
      • 数据报,每一个分组都进行重新选择;
      • 虚电路,一直使用同一个路径直到转发完成;
  • 分组转发:
    • 路由器根据转发表将数据转发出去
    • 转发表:使得查找过程最优;
    • 路由表:需要对网络变化的计算最优
  • 拥塞控制:
    • 主要:确保能够传送的数据是全局性的问题,涉及所有主机和路由器等因素
    • 开环控制:事先考虑到拥塞的各种因素,使得尽量不要出现;
    • 闭环控制:事先不考虑拥塞因素,采用监视系统去监视系统的拥塞状况并进行调整
  • 路由算法:
    • 静态路由:非自适应路由选择,一般手动配置,如NAT转换协议(传输层)
    • 动态路由
      • 距离-向量路由算法,常见如RIP,RIP采用跳数作为距离量度
        • 1.每条路径的目的地
        • 2.路径的代价
      • 链路状态路由算法,典型如OSPF算法
        • 1.在本域内中所有路由器发送信息,采用泛洪法,即路由通过所有输出端口向所有相邻的路由器发送信息;
        • 2.发送的信息到相邻路由,“链路状态”就是指费用,距离,时延,带宽;
        • 3.只有链路状态发生改变,才用泛洪法向所有路由发送信息
  • 层次路由及路由选择协议:
    • 域内路由,即内部网关协议IGP
    • RIP
      • RIP三要点
        • 1.只和路由器交换消息
        • 2.交换全部消息,即路由表
        • 3.固定时间(如30s)进行交换
      • RIP选择的路径不是最短的,但一定是转发次数最少的
      • RIP报文最大长度(受制于UDP最大报文512B):4B+25x20B=504B,前4B是首部,后是路由信息
      • 优点:实现简单,开销小,收敛过程快;
      • 缺点:
        • RIP最大跳数为15(16表示不可达),限制了网络规模
        • 路由信息是转发全部,会随着网络整体规模呈现指数上升
        • 网络出现故障时,更新速度过慢
  • OSPF
    • 基于Dijsktra算法进行计算路由
    • 在上层区域用作骨干区域,以连接其他下层域。一般标识符规定为0,0,0,0;
    • 每一个区域都至少有一个区域边界路由器;
    • 在骨干区域也有一个路由器,实现与其他路由的交换。分层划分增加了交换信息的种类,同时OSPF变得更为复杂,但降低了路由的通信量。
    • OSPF适合大规模的自治系统
  • 五种分组类型(OSPF按不同类型进行不同传递):
    • 1.问候分组
    • 2.数据库描述分组
    • 3.链路状态请求分组
    • 4.链路状态更新分组
    • 5.链路状态确认分组
  • 域间路由BGP,即外部网关协议EGP:
  • BGP4种报文:
    • 打开报文Open
    • 更新报文Update
    • 保活报文keepalive
    • 通知报文Notification

IPV4分组:4x8

  • IPV4分组形式:
    • 标识(版本:首部长度:区分服务):总长度(标志:片偏移)=(4:4:8):(3:13)
    • 首部校验和占16位;生存时间TTL占8位,协议占8位
    • 在首部中关于长度的标记:首部长度4B,总长度2B,片偏移8B
  • 最大传送单元:
    • 一个链路层数据报的最大数据量;
    • 以太网的MTU为1500字节,广域网一般不超过567字节
  • MF和DF(More Fragment和Dont Fragment):
    • 是ip首部标志位3B里面有意义的2B
    • DF=0,IP数据报才可以被分片
    • MF=0, 表示数据报是相应原始数据报的最后一个片
    • MF=1,表示相应的原始数据报还有后片
  • IPV4地址划分:
    • A类:1.0.0.0~126.255.255.255(2^7-1)
    • B类: 128.1.0.0~191.255.255.255 (2^7+2^6-1)
    • C类:192.0.0.0~223.255.255.255(2^7+2^6+2^5-1)
    • D类:224.0.0.0~239.255.255.255(2^7+2^6+2^5+2^4-1)
    • E类: 240.0.0.0~254.255.255.255(2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0-1);
    • 其中127.0.0.0~127.255.255.255用于环回测试,D类组播,E类科研
  • 私有地址:
    • A类:10.0.0.0~10.255.255.255.255 1个段
    • B类: 172.16.0.0~173.31.255.255 16个段
    • C类:192.168.0.0~192.168.255.255 256个段 这也是为什么一般路由器的私有地址是192.168网段
  • 特殊地址:全1,本网广播地址:
    • 网络地址转换NAT:通过专用网络将内部IP地址转换为外部IP地址;内部IP只用LAN,外部使用WAN,有效解决了IP地址不足的问题

 

子网划分

  • 子网掩码:
    • 将IP与子网掩码与运算=真实IP地址
  • CIDR:
    • 为解决IP地址耗尽而提出的一种措施
    • IP地址={网络前缀:主机号}
    • 一般采用最长前缀匹配,常用的数据结构是二叉线索树
  • DNS作用:
    • 将域名解析成ip地址
    • 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。
    • 我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,
    • 这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。

    • dns域名解析大致过程如图
      • 浏览器先检查本地缓存,如果有,解析结束。
      • 然后查询本地 "C:\Windows\System32\drivers\etc\hosts" hosts记录,如果有,解析结束。
      • 如果任然没有命中,才会去查询网络中配置的dns服务器,比如上图中的 8.8.8.8。
  • ARP协议:
    • 在同一个路由系统内,通过IP找到相应的硬件MAC地址的协议;
    • ARP是网络层,NAT在传输层
  • 什么是ARP协议?

    • ARP作用: 实质是一张表,存放 IP地址转换为MAC地址对应关系
    • 网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。
    • IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。
    • 数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。
  • 2.查看本地ARP缓存:

  • 3.ARP协议原理:
    • ARP协议工作在数据链路层,也就是我们我们的二层交换机那一层
    • 比如我的电脑ip 是 192.168.1.100 要与 192.168.1.1 通信,但是二层设备无法通过ip地址访问,只认识  MAC地址
    • 此时我的电脑就会发送 ARP广播报文,所有连接到这台交换机的主机都能收到: “谁是 192.168.1.1 请回话给 192.168.1.100”

  • ARP报文格式

  • 使用Wireshark抓取ARP报文:

 

 

 DHCP协议

  • DHCP协议(基于UDP应用层协议)
    • DHCP客户端->DHCP服务端:客户端广播DHCP discover消息
    • DHCP服务端->DHCP客户端:服务器提供地址租约offer
    • DHCP客户端->DHCP服务端:客户端选择并请求地址租用
    • DHCP服务端->DHCP客户端:服务器确认将地址租用给客户端
  • DNS作用
    • DHCP(动态主机配置协议)是一个局域网的网络协议,常被应用在大型的局域网络环境中。
    • 指的是由服务器控制一段lP地址范围,客户机登录服务器时就可以自动获得服务器分配的lP地址和子网掩码。

  • 2.DHCP原理简析

    • 目的:DHCP客户端以广播的形式发送Discover包(主机并不知道DHCP的服务器的位置)
    • 发送者:源ip是0.0.0.0
    • 发送方式:目标ip是255.255.255.255,也就是网段内所有安装了TCP/IP协议的主机/服务器
    • 响应者:DHCP服务器会分配ip给

ICMP协议

  • 功能:
    • 确认IP包是否成功到达目的地址
    • 通知在发送过程中IP包被丢弃的原因
  • 五种差错类型:
    • 1.终点不可达
    • 2.源点抑制
    • 3.时间超过
    • 4.参数问题
    • 5.改变路由
  • 询问四种类型:
    • 回送请求和回答报文
    • 时间戳请求和回答报文
    • 时间戳请求和回答报文
    • 掩码地址请求和回答报文
    • 路由器和通告报文
  • PING协议(基于网络层ICMP协议直接封装的应用层协议,未使用传输层协议)
  • IPV6
    • 基本格式:将原先的32位扩充到128位,8组,每组4个16(2^4)进制数
    • IPV6首部是8B(8x8),IPV4首部是4B(4x8)
    • 3种地址类型:单播地址,组播地址,任播
      • 单播:优先点对点;
      • 组播:数据包交付到一组计算机中;
      • 任播:目的地址是一组主机,交付时只交付给其中一个;
  • 移动IP
    • 分为:移动结点,归属代理和外阜代理(移动代理)
    • 移动结点:具有永久IP地址的移动结点
    • 本地代理:一个移动结点归属的网络
    • 外部代理:在外部网络中完成移动管理功能的实体
  • 实现移动IP的技术?
    • 代理搜索,判断是否漫游;
    • 申请转交地址
    • 登录
    • 建立隧道
  • 移动IP通信特点:每移动更新一个基站就更新转交地址(辅地址),但主地址不会改变。
  • 路由器中的输入输出产生溢出是造成分组丢失的重要原因

 

数据链路层(MAC,LLC)

  • 数据链路层以上的设备可以隔离冲突域,传输层以上可以隔离广播域
  • 常用设备:交换机,网桥
    • 网桥
      • 透明网桥:
        • 选择的不是最佳路由
        • 网桥在收到一个帧后无进行自学习,然后增加一个项目
        • 源LAN和目的LAN相同,丢弃
        • 源LAN和目的LAN不同,转发
        • 目的LAN未知,扩散
  • 源路由网桥:
    • 选择的是最佳路由
    • 源路由对于主机是不透明的
    • 使用应答帧和发送帧来确定网络的最佳路由
  • 存储转发交换模式
  • 交换机
    • 实质:多端口网桥,并且使宽带速率不下降
    • 总容量计算方式:
      • 全双工 端口数x带宽数
      • 半双工 1/2x 端口数x带宽数
  • 交换模式:直通交换和存储转发交换
    • 直通交换
      • 只检查帧的目的地址,但缺乏智能性和安全性
    • 存储转发交换
      • 检查数据是否正确,确认无误后通过查找表转换输出端口将帧发送出去
  • 主要功能:
    • 为网络层提供服务
    • 将IP数据报组装成帧
    • 具备差错校验,流量控制,成帧
  • 提供的主要服务:
    • 有确认,无确认的无连接服务
    • 有确认的面向连接的服务
  • 4种组帧的方法:
    • 字符计数法
      • 首字段用一个计数字段来表明该帧的字节数
      • 首4个字符,尾5个字符
      • 计数字节提供的字节数保护你自身所占的一个字节
      • 如果计数在传输中出现差错,接收方就无法判断所传输的帧的接收位
  • 首尾定界法:
    • 开始DLE STX;结束DLE ETX
  • 过程:
    • 1.网络层发出的数据 DLE STX |A DLE B| DLE ETX
    • 2.经数据链路层填充后的数据 DLE STX | A DLE DLE B|DLE ETX
    • 3.接收方传送的网络 DLE STX | A DLE B|DLE ETX
  • 比特填充的首尾标志法:
    • 典型的连续5个1则加0
    • 1.原始数据:111111
    • 2.零比特进行填充后 1111101
    • 3.接收方收到数据后,一旦遇到5个连续1就去掉后面的0
  • 物理编码法(IEE802采用此标准):
    • 利用物理介质上的违法标志来区分帧的开始和结束
  • PPP用来进行帧界定的字段为OXTE
  • Mac帧在首尾界定法时不需要开始帧和结束帧来进行区分
  • 差错控制:
    • 奇偶校验
    • 循环冗余码(异或校验)
  • 纠错编码:海明码
  • 流量控制与可靠传输:
    • 自动重传请求ARQ,传统ARQ分为停止等待,后退N帧,选择重传三种方式
      • 停止-等待协议
        • 发送=1,接收=1,如果接收方不返回应答,则发送方必须一直等待
    • 滑动窗口流量控制
      • 后退N帧GBN,累计确认
      • 选择重传,不按序接受,非累计
    • 可靠传输机制:确认,超时重传两种机制
  • 信道吞吐率=信道利用率x发送方的发送速率
  • 介质访问控制:
    • 信道
      • 时分
      • 频分
      • 波分
      • 码分
  • 随机和轮询是动态分配信道的方法:
    • 随机协议
      • ALOHA协议
      • 当需要发送时,不进行任何检测就发送数据;
      • 如果一段时间内没有收到确认,该结点就认为传输过程中发生了冲突
      • 缺点:信道利用率低
  • CSMA协议
    • 即共享信道频率又共享时间,是一种真正的动态复用技术
    • 任意两个不同站的码片向量正交一定为0,表示没有发送数据
    • 任意站点的码片向量与改码片的规格内积化为1,表示发送了1比特数据
    • 内积化为-1,表示接受了比特数
    • 码分多路复用具有抗干扰能力强,保密性強,语言质量优等优点,这可以减少投资和运行成本。主要用于无线通信系统,特别是移动通信系统
    • 三种策略:
      • l-坚持CMSA
        • 当发送结点监听到信道空闲时,立即发送数据,否则继续监听
      • P-坚持CSMA
        • 以概率p发送数据;在概率1-p时不进行发送
      • 非坚持CSMA
        • 与l不同的是,会延迟一段时间进行监听
  • CSMD协议 :半双工
    • 半双工工作在同一信道,所以肯定用CSMA/CD冲突检测协议
  • CSMA/CD协议
    • 带冲突检测的载波帧听多路访问协议
    • 解决问题的方法:CSMA机制中多个传送造成冲突,但是即使是冲突了。CSMA也要将帧发送完,但总线的利用率整体上降低
    • 在发送前:检测总线上是否有其他设备在发送数据;若有,则不发送计算机,若没有,则进行发送数据。
  • 在发送时:如果产生冲突,采用截断二进制指数类型退避算法;
    • 截断二进制指数类型退避算法
    • 特点:先听后发,边听边发,冲突停发,随机重发
    • 发生碰撞在停止发送数据后,需要推迟一个随机时间才能发送数,退避的时间按照以下算法计算:
    • 1.确定基本退避时间,一般取争用期2t
    • 2.定义重传参数k,k=Min[重传次数,10].可见。
      • 当重传次数不超过10时,参数k等于重传次数;
      • 当重传次数超过10时,k就不再增大而一直等于10;
    • 3.从整数集合{0,1,.....,2^k-1}中随机选择一个数记为r,重传所需时延就是r信的基本退避时间。即2rt
    • 4.当重传次数达到16b仍然不能成功的时候,说明网络太拥挤,直接丢弃帧,并向高层报告。
  • 设置最大和最小帧长的原因?
    • 最小帧:区分噪声和因发生碰撞而异常终止的短帧;
    • 最大帧:保证每个站点能够公平竞争到以太网;因为如果某个站发送特别长的帧,那 其他帧就必须等待很长时间才能发送数据
    • <64b的帧都是由于冲突而异常无效的帧;发送小于64b,以太网会将其加长至最小64b的帧
  • 无法应用于WIFI的原因:
    • 1.接收信号强度往往会小于发送信号的强度,且在无线介质上信号强度动态变化范围很少,因此,碰撞检测必须在硬件上花费更大
    • 2.无线通信中,并非所有的站点都能够听见对方,即“隐蔽站”的问题。IEEE802.11标准进行定义
  • CSMA/CA协议 全双工:
    • 全双工通信不需要CSMA/CD冲突检测机制
    • 主要用于无线环境
    • 三种碰撞避免机制:预约信道,ACK帧,RTS/CTS帧
      • 预约信道:提前通知自己传输数据需要的时间长度;
      • ACK帧:收到数据帧后,回传一个ACK,如果未收到这代表失败,类似于TCP;
      • ATS/CTS帧:是可选的碰撞避免机制,主要用于解决无线网中的隐蔽站问题;
  • CSMA/CD与CSMA/CA对比:
    • 冲突区别:CSMA/CD可以检测冲突但无法避免,CSMA/CA直接不提供检测冲突
    • 传输介质不同:CSMA/CD作用于以太网,CSMA/CA主要用于无线局域网,IEEE802.11 a/b/n等
    • 检测方式不同:CSMA/CD主要通过电缆中电压的变化来检测,CSMA/CA使用能量检测,载波检测,能量载波,混合检测三种检测信道的空闲方式
    • CSMA/CD发送前监听,边发送边监听,一旦碰撞马上停止发送;CSMA/CA是在发送前告知,让其他结点暂时不发送,来避免碰撞。
  • 轮询协议:令牌传递
    • 令牌:一组特殊的比特组合而成的帧,帧中包含目的地址
    • 轮询访问非常适合高负载的广播信道。因为令牌环网采用各种轮流使用令牌发送数据,无论负载如何,都没有冲突产生。

 

 

局域网

 

  • 主要介质:双绞线,UTP5类以上的线支持所有
  • 介质访问控制方法:CSMA/CD,令牌总线都作用于总线型网,令牌环主要作用于环形网
  • 拓步结构:星形,环形,总线形,树形
  • 以太网:
    • 工作原理:
      • 采用无连接的服务
      • 不对数据进行编号和确认
      • 只提供尽最大努力交付的不可靠服务,差错的纠正主要依靠传输层的TCP
    • MAC帧固化在ROM中
      • 6B(48位)
      • 高3位为为厂商代码,最后24到3位为厂商自行分配的网卡序号
    • 数据链路层上帧即加首部地址,也加尾部地址(MAC)
    • 插入字节:目的地址:源地址:类型:IP数据报:FCS校验=8:6:6:2:(1500-46):4
      • 首部插入8,使得接受端和发送端进行时钟同步
    • 802.3帧格式与DIX以太帧格式的不同之处
      • 帧起始标志法:与802.4和802.5相兼容
      • 长度城:替代3DIX帧中的类型域,指出数据域的长度
    • 高速以太网
      • 10base-T:CSMA/CD半双工;全双工
      • 吉比特:允许1G bit/s下全双工和半双工两种工作方式;CSMA/CD仍然半双工
  • 无线局域网:
  • 有固定基础设施
    • IEEE 802.11标准规定最小构件为基本服务集,因此,BSS中的基站为接入点(AP)
    • 一个服务集可以是孤立的,也可以通过接入主干分配系统DS,然后接入到另一个基本服务框架,构出扩展的服务集(Extended Service Set,ESS)
  • 无固定基础设施
    • 无上诉基础服务的集中接入点,而是由于一些处于平等状态的移动站之间相互通信组成的临时网络。
    • 这些移动站也具有路由器的功能
  • IEEE 802.11标准中的物理层
    •   跳频扩频FHSS
    •   直接序列扩频DSS
    •   红外线IR
  • IEEE 802.11标准中的MAC
    •   分布协调功能DCF
    •   点协调功能PCF
  • IEEE 802.11在CSMA/CA上增加确认子层
  • 令牌环网:一种特殊的MAC帧
    • 基本原理:以IBM的TOKEN Ring为例
      • 1.当网络空闲时,环路中只有令牌环传递
      • 2.有数据到达站点时,该站点修改令牌中的一个标志位,并在令牌中附加数据,这样令牌变成了一个数据帧
      • 3.沿着环路进行传输,校验,有错误就重传
      • 4.传递完数据后重新产生一个令牌进入下一段

 

广域网

  • 广域网不能够使用广播通信,而应该使用点对点通信,使用交换机转发
  • 广域网强调资源共享,局域网强调数据传输;
  • 广域网在OSI上有,物理,数据链路,网络三层,局域网缺少网络层
  • HDLC:
    •   两种基本配置:
      • 平衡配置:链路两端都是复合站,每个复合站都可以平等的数据传输而不需要得到对方复合站的允许
      • 非平衡配置:一个主站控制整个链路的工作
    • 3种类型:主站,从站,复合站
    • 3种数据操作方式:正常响应,异步平衡方式,异步响应方式
    • 正常响应:非平衡结构的。主站->从站,从站需要确认才能响应;
    • 异步平衡方式:任一一个复合站都可以进行对另一战的数据传输
    • 异步响应方式:非平衡,主站确认才能进行传输
  • HDLC信息帧使用了编号和确认机制,能够提供可靠传输
  • PPP:
    • 为改进SLIP无法寻址,数据校验,分组类型且只能传递IP分组的现状,制定了PPP协议
    • 是一个面向字节的协议
    • PPP仅仅保证点对点的通信,支持全双工
    • 组成部分:
      • 链路控制协议LCP:用于建立,配置,测试和管理数据网络
      • 网络控制协议NCP:允许同时采用多路网络协议,每个不同的网络要采用相应的NCP进行配置
    • 提供端到端的传输,检测由高层协议控制,如工作在传输层的socket
    • LLC(逻辑链路控制)
    • MAC(媒体地址控制):802协议中只有MAC
  • 物理层(模拟信号,数字信号,串行传输,并行传输,单工通信,半双工通信,双工通信)
    • 主要任务:透明的传输比特流,并为数据端设备提供数据通路
    • 常用设备:网卡,中继器,集线器
    • 中继器:将信号整理放大再转发,遵循5-4-3规则,4个中继器的5段信号介质,只可以挂载3个主机
    • 集线器,解决物理口过少的问题,只能工作在半双工网络
  • 传输介质:
    • 无线:无线电波,微波,红外线和激光
    • 有线:双绞线,同轴电缆,光纤
  • 传输方式:并行传输和串行传输
    • 并行传输:距离短,速度快
    • 串行传输:距离长,速度慢
  • 通信方式:同步通信和异步通信
  • 通信基础
    • 数据和信号
      • 数据是传送信息的实体,且取值一般是固定的几个值如0,1
      • 信号是数据的电气和电磁表现,是连续变化的
      • 信道和电路并不等同,信道是信号的传输介质
    • 码元是一个固定时长的脉冲信号,因此是数字信号;
    • 码元传输速率:单位时间,数字通信传输的码元个数。单位波特Baud
    • 信息传输速率:单位时间,数字通信传输的二进制个数,即比特数。单位b/s
    • 若一个码元携带nbit信息,M Baud的码元传输速率对应的信息传输速率是mxn bit/s
    • C=B log L;C表示比特率,B是码元,L是离散值
    • 在模拟信号中,带宽=高频-低频
  • Nyquist定理:
    • V=2w log I;其中w表示带宽,I表示级数,一般I=mxn,m表示种类,n表示方式种类
  • Shannon公式:
    • V=W log(1+S/N) ;
    • w为信道带宽,S为信道所传输信号的平均功率,N为信道内部的高斯噪声比;
    • 例:信躁比=10 log10/(S/N) ;
    • S/N等于10时,信噪比为10db,S/N等于1000时,信躁比为30db
    • Shannon从另一个侧面上反应了一个码元所对应的二进制数量是有限的
  • 通信方式:单工,半双工(CSMA/CD),全双工(CSMA/CA)
  • 编码与调制
    • 数字数据->数字信号:
      • 1.非归零码NRZ
        • 低电频表示0,高电频表示1
        • 容易实现,无检错,无法判断开始
      • 2.曼彻斯特码 Manchester Encoding
        • 以太网的主要传输方式
        • 高电频->低电频(下降):0
        • 低电频->高电频(上升):1
      • 3.差分曼彻斯特码
        • 主要用于局域网传输
        • 可实现同步且抗干扰能力强
        • 前半个码元与上后半个相同,表示1
        • 前半个码元与上后半个不同,表示0
      • 4.4B/5B编码
  • 数字数据->模拟信号:分别通过改变幅移,频移,相移来表示0和1
    • 1.幅移键控:ASK
    • 2.频移键控:FSK
    • 3.相移键控:PSS
    • 4.正交振幅调制:QSK,在频率相同的条件下,将ASK和PSK相结合
  • 模拟数据->数字信号:
    • 脉冲调制PCM
      • 在采样定理中,f采样>=2f(max)
    • 调制过程:
      • 抽样->量化->编码
  • 模拟数据->模拟信号:
    • 时分TDM
    • 频分FDM
    • 波分WDM
    • 码分CDM
  • 数据交换方式:
    • 电路交换
      • 优点:时间延迟小,有效传输,无冲突,有序到达,简单易控制
      • 缺点:连接时间长,线路独占,效率低,灵活性差,难以规格化
    •   报文交换
      • 优点:无需建立连接,动态分配,提高可靠性和利用率
      • 缺点:无大小限制,需要大缓存,会计算往返时间,类似TCP
  • 分组交换:
    • 优点:无建立时间延迟,线路利用率高,简化了存储管理,加速传输,减少出错机率和重发数量
    • 缺点:存在传输时延,需要额外的信息量,分组交换采用数据服务,时间先后顺序不一致,会出现丢失和重发
  • 数据报与虚电路的区别:类似UDP与TCP
    • 数据报建立不需要建立连接,虚电路必须有
    • 数据报不保证分组有序到达,虚电路保证
    • 数据报传输过程中出现故障不会影响分组数据,虚电路会阻塞
posted @ 2020-03-18 17:24  茂茂er  阅读(677)  评论(1编辑  收藏  举报