0%

你 何以始终不说话 尽管讲出不快吧
事与冀盼有落差 请不必惊怕
我 仍然会冷静聆听
仍然紧守于身边 与你进退也共鸣

时日会蔓延再蔓延 某些不可改变的改变
与一些不要发现的发现 就这么放大了缺点
来让我问谁可决定 那些东西叫作完美至善
我只懂得 爱你在每天

日久见人心,放大了你身上的缺点。
但是没有一个标准评价什么人是完美的,我就认为你是最好的。

当潮流爱新鲜 当旁人爱标签
幸得伴着你我 是窝心的自然
当闲言再尖酸 给他妒忌多点
因世上的至爱 是不计较条件 谁又可清楚看见

我爱你不是跟随潮流,而是漫长的一件事。

美 难免总有些缺憾 若果不甘心去问
问到最尾叫内心 也长出裂痕
笑 何妨与你又重温
仍然我说我庆幸 你永远胜过别人

期待美没完爱没完 放开不必打算的打算
作一些可以约定的约定 就抱紧以后每一天
其实你定然都发现 我有很多未达完美事情
我只懂得 再努力每天

当潮流爱新鲜 当旁人爱标签
幸得伴着你我 是窝心的自然
当闲言再尖酸 给他妒忌多点
因世上的至爱 是不计较条件 谁又可清楚看见

拦路雨偏似雪花,饮泣的你冻吗

回想起当初在富士山下的情景,偷偷哭

这风褛我给你磨到有襟花,连调了职也不怕

白色的襟花在葬礼时才用,冰封三尺非一日之寒

怎么始终牵挂,苦心选中今天想车你回家

原谅我不再送花,伤口应要结疤

不送花是为了不揭开伤口

花瓣铺满心里坟场才害怕,如若你非我不嫁

彼此终必火化,一生一世等一天需要代价

谁都只得那双手,靠拥抱亦难任你拥有

要拥有必先懂失去怎接受,曾沿着雪路浪游

为何为好事泪流,谁能凭爱意要富士山私有

何不把悲哀感觉,假设是来自你虚构

试管里找不到它染污眼眸,前尘硬化像石头

随缘地抛下便逃走,我绝不罕有

往街里绕过一周,我便化乌有

情人节不要说穿,只敢抚你发端

不敢抱着她了,只敢摸一下头发

这种姿态可会令你更心酸,留在汽车里取暖

应该怎么规劝,怎么可以将手腕忍痛划损

人活到几岁算短,失恋只有更短

归家需要几里路谁能预算,忘掉我跟你恩怨

归家是死亡的意思

樱花开了几转,东京之旅一早比一世遥远

谁都只得那双手,靠拥抱亦难任你拥有

要拥有必先懂失去怎接受,曾沿着雪路浪游

为何为好事泪流,谁能凭爱意要富士山私有

何不把悲哀感觉,假设是来自你虚构

试管里找不到它染污眼眸,前尘硬化像石头

随缘地抛下便逃走,我绝不罕有

往街里绕过一周,我便化乌有

谁都只得那双手,靠拥抱亦难任你拥有

要拥有必先懂失去怎接受,曾沿着雪路浪游

为何为好事泪流,谁能凭爱意要富士山私有

何不把悲哀感觉,假设是来自你虚构

试管里找不到它染污眼眸,前尘硬化像石头

随缘地抛下便逃走,我绝不罕有

往街里绕过一周,我便化乌有

你还嫌不够,我把这陈年风褛

送赠你解咒

1. 概述

网络层的传输单位是数据报。

  1. 路由选择和分组转发
  2. 异构网络互联(不同的设备都可以正常连接)
  3. 拥塞控制

数据报和分组的关系:数据报是一段比较长的数据,将它进行切割成一段段之后就得到分组

功能一就是让数据在路由器之间走最佳的路径

开环控制就是在拥塞之前就提前设计解决

闭环控制就是在拥塞时自动调整解决问题

层次 传输单元
应用层 报文
传输层 报文段
网络层 IP数据报/分组
数据链路层
物理层 比特流

2. 数据交换方式

为什么要进行数据交换?因为每个节点之间都拉网线太麻烦了也不实际,所以通过大量交换设备互联进行数据交换

2.1 电路交换

类似于打电话

2.2 报文交换

  1. 源先根据报文加上ip地址,物理地址等,通过物理层发送
  2. 交换机收到报文之后,先进行存储,等待链路空闲之后进行转发,但是转发的路径不是固定的,是比较随机的
  3. 最后通过许多交换机最终到达目的地

2.3 分组交换

分组交换和报文交换基本相同,就是将报文切割之后再进行发送

缺点:

  1. 有存储转发时延
  2. 需要传输额外的信息量
  3. 乱序到达目的主机时,要对其重新排序

    2.4 分组交换和报文交换计算量对比

    报文交换:一共三段,每段都需要10000bit/1000bps=10s,三段就是3x10=30s

分组交换:可以分为两段,一个是第一个数据开始发到最后一个数据从源发出,一段是最后一个数据到达目的地。第一段总时间是10000bit/1000bps=10s,第二段总时间是(10/1000)*2=0.02s,所以总时间是10.02s。

