哈工大 计算机网络 期末总结——引自码迷Code

2019/12/19

哈工大 计算机网络 期末总结——引自码迷Code.

零散知识点总结

概述

  1. 比特(bit), 字节(byte), 1 byte = 8 bit(空间上,位数上)
  2. kbps = 103bps
  3. 时延带宽积中的时延是传播时延, 单向的, 不是RTT
  4. 传输层是数据段; 网络层是数据报.数据链路层是数据帧
  5. 计算机网络就是互连的、自治的计算机集合
  6. 计算机网络结构: 网络边缘, 接入网络, 网络核心
  7. 端到端层: 传输层以上层次
  8. OSI各层次(共7个)功能:
    • 物理层: 比特编码, 时钟同步..
    • 数据链路层: 组帧, 流量控制,差错控制,访问控制,物理寻址...
    • 网络层: 逻辑寻址, 路由, 分组转发
    • 传输层: 连接控制,差错控制, 连接控制, 分段与重组, SAP寻址
    • 会话层: 会话控制, 同步 (最薄的一层)
    • 表示层: 加密/解密, 压缩/解压缩. 数据表示转换.
    • 应用层: 支持用户通过软件使用网络服务
  9. 完成路由选择功能的层次是: 网络层
  10. 多路复用技术: TDM,FDM,WDM,CDM
  11. 采用10Mbps的HFC接入Internet可能比2Mbps的ADSL接入还慢。
  12. 端到端原则:网络高层次的功能应尽可能的实现在网络边缘(终端设备),网络核心框架只提供最基本的标准的服务。
  13. 接入网络的方式: DSL. 电缆, FTTH, 拨号和卫星,以太网, wifi, 光纤。
  14. 常见的物理媒体: 双绞铜线, 同轴电缆, 光纤,陆地无线电信道,卫星无线电信道。

应用层

  1. 网络应用体系结构,3种: C/S, P2P, 混合
  2. 网络应用服务需求: 可靠性, 带宽, 时延
  3. 不同主机进程间通讯需要进行信息交换, 进程间通信利用socket发送/接收消息实现
  4. 邮件发送: SMTP/ HTTP; 邮件服务器之间发送: SMTP; 邮件收取: HTTP/POP3/IMAP
  5. socket API中:
    • 只能在服务器端调用: listen(), accept()
    • 只能在客户端调用: connect()
    • TCP连接不能调用:吗recvfrom(), sendto()
  6. 服务器端套接字绑定的IP地址是: INADDR_ANY
  7. P2P方式实现文件分发比C/S方式快
  8. 分组交换技术更适合突发数据传输的网络, 电路交换技术更适合长时间持续传输的网络.
  9. P2P的索引技术: 泛洪式查询, 集中式索引,层次式覆盖网络

