在赵老师的第一节高级网络结束之后,各位同学表示很开心,能学到很多前沿的东西,了解计算机网络的核心。他们兴致冲冲的说:”要不,咱们回去退课吧!….”
不过三周的学习过后,暂时还跟得上,可能因为还在讲一些基础的内容。
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
终止进程
- 网络分层协议
分析:用抓包软件获取数据报并分析其二进制对应的内容
高级:
- 多线程时,如何处理线程与端口的对应关系
- proxy 代理的原理
- 协议4.4BSD 源码分析
- Hourglass模型:简化核心网
- 软件定义网络SDN (如OpenFlow) 集中式可编程管控——复杂路由,数据平面和控制平面分离
- 网络虚拟化 NFV ,云化池化虚拟
- TCP/IP 向 RCP 演进的趋势——重新给路由器将入处理功能,内容区块作为连接
- 对网络设备潜力进行开发的智能应用,如无线结点用于导航
- 新的应用需求和通信技术对协议的推进
课程要求
- 学会将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
分析协议的角度
- 三个要素:Syntax 语法、Semantics 语义 、Timing 时序
- 依赖于哪些技术
- 应用的驱动力是什么,对于新的需求有无更好的策略
- 可以想象一下协议运行的过程,用到什么算法,时序是怎样的,时间复杂度是多少,还有无改进之处
- 例如语言、交通规则都可视为一种协议,可尝试理解这里面的要素
课堂例子:一个工作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 :避免直连端口构成的子网浪费地址,解决方法
- 把两个路由器当做一个虚拟路由器,互连端口作为内部总线
- 把路由器当做交换机,分配同一子网的IP
- 工业界: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
路由聚合 -> 超网