理解一下,这里就是报文交换的时候,由于报文没有分割,所以即使先到的数据也不能先发走,只能等到最后一段报文全部到了之后才能一起走,相对于分组交换明显拖慢了前面数据的速度,所以导致报文交换明显慢于分组交换

2.4.1 分组传输的两种方式-数据报和虚电路

avatar
avatar
avatar
avatar

3. 路由算法和路由协议

avatar
AS就是多个路由器之间构成的单独的小圈子,圈子内使用自己的协议,圈子和圈子之间用的是BGP协议
avatar

3.1 RIP协议和距离向量算法

3.1.1 RIP协议概述

最大优点是简单,只适用于小型互联网。
avatar

3.1.2 如何建立路由表

avatar

应用层协议,时延UDP传输数据。

好消息传得快,坏消息传得慢。

3.1.3 距离向量算法

为什么改地址?因为图中是从x得到的信息

为什么距离固定+1?因为路由器只从相邻路由器之间获取RIP报文,举例只会是1

为什么下一跳是x就要替换?因为网络环境不断变化,可能这次某个节点挂掉,所以保持最新的

为什么下一跳不是x时有更新和不处理两种手段?因为这样可以提高效率,比原来快就换,比原来慢就保留原来的,也可以理解

avatar
avatar

3.2 OSPF协议和链路状态算法

3.2.1 OSPF概述

avatar
适用于互联网规模大时使用。不存在坏消息慢,收敛速度很快。

为什么OSPF收敛速度快?因为它只是刷新一下链路状态,得知其是否连通,不需要和RIP一样进行对照,而是直接通过Dijilstra算法来自己算出路径

3.3 BGP协议

3.3.1 BGP协议概述

avatar

3.3.2 BGP交换信息过程

avatar
avatar

3.3.3 BGP报文格式

avatar

3.3.4 BGP协议特点

avatar

3.3.5 BGP四种报文

avatar

3.4 四种路由协议的比较

avatar
RIP:通过广播UDP交换信息

OSPF:交换的信息量很大,报文长度尽量短,直接使用IP

BGP:需要在不同AS之间交换信息,网络环境复杂,需要保证可靠传输,所以使用TCP。

4. IP数据报

4.1 IP数据报格式

avatar
avatar
计算偏移量时记住是以0开始的就行,以每一篇最开始的除以8得到的数值就是偏移量
MF和DF的定义见上图
avatar

5. IP地址

5.1.2 特殊IP地址

avatar

5.1.1 私有IP地址

avatar
为什么A类最大是126.xxx.xxx.xxx?
因为网络号最开始第一位是0,一共八位,所以二进制表示位0xxxxxxx,最大就是2^7-1=127,但是因为127.xxx.xxx.xxx是特殊ip地址,所以将其去掉

为什么B类最大是191.255.xxx.xxx?
因为网络号最开始第一位是10,一共八位,所以二进制表示位10xxxxxx,最大就是10111111=191,最小就是10000000=128,无特殊ip地址

为什么C类最大是223.255.xxx.xxx?
因为网络号最开始第一位是110,一共八位,所以二进制表示位110xxxxx,最大就是11011111=223,最小就是10000000=192,无特殊ip地址

avatar

5.2 网络地址转换NAT

连接内网和外网,就是找个代理的用它的ip地址与外面收发数据

NAT需要构建NAT转换表,既要存广域网(WAN,外网)也要存局域网(LAN,内网)的ip地址和端口

avatar

5.3 子网划分和子网掩码

5.3.1 为什么需要子网划分?

总结一下,就是ip不够用,所以需要额外整个子网扩展ip

为什么子网好能全0或者全1:因为CIDR编址(可见下一段)

为什么主机号不能全0或者全1:因为全0代表本网络,全1代表广播分组

5.3.2 子网掩码

这道题可以看出来,即使子网掩码不同,相同ip地址对应的子网ip地址也可能相同

但是子网掩码不同,划分的子网数目不同

为什么划分的子网数目不同?或者说怎么算划分的子网位数目?

以255.255.192.0为例,255是11111111即八个1,192是11000000即2个1,一共是82+2=18个1,一共有32位地址,所以剩余有32-18=14位

以255.255.224.0为例,255是11111111即八个1,224是11100000即3个1,一共是82+3=19个1,一共有32位地址,所以剩余有32-19=13位
avatar
这道题先将255.255.252.0计算出一共有8+8+6=22位网络号位

所以就有32-22=10位主机号位

将180.80.77.55解析,可以知道在77部分某部分开始会用来表示主机号位

77的二进制是0100 1101,因为一共有22位网络号位,所以010011 (此处分开) 01,从这个01开始是主机号位。

所以用来表示子网ip地址的应该是180.80.76(010011 00).xxx PS注意76括号内后两位二进制00

但是本体是发布广播地址,所以主机号全部都要是1

所以应该是180.80.79(010011 11).255(11111111)注意79括号内后两位二进制11
avatar

  1. 这里特定主机路由就是指找特定的处理这里这个ip地址的路由
  2. 默认路由会将这个数据报发给另一个路由,直至找到对应的路由,或者TTL耗尽被丢弃
    avatar

5.4 无分类编址CIDR

avatar
使用CIDR可以聚合网络.
如图,通过缩短前缀,R1和R2就可以合并在206.1.0.0/16的子网下.
但是这样转发表之中就会有多个匹配结果,所以我们使用最长前缀匹配
avatar
最长前缀匹配就是在计算后符合同一子网的时候,选前缀越长的
这道题选B