传输层

  1. 流量控制: 发送方的发送速率不超过接收方的接收速率
  2. 拥塞控制: 当网络拥塞时减少发送方的发送速率.
  3. 拥塞控制两种方式: 端到端拥塞控制, 网络辅助拥塞控制
  4. 可靠数据传输: 不错, 不乱, 不丢
  5. cookie作用,4个: 标识用户,购物车,推荐, 用户会话状态信息维护
  6. TCP: 三次握手(连接建立), 4次挥手(连接拆除)
  7. TCP建立连接SYN置为1, 拆除连接FIN置为1
  8. DNS RR类型: A/AAAA(域名到ip), NS(根据域, 查询域权威域名服务器的主机名),MX(邮件服务器规范主机名), CNAME(主机别名到规范名) 注意:只有A/AAAA查询ip,其余都是查询主机名
  9. FTP使用两个并行的TCP连接来传输文件,一个是控制连接,一个是数据连接。控制连接用于在两个主机之间传输控制信息,如用户标识、口令、改变远程目录的命令以及“put”和“get:”文件的命令,使用端口21。数据连接用于实际传输一个文件,使用端口20。
  10. SMTP: 基于TCP, 服务器默认端口号25.邮件传输内容 7位ASCII; CRLF.CRLF表示报文的结束. 以下是常见命令:
    • HELO 客户端为标识自己的身份而发送的命令(通常带域名)
    • MAIL FROM 标识邮件的发件人
    • RCPT TO 标识邮件的收件人;
    • DATA 客户端发送的、用于启动邮件内容传输的命令。
    • QUIT 终止会话
  11. 基于TCP的应用层协议有:SMTP、TELNET、HTTP、FTP, POP3, 基于UDP协议: DHCP. 混合协议: DNS
  12. 端口号总结:
    • FTP数据端口: 20; FTP控制端口: 21
    • SMTP: 25
    • HTTP: 80/8080...
    • HTTPS: 443
    • DHCP :客户端 68, 服务器端67
    • DNS: 53
  13. UDP也可以进行可靠数据传输, TCP不保证有序的数据传输.
  14. 三次重传不包括对上次数据确认的ACK, 即相同ACK出现4次才会判定为三次重传
  15. TCP才有三次重传, GBN和SR都没有, 且TCP的ACK回复的序号不是接收到的, 而是希望下次接收到的.
  16. 注意ACK只有0/1.而ack或ack_seq才有具体的数.
  17. 注意: GBN和SR中窗口大小应该小于帧序列的大小 - 1
  18. 发送周期:发送方从发送第一个数据帧开始,到接收到第一个确认帧为止。包括一个RTT和两段传输延迟.
  19. 最大传输速率: 一个发送周期内发送数据的量/ 发送周期. (注意发送周期中, 传播时间和传输时间不能简单相加, 他们可能是包含关系,在传播的同时也在传输)
  20. 信道利用率: 一个发送周期内数据发送的时间/发送周期, 信道利用率可以等于1.即一个RTT内在不断地发送数据. (注意:计算信道利用率时一定要先根据单帧计算出发送周期)
  21. GBN只设置一个计时器,累计重传,超时后发送expect后面所有分组; SR为每个传输分组设置计时器, 超时后只发送超时的分组.
  22. 发送速率最大只能等于链路带宽时才能不发生丢包,此时: W * MSS / RTT <= R ,其中W是窗口数
  23. UDP头部8字节, TCP头部至少20字节.
  24. UDP头部4部分: 源端口号, 目的端口号, 长度, 校验和.(ip地址在ip协议中, UDP不携带)
  25. UDP计算校验和时包括: 伪头, UDP头, 应用层数据
  26. 用于实现可靠数据传输的机制有: 差错编码, 计时器,重传, 序列号, ACK
  27. 若流量强度(traffic intensity)La/R接近于1,则平均排队延迟接近于无穷大
  28. MSS就是TCP数据包每次能够传输的最大数据分段。通常为1460 (1500 - 20 IP头- 20 TCP头)

网络层

  1. 网络层核心功能: 异构网络互联, 路由与转发, 拥塞控制
  2. 网络层建立的连接中间设备都参与, 但传输层建立的连接对中间设备透明
  3. 网络层提供的服务: 网络层无连接服务(数据报服务), 网络层连接服务(虚电路网络).
  4. 沿某条虚电路传输的分组,携带对应虚电路的 VCID,而不是目的地址 ; 且同一条VC ,在每段链路上的VCID通常不同(路由器转发分组时依据转发表改写/替换虚电路号 ).
  5. 网络层有虚电路传输和数据报传输. 他们都是分组传输. 虚电路每次建立虚拟连接, 不共享带宽, 不附带目的地址, 只带虚电路的VCID,适用于电话/传真. 数据报网络是internet采用的, 适用于智能端系统,如电脑.
  6. internet是数据报网络, ATM是虚电路网络.
  7. 转发表有多个匹配项时: 最长前缀匹配优先.
  8. ip所属的子网地址 = ip & 子网掩码.
  9. 如何确定是否进行了子网划分? 观察子网掩码是否与默认一致, 不一致则进行了子网划分
  10. 注意掩码形如255.255.255.0的形式, 而无类域间路由地址才形如 a.b.c.d/x
  11. DHCP自动获取: ip, 子网掩码, 默认网关地址, DNS服务器名和ip
  12. NAT中所有私有地址都替换为网关的共有ip地址, 但不同私有地址的分配端口号不同. 利用端口号16位,可区分65535个私有地址.
  13. NAT穿透问题, 即如何解决访问具有特定私有地址的服务器: 静态配置NAT ; 互联网网关设备协议IGD; 中继.
  14. ICMP是网络层协议...
  15. IPV6有选项字段, 只是从基本首部中提出, 换到选项首部中而已
  16. IPV6不能分片; IPV6中无校验和字段; IPv6不再使用掩码, 而是使用更简洁的无类域间路由.
  17. IPV4首部至少20字节, IPV6基本首部固定40字节
  18. IPV6的基本地址类型: 单播,多播,任意播.
  19. IPV4 32位; IPV4 128位; MAC 48位
  20. 全局信息: 链路状态路由算法; 局部信息: 距离向量路由算法.
  21. 路由表中:
    • 到一个子网: 掩码为该子网的掩码.
    • 到 一个特定ip: 子网掩码为255.255.255.255
    • 到外网, 或其他未知网络(默认路由): 0.0.0.0 0.0.0.0 + 网关ip
  22. 路由协议:
    • RIP: 基于UDP ;应用层协议 ; 距离向量算法
    • OSPF: 基于IP ;网络层协议; 链路状态算法
    • BGP: 基于半永久TCP; 应用层协议; 路径向量算法.
  23. BGP除了在自治系统间交换信息外,还有将这些信息散播到内部
  24. OSPF优点: 安全, 支持多条代价相同的路径, 支持大规模AS分层
  25. 同一子网直接交付, 不同子网间接交付
  26. 网络层没有差错校验: 网络层是“尽最大努力完整的传输数据包”,差错检测已由数据链路层实现,IP层没必要再进行一次校验。
  27. 链路状态算法存在震荡的可能
  28. 距离向量算法存在 坏消息传播慢! —“无穷计数 " 问题
  29. 解决无穷计数: 毒性逆转技术, 定义最大有效度量值,水平分割技术, 阻碍时钟.
  30. 解决IP不够: 使用无类别编址CIDR;使用NAT; 采用IPV6
  31. IPV6没有广播地址了, 但其有单播, 多播,任意播三种地址形式.

