《计算机网络》读书笔记

一:参考模型

1:OSI参考模型(7层)

   应用层——APDU——用户常用协议

   表示层——PPDU——所传信息的语法、语义

   会话层——SPDU——控制会话

   传输层——TPDU——把上层数据分割成数据单元,传给网络层

   网络层——数据包——控制子网运行、数据包寻路

   数据链路层——帧——发送数据帧并对传输结果进行确认

   物理层——比特——传输原始比特

2:对等通信:发送方把信息从上到下逐层封装,最终在物理层以比特率形式传输;接收方接收到比特流后逐层往上传递解封装;在对等的协议层接收方获取到发送方对应层上的信息。

3:TCP/IP参考模型

   应用层:包含所有高层协议(HTTP/DNS/FTP等)

   传输层:端到端传输协议(TCP)、数据包传输协议(UDP)

   互联网层:数据包格式和协议(IP)

   链路层:相当于OSI的数据链路层和物理层合二为一

4:计算机网络单位

   速率单位:10的方幂进制:kbps、Mbps、Gbps、Tbps=10^3、10^6、10^9、10^12 bit/s

   容量单位:2的方幂进制:KB、MB、GB、TB=2^10、2^20、2^30、2^40 bytes ,1bytes=8bit

二:物理层

1:功能:在两个网络设备之间提供透明的比特流传输

2:信道最大传输速率

   奈奎斯特定理:C=2B*log2 V

   香农定理:C=B*log2(1+S/N)  S/N为信噪比,由  噪声分贝=10*log10(S/N) 求出。

3:调制:使用信号来传输比特流。有:基带传输、通带传输两种

4:多路复用:使一个信道被多个信号共享。主要有:频分多路复用、时分多路复用、码分多路复用三种。

三:数据链路层

1:海明距离:两个二进制串中不相同的位的个数。即:异或的结果中1的个数。

2:海明距离d+1可以检测出d位错误,2d+1可以纠正d位错误。

3:纠1位错海明码:先由 m+r+1<=2^r 求出检验位个数r;然后由r得出检验位为 1,2,4,8...2^(r-1);最后由各检验位的校验集上 1 的个数以及校验方法(奇/偶)确定各校验位取值;在原数据串中加入检验位即得海明码;

4:接收方用海明码纠错:依次统计接收的海明码各校验集上1的个数是否符号检验方法(奇偶);把校验集不符合要求的检验位号加起来的和就是出错位,把该为取反即可。

5:检错码:循环冗余检验码(CRC):给定一个r阶生成多项式G(x),由G(x)得出除数二进制序列;在数据帧后加上r个0,然后除以除数二进制序列;取余数,拼接到原数据帧后即可。

6:接收方用CRC检错:用接收帧除以G(x)的二进制序列,能除尽则无错。

7:数据链路层六大协议:

   1)无限制单工协议:单向传输,无限缓存,永不出错。(理想化)

   2)无信道错误的单工停—等协议:发送方收到接收方回复的确认帧后才发送下一帧;

   3)有信道错误的单工停—等协议:收到正确帧回复确认;收到错误帧要求重发;超时没收到确认自动重发;帧序号防止重复接收;

   4)1位滑动窗协议:滑动窗接收到期待帧后移动到下一位;

   5)回退N帧滑动窗协议:发送方把缓存在窗口中的出错帧以及其后的帧全部重发;

   6)选择重传协议:接收方对于出错帧返回一个否定确认信号,接收方把缓存在窗口中的出错帧重发;

四:介质访问子层

 1:信道动态分配

   1)纯ALOHA协议:有帧则发

   2)分槽ALOHA协议:在时间片的开始才可以发送帧

   3)载波侦听(CSMA):先听再发,边听边发,一旦冲突,立刻停发,随机等待,继续发送。

2:网桥(交换机)工作原理

   当一个数据帧到达网桥时,若源LAN和目的LAN相同,则丢弃该帧;若不同,则转发;若目的LAN未知,则泛洪该帧;

3:网桥连接不同协议的LAN

   网桥中把不同协议的LAN的信息进行包装,使得帧可以在不同的LAN中进行传输。

4:网桥的地址表生成:后向学习法:把源地址以及端口对应,加入地址表

五:网络层

   网络层主要负责数据包路由(寻路、转发),路由算法主要有两种:

1:距离矢量算法(DV算法):每个路由器维护一种路由表,表中记录了当前路由器到每个其他路由器的最短距离以及转发端口。

     DV实例:RIP协议:采用跳数作为度量,一旦超过15跳还没到达目标路由器则认为目标不可达。

2:链路状态路由算法(LS算法):逐步构造全网的路由器表,从而计算出最佳路由路径。

    LS实例:OSPF算法:通过发送和接收5种报文,逐步建立起全网络路由器的路由表,最终实现全毗邻。