avatar
因为本网络是192.168.5.0/24,就是192.168.5.(0000 0000)/24,将248写成二进制是11111 000,有五个1,所以前五位都可以作为子网的编号,剩下的三位就是用来分配子网内剩余的地址了,因为不能全0或者全1,所以还要减2
avatar

5.5 ARP协议

avatar
avatar

5.6 DHCP协议

avatar

5.7 ICMP协议

ICMP,IGMP处于网络层和传输层之间,就是为了更好地转发ip数据报和提高交互成功的几率

5.7.1 ICMP差错报文

avatar
avatar

5.7.2 ICMP询问报文

后两种是掩码地址请求和回答报文,路由器询问和通告报文,这两个已经废弃不再使用
avatar

5.7.3 ICMP应用

1.ping命令:测试两个主机之间连通性,使用了ICMP回送请求和回答报文

2.traceroute命令:跟踪一个分组从原点到终点的路径,使用了ICMP时间超过差错报告报文

6. IPv6

就是IPV4地址用完了,从根本上增加ip地址数目,之前讲的NAT和CIDR也只是在IPV4的基础上扩展了IPV4地址数目,治标不治本
avatar

avatar
avatar
avatar
如果是ipv6的数据报到了ipv4,就用ipv4重新封装,把ipv6数据报前面加上ipv4伪装成ipv4数据报继续传输,直至到了ipv6路由再解开ipv4伪装

7. IP组播

单播只能一对一,广播必须一对全部,组播就可以是一对全部中的一部分

8. 移动IP

移动IP不等于动态IP(DHCP获得的)

移动IP的可以让用户因为地理原因等等,即使不在内网也可以访问内网的东西

8.1 移动IP的相关术语

avatar

8.2 移动IP的通信过程

avatar
avatar

9. 网络层设备-路由器

9.1 路由器构造

avatar

9.2 输入和输出端口构造

avatar
avatar

9.3 三种设备比较

avatar

9.4 路由表和转发表

avatar

1. 基本概念

avatar

2. 封装成帧和透明传输

封装成帧就是加将数据加头加尾,相当于将数据打包

透明传输就是为了防止特殊的数据无法正常传输的的情况的发生,比如说在封装成帧的过程中出现数据中的某些标记符与开始/结束标记符恰巧重复等等情况

2.1 透明传输

帧同步:接收方能从接收到的二进制比特流中区分出帧的起始和终止

  1. 字符计数法
  2. 字符填充法
  3. 零比特填充法
  4. 违规编码法

3. 差错控制

数据链路层的差错检测的是比特的错误

3.1 为什么在数据链路层差错控制?

因为错误可以尽早发现,不会让一个错误的数据包发送了很长时间到达最终目的地之后才被发现,从而导致网络资源的浪费

3.2 检错编码

3.2.1 奇偶校验码

3.2.2 CRC循环冗余码

就是用传输数据除以生成多项式得到冗余码
avatar
实际例子
注释:

  1. 阶数就是最高位是哪位,然后位数-1,如10011就是5-1=4,1011就是4-1=3
  2. 异或运算就是相同得0,不同得1,比如100和101做异或,结果就是001
  3. 除数和最后的余数添加到要发送的数据后面,称为帧检验序列FCS

avatar
接收方收到数据后进行检测

avatar
avatar

4. 数据链路层的流量控制和可靠传输

4.1 流量控制与可靠传输

流量控制是为了让传输过程中的发送速度和接受速度匹配,减少传输出错与资源浪费

可靠传输是发送端发送什么,接收端就要受到什么

协议名称 发送窗口 接收窗口 特点 窗口大小限制
停等协议 =1 =1 数据帧和确认帧必须编号 恒为1,n个比特数对帧编号
后退N帧协议 >1 =1 不是想要的帧就丢弃 1<=Ws<=2^n - 1
选择重传协议 >1 >1 来者不拒 Ws=Wr = 2^(n-1)

4.2 停等协议

停止等待协议的特点

  1. 简单
  2. 信道利用率低。大部分时间数据都在路上,发送方很长时间闲置,资源浪费

avatar

4.3 后退N帧协议

因为停止等待协议太浪费时间了,所以尝试采用GBN,发送连续多个数据帧,以增大信道利用率

累计确认:就是收到一个确认帧,那么它和它之前的所有帧都默认已收到,反之,如果某个确认帧没收到,那么它和它之后的所有帧都默认丢失(即使收到了也丢掉),进行重传

GBN的优缺点也显而易见,优点是提高了信道利用率,缺点是因为重传机制的原因导致已经收到数据却需要强行丢弃而造成浪费.

4.4 选择重传协议协议

为了解决GBN的缺点,我们打算尝试只重传错误的帧,这样的话就不用浪费资源吧已经收到的帧再重传一次了。

和GBN相比,两者都有窗口了,和GBN的区别其实就是做了一个数据缓存,已经收到的帧不用扔了,等待之前因意外丢失的帧收到的时候确认即可,但是只能缓存窗口尺寸内的包含的帧(PS,缓存咋可能无限大)

5. 介质访问控制技术

就是让节点之间的通信不会进行相互干扰
avatar

5.1 信道划分介质访问控制