链路层

  1. MAC查询时(ARP查询时), 目的MAC为FF-FF-FF-FF-FF-FF
  2. ARP协议只能查询同一个子网内的主机, 同时他是一个跨网络层和链路层的协议
  3. 以太网数据帧大小在64-1518, 数据大小在46 -1500 字节, 其中18字节的控制信息.
  4. 链路层用CRC检测错误, 硬件支持快,但检测出错误后, 直接丢弃, 不发消息.
  5. CSMA/CD要检测出冲突,就必须满足: ?, 即最小数据帧L必须大于时延带宽积的2倍, 或大于(R* RTT)
  6. CSMA/CD效率: 

    , 当网速极快或链路极短时, 效率接近1.(当信号传播延迟趋近0时,信道利用率趋近100%)
  7. CRC可以检测长度<= r位的错误.
  8. 以太网交换机利用CSMA/CD访问链路,发送帧 .
  9. 以太网转发帧时依据目的MAC地址, 自学习时依据源MAC地址.
  10. 仅路由器可以进行路由优化, 但也仅有它不能即插即用和直通连接.
  11. 802.11无线网模式:
    • 基站设施网络模式: 主机和基站(AP)构成
    • 自组网模式: 只有主机
  12. 无线网为什么不能使用冲突检测: 隐藏站, 信号衰落.
  13. 802.11数据帧有4个地址字段 : 地址4用于自主网络, 谁收谁是地址1, 谁发谁是地址2, 地址3是剩余地址.
  14. CSMA/CA中一个主机从期望发送到接收方正确接收最快需要多久?(忽略传播,传输时延): DIFS + 3 SIFS
  15. 以太网交换机有两种交换模式:
    • 直通式交换机: 只检查48位目的MAC地址
    • 存储转发式交换机: 先存储整个帧, 检查后再发送
  16. Ethernet交换机实质上是一个多端口的网桥
  17. 对于网络负载很轻的无线网络,Polling协议比FDMA的信道利用率高
  18. 以太网最大帧为1518,MTU为1500.

物理层

各种协议

应用层

传输层

传输控制协议(TCP,Transmission Control Protocol)

用户数据报协议(UDP,User Datagram Protocol)

网络层

IPV4协议

举例:

上图TTL有误,TTL为一个字节,8位, 最大为255

IPV6协议

虚电路信令协议(signaling protocols) : 用于VC的建立、维护与拆除

数据链路层

地址解析协议,即ARP(Address Resolution Protocol)

以太网帧结构

8个字节的前导码一般不考虑, 故以太网数据帧一般是 18B控制信息 + (46 ~1500)的数据信息

802.1q

虚拟局域网中,802.1q协议为经过中继端口转发的帧增加/去除额外的首部域

802.11

PPP



---文章内容源自于《哈工大计算机网络 期末总结》——码迷

原文地址:https://www.cnblogs.com/LinQingYang/p/12066639.html

时间: 2024-10-19 02:31:46

哈工大 计算机网络 期末总结——引自码迷Code的相关文章

哈工大 计算机网络 期末总结