3:网路流量调节算法:漏桶算法、令牌桶算法。

4:IPV4协议:32位,分为A,B,C,D,E类,以及网络地址、广播地址。应用:子网规划

    1)IPV4地址长32bit,由 网络号+主机号 组成。4个字节用 . 相隔表示。每个字节0~255。

    2)IPV4地址分类:记住 127、191、192、224、240几个分界点。

        A类地址:1字节网络ID,3字节主机ID。网络ID第一字节为0~127。形式:0~127.XXX.XXX.XXX

        B类地址:2字节网络ID,2字节主机ID。网络ID开头字节为 128~191。形式:128~191.0~255.XXX.XXX

        C类地址:3字节网络ID,1字节主机ID。网络ID开头字节为 192~223。形式:192~223.0~255.0~255.XXX

        D类:224.0.0.0~239.0.0.0。

        E类:240.0.0.0~254.0.0.0.

        网络地址:主机部分全为0的地址。

        广播地址:主句部分全为1的地址。

        应用:IP地址分析:由网络ID开头值确定类型——由类型得到网络ID和主机ID的字节长度——求网络地址、广播地址。

        

        私人地址:A类 10.XXX.XXX.XXX(10.开头的A类地址)

                      B类 172.16.XX.XX~172.32.XX.XX(172.16~172.32开头的B类地址)

                       C类 192.168.XX.XX~192.168.XX.XX(192.168开头的C类地址)

    3)子网规划

         子网掩码(mask):网络号全为1,主机号全为0的地址。

         求目的IP所属子网地址:把目标IP与子网掩码取 AND 操作。

         子网规划:由子网个数定借位X(从主机号高位开始借X位作为网络位),由原子网掩码通过借位求出新子网掩码;(借位数量决定子网个数

                       由主机ID剩下的位数M决定每个子网的大小(2^M)

                       划分子网= 原IP地址+ i*(2^M) 。

    4)给出子网中某IP地址和所在子网掩码,求这个IP所在网段(网络地址~广播地址)或选出与该IP地址同网段的子网地址:

         1、求子网大小:M=256-子网掩码最后字节值

         2、求所在网段网络地址:所给子网IP 与 子网掩码 取 AND 操作(子网掩码最后字节怎么求:由x=logM得到主机号长,则倒数起x位取0即可)

         3、求所处网段广播地址:网络地址+子网大小M-1(因为从0开始算) 

         4、与所给子网地址同网段的IP就在 该网段的  网络地址~广播地址  之间。

5:IPV6协议:128位。

6:Internet控制协议

    1)ICMP(消息控制协议):当路由器在处理一个数据包过程中发生了意外,可以通过ICMP协议向数据源报告事件;ICMP也可以通过 ping ip地址  来测试本机与ip地址机是否连通。

    2)ARP(地址解析协议):向以太网广播一个请求,由ip地址询问mac地址。相应ip地址的主机以自身的mac地址作为应答。

    3)DHCP(动态主机配置协议):在计算机启动时,向自己所在的网络广播一个报文请求IP地址。DHCP服务器接受到请求后返回一个空闲的ip地址给这台计算机。

六:传输层

1:TCP协议:端到端的字节流传输协议,两端由套接字端点连接,与本地端口绑定。

2:TCP连接的建立:三次握手。

    计算机A向B发送请求报文,报文序号为X;

    计算机B返回一个携带确认的请求报文,报文序号为Y,期望收到下一个报文序号为X+1;

    计算机A同样返回一个携带确认的报文,报文序号为X+1,期望下一个收到的报文为Y+1。至此,连接建立。

3:连接的释放:4次挥手。

    计算机A发出一个FIN报文,请求释放连接;

    计算机B收到FIN报文,返回一个ACK报文允许A释放;

    计算机B发出一个FIN报文,请求释放连接;

    计算机A收到FIN报文,返回一个ACK报文允许B释放;

    至此,连接的两端A、B各自释放,连接破坏。

4:TCP拥塞控制:慢速启动算法:到达阀值之前指数增长,阀值与超时顶点 之间以 +1 增长。超时则立刻回到窗口的一半大小,继续慢速启动。

5:UDP协议:无连接的端点标识协议,通过数据包寻路来发送数据,无差错检测,属于不可靠传输。应用实例:DNS域名系统。

6:为什么有了IP协议还需要TCP/UDP协议:IP协议只负责在两台计算机之间传输数据,而不知提交给哪个进程。TCP/UDP通过端口号指明把数据交给具体的进程。

七:应用层

1:DNS:将主机名(域名)映射成ip地址。我们可以由主机名进DNS解析后得到ip,从而找到具体是哪台计算机。

2:URL和URI和URN:

   

   

原文地址:https://www.cnblogs.com/ygj0930/p/6510062.html