虽然使用一条共享信道,但是通过多路复用技术组合进行传输,提高了信道的利用率

  1. 频分多路复用
  2. 时分多路复用
  3. 统计时分多路复用:STDM的原则是先到先走,满了就发,相对于TDM提高了利用率
  4. 码分多路复用

5.2 随机访问控制

所有用户都可以随机发送信息,发送时可以占用全部带宽,理论上个人使用时比静态分配信道的速度更快。

5.2.1 ALOHA协议

不听就发。
冲突如何检测?

如果发生冲突,接收方会检测出差错,然后不予确认,发送方在一段时间内收不到确认就判断发送冲突。
冲突如何解决?

超时后等一个随机时间再重传

相对于纯ALOHA协议就是固定了发送的时间(只能在一个时间片的开始),提高了效率

5.2.2 CSMA协议

先听再发,在发送帧之前,先监听信道。

状态 1-坚持 非坚持 p-坚持
信道空闲 马上发 马上发 以概率p发
信道忙 坚持监听,等空闲就发 放弃监听,随机等一段时间后再监听 放弃监听,随机等一段时间后再监听

5.2.3 CSMA/CD协议

就是因为链路实际有长短,发送数据需要时间,这个时间内可能就被其他节点当成空闲状态导致发生碰撞

知道自己发生碰撞的最长时间是2τ(两倍的传播时延),就是一去一回
avatar
图示传播时延对载波监听的影响
avatar
由此我们可以想到最小帧长的问题,因为如果帧太短,帧都发送完了才检测到碰撞导致停止,导致无法停止碰撞

avatar
avatar

5.2.4 CSMA/CA协议

无线局域网中无法做到360°的全面碰撞检测。
avatar
avatar

5.3 轮询访问介质访问控制

主要包括两大类,一个是轮询协议,另一个是令牌传递协议。

6. 局域网

6.1 局域网概念

概括:范围小,速度快,延迟低,节点平等
使用广播信道。

决定局域网的主要要素为:网络拓扑、传输介质、介质访问控制方法。

6.1.1 局域网的网络拓扑结构

最常用的是总线型拓扑
avatar

6.1.2 局域网的传播介质

有线局域网:双绞线、同轴电缆、光纤

无线局域网:电磁波

6.1.3 局域网的介质访问控制方法

avatar

6.2 局域网的分类

  1. 以太网,IEEE 802.3系列标准。逻辑拓扑总线型,物理拓扑是星型。使用CSMA/CD
  2. 令牌环网
  3. FDDI网
  4. ATM网
  5. 无线局域网,采用IEEE 802.11标准

6.3 IEEE802标准

802.3:以太网介质访问控制协议(CSMA/CD)及物理层技术规范。

802.5:令牌环网

802.8:光纤有关

802.11:无线局域网(WLAN)的介质访问控制协议及物理层技术规范

6.3.1 IEEE802描述的局域网参考模型

avatar

6.4 以太网

是应用最广泛的一种局域网技术。使用CSMA/CD技术。

6.4.1 以太网概念

以太网提供无连接、不可靠的服务。

无连接:无握手过程

不可靠:不对数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃。

以太网只实现无差错接收,不实现可靠传输。

6.4.2 以太网MAC帧

  1. 这里的mac层指的是数据链路层
  2. 之前说过数据链路层将上一层ip数据包加头加尾

    头就是目标地址(6字节),源地址(6字节),类型(2字节)

    尾就是FCS(帧检验序列),(4字节)
  3. 前导码不是MAC帧的一部分,目的是使时钟同步
  4. 为什么数据长度时46~1500?

    因为有最小传输字节64字节,mac占用6+6+2+4=18,所以数据最小为64-18=46,1500则是规定的默认最大字节,没有理由
    avatar

    6.4.3 10BASE-T以太网

    是传送基带信号的双绞线以太网。T表示使用双绞线,传输速率是10Mb/s。

  5. 物理上采用星型,逻辑上采用总线型,每段双绞线最长为100米。(罗总五星)

  6. 采用曼彻斯特编码
  7. 采用CSMA/CD介质访问控制。

100BASE-T以太网,在双绞线上传送100Mb/s基带信号的星型拓扑以太网。

6.5 无线局域网

802.11

7. 广域网

7.1 PPP协议

PPP协议是目前使用最广泛的数据链路层协议,拨号基本都是PPP协议

PPP协议仅支持全双工链路
avatar
PPP不需要进行:

  1. 纠错
  2. 流量控制
  3. 序号
  4. 不支持多点线路
    avatar
    avatar

    7.2 HDLC协议

    avatar
    avatar
    avatar

    7.3 PPP和HDLC协议对比

    为什么HDLC协议更可靠,但是我们使用PPP协议?

因为现在网络要求高,数据链路层本来就是不可靠的尽力传输,差错控制这些复杂的交给了TCP等
avatar

8. 链路层设备

物理层的集线器会无脑将一个设备的所有消息转发到集线器所连的所有设备,故会将所连接的所有设备变成一个大的冲突域,同时只能有两台设备进行通信,且设备越多,冲突越多。由此诞生了网桥

8.1 网桥