零散知识点总结 概述 比特(bit), 字节(byte), 1 byte = 8 bit(空间上,位数上) kbps = 103bps 时延带宽积中的时延是传播时延, 单向的, 不是RTT 传输层是数据段; 网络层是数据报.数据链路层是数据帧 计算机网络就是互连的.自治的计算机集合 计算机网络结构: 网络边缘, 接入网络, 网络核心 端到端层: 传输层以上层次 OSI各层次(共7个)功能: 物理层: 比特编码, 时钟同步.. 数据链路层: 组帧, 流量控制,差错控制,访问控制,物理寻址... 网

软引用、弱引用、 java,码迷

Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为:强引用.软引用.弱引用和虚引用. 这里重点介绍一下软引用和弱引用. 如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存.只要垃圾回收器没有回收它,该对象就可以被程序使用.软引用可用来实现内存敏感的高速缓存.软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收,J

字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)?

字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)? 根据我的了解,编码中有三个核心概念:1. 字符集(Character Set),可以说是一个抽象概念,字符的合集2. 码位(Code Point),将抽象的字符集中每一个字符映射到一个整数3. 字符编码(Encoding),按照某种编码规则用二进制来表示一个字符 我对码位这个概念理解的不是很清楚,Code point中说: The notion of a code point is used for abstra

二维码(QR Code)生成与解析

二维码(QR Code)生成与解析 写在前面 经常在大街上听到扫码送什么什么,如果真闲着没事,从头扫到位,估计书包都装满了各种东西.各种扫各种送,太泛滥了.项目中从没接触过二维码的东东,最近要使用,就扒了扒网络,发现关于解析二维码的类库还是非常多的,这里就选择一个做一个demo,玩玩. 一个例子 关于二维码的组件还是非常多的,你可以使用nuget选择一款使用就可以了. 生成二维码 // GET: Home public ActionResult Index() { QRCodeEncoder e

Atitit 常用二维码对比(QR、PDF417、DM、汉信码 Aztec code maxicode

Atitit 常用二维码对比(QR.PDF417.DM.汉信码 Aztec code maxicode DM码则更"小",可在仅仅25mm2的面积上编码30个数字.但也就是因为太小了,它的信息容量有限,DM无法表现汉字等其他形式,而QR码能用数据压缩方式来表示汉字,仅用13bit即可表示一个汉字,比其他二维条码表示汉字的效率提高了20%.相较而言,DM码信息容量小,应用简单.而QR在汉字处理上更有优势. Data Matrix 在纠错能力上,QR码具有四个不同等级的纠错功能,即使破损即

(zxing.net)二维码QR Code的简介、实现与解码

一.简介 二维码QR Code(Quick Response Code)是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防伪性强等优点. 二维码QR Code呈正方形,常见的是黑白两色.在3个角落,印有较小,像"回"字的的正方图案.这3个是帮助解码软件定位的图案,用户不需要对准,无论以任何角度扫描,数据仍可正确被读取. 由于QR Code码用特定的数据压缩模式表示汉字,它仅用13 b

分享java web 期末项目实验源码20套,自用学习非常不错!

我自己也从里面学习到了很多东西!? 1.BBS论坛系统(jsp+sql)2.ERP管理系统(jsp+servlet)3.OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)4.博客系统(struts+hibernate+spring)5.车辆管理系统(struts+hibernate+spring+oracle)6.家庭理财系统(java+applet)7.教材订购系统(jsp+servlet+mysql)8.酒店管理系统(jsp+servlet+mys

分享java web 期末项目实验源码20套,BBS论坛,ERP管理系统,OA自动化等等

我自己也从里面学习到了很多东西!? 1.BBS论坛系统(jsp+sql)2.ERP管理系统(jsp+servlet)3.OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)4.博客系统(struts+hibernate+spring)5.车辆管理系统(struts+hibernate+spring+oracle)6.家庭理财系统(java+applet)7.教材订购系统(jsp+servlet+mysql)8.酒店管理系统(jsp+servlet+mys

[C#]二维码(QR Code)生成与解析

写在前面 经常在大街上听到扫码送什么什么,如果真闲着没事,从头扫到位,估计书包都装满了各种东西.各种扫各种送,太泛滥了.项目中从没接触过二维码的东东,最近要使用,就扒了扒网络,发现关于解析二维码的类库还是非常多的,这里就选择一个做一个demo,玩玩. 一个例子 关于二维码的组件还是非常多的,你可以使用nuget选择一款使用就可以了. 生成二维码 // GET: Home public ActionResult Index() { QRCodeEncoder endocder = new QRCo