高级网络前四章笔记

在赵老师的第一节高级网络结束之后,各位同学表示很开心,能学到很多前沿的东西,了解计算机网络的核心。他们兴致冲冲的说:”要不,咱们回去退课吧!….”

不过三周的学习过后,暂时还跟得上,可能因为还在讲一些基础的内容。

CH0

教材《TCP/IP协议族》然而教材只包含上课内容的极小一部分,很多东西要自己拓展学习。

其他参考书:《计算机网络自顶向下》 《TCP/IP详解》

社区:http://www.ietf.org/rfc.html

基础

硬件:网卡(适配器)的原理——加上MAC地址,串并转换

软件:

  • 查看端口情况
    • netstat -ano 列出运行中的端口
    • TASKLIST /FI "PID eq 1048" 查询使用端口的程序名
    • taskkill /f /t /im 程序名 终止进程
    • netstat -aon|findstr "端口号" 查询是哪个进程在占用端口
    • tasklist|findstr "进程号" 查询是哪个程序在占用
    • taskkill /pid 进程号 /f 终止进程
  • 网络分层协议

分析:用抓包软件获取数据报并分析其二进制对应的内容

高级:

  1. 多线程时,如何处理线程与端口的对应关系
  2. proxy 代理的原理
  3. 协议4.4BSD 源码分析
  4. Hourglass模型:简化核心网
  5. 软件定义网络SDN (如OpenFlow) 集中式可编程管控——复杂路由,数据平面和控制平面分离
  6. 网络虚拟化 NFV ,云化池化虚拟
  7. TCP/IP 向 RCP 演进的趋势——重新给路由器将入处理功能,内容区块作为连接
  8. 对网络设备潜力进行开发的智能应用,如无线结点用于导航
  9. 新的应用需求和通信技术对协议的推进

课程要求

  • 学会将C/S 、P2P 模型与Socket、以太网等观点有机结合起来理解
  • 熟悉TCP/IP 协议 、 网络体系结构、 擅长Socket 编程

CH1

发展简史

  • 第一个网络ARPANET——冷战产物——不同主体之间通信采用的协议不同,比较复杂——网络
  • 第一个协议NCP(复杂链路) -> TCP/IP(简单链路)——协议
  • 第一个无线网络Aloha, 解决了信道碰撞冲突 -> 以太网
  • UNIX 学术版发布 ——OS
  • ISPs 创立 —— 运营

Internet

Internet(因特网)是Internet(网际网)的子集,产生于协议、技术和应用需求的多重推动。

基于TCP/IP协议

体系结构:主机连到某一物理网络,各物理网络通过路由器互连,国际ISP通过NAP(network access point)互连

Internet标准—— RFC(Request For Comments)——如一些常见的协议:

  • 0791 Internet Protocol
  • 1256 ICMP Router Discovery Messages
  • 1460 Post Office Protocol
  • 1788 ICMP Domain Name Messages

标准的种类:Required、Recommended 、Elective 、Limited use 、Not recommended

分析协议的角度

  1. 三个要素:Syntax 语法、Semantics 语义 、Timing 时序
  2. 依赖于哪些技术
  3. 应用的驱动力是什么,对于新的需求有无更好的策略
  4. 可以想象一下协议运行的过程,用到什么算法,时序是怎样的,时间复杂度是多少,还有无改进之处
  5. 例如语言、交通规则都可视为一种协议,可尝试理解这里面的要素

课堂例子:一个工作10年的建筑系女生最后去了硅谷…她会经常用自己的话去描述学到的东西。转专业的同学,要学会发挥自己的专业优势

如何阅读和评论文献

关注领域顶尖组织和会议:了解前沿问题

与自己研究领域直接相关的论文——热点问题或具有首创性和前瞻性

  • 仔细反复阅读
  • 新观点和新技术提出的历史依据和原因
  • 解决方案的价值 Does it solve an important problem?
  • 创新之处 new problem? new solutions? new evaluation methods/techniques?
  • 带来的启发
  • 同时还要找出论文的局限和缺陷(难点)
    • Check assumptions, problem settings
    • Check how fast the solution works, how long the solution can sustain…
  • 如何评论
    • 不要用原文内容,用自己的话进行阐述
    • 3个重点 + 1个缺陷

好的论文结构——具体内容以后写论文时可再回头来研究

  • Abstract (1/8~1/4 page)
  • Introduction section (1 page)
  • Background section (0.5~0.75 page)
  • Design section (3.5 page)
  • Implementation section (1 page)
  • Evaluation section (3.5 page)
  • Discussion section (0.75 page)
  • Related work section (0.5~0.75 page)
  • Conclusion section (0.25~0.5 page)

反正,多读多看就完事了…看的少也看不出什么缺陷来…

CH2 OSI & TCP/IP

关于分层

  • 好处:降低复杂性,易拓展等
  • 缺点:效率较低
  • 特征:每层关注自己的细节,并为上层提供服务通过协议与同层通信
  • 不同节点:层次组成不同,作用不同
  • 横向理解:虚通信,对等实体,协议,PDU
  • 纵向理解:封装与解封,服务,接口

OSI七层概念模型各层功能

  • 物理层:bit传输
  • 链路层:hop - to - hop
  • 网络层:host - to - host
  • 传输层:end - to - end 可靠
  • 会话层:SYN同步
  • 表示层:编/解码,加/解密,数据压缩/解压缩