使用网桥时,由于网桥会根据mac地址进行过滤,所以不会形成冲突域
avatar
透明网桥:通过自学习来构建转发表。每一个通过网桥的数据包都会被记录下网桥收到数据时数据对应的地址和网桥自己的接口,通过许许多多的数据包的构造的缓存,网桥就可以知道哪个数据包在哪个接口,以后如果要穿数据包就知道要往哪个接口发送数据包了

原路由网桥:在发送时,直接将最佳路径放到帧首部。那么网桥如何获得最佳路径?通过广播方式想目标地址发送广播,此时可能会经过不同路由产生不同的路径,目标地址收到后再将每一条路径都发一个响应帧给网桥,网桥经过对比就知道哪个接口最快了

8.2 交换机

网桥接口越来越多,网桥就变成了交换机。

交换机也被成为多端口的网桥。

8.3 冲突域和广播域

avatar

1. 概述

应用层的功能:

  1. 文件传输 FTP
  2. 电子邮件 SMTP,POP3
  3. 虚拟终端 HTTP
  4. 查询服务和远程作业登录 DNS

2. 域名系统协议DNS

域名就是www.xxx.com,当然这是最简单的一种

.com之后还可以有东西,称之为根

域名从左向右,级别逐渐增高

2.1 域名服务器

DNS服务器有很多台,根据层次结构分为三层,根域名服务器,顶级域名服务器,权限域名服务器
本地域名服务器不算层次结构,特点是里主机比较近,当主机和另一台比较近的主机通信时,就不用走哪些更高级的服务器了

根域名服务器并不是一个域名只有一台,而是一个域名对应多台域名服务器,全世界一共有13个这样的域名,分别是a.rootservers.net,b.rootservers.net,c.rootservers.net,~m.rootservers.net

在权限域名服务器中,虽然看似abc.com比y.abc.com少了一位,但是他们的地位仍是对等的,对应的两台权限域名服务器

2.2 域名解析过程

avatar

2.2.1 递归查询

主机先是想本地域名服务器发送请求,如果查不到的话,

本地域名服务器向根域名服务器发送请求(找别人),如果还是查不到的话,

根域名服务器向顶级域名服务器发送请求(找别人),如果还是查不到的话,


顶级域名服务器向权限域名服务器发送请求(找别人)

可以看到每一次向下一个查询的服务器都变了,不是主机一个个去问,而是服务器自己一个个问下去

2.2.2 迭代查询

主机先是想本地域名服务器发送请求,如果查不到的话,

本地域名服务器就让主机去向根域名服务器发送请求(主机去找,本地域名给目标根域名服务器的IP地址),如果还是查不到的话,

根域名域名服务器让主机去向对应的顶级域名服务器发送请求(主机去找,根域名给目标顶级域名服务器的IP地址),如果还是查不到的话,

顶级域名服务器让主机去向权限域名服务器发送请求(主机去找,顶级域名给目标权限域名服务器的IP地址)

可以看到这里是主机一个个挨个问的地址

2.2.2 高速缓存

为了减少多次查询同一个域名的资源浪费,本地域名服务器会存储最近使用的ip地址解析,下次再访问同一个域名就不需要这么多查询步骤了。同时这个高速缓存主机本身也有存储

同时本地域名服务器还可以对顶级域名服务器,权限域名服务器的地址进行缓存,下一次即使是不知道的ip地址,查询也可以更快

高速缓存为了保持正确性,需要定时更新

3. 文件传输协议(FTP,TFTP)

TFTP是一个轻量的,比较容易实现的,面对小文件的,
UDP的文件传输协议
这里我们重点是FTP协议

3.1 FTP内容

FTP基于C/S的协议

基于TCP协议

为什么有匿名登陆:对于一些公共服务器来说,增加验证阶段就是增加资源开销,减少验证阶段就可以节省资源来更好地服务

主进程和从属进程的区别:主进程是打开端口,让外部发送的数据可以进来,并且将这些数据逐个分配各从属进程。从属进程则是单独为这些数据服务

这里客户端和服务器端先建立TCP连接,端口是21,称为控制连接

主动建立连接是指服务器端主动发送请求和客户端进行连接,此时端口号固定是20

被动连接是指客户端发送请求和服务器端建立数据传送连接,此时端口号是不确定,有两者协商得到

数据传输完成之后,数据连接断开,控制连接继续保持,直至两边发送断开请求
avatar

4. 电子邮件

SMTP:TCP连接,端口号25
avatar

5. 万维网和HTTP

URL用来标识整个互联网当中的某一个资源(文字,视屏,音频等)的位置

HTTP用来将这些资源传送给用户

服务器通过TCP 80端口来监听HTTP请求

1. 基本概念

avatar

2. 数据通信基本知识

2.1 一个数据通信例子

avatar

2.2 相关术语

avatar

2.3 三种通信方式

名称 定义 需要信道数
单工 一个发一个收 一条
半双工 两边都可以发或收,但同一时间只能进行一个 两条
全双工 都可以同时收发数据 两条

2.4 数据传输方式

传输方式 特点
串行 速度慢,省钱,适合远距离
并行 速度快,耗钱,适合近距离

2.5 码元

一个码元可以携带多个比特信息

2.6 波特Baud

一秒可以传输多少码元

2.7 速率

信息传输速率:b/s

码元传输速率:波特

码元可以理解为携带几个比特的信息,码元所带比特数=log2M(码元进制数)

信息传输速率(网速)=码元传输速率x码元所带信息量(多少比特)

2.8 带宽

最高数据率

2.9 奈奎斯特准则

在信道带宽是W Hz的情况下,码元传输速率上限是2W Baud。

而数据传输速率=码元速率*码元携带比特量

所以极限数据传输率=2Wlog2M

2.10 香农公式

信噪比(dB) = 10log10(S/N)

极限数据传输速率 = Wlog2(1+S/N)

信道的带宽或者信噪比越大,极限数据传输速率就越高。

2.11 基带信号和带宽信号

基带信号:计算机输出的0,1数字信号,未经处理。距离近时使用。

带宽信号:将基带信号调制后形成的较高频段的模拟信号。距离远时使用

2.12 编码

将数据转化为数字信号。

模拟数据通过PCM编码器转化为数字信号。

曼彻斯特编码:单极性编码的缺点是没有办法区分此时是没有信号,还是有信号,但是信号是0.
这种编码方式是bit中间有信号,低-高跳转表示0,高-低跳转表示1,一个时钟周期只可以表示一个bit,并且必须通过两次采样才能得到一个bit。它能携带时钟信号,而且能区分此时是没有信号还是信号为0.

差分曼彻斯特编码:抗干扰能力比曼彻斯特编码更强。bit与bit之间有信号跳变,表示下一个bit为0,bit与bit之间没有信号跳变,表示下一个bit为1。
avatar

2.13 调制

不论模拟和数字数据,通过调制器转换为模拟信号。

调频,调幅,调相
avatar

3. 物理层传输介质

导向性介质:铜线/光纤

非导向性介质:空气

3.1 导向性传输介质

3.1.1 双绞线

根据有无屏蔽层分为屏蔽双绞线(STP)和无屏蔽双绞线(UTP)

对于模拟传输,用放大器放大衰减的信号。

对于数字传输,用中继器将失真的信号整形。
avatar

3.1.2 同轴电缆

avatar

3.1.3 光纤

avatar
根据入射角的不同,分为单模光纤和多模光纤。
avatar

3.2 非导向性介质

avatar

4. 物理层设备

4.1 中继器

5是指不能超过5个网段

4是指在这些网段中的物理层网络设备(中继器,集线器)最多不超过4个

3是指这些网段中最多只有三个网段挂有计算机

avatar

4.2 集线器

集线器是个大的冲突域,同时只能有两个设备进行通讯,只会传输信号,没有智能。
avatar

1. 概述

1.1 传输层的意义

网络层可以把数据从一个主机传送到另一个主机,但是没有和进程建立联系。

传输层就是将进程和收到的数据联系到一起,使数据能够为应用服务

所以说传输层是主机才有的层次

1.2 TCP和UDP

TCP:可靠、面向连接、时延大、适用于大文件

拥塞控制、流量控制、连接建立

UDP:不可靠,无连接、时延小、适用于小文件。收到UDP报文后不需要给出任何确认

1.3 复用和分用

复用:应用层的所有应用进程都可以通过传输层再传到网络层

分用:传输层 从网络层收到数据后交付给指明的应用进程

应用程序 端口号
FTP 21
TELNET 23
SMTP 25
DNS 53
HTTP 80

2. UDP协议

2.1 UDP概述

UDP一次发送一个完整报文不会分片,所以需要应用层传输过来的数据不要太大,否则网络层分片任务就很重,但是也不能太小,不然效率较低

应用层给UDP多长的报文,UDP就照样发送,即一次发送一个完整的报文。

UDP适合一些实时应用,因为实时应用延迟要求高,需要立即响应


UDP只在IP数据报服务之上增加了复用分用和差错检测功能。
面向报文

2.2 UDP首部格式

avatar

2.2.1 UDP的校验位

伪首部只有在计算校验和时才出现,不向上递交也不向下传送

封装UDP报文的IP数据报首部协议字段是17

UDP长度:UDP首部8B + 数据部分长度

avatar

2.2.2 UDP校验方式

在发送端:伪首部+首部+数据采用二进制反码求和,将结果填入检验和字段,
然后去掉伪首部发送

3. TCP协议

3.1 TCP协议特点

TCP必须建立连接后才能进行数据交换,

TCP提供可靠交付的服务,可靠有序,不丢不重。

全双工通信:有发送缓存和接收缓存

面向字节流:把应用程序交下来的数据看成是一串无结构的字节流

3.2 TCP报文的首部

avatar
序号:序号的单位是字节,即每一个字节都按照顺序编号。这个字段表示本报文段发送数据的第一个字节的序号。

确认号:期望收到的对方下一个报文段的第一个数据字节的序号。若确认号是N,则前N-1的数据都已经正确接收。

数据偏移:即首部长度,以4B为单位。TCP有20B的固定首部

3.2.1 TCP首部的控制位

ACK:ACK=1时表示确认号有效,在连接建立后所有报文段都要置1.
三次握手时,除了第一次,其余ACK都为1.

SYN:同步位,表示是在进行请求连接或者接收连接。握手的前两次SYN位置1.

3.3 TCP连接管理

3.3.1 TCP三次握手

第一段的意思是

SYN=1:(A)要建立连接了!

seq=x(随机):因为还没有数据,所以写什么都无所谓

第二段的意思是