TCP/IP 四层模型中的协议族

  • 应用层:注意端口号
    • 基于TCP: FTP HTTP SMTP DNS?
    • 基于UDP: DNS TFTP SNMP
  • (socket)
  • 传输层:TCP-6 UDP-17——封装端口号
  • 网络层:IP(IPV4 -> IPV6) ICMP IGMP ARP RARP——封装IP
  • 网际层:LANs MANs WANs——封装MAC

注意区别

  • OSI vs. ISO
  • Physical address vs. MAC address —不是很能区别
  • Network address vs. IP address

CH3 底层网络技术

传输介质

UTP双绞线:五种质量型号

  • 差别在于单位距离上的螺旋的数目
  • 第三类:传输频率为16MHz,主要用于10base-T
  • 第四类:传输频率为20MHz,主要用于10/100base-T
  • 第五类:外套一种高质量的绝缘材料,传输频率为100MHz。主要用于100base-T和10base-T网络,这是最常用的以太网电缆

为什么帧的最小长度为64KB,这与10Base - T 的物理媒介有关——那么,到底为什么?

同轴电缆

  • 基带电缆:50Ω,可传输数字信号
  • 宽带电缆:75Ω,可传输模拟信号,远距离传输 ——物理学证明了视频信号最优化的衰减特性发生在77 欧姆

光纤

  • 全反射,传输速率受到光/电转换速率的制约
  • 单模光纤:激光源,可远距离传输
  • 多模光纤:发光二极管

LAN(局域网)

技术:Ethernet, Token Ring, FDDI, WLAN

由于局域网中物理线路是直连的,故是一个冲突域,可能发生碰撞冲突

帧格式:结合教材

WAN(广域网)

技术:

  • 点对点WAN: PPP —— 一种数据链路层协议 ADSL
    • PPP工作的点对点链路可能是串行的拨号电话线、SONET/SDH链路、X.25连接或者ISDN电路。
    • PPP也是点对点隧道协议(PPTP)和第二层隧道协议(L2TP)的基础,这些协议可用于创建虚拟专用网。如VPN
  • 交换 WAN: Frame Relay -帧中继(虚电路), ATM(面向连接的分组交换) —— 宽带交换技术
  • 还有一些早期技术:PSTN(电路) X.25(虚电路) DDN(电路) ISDN(电路) FR -> SMDS(无连接,分组) -> ATM
  • 同步传输 SONET/SDH ——物理层协议

这些技术其实还没弄很懂….

交换的三种类型:报文、电路、分组(数据报、虚电路)

一个典型的计算题:分组交换中35个用户同时有11个及以上用户在传输的概率 从35中选11个*(0.1)^(11)​….我不会输这个公式,对不起!得出的概率小于0.0004 在拥塞发生之后,任何剩余用户均不能传输,所有情况综合起来的条件概率为1,所以并不包含二项分布的第二部分

物理设备

  • Repeater 转发器/ Hub 集线器
  • Bridge 网桥/ L2 switch 二层交换机
  • Router 路由器/ L3 switch 三层交换机
  • Gateway 网关 —— 所有层,在异构传输层中间作为代理
    • 区别:Default gateway vs. Gateway—— 默认网关是一个路由器?

CH4 IP编址

分类IP地址:涉及到类型判断和网络号提取,主要是二/十进制转换的计算

特殊地址:

  • 全1:表示当前网络的受限广播地址,当一个报文的目的地址为该地址时,这个报文将会被发送给本网络中的所有主机。但是路由器并不会将该报文转发到该网络外,故称为受限广播地址。
  • 全0 :表示本网络上的本主机地址,当一个主机刚加入网络时还没有IP地址,这时它将以全0地址作为源地址,全1 地址作为目的地址,向全网广播一个报文,DHCP服务器收到这样的报文之后就会进行IP分配的相关应答
  • 网络号不为全0或全1 ,主机号全1:直接广播地址,用于标识对特定网络的广播。当一个路由器将报文的目的地址设置为该地址时,这个报文将会被发送给该地址对应的特定网络中的所有主机。该特定网络中的所有主机都会接收这个报文
  • 网络号不为全0或全1 ,主机号全0:网络地址,用来标识这个网络,包含这个网络中的所有主机
  • 网络号全0,主机号不为全0或全1 :本网特殊主机地址,可作为目的地址向本网特定主机发送报文,因为本网内主机的网络号必然是相同的,仅通过主机号就可以对不同主机进行区分。
  • 网络号为127,主机号任意:环回地址,一般用作测试,报文以该地址作为目的地址时,报文将只会在机器内部进行接收和处理,而不会被发送到外部网络上。自己发自己收,所以是环回
  • 10.+ 24位 , 172.16~172.31 + 16位 , 192.168 + 16位:专用地址,仅在局域网内部使用,无法被外部访问。可用来节省IP地址,或者保证局域网的安全性

路由器的一个接口能连多个IP网(集线器,总线型),但是多个接口不能连同一IP网——后者因为接口用IP来唯一标识?

P2P WAN :避免直连端口构成的子网浪费地址,解决方法

  1. 把两个路由器当做一个虚拟路由器,互连端口作为内部总线
  2. 把路由器当做交换机,分配同一子网的IP
  3. 工业界:IP地址借用,多端口共用IP,路由器内部多了报文流量但节省了地址空间

分类IP编址容易造成地址的浪费 -> 无类IP编址——涉及掩码问题、子网划分

在分配子网和主机时,要考虑到全0和全1 的特殊情况。子网所需 IP = 主机数 + 路由器接口数 + 2

要点

  • 确定掩码

  • 确定每个网络的IP地址范围

128,192,224,240,248,252,254,255

/1, /2, /3, /4, /5, /6, /7, /8

路由聚合 -> 超网