SYN=1:我(B)同意你(A)建立连接!

ACK=1:连接建立了,之后的ACK必须都置为1

seq=y(随机):因为还没有数据,所以写什么都无所谓

ack=x+1:之前发送方(A)说发送的是第x位数据(虽然发送方是瞎说的),所以我(B)要的是x+1位数据

第三段的意思是

SYN=0:SYN只有在建立连接时才为1,其他时候均设为0

ACK=1:连接建立了,之后的ACK必须都置为1

seq=x+1:我(A)发送的报文段的第一个字节就是x+1

ack=y+1:之前接收方(B)说发送的是第y位数据(虽然接收方是瞎说的),所以我(A)要的是y+1位数据

注意一下,TCP是双向的,所以不存在绝对不变的发送方接收方,这里的两台主机都同时是发送方和接收方
avatar

3.3.2 SYN洪泛攻击

攻击者发送SYN请求建立连接,服务器返回ACK时,攻击者不予以确认,这个TCP连接就处于挂起状态。服务器没收到确认,会重复发送ACK给攻击者,浪费其资源。

3.3.3 TCP四次挥手

第一段的意思是

FIN=1:(A)要释放连接了!

seq=u:发了好多数据,这里只是用u指代一下,这里u是有确定值的

第二段的意思是

ACK=1:连接建立了,之后的ACK必须都置为1

seq=v:发了好多数据,这里只是用v指代一下,这里v是有确定值的

ack=u+1:之前发送方(A)说发送的是第u位数据,所以我(B)要的是u+1位数据(尽管此时A已经决定释放连接了)

第三段的意思是

FIN=1:(B)要释放连接了!

ACK=1:连接建立了,之后的ACK必须都置为1

seq=w:发了好多数据,这里只是用w指代一下,这里w是有确定值的

ack=u+1:之前发送方(A)说发送的是第u位数据,所以我(B)要的是u+1位数据(因为A直接不发数据了,所以第二段第三段的ack都是u+1)

第四段的意思是
ACK=1:连接建立了,之后的ACK必须都置为1
seq=u+1:之前发的数据时第u位数据,B也要第u+1位数据,所以我发第u+1位数据
ack=w+1:之前发送方(B)说发送的是第w位数据,所以我(A)要的是w+1位数据

为什么需要等待计时2MSL?

因为这样可以保证B可以收到A的终止报文段进而进入关闭状态

比如说如果A的第四段报文丢失,那么等待一个MSL之后B就会重传第三段报文,花费小于1MSL之后A就会再收到第三段报文,之后就可以再次向B发送第四段报文提示B关闭连接
avatar

3.4 TCP的可靠传输

UDP这种本身不可靠的依赖于应用层去解决。

可靠:保证接收方进程从缓冲区读取的字节流与发送方发出的字节流完全一样。

TCP实现可靠传输的机制:

  1. 校验 2. 序号 3. 确认 4. 重传

累计确认机制:从第一个丢失的字节开始请求丢失的报文段。
如图中456丢失,78到达,但仍然请求发送的数据序号是4

冗余ACK:发送方收到三个对于报文段1的冗余ACK,就重传报文段2.

3.5 TCP流量控制

简单来说就是接收方可以动态的发送信息告诉发送方发送窗口的大小。

接收方接受不过来了就让发送方发送窗口小点,这样发送方发送的速率就慢下来了,接收方就有时间处理它的数据了

接受方处理完了也可以发送请求让发送方发送窗口大点,这样发送方发送的速率就快起来了,接收方就可以处理更多数据而不是空闲等着收数据了。

例外情况:B不允许A发送数据了,过一段时间后,B处理完数据想要恢复窗口大小但发送的有rwnd大小的数据报丢了。对于A,之前B回复的发送窗口为0,而B也在等待A的回复。

计时器设置:当A收到B的接收窗口为0,开启计时器,设置的时间到后,发送一个探测报文段,接收方收到探测报文段后给出现在的窗口值。

3.6 TCP拥塞控制

流量控制是对单独一个来说,拥塞控制是对于一群,防止过多的数据注入网络当中。

3.6.1 基础假定

  1. 数据单方向传送,而另一个方向只传送确认
  2. 接收方总是具有足够大的缓存空间,因而发送窗口大小取决于拥塞程度

发送窗口= min{接收窗口,拥塞窗口}

接收窗口:接收方根据接收缓存设置的值,并告知给发送方,反映接收方容量

拥塞窗口:发送方自己估算的网络拥塞程度设置的窗口值

3.6.2 慢开始和拥塞避免

开始指数形式增长,到达阈值后线性增长。

到达拥塞状态后,阈值降为原来的一半,拥塞窗口设置为1.
avatar

3.6.3 快重传和快恢复

在收到连续的ack确认之后执行,这里的ack就是冗余ack,冗余ack的特点是如果多次对某一段请求的数据没有被收到,达到一定数目之后就会立即执行重传。

此时传输数据报降到原来的一半,而不是降到1.
avatar

1. 速率相关性能指标

1.1 速率

定义:连接在计算机网络上的主机在数字信道上传送数据位数的速率

单位:b/s,Kb/s,Mb/s,Tb/s,

如果用字节表示,则是B/s,KB/s,MB/s,TB/s

1Byte=8Bit

1.2 带宽

在计算机网络中,指的是网络设备所支持的最高速度,单位同速率,是理想条件下最高速率

1.3 吞吐量

单位时间内通过某个网络的数据总量

2. 时延的相关指标

2.1 四个类别

名称 描述 计算
发送时延 数据从主机到信道上所用的时间 发送的数据长度/发送速率
传播时延 数据在信道上传播所花费的时间 信道长度/电磁波在信道上传播的速率
排队时延 数据在路由器前等待处理的时间
处理时延 数据在路由器上处理的时间

使用高速链路(提高网速),只能减小发送时延,无法减少其他三个时延

传播的速度是固定的:电磁波速度。

2.2 时延带宽积

公式:时延带宽积 = 传播时延x带宽

含义:链路上有多少比特的数据

2.3 往返时延RTT

RTT= 传播时延*2 + 处理时间

3. 分层结构

3.1 认识分层结构

avatar

4. 参考模型

OSI七层模型

  1. 应用层:直接为应用进程提供服务
  2. 表示层:把数据转换为能与接收者的系统格式兼容的格式
  3. 会话层:在数据传输中设置和维护两台计算机的通信连接
  4. 传输层:端到端,流量控制,复用分用
  5. 网络层:选择最优路由,规划IP地址,拥塞控制
层次 OSI TCP/IP
传输层 有连接 都可以
网络层 都可以 无连接

唐诗三百首

孙洙,字临西,编选唐诗三百首。
近体诗:格律诗,即唐诗,绝句和律诗。
古体诗:格律限制较少的诗 ###
王勃字子安,神童,14岁参加科举,获得七品官,

武汉黄鹤楼、南昌滕王阁、岳阳岳阳楼,江南三大名楼

关关雎鸠

关关是什么?

关关:拟声词,鸟的叫声。
因为古代的发音和现代不同,古音与鸟叫类似。

雎鸠是什么?

鱼鹰,捕鱼的鸟。

关雎隐喻什么

兴:欲言此物先言它物
鸟衔鱼图案隐喻:鱼籽很多,代表女性。鸟代表男性。

为什么第一首是这个

发乎于情,止乎于礼
《诗》三百,一言以蔽之。曰:思无邪。

乐而不淫,哀而不伤。

逍遥游

朝菌不知晦朔,蟪蛄不知春秋

且举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。(就觉得不过如此罢了)

鱼我所欲也

万钟则不辩礼义而受之,万钟于我何加焉!为宫室之美,妻妾之奉,所识穷乏者得我与?
乡为身死而不受,今为宫室之美为之;乡为身死而不受,今为妻妾之奉为之;
乡为身死而不受,今为所识穷乏者得我而为之;是亦不可以已乎?此之谓失其本心。

生于忧患死于安乐

困于心,衡于虑,而后作。
借用悲剧哲学家尼采的话来说,是要求我们“去同时面对人类最大的
痛苦和最高的希望。”(《快乐的科学》)因为,痛苦与希望本来就同在。

得道多助,失道寡助

天时不如地利,地利不如人和。

三里之城,七里之郭,环而攻之而不胜。夫环而攻之,必有得天时者矣;
然而不胜者,是天时不如地利也。

城非不高也,池非不深也,兵革非不坚利也,米粟非不多也;委而去之,是地利不如人和也。

故曰:域民不以封疆之界,固国不以山溪之险,威天下不以兵革之利。
得道者多助,失道者寡助。寡助之至,亲戚畔之;多助之至,天下顺之。
以天下之所顺,攻亲戚之所畔,故君子有不战,战必胜矣。

劝学

神莫大于化道,福莫长于无祸。
故君子居必择乡,游必就士,所以防邪辟而近中正也。

吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。
假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。

积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。
故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;
驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。
蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。
蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。

阿旁宫赋

奈何取之尽锱铢,用之如泥沙?使负栋之柱,多于南亩之农夫;
架梁之椽,多于机上之工女;钉头磷磷,多于在庾之粟粒;
瓦缝参差,多于周身之帛缕;
直栏横槛,多于九土之城郭;管弦呕哑,多于市人之言语。

戍卒叫,函谷举,楚人一炬,可怜焦土!

灭六国者六国也,非秦也。族秦者秦也,非天下也。

秦人不暇自哀,而后人哀之;后人哀之而不鉴之,亦使后人而复哀后人也。

六国论

思厥先祖父,暴霜露,斩荆棘,以有尺寸之地。子孙视之不甚惜,举以予人,如弃草芥。

今日割五城,明日割十城,然后得一夕安寝。起视四境,而秦兵又至矣。

然则诸侯之地有限,暴秦之欲无厌,奉之弥繁,侵之愈急。

“以地事秦,犹抱薪救火,薪不尽,火不灭。”

常见的名言

靡不有初鲜克有终

茕茕白兔,东走西顾。衣不如新人不如故。

一生负气成今日,四海无人对夕阳。

功名半纸,风雪千山。

早知如此绊人心,何如当初莫相识。

人面不知何处去,桃花依旧笑春风。
欲买桂花同载酒,终不似,少年游。

我有所念人,隔在远远乡。
我有所念人,结在深深肠。

此去经年,应是良辰好景虚设。便纵有,千种风情,更与何人说。
而今识尽愁滋味,欲说还休,欲说还休,却道天凉好个秋。