三级网络技术


目录

计算机网络笔记-第一章-概述

1、OSI参考模型

应用层:所有能产生网络流量的程序
表示层:在传输之前是否进行加密或压缩处理,以及数据描述(数据在各台计算机之间的描述格式不同)
会话层:提供数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法。
比如打开浏览器访问一个网站,就要跟这个网站的服务器进行数据传输,从服务器过来的数据就显示在这个标签栏里,此时再打开一个标签栏访问另一个网站,这个网站的数据就只传输到这个标签页上,不能传到第一个标签页上,不然就会错乱。标签页和服务器之间就建立了一个会话。
如何查看会话,cmd->输入netstat -n,established就是建立了会话。
在这里插入图片描述
传输层:可靠传输,流量控制,不可靠传输
网络层:负责选择最佳路径,规划ip地址。
数据链路层:定义帧的开始和结束,实现透明传输(中间加的进行转义的位在接收端被去掉),还进行差错校验。
物理层:定义网络设备的接口标准,电器标准等,解决如何在物理链路上传输更快。
由物理层往上都是下层的为上层提供服务。七层各司其职,又都是独立的,比如传输层就只负责传输数据包而不管传的数据是什么。

2、利用OSI参考模型对网络进行排错指导

  1. 物理层故障:查看网线连接状态,查看数据包接收和发送的数目(在网线已连接通的情况下,直接打开网络控制中心查看就可),如果只有发送却没有接收就可能是网线水晶头(两根发送数据,两个接收数据)没接好。
  2. 数据链路层故障:MAC地址冲突;ADSL欠费就是通过停止数据链路层访问运营商的服务而停止网络;网速发办法协商一致,比如服务器是100兆,而接到的交换机是1000兆,这个交换机强制设置成1000兆且不允许网络协商为100兆。
  3. 网络层故障:配置了错误的IP地址,子网掩码;配置了错误的网关;路由器上没有配置到达目标网络的路由。
  4. 应用层故障:应用程序配置错误(会话层,传输层,表示层,应用层统一化分为应用层故障)
  5. 以上排错由底层往顶层排,低层的简单,顶层的越复杂。

3、TCP/IP协议和OSI参考模型

TCP/IP协议和OSI参考模型
数据封装:
数据封装
在这里插入图片描述
FCS是校验位,对数据进行校验。

4、计算机网络的性能

1、速率:连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称为bit rate,单位是b/s,kb/s,Mb/s,Gb/s。
2、带宽:数字信道传送的最高数据率。单位是b/s,kb/s,Mb/s,Gb/s
3、吞吐量:在单位时间内通过某个网络的数据量,单位b/s,Mb/s等。
4、时延

  1. 发送时延 = 数据块长度(比特)/信道带宽(比特/秒)
  2. 传播时延,处理时延,排队时延。处理时延就是比如经过某个路由器,路由器要分析这个数据包该发往哪个接收端,它应该走哪一个下一跳。排队时延就是在到达某个路由器时,因为数据包可能很多此时都进入路由器的缓存中等待处理,这个等待的过程所花的时间就是排队时延。

发送时延就是数据发送开始到全部进入传输信道所花的时间,信道带宽越宽这个时间就越少,而传播时延从数据发送端到接收端在信道中传输所花的时间,这个传输速度一般是跟传输介质有关,是一个固定值。
5、时延带宽积:时延带宽积 = 传播时延 X 带宽,表示的就是有多少数据正在信道线路上传输。
6、往返时间RTT:从发送方发送数据开始,到接发送方收到接收方确认。可以通过ping命令了解这个往返时间。
7、利用率

  1. 信道利用率:有数据通过时间/(有 + 无)数据通过时间
  2. 网络利用率:信道利用率加权平均值
    利用率

计算机网络笔记-第二章-物理层(了解)

1、基本概念

物理层的主要任务描述为:确定传输媒体的接口的一些特性,即

  • 机械特性:接口大小,形状,引线数目
  • 电气特性:例如规定电压范围(-5V到+5V)
  • 功能特性:例如规定-5V表示bit位0,+5V表示1
  • 过程特性:规定建立连接时各个相关部件的工作步骤。

单工通信:只能有一个方向的通信而没有反方向的交互。
半双工通信:通信的双方可以发送信息,但不能双方同时发送。
全双工通信:通信双方可以同时发送和接收信息。

基带信号:来自信源的信号。比如说话的声波,一般近距离通信就采用基带传输,基带信号的衰减不大。
带通信号:把基带信号经过载波调制后, 把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。适合传输到较远距离。

对基带信号的几种调制方法:
在这里插入图片描述
几种编码格式:(双极性和单极性就是一个是正负两端,一个只有一个端。归零与不归零就是在一个信号结束后是不是把电位设置为0。)
在这里插入图片描述
曼彻斯特编码:前面几种无法表示没有数据传输时是什么样的,但是它可以。
在这里插入图片描述
差分曼彻斯特编码:
在这里插入图片描述
信噪比:
在这里插入图片描述
可见,噪声功率越大,信道传输速率越低。比如在说话时,每分钟说200个字,能听清,在有噪声鞭炮声加入后每分钟200个字可能就会听不清,此时放慢速度就可以听清。也能让信息无差错传输。这就是香农公式给出的信息准则。

网线:
在这里插入图片描述

计算机网络笔记-第三章-数据链路层

1、一些基本概念

在这里插入图片描述
数据链路层的信道类型:
1、点对点信道。用网线直接连接两台主机
2、广播信道。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。加入了交换机这种设备的网络。
在这里插入图片描述
装入是加入帧头和帧尾,传到物理层就是01的二进制。

2、数据链路层的三个基本问题

  1. 封装成帧
    在这里插入图片描述
    MTU是最大传输长度,以太网不超过1500字节
  2. 透明传输
    在这里插入图片描述
    如果刚好数据部分出现了尾部标识,就会发生错误。导致提前结束数据部分的接收。此时解决办法就是加入转义字符,比如ESC,表示这是一个标识符。
    在这里插入图片描述
    接收端收到后会把这些转义字符去掉,因此对于接收者和发送者来说,他们是不知道这个转义字符存在的,这就叫透明传输。
  3. 差错控制
    传输过程中可能会产生比特差错:1可能变成0,0也可能变成1。在一段时间内,传输错的比特占传输比特总数的比率叫做误码率,它和信噪比有很大的关系。因此得采用各种差错检测措施。

差错检测措施:
1、循环冗余检验CRC
在发送端,先把数据划分为组。假定每组K个比特,待传送得一组数据M = 101001(即K=6)。在M得后面添加供差错检测用的n位冗余码一起发送。添加了冗余码称为帧检验序列FCS。CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码,FCS可以由CRC这种方法得出,但不是只有这一种方法。
计算过程:
在这里插入图片描述
前面的除数位数根据加的冗余码的位数来定,比冗余码的位数多一位,图中三个000,除数就是4位,除数随便选,1011,1111,1010均可。此时算出来的001就添加到M后面发送过去,接收端同样的除以1101看看余数是不是0,是0没问题,不是就说明数据部分发生了错误,就丢弃。图中除法是进行的亦或运算,相同的取0,不同的取1。
CRC只能做到无差错接受,即凡是接收端数据链路层接受的帧都没有传输差错,有差错的帧就丢弃而不接受。要做到可靠传输,(即发送什么就收到什么)就必须再加上确认和重传机制,考虑帧重复,帧丢失,帧乱序的情况。
除数位数越低,越不容易检测出差错,越高越容易检测出差错,比如除十进制的100,就会有0-99个余数,此时如果余数是88就出错,但是如果除数是2,就没那么容易检测出差错。

3、PPP协议(point to point protocol)

1、PPP协议在拨号上网的时候用的最多,用户直接通过接入网联系ISP服务商,由服务商分配IP地址,从而让用户加入因特网,加入因特网之前需要验证密码是否正确,是否欠费等。广域网使用的多。
在这里插入图片描述
在这里插入图片描述
向上支持多种网络层协议比如IP等,多种类型链路,比如光纤、双绞线等,检测连接状态就是IP地址、密码等是否合法,还可以进行数据压缩,比如111111,000000可以压缩成6个1,6个0这样表示。

在这里插入图片描述
2、帧组成:
在这里插入图片描述
标志段F中的7E就是01111110,A字段的FF和03是固定的,因为这是点到点的数据协议,知道要发送到谁,是固定了。协议部分是2个字节表示,里面用来表示数据报的类型。FCS就是帧检验序列。

PPP协议解决透明传输:
在这里插入图片描述
如果信息部分传的不是字节流而是二进制比特流,就要用0比特填充方法:
在这里插入图片描述
在这里插入图片描述

问题:PPP协议为什么不像网络层一样使用序列号和确认机制?
1

在这里插入图片描述
就是点到点的传输,如果出错了接收端就直接丢弃也不会确认重传,只有最后的差错检测,是否是传输正确。

4、CSMA\CD协议、使用广播信道的数据链路层

1、以太局域网(以太网)大多使用广播信道
在这里插入图片描述
B向D发送数据会同时也向ACE发送,只有符合信息中携带的MAC地址的对应正确的才会接收这个信息,其余的就会丢弃。这种依靠总线连接的网络不安全,如果E不管什么信息都接收,就会造成网络信息泄露。这是没有源器件的,如果设备之间通过集线器或者交换机连接起来,这就是有源器件的连接。此时通过具有广播特性的总线上实现了一对一的通信。广播就是都发送信息,而实现一对一就是通过MAC地址找到接收端。其他的就丢弃这个信息。

2、协议:
在这里插入图片描述
在这里插入图片描述
A向B发送的时候还没传播到C的时候,C由于传播时延检测一下信道没有被占用,就发送信息给D,此时在BC之间发生碰撞,就会让波发生叠加,叠加后的波传到A,A就知道发生了碰撞,就停止发送。同理C也一样,此时B和D都不能解析这个信息,此时的波是乱的。

3、传播时延对载波监听的影响:
在这里插入图片描述
A与B同时发送信息给对方,信息会在中间出发送叠加,叠加后在传播到A发送失真,此时需要的时间tao,极限下A发送到B门口了B才发送,此时就是2tao。如果2tao时间内没有接收到失真的波就可认为传输时没有发生碰撞。这2tao时间就是争用期。通常取51.2us
在使用CSMA/CD协议的以太网不能进行全双工通信1而只能时延半双工通信,每个站在发送数据之后的一小段时间内,会存在遭遇碰撞的可能性。由于这种发送的不确定性使得整个以太网络的平均通信量远小于以太网的最高数据量。

4、争用期
在这里插入图片描述
因此如果是100Mb/s就是640字节没出错,那就认为没出错。同时如果t变成512us(网线长度变长),那么也是传输640字节。一般以太网规定了网线长度100m,这就与这个51.2us有关系的。

5、发生碰撞冲突的解决办法
在这里插入图片描述
如果发生冲突了,重传次数越多,那么整数集合中的数目就会越多,此时随机选一个数再发生冲突的概率就会降低很多。

5、以太局域网(以太网)

1、概述
IEEE的802.3标准局域网简称为以太网,一般只要满足载波监听协议的就可认为是以太网。
在这里插入图片描述
现在厂商生产的网卡都只有MAC协议,所以现在基本认为就有一个媒体接入控制MAC子层即可。以太网提供的是不可靠的交付,即尽最大努力的交付,当接收站收到有差错的数据帧时就丢弃此帧,其他什么也不做,差错的纠正由高层如果高层发现丢失信息而进行重传,但是以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

在这里插入图片描述
2、以太网的信道利用率
在这里插入图片描述
发送数据的时间占整个信道的时间就是信道利用率。
在这里插入图片描述
T0是固定的,a的大小就只取决于tao,
在这里插入图片描述
分子分母同时除以T0就可得后式。

3、MAC层
在这里插入图片描述
MAC地址就是网卡的地址。前24位代表哪个厂家,后24位有厂家指定。
常用的以太网MAC帧格式有两种标准:

  • DIX Ethernet V2标准
  • IEEE的802.3标准

最常用的MAC帧是以太网V2的格式。
在这里插入图片描述
MAC帧去掉6+6+2+4=18个字节,剩下的IP数据报必须>64-18=46字节,不够46字节的就要进行填充加入整数个字节后才能往外发,保证MAC帧不小于64字节。MAC帧发送时还要加上8字节的前同步码和帧开始定界符。目的地址是全F的就是广播帧。

在这里插入图片描述
同时帧与帧之间有一个最小发送间隔,为9.6us,相当于96bit的发送时间(10Mb/s的速度发送的时候),这样做的目的是使得刚刚收到的数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

6、扩展以太网

1、距离上扩展
使用光纤,可以扩展到几公里。
在这里插入图片描述
2、在数量上扩展
在这里插入图片描述
把三个局域使用集线器级联连接起来成为一个大的冲突域,使网络中计算机数量增加,但此时的利用效率可能会降低,优化这个以太网,出现了网桥这个设备。
在这里插入图片描述
当A向B发送数据帧时,也会通过网桥传到ME那边去(因为此时网桥不知道MB在哪),同时网桥会知道MA地址是在网桥左边端口的局域网内,如果此时MB向MA发送帧,网桥知道MA在哪一侧,就不会再传到ME那边去了。此后MA与MB之间通信就不会再传到ME那边去了,就提高了利用效率。同样的ME和MD通信的话就是类似的,因此两边就不会影响,但是如果是MA和ME就还是要通过网桥。网桥能够隔离冲突。所以这个网桥设备优化了以太网,基于MAC地址转发的。当网桥接口越来越多,接的集线器越来越多,就直接改成了网桥连接计算机主机了,此时网桥就是交换机了,交换机的前身就是网桥。
在这里插入图片描述
交换机连接主机,MA与MB通信不影响MC与MD通信,此时若MC与MB通信,MA也与MB通信,会冲突吗?交换机不同于集线器,集线器是来了信号就转发,而交换机会存储转发,MA到MB的帧会先存储,MC到MB的帧进行排队等候。同时对于MA来说,它可以进行收发同时进行,是全双工通信。如果这个交换机是100M的,那么它的每个口都是100M,是独享,不像集线器是共享100M。同时也是安全的,再ME上有抓包工具的话,如果MA与MB之间通信,此时不会传到ME上来,就一定程度上保证了
信息安全。它是通过学习构建MAV地址地址表。
在这里插入图片描述

计算机网络笔记-第四章-网络层(IP协议簇(RIP OSPF BGP)ICMP IGMP ARP)

1、理解网络设备(集线器、交换机、路由器)

主要是工作在哪一层,最多能看懂哪一层的数据,比它低的层的数据也是能够看懂的。
在这里插入图片描述
上述两个网段通过路由器连接起来的一个小的网络。PC4要和PC3通信,发送数据,PC4发送端,PC3接收端,它们的工作流程是:
发送端:
应用程序把数据通过传输层分段传输,在传输层的数据叫做数据段,传输层通过网络层把一段段数据发送出去,网络层就是寻找一条到达目标主机的路由(路径),根据源IP地址和目标IP地址通过查路由器的路由表转发到下一跳,找到路径后要在物理线路上传输就是数据链路层的工作,在数据链路层之前要加上源MAC地址和目标的MAC地址,就是网卡的地址,再加上帧检验序列检验传输的帧是否出错。在物理层传输就是一个个的比特,通过比特流在物理介质上传输。中间可以加集线器来放大信号,如果从PC4到Hub0(集线器)是100m,Hub0到Switch1(交换机)是100m,没有集线器的话,主机到交换机的距离就是100m,不能超过100m。通过集线器连接就可以到达200m,放大信号。所以集线器工作在第一层,只能看懂比特流。交换机的接口接收到比特流进行存储转发,交换机是能看懂比特流的,不然无法接收,接收后就要根据MAC地址转发到另一个设备,(网络设备怎么知道彼此之间的MAC地址,这里通过ARP协议广播得到,得到后就放在缓存中,只有第一次通信时需要)可能是主机也可能是路由器,因此交换机工作在第二层能看懂MAC地址,由图中可以看出是转发到M2路由器接口,路由器在收到这个比特流之后,先取出其中的IP地址,源地址和目标地址,根据路由表查看要送到目标地址,需要转发到哪一个设备,就决定下一跳是往哪发。因此路由器工作在第三层,能看懂IP地址

接收端:
从物理层接收比特流开始往上数据链路层查看MAC地址是不是给自己的,是就在检验帧没出错后往上传给网络层,不是就丢弃,网络层去掉MAC地址查看IP地址,再去掉IP地址留下数据段往上传给传输层,传输层再往上传给应用层显示数据。

注意:路由器10.0.0.1是网关,左边的主机就知道要往哪发数据才能连接到网络中去。路由器0右边的FF是PPP协议发送的,因为是点对点的发送,采用全1的形式,接收方和发送方就都只有一个。每个网段的IP地址都得相同,左边的都是10开头后面的可以不同,子网掩码255.0.0.0前面的255表示的主网段,后面的三个0表示的主机位。

在这里插入图片描述

2、IP协议

1、网络层提供的两种服务

  • 虚拟互联网
  • IP地址
  • 划分子网和构造超网
  • IP地址和硬件地址
  • IP数据包格式
  • IP转发分组的流程

2、网际控制报文协议 ICMP
3、因特网的路由选择协议
4、IP多播
5、虚拟专用网络VPN和网络地址转换NAT

1、网络层提供的两种服务:
在这里插入图片描述
虚电路服务就是H1到H2的数据都沿着虚电路这条线路过去,如果这条路线堵住了网就不通了。它只是一条逻辑上的连接。
而数据报服务就是经由路由器转发,只要指明目的地址即可,转发路径由路由器选择。这种方式就更灵活。
在这里插入图片描述
两者的对比:
在这里插入图片描述
虚拟互联网:
在这里插入图片描述
主机通信时不用知道网络内部是怎么连接实现的,不用关心,只关心对应的IP地址即可。

IP地址分类:
在这里插入图片描述
IPV4是32位的二进制,根据网络号和主机号的占位不同分为不同类的地址。但是现在基本已经不区分这个了。
可以考虑记一下下面这几个常用的二进制到十进制的转换。
在这里插入图片描述
在这里插入图片描述
怎么记ABC类IP地址,画一根横轴0-255,在上面标记几个关键数字128,192,224,然后区间0-128的就是A类,128-192的B类,129-224的就是C类。看开头的第一个数字就可以区分出是哪一类地址。同样还可以通过子网掩码区分根据255的个数区分,255.0.0.0就是A类,255.255.0.0就是B类。因为B类地址是前两个字节为网络号,子网掩码的255就代表的是网络号占位,一个255就占一个字节。

特殊地址
127.0.0.1本地回环地址
169.254.0.0自动分配的地址,只能和本网段的主机通信,不能上网和其他网段的地址通信。是windows系统自动产生的凑合着用的地址,由HDCP分配,当HDCP服务器出问题时,一直无法响应自动分配地址,没有产生正确的IP地址。windows电脑就会产生一个169.254.的地址,如果同一个地方的好几台主机都是这样,它们都获得这样的地址,它们之间就能够通信。
保留的私网地址:在互联网上没有被服务器使用,而是由企业或学校内部使用
10.0.0.0 教育机构的地址
172.16.0.0 – 172.31.0.0 学校
192.168.0.0 – 192.168.255.0

子网掩码的作用:
假设
在这里插入图片描述
80.123要和90.123通信,80的子网掩码是255.255.255.0,就是拿它跟192.168.90.123做与运算(两个全为1才为1),得到的结果为192.168.90.0从而判断这个IP地址跟80.123不在同一个网段,发数据就要先发到网关192.168.80.0再转发出去。如果此时子网掩码改成255.255.0.0再做与运算就得到192.168.0.0是同一个网段,此时发数据就不需要经过网关而是直接发送数据到192.168.90.123,因为此时它们两个位于同一个网段。

子网划分: IP地址的主机部分不能全为0和全为1(全为1代表广播)
举例子:但是如果划分是150和50,这种方法就不行。
在这里插入图片描述
划分成两个网段,多加一位作为网络部分,剩下的7位作为主机位,因为主机位不能全0和全1,所以对于A子网来说就不能出现0 0000000和0 1111111这两个,它的取值范围就是1-126。对于B来说就是129-254,也是去掉全0和全1的位。此时子网掩码就是255.255.255.128

在配置地址时:一般是把一个网段的第一个地址作为网关,比如192.168.0.129
在这里插入图片描述
划分成4个网段一样的操作:
在这里插入图片描述
除一次2子网掩码就右移一位。子网划分就两个工作:确定子网掩码和确定子网段开始地址和结束地址(不能包含全0和全1的地址)。

注意一下:点到点网络的子网掩码最好是255.255.255.252,这样就只有两台主机号。

超网:就是合并两个网段
在这里插入图片描述
把子网掩码往前移。

IP数据报:
由首部和数据两部分组成。首部的前一部分是固定长度,共20个字节,是所有IP数据报都有的。在首部的固定部分之后是一些可选字段。
在这里插入图片描述
版本:占4位,指IP协议的版本(IPv4和IPv6)
首部长度:占4位,可表示的最大数值是15个单位(一个单位为4个字节),因此IP首部长度的最大值是60字节。
区分服务:占8位,判断优先级,优先级高的数据先转发。
总长度:占16位,首部和数据部分之和的长度,单位是字节。因此数据报的最大长度为65535字节。总长度必须不超过最大传送单元MTU。
标识:占16位,是计数器,每产生一个数据包就增加1。
标志:占3位,用来告诉后面数据包是否是分片的。
在这里插入图片描述
片偏移:占13位,就是图中的0,175,350,存放的地方。就是较长的分组在分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位。
生存时间(8位)记为TTL,数据包在网络中可通过的路由器数的最大值。
协议:8位,指出此数据报携带的数据使用哪种协议以便目的主机的IP层将数据部分上交给哪个处理过程。(一个数字代表协议号,每个协议一个协议号)
首部校验和:16位,只检验数据报的首部不检验数据报部分。
在这里插入图片描述
源地址和目的地址各占4字节(32位)
可变部分:
在这里插入图片描述
抓包看看数据部分:
在这里插入图片描述
第二个是以太网数据帧,依次下来是网络层,传输层,应用层。在网络层可以分别看到首部的各个部分。

3、网络层协议

在这里插入图片描述
主要有ARP、IP、ICMP、IGMP,其实也有一个谁为谁服务的问题,ARP为IP服务,IP为ICMP\IGMP服务。

1、ARP
将IP地址通过广播,目标MAC地址是FF-FF-FF-FF-FF-FF解析目标IP地址的MAC地址。全FF的就是广播,主机接收后查看IP地址是不是询问自己,是就把本机的MAC地址传回去。不是就丢弃。广播只能在本网段发,是跨不了路由器转发到其他网段的。可以了解一下ARP欺骗,广播的时候,另一台主机报告给一个错误的MAC地址,比如自己的MAC地址,以后每次发送数据都会发到自己主机上来,就造成本网段内两台主机不能通信,如果源主机是要得到网关的MAC地址,被发送了欺骗者的地址,那么就会造成上不了网。
在这里插入图片描述
在这里插入图片描述
RARP:逆向ARP
就是使只知道自己硬件地址的主机能够知道其IP地址。

2、ICMP:
在这里插入图片描述
ICMP报文格式:
在这里插入图片描述
在这里插入图片描述
询问报文就是查询的数据内容,比如ping命令判断通不通,返回来的报文就是差错报告报文。
在这里插入图片描述
把发过来的IP数据报首部和8字节作为ICMP差错报文的数据部分再传回去。

了解ping命令,TTL是指到达目标地址需要经过多少个路由器,每经过一个就减1,假设开始时是64,那么这个54表示就是经过10个路由器。如果TTL=0了路由器就不进行转发,TTL是生存周期,设置这个是为了防止数据在网络中无限循环的转圈圈转发,从而占用资源。Linux默认发包时TTL=64,win是128,Unix是255.因此可以通过这个简单判断对方的操作系统是哪个,如果是TTL=127,就很可能是win系统。如果是59,大概率是Linux系统。
ping www.baidu.com -t:表示一直ping。
ping -l 200 www.baidu.com:表示发200个字节。
ping /?:查看ping的帮助命令
ping 8.8.8.8 -i 1:就是指定TTL时间为1,此时就可以看到第一个路由器返回来的信息,因为ttl=1,经过一个路由器后变为0不再转发,由第一个路由器报告错误。一般第一个路由器是网关。由此一直增加TTL为2、3、4、。。。就可以知道在到达目标时经过了几个路由器。
有一个高级一点的命令:pathping(windows上的命令)它能够跟踪数据包路径,计算丢包情况。
同样还可以使用tracert命令后接目标地址查看跟踪路径。
在这里插入图片描述
在这里插入图片描述

网络故障排错:目标主机无法到达和请求超时
1、目标主机无法到达:可能是本主机没有配置网关地址,不知怎么发数据到网络中去。也可能是路由器没有下一跳的路由表信息,不知道接下来怎么转发,就由这个路由器报告错误回来。
2、请求超时:发送数据包能够到达目标,但是目标发送的数据包不能到达发送者,产生原因也可能跟上述原因一样。还可能是目标主机关机了

上述的命令都是使用的ICMP协议。

3、自治系统内部使用的路由协议:(内部网关协议)
动态路由协议RIP:(用得少)
特点:

  1. 仅和相邻路由器交换信息
  2. 交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表。也就是说:“我到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器。”
  3. 按固定的时间间隔交换信息,比如30秒。路由器根据收到的路由信息更新路由表。当网络拓扑结构发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。

RIP协议是要找到路径中经过最少的路由器数目的那一条路径,最多允许一条路径经过15路由器,因此当距离=16时就表示不可到达。
在这里插入图片描述
举例子:
在这里插入图片描述

OSPF
参考链接:https://support.huawei.com/enterprise/zh/doc/EDOC1100082073

4、自治系统之间使用的路由协议:(外部网关协议)
BGP
在这里插入图片描述
BGP只是能力求寻找一条能够到达目的网络且比较好的路由,并非寻找一条最佳路由。
在这里插入图片描述
特点:
交换路由信息的结点数量级是自治系统个数的数量级,要比自治系统中的网络数少很多。要在许多自治系统之间找一个较好的路径,就是要寻找正确的BGP发言人,而在每一个自治系统中GGP发言人的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂。

5、NET网络地址转换:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
所以就可以在这里通过端口号的设置让更多的本地地址通过有限的全球IP地址转发出去。

端口映射举例子:
在运行框(win+R)中输入mstsc可以开启远程连接桌面
如何通过物理机的地址访问到这个物理机里开启的虚拟机?相对于虚拟机来说本身Vmnet8网段就是内网,物理机外面的网段就是外网。此时要让外网通过物理机连接到内网的虚拟机。
要做一个端口映射:在虚拟机网络编辑器里面找到Vmnet8选择NET设置,加端口映射。
在这里插入图片描述
点击添加
在这里插入图片描述
主机端口就是物理机的端口比如4000,填入虚拟机的ip地址和要访问的虚拟机的端口比如3389,然后让别的计算机打开远程连接桌面输入物理机的IP地址加端口号比如192.168.80.109:4000,在输入用户名和密码,就可以远程访问这个虚拟机了。
在这里插入图片描述
在虚拟机输入netstat -n就可以查看连接过来的主机。3389是目标端口,后面的55022是其他物理机的端口。
还有一个VPN技术:概念(谢希仁计算机网络第七版P185页)了解。

计算机网络笔记-第五章-传输层(TCP、UDP)

本章重点了解的内容:

  • 1、传输层为相互通信的应用进程提供了逻辑通信
  • 2、端口和套接字的意义
  • 3、无连接的UDP的特点
  • 4、面向连接的TCP的特点
  • 5、在不可靠的网络上实现可靠传输的工作原理,停止等待协议和ARQ协议
  • 6、TCP的滑动窗口、流量控制、拥塞控制和连接管理

传输层两个协议应用场景:
TCP:分段、编号、流量控制、建立会话、可靠传输、通过netstat -n查看会话建立(QQ发文件)
UDP:一个数据包就能完成数据通信,不建立会话,多播(QQ聊天,视频)

1、传输层为相互通信的应用进程提供了逻辑通信

在这里插入图片描述
网络层通过IP地址找到主机,为主机之间提供逻辑通信,找到两台主机之间的传输路径,传输层就为应用进程(程序)之间提供端到端的逻辑通信,通过端口区分服务,找到对应的进程,把数据传输给对应的进程。
传输层还要对收到的报文进行差错检测。

2、端口和套接字的意义

在这里插入图片描述
网络层通过协议号来区分上层的数据,而传输层通过端口号来区分上层的数据。

复用和分用:
应用层所有的应用进程都可以通过传输层再传送到IP层,这就是复用。
传输层从IP层收到发送给各应用进程的数据后,必须分别交付指明的各应用进程,这就是分用。

在这里插入图片描述
还有一类叫做登记端口:1024-49151.这类端口号是为没有熟知端口号的应用程序使用。
客户端使用的端口号:49152-65535,仅在客户进程运行时才动态选择。

套接字:
TCP连接的两个端点就是套接字,它由IP地址和端口号组成。
在这里插入图片描述
同一个IP地址可以有多个TCP连接,而同一个端口号也可以有多个TCP连接。因为套接字是由IP地址:端口号组成,IP相同时端口号可以不同,端口号相同时IP地址可以不同。

3、无连接的UDP的特点(比较简单,了解即可,重点是TCP)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
长度:2字节,UDP用户数据报的长度,其最小值是8(仅有首部)
检验和:检测UDP用户数据报在传输中是否有错,有错就丢弃。
伪首部就是用来计算检验和的。既不下传也不向上递交。

4、面向连接的TCP的特点

  1. TCP是面向连接的传输层协议
  2. 每个TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
  3. TCP提供可靠交付
  4. TCP提供全双工通信。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。
  5. 面向字节流:虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。
    在这里插入图片描述

5、在不可靠的网络上实现可靠传输的工作原理,停止等待协议和ARQ协议

TCP如何实现可靠传输
在这里插入图片描述
停止等待:就是每发送完一个分组就停止发送,等待对方的确认,收到确认后再发送下一个分组。
超时重传,要设定一个超时计时器,若在超时计时器到期之前收到确认,就撤销已设置的超时计时器。
注意

  1. A发送完一个分组后,必须暂时保留已发送的分组的副本,以便在发生超时重传的时候使用,只有在收到确认后才清除暂时保留的的副本。
  2. 分组和确认都要进行编号。这样才能明确是哪一个发送出去的分组收到了确认,哪一个分组还没有收到确认。
  3. 超时计时器设置的重传时间应当比数据在分组传输的平均往返时间更长一些。不能太短也不能太长,太短会造成不必要的重传,太长的话通信效率就会很低。

确认丢失和确认迟到:
在这里插入图片描述
B对重复收到的分组直接丢弃并重传确认,A对重复的确认也是进行丢弃。
通过上述的重传确认机制就可以实现在不可靠的网络上实现可靠的通信,这种被称为自动重传请求ARQ(Automatic Repeat reQuest)

信道利用率:
停止等待协议很简单,但是信道利用率很低。
在这里插入图片描述
RTT和TA基本都固定,主要是要提高TD,采用流水线传输。
在这里插入图片描述
在这里插入图片描述
发送方每收到一个确认,就把确认窗口向前滑动一个分组的位置。
接收方一般采取累积确认的方式。对收到几个分组后,对按序到达的最后一个分组发送确认。如果收到124,但是没有3,此时就会检查,前两个分组可以发送确认,但是收到4时不发送确认,因为前面没有编号3的分组,等待重传。
在这里插入图片描述

TCP报文格式:
在这里插入图片描述
序号
在这里插入图片描述
确认号
期望收到对方下一个报文段的第一个数据字节的序号。例如B收到A一个报文段,序号字段是501,数据长度是200字节(序号为501-700),这表示B正确收到了A发送的到序号700为止的数据。因此B期望收到A的下一个数据序号是701,B就把对A发送的确认报文中把确认号设置为701。
若确认号=N,则表明:到序号N-1为止的所有数据都已正确收到。

数据偏移
指出TCP报文段的数据开始位置距离TCP报文段的开始位置有多远。这个字段实际上是指出TCP报文段的首部长度。占4位,最大表示15,因此数据偏移的最大值是60字节。这也是TCP首部的最大长度。 “数据偏移”的单位是4字节,每加一就是多四字节。15就是15x4=60字节。

在这里插入图片描述
这是一个xp系统向web服务器发送请求的抓包数据,可以看到这里面的序号和确认号的变化,没有数据部分的就是发送的确认报文。连续发两个确认号204的数据报文只是顺便加上了这个确认号。

URG
在这里插入图片描述
确认ACK:仅当ACK=1时确认字段才会有效,是表示确认字段的有效与否。TCP两端在建立会话时ACK和SYN一起使用。在连接建立后所有传送的报文段都必须把ACK置为1。

同步SYN:在建立连接时使用,当SYN=1而ACK=0时,表示这是一个请求建立连接报文(此时序号和确认号都是0),对方若是同意建立连接,则在响应的报文段中使SYN=1和ACK=1。ACK=1表示自己发给对方的确认字段是有效的(此时序号是0,确认号是1,这个确认号为1是对发送过来的数据表示已经收到的确认。)

终止FIN:释放一个连接,当FIN=1时,表示发送方的数据发送完毕,并要求释放传输连接。

窗口:占2个字节,为[2,2^16-1]之间的整数。窗口指的是发送本报文段的一方的接收窗口,而不是自己的发送窗口。窗口值告诉对方:从本报文段首部中的确认号算起,接收方目前允许对方发送的数据量(以字节为单位)。
在这里插入图片描述
抓包看数据,可以看到有个window size就是窗口值,可以看到是65535,就表示1057这个XP主机的接收缓存最多是65535字节,告诉对方发送窗口缓存不能超过这个数,不能太大,不然发送方发来的数据会来不及接收,放不下。每个端都有发送缓存窗口和接收缓存窗口。双方在建立会话时交流信息,比如最大数据报长度MSS是1460,window size是65535等信息。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
选项:有一个最大报文长度MSS(Maximum Segment Size)是每一个TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。所以MSS并不是整个TCP报文段的最大长度,而是“TCP报文段长度减去TCP首部长度”。

TCP实现可靠传输
(1)以字节为单位的滑动窗口:了解这个滑动窗口是怎么滑动的
在这里插入图片描述
A发送窗口中的数据连续的发送出去,但是发出去的数据不能立马就删除,得等到收到确认后才能删除对应的数据。B收到123后就发送确认号=4到发送方,表示前3个已经收到,这是累积确认,期望收第4个开始的数据,A收到确认后就把123从缓存中去除(B就会把收到的数据交付应用层,接收窗口也会前移,如下图所示),把发送窗口向前移3个字节。如果此时B收到了78910但是没有收到456(可能丢失),此时B还是发送确认号=4给A,但是不丢弃收到的78910,在发送确认号=4的同时在选项中加入SACK(选择确认)用来表明中间有丢失的数据包,要A重传,而不必要传已经收到的。
在这里插入图片描述
再看几张图加深理解:
在这里插入图片描述
注意这里未按序到达的发送的确认号仍然是31,期望收序号为31数据包。未按序到达的先暂时存在缓存中。
在这里插入图片描述
但是如果出现A发送窗口全部发送完成,因为没有收到B的确认,A不能向前移动窗口,但B已经发送了确认却在网络中丢失了,为了保证可靠传输,A只能认为B没有收到这些数据,A在经过一段时间后(由超时控制器设置的时间)就重传这部分数据,重新设置计时器,直到收到B的确认为止。

关于发送窗口和发送缓存的一些注意点:
发送缓存用来暂时存放:
<1>发送应用程序传送给发送方TCP准备发送的数据。
<2>TCP已经发出但还没收到确认的数据。
发送窗口只是发送缓存的一部分,已被确认的数据要从发送缓存中删除。发送应用程序必须控制写入发送缓存的速率,不能太快,否则发送缓存就会没有存放数据的空间。

接收缓存暂时存放:
<1>按序到达的、但尚未被接受应用程序读取的数据。
<2>未按序到达的数据。
A的发送窗口是根据B的接收窗口设置的,但在同一时刻,A的发送窗口并不总是和B的接收窗口一样大,网络传送窗口值是需要经历一定时间的,并且这个时间还不确定。发送方A还会根据网络当时的拥塞情况适当减小自己的发送窗口数值。

(2)超时重传时间的选择(参考)
在这里插入图片描述
在这里插入图片描述

(3)选择确认SACK
TCP的接收方在接收对方发送的数据字节流的序号不连续,结果就形成了一些不连续的字节块。如图:
在这里插入图片描述
对这些字节块统计它们的边界,一个边界占4个字节,因为序号有32位,因此在选项中使用SACK时最多只能指明4个字节块的边界,4个字节块有8个边界,8x4=32字节。而首部中的选项最多只能有40字节。另外还需两个字节,一个字节用来指明是SACK选项,另一个字节是指明这个选项要占用多少字节。如果要报告5个字节块的边界信息,就至少需要42,10(边界)x4+2=42字节。
因此大多数的时候还是重传所有未被确认的数据块。

6、TCP流量控制和TCP拥塞控制

所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。
看个例子理解:
在这里插入图片描述
在这里插入图片描述
通过接收方设置接收窗口(rwnd)的大小对发送方的窗口进行限制,从而实现这个流量控制。

TCP的传输效率:
应用程序把数据传送到TCP缓存后,剩下的发送任务就由TCP来控制了。使用不同的机制来控制TCP报文段的发送时机:

  1. TCP维持一个变量,它等于最大报文长度MSS。只要缓存中存放的数据达到MSS字节时,就组成一个TCP报文段发过去。
  2. 由发送方的应用进程指明要求发送报文段,TCP支持的推送PUSH操作。
  3. 发送方的一个计时器期限到了,就把当前已有的缓存数据发送出去。

如何选择时机是一个很复杂的问题:
在这里插入图片描述

TCP拥塞控制:
拥塞控制就是防止过多的数据注入到网络中,这样就可以使网络中的路由器或链路不致过载。但是有一个前提就是网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
流量控制往往是点对点通信量的控制,是个端到端的问题(接收端控制发送端)。

拥塞控制的方法:(慢开始、拥塞避免、快重传、快恢复)
1、慢开始和拥塞避免
这两种是基于窗口的拥塞控制,发送方维持一个叫做拥塞窗口cwnd的状态变量。拥塞窗口的大小取决于网络的拥塞程度,动态变化,发送方让发送窗口等于拥塞窗口
发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就可以再增大一些,把更多的分组转发出去,提高网络利用率,只要网络出现拥塞或可能出现拥塞就要减小拥塞窗口,使注入到网络的分组数减小。
判断网络拥塞的依据就是出现了超时
慢开始算法:
由小到大逐渐增加发送窗口(拥塞窗口cwnd数值)。这里的窗口数值都是以数据报为单位,其实是以字节为单位,但是为了让数字看上去小一点使用的是数据报。一个数据报包含有多个数据字节。

看这两个算法实现的例子:
在这里插入图片描述
拥塞避免使得拥塞窗口的增加呈线性增长。使网络比较不容易出现拥塞。

2、快重传和快恢复
快重传首先要求接收方每收到一个失序的报文段就立即发出重复确认。这样做可以让发送方及早知道有报文段没有到达接收方。
当发送端收到连续三个重复的确认时,就要把门限值设置为当前拥塞窗口值的一半,但是此时的拥塞窗口不设置为1,而是设置为门限值ssthresh减半后的数值,然后开始执行拥塞避免算法,使拥塞窗口缓慢线性增大。

在这里插入图片描述
快重传和快恢复一般是一起组合出现。
TCP拥塞控制可以归纳成以下流程图:
在这里插入图片描述
考虑接收方接收窗口对发送方的发送窗口大小的限制,发送方的发送窗口大小不能大于对方给出的接收方窗口值rwnd。
把拥塞控制和流量控制结合在一起考虑,那么发送方的窗口上限值应当取接收窗口rwnd和拥塞窗口cwnd这两个变量中较小的那一个。
发送窗口上限值 = Min[rwnd,cwnd];
当rwnd < cwnd时,是接收方的接受能力限制发送窗口的最大值。
当cwnd > rwnd时,则是网络拥塞限制发送窗口的最大值。

7、TCP的运输连接管理(三次握手、四次挥手)

1、连接建立(三次握手)
在这里插入图片描述

服务器进程处于LISTEN监听状态,等待客户的连接请求。
1、A向B发出连接请求报文,首部中的 SYN = 1,序号 seq = x,SYN = 1 的报文段不携带数据,此时A处于 SYN-SENT(同步发送)状态。
2、B收到连接请求报文,同意连接发送确认给A。在确认报文中把 SYN = 1 和 ACK = 1,这是一个确认报文,确认号是 ack = x + 1,同时自己也选择一个序号=y,这个SYN报文也不携带数据,此时B进入SYN-RCVD(同步收到)状态。
3、A收到B的确认后,还要给B发送确认。确认报文的ACK=1,确认号 ack = y + 1,自己的序号 =x +1。这时TCP连接已经建立,A进入ESTABLISHED(建立会话)状态。
4、B收到A的确认也进入建立连接状态。

为什么最后一次A还要对B发送一次确认呢?
考虑一下情况,如果A发送请求建立连接的数据报在网络中滞留很久没有到达B,A认为丢失就再重传一份给B,此时可能很快到达B,并且收到B的确认,完成三次握手建立连接。数据传输完成后释放连接了,如果此时此前滞留的数据到达了B,B以为A要建立连接,回复确认给A,如果不是采用三次握手的话,只要B给A发回了确认,那么连接就建立了,但是此时A是没有要建立连接的,A就不会向B发送数据,而B一直等待A向它发送数据,那么就造成了B的资源白白浪费。
所以A向B发送再次确认可以防止这种情况的产生,如果是三次握手的话,A收到了B的确认,但是A没有给B回复确认,此时B就知道A并没有要求建立连接。

2、TCP连接释放
在这里插入图片描述
A的应用进程先向其TCP发出连接释放报文段,并停止发送数据,主动关闭TCP连接。
1、A把连接释放报文首部的终止控制位 FIN = 1,序号 seq = u,它等于前面已传送过的数据的最后一个字节的序号加1.此时A进入FIN-WAIT-1(终止等待1)状态,等待B的确认。

2、B收到连接释放报文后,发出确认,确认号是 ack = u + 1,而自己选择的序号 sqe = v,等于B前面已传过数据的最后一个字节的序号加1。然后B进入CLOSE-WAIT(关闭等待)状态。处于半关闭状态,A没有数据向B发了,但是B发送数据,A仍要接收,B到A的连接还没关闭。

3、A收到B的确认后,进入FIN-WAIT-2(终止等待2)状态,等待B发出连接释放报文段。

4、若B没有要向A发送的数据了,此时B的应用进程就通知释放TCP连接,B发出的连接释放报文段必须是 FIN = 1。现假定B的序号为w(半关闭状态B可能又发送了一些数据)。B还必须重复上次已发送过的确认号ack = u + 1。此时B就进入LAST-ACK(最后确认)状态,等待A的确认。

5、A收到B的连接释放报文,必须对此发出确认。在确认报文段中把 ACK = 1,确认号 ack = w + 1,
而自己的序号 = u + 1。然后进入TIME-WAIT(时间等待)状态。此时连接还没有释放掉,必须经过时间等待计时器设置的时间2MSL后,A才进入到CLOSE状态。MSL叫做最长报文段寿命,设置为2分钟。(这对于现在的网络来说可能长了一些,可以设置的小一些。)经过4分钟后才进入到CLOSE状态。

6、B收到A的确认,进入CLOSE状态。

注意
在这里插入图片描述
上述的TCP连接释放过程就是四次报文握手

还有一个保活计时器:
在这里插入图片描述

计算机网络笔记-第六章-应用层(http、https、ftp、DNS\SMTP\PoP3\RDP)

概览:
在这里插入图片描述

1、DNS域名解析系统

从域名解析出IP地址。
在这里插入图片描述
域名划分是按根形状划分:
在这里插入图片描述
比如www.baidu.com.最后一个点就是根域名,com是顶级域名,baidu是com下的一个二级域名。www是三级域名。可以输入www.baidu.com也可以输入www.baiud.com.多一个点也能访问。

域名服务器:
在这里插入图片描述
DNS分布式结构,按层次安排,每一个域名服务器都只对域名体系中的一部分进行管辖。
1、根域名服务器:
所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。本地域名服务器要对互联网上任何一个域名进行解析,只要自己无法解析,就首先求助于(距离最近)根域名服务器。而根域名服务器不是直接把域名转换成ip地址发送给本地域名服务器,而是告诉本地域名服务器下一步应该找哪一个顶级域名服务器进行查询。

2、顶级域名服务器:管理在该顶级域名服务器注册的所有二级域名。收到DNS查询请求时,就给出相应的回答,(可能是最后的结果IP地址,也可能下一个应当找的域名服务器的IP地址)。
每个域名服务器都有高速缓存区,缓存刚刚从别的顶级域名服务器查询到的某个域名的IP地址,如果某个本地DNS服务器也访问这个顶级域名服务器并且也是同一个域名,就可以把缓存的域名的IP地址发给刚刚请求查询的本地DNS服务器。

3、本地域名服务器:在网络和共享中心找到对应网络连接,点开属性,查看Internet协议版本4的属性,可以看到首选和备选DNS服务器,这里的就是本地域名服务器。

  1. 解析内网自己的域名
  2. 降低到Internet的域名解析流量(访问互联网中的DNS服务器也是需要流量的)

域名查询的过程:
在这里插入图片描述
一种是递归查询,一种是迭代查询,迭代查询就是由本地服务器一个个去问根服务器,顶级服务器等最后等到IP地址,而递归查询就是由根服务器查询,顶级服务器查询,每个服务器都进行询问得到最后结果返回给本地域名服务器。图中就可以看出区别。

2、动态主机配置DHCP

在这里插入图片描述
这里的自动获取IP地址就是使用的DHCP服务器统一分配IP地址。
这样的IP地址叫做动态IP地址。
静态IP地址:机房里的某个台式机服务器基本就固定在某个网段,不需要改动,就可以设置成静态IP地址。笔记本等可能到挪动去到不同的网段,一般是动态IP地址,由DHCP服务器分配。

DHCP使用客户服务器方式,需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(将目的IP地址置为全1,即255.255.255.255),这时主机就成为DHCP的客户。发送广播是因为不知道DHCP服务器在什么地方,此主机现在没有IP地址,因此源IP地址是全0。在本地网络上的所有主机都能够收到这个广播报文,但只有DHCP服务器才对此广播报文进行回答。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。找不到,则从服务器的IP地址池取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文,表示提供了IP地址等配置信息。

一般是在每一个网络中至少有一个DHCP中继代理(通常是一台路由器),配置了DHCP的IP地址信息。这个代理收到主机的发现报文通过单播发送给DHCP服务器得到IP地址再返回给主机。DHCP报文只是UDP用户数据报的数据,它还要加上UDP首部,IP首部,以及以太网的MAC帧的首部和尾部后,才能在链路上传送。

DHCP分配的IP地址是临时的,是有一个租用期的。DHCP客户的UDP端口是68,DHCP服务器使用的UDP端口是67。两个端口都是熟知端口。

3、文件传输协议FTP(File Transfer Protocol)

FTP的基本工作原理:
在这里插入图片描述
在这里插入图片描述
FTP客户和服务器之间要建立两个并行的TCP连接:控制连接和数据连接。控制连接主要是进行一些命令的传送,传送数据通过数据连接进行。
客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口21,同时告诉服务器自己另一个端口号用来进行数据连接。接着,服务器进程把自己传送数据的熟知端口20与客户进程所提供的端口号建立数据传送连接。
好处就是使协议更加简单和更容易实现,同时在传输文件时还可以利用控制连接对文件的传输进行控制。
在这里插入图片描述
还一个使用UDP环境下的TFTP,是一个很小的易于实现的文件传送协议,只支持文件传输不支持交互。
主要有两个优点:

  1. 用于UDP环境,例如,当需要将程序或文件同时向许多机器下载时就往往需要使用TFTP。
  2. 代码所占的内存较小,这对于较小的计算机或某些特殊用途的设备是很重要的,这些设备不需要硬盘,只需要固化了TFTP、UDP和IP的小容量只读存储器即可。
    TFTP的工作很像停止等待协议,发送完一个文件块后就等待对方的确认,确认时指明所确认的块编号。

4、telnet远程终端协议

有一个NVT转换格式:
在这里插入图片描述

可以用telnet 192.168.0.22 3389这个命令测试远程主机的3389端口是否打开。没有打开会报错。

远程桌面RDP就是一个远程桌面图形化连接,可以通过在命令行输入mstsc,在输入主机名和密码进行对远程主机的管理。

5、WWW万维网

概述:万维网是一个大规模的联机式的信息储藏所,简称Web。用链接的方法把从互联网上的一个站点访问另一个站点,从而能主动的按需获取所需的信息。
万维网需要解决的几个问题:
在这里插入图片描述
第一个问题使用统一资源定位符URL来标记万维网上的各种文档,每一个文档在整个互联网范围内具有唯一的标识符URL。
第二个问题让客户程序和服务器程序都遵守超文本传输协议HTTP,它利用TCP连接进行可靠传输。
第三个问题使用超文本标记语言HTML,使得万维网页面的设计者可以很方便的用链接从本页面某处链接到互联网上的任何一个万维网页面,并能够在自己的主机上显示出来。
第四个问题就是通过各种搜索工具在万维网上查找所需的信息。

1、统一资源定位符URL
用来表示从互联网上得到的资源位置和访问这些资源的方法。URL实际上就是在互联网上的资源的地址。
一般形式:
<协议>://<主机>:<端口>/<路径>
主机是指的该主机在互联网上的域名。

使用HTTP的URL:
http://<主机>:<端口>/<路径>
http的默认端口号是80

6、电子邮件(SMTP、POP3、IMAP)

在这里插入图片描述
用户代理:就是运行在电脑中的一个程序,又称为电子邮件客户端软件。
有以下4个功能:

  1. 撰写。给用户提供编辑信件的环境。例如,让用户创建便于选择收件人的通讯录,能够提取来信中的对方地址,并自动将此地址写入到邮件合适的位置。
  2. 显示。
  3. 处理。比如发送邮件接收邮件,删除、存盘、打印等
  4. 通信。要利用邮件发送协议发送到用户所使用的邮件服务器。收件人在接收邮件时,要使用邮件读取协议从本地邮件服务器接收邮件。

邮件服务器的功能是发送和接收邮件,同时报告邮件传送的结果(已交付,被拒绝、丢失等)。邮件服务器使用两种不同的协议。一种是用于用户代理向邮件服务器发送或在邮件服务器之间发送邮件,如SMTP协议,另一种是用于用户代理从邮件服务器读取邮件,比如邮局协议POP3。并且SMTP和POP3(或IMAP)都是使用TCP连接来传送邮件的,保证可靠传送。

1、STMP
(1)建立连接
SMTP使用熟知端口25与接收方邮件服务器的SMTP服务器建立TCP连接。连接建立后,接收方SMTP服务器要发出”220 Service ready“(服务就绪)。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。SMTP服务器若有能力接收邮件,则回答”250 OK“,表示已经准备好接收。若SMTP服务器不可用,则回答”421 Service not available“(服务不可用)。
SMTP不使用中间的邮件服务器。都是直接在发送方和接收方这两个邮件服务器之间直接建立,接收方邮件服务器出现问题,发送方邮件服务器只能等待一段时间后再尝试和该服务器建立TCP连接。

(2)邮件发送
在这里插入图片描述
(3)连接释放
SMTP客户发送QUIT命令。SMTP服务器返回的信息是”221“(服务关闭,表示同意释放TCP连接)。
SMTP存在很多缺点:发送邮件不经过鉴别,在FROM命令后面的地址可以任意填写,增加了很多垃圾邮件。SMTP传送的邮件是明文,不利于保密。
在这里插入图片描述

2、POP3和IMAP协议:
在这里插入图片描述

计算机网络笔记-第六章-网络安全(选择了解)

1、两类密码体制(对称密钥体制、公钥密码体制)

对称密钥体制:加密密钥和解密密钥是使用相同的密码体制。因此这种体制的保密性主要取决于对密钥的保密,而算法是公开的。在通信信道上是一对一的双向保密通信

公钥密码体制:使用不同的加密密钥和解密密钥。加密密钥(公钥)PK是向公众公开的,而解密密钥SK(私钥)则是需要保密的。加密算法E和解密算法D也都是公开的。
在这里插入图片描述
在这里插入图片描述

2、数字签名(应用层安全)

使用数字签名跟日常生活中的亲笔签名或盖章一样,都是用来证明这份文件或数据是出自某个人。
由证书颁发机构CA颁发证书。
数字签名必须实现以下三点功能:

  1. 接收者能够核实发送者对报文的签名,能够确信该报文的确是发送者发送的。其他人无法伪造对报文的签名。这叫报文鉴别
  2. 接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过。这叫报文的完整性
  3. 发送者事后不能抵赖对报文的签名。这叫不可否认
    为什么要有这三点功能?
    在这里插入图片描述

3、鉴别

鉴别是要验证通信的对方的确是自己要通信的对象,而不是其他的冒充者,并且所传送的报文是完整的,没有被其他人篡改过。
鉴别分两类:

  1. 报文鉴别:即鉴别所收到的报文的确是报文发送者发送的,包含端点鉴别和报文完整性的鉴别。
  2. 实体鉴别:仅仅鉴别发送报文的实体,实体可以是一个人也可以是进程。

报文鉴别:
使用密码散列函数,它的输出值叫做散列值,不同的散列值肯定对应于不同的输入,但不同的输入却可能得出相同得散列值。是多对一的。因此,要找到两个不同的报文,它们具有同样的密码散列函数输出,再在算上是不可行的。也就是说密码散列函数实际上是一种单向函数。密码散列函数有MD5和SHA-3。

实体鉴别:
报文鉴别是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的双方实体只需验证一次。

4、网络层安全协议IPsec(IP安全(security))

分为以下三部分:

  1. IP安全数据报格式的两个协议:鉴别首部AH协议封装安全有效载荷ESP协议
  2. 有关加密算法的三个协议
  3. 互联网密钥交换IKE协议

AH协议的功能现在都已经包含在ESP协议中,只介绍ESP协议的要点。它鉴别源点(来自哪一个发送者)、检查书局完整性和提供保密。
使用ESP协议的IP数据报称为IP安全数据报,可以在两台主机、两个路由器或一台主机和一个路由器之间发送。

IP数据报通过隧道方式工作:在原始的IP数据报的前后分别添加若干控制信息,再加上新的IP首部,构成一个IP安全数据报。它的IP首部是不加密的,但是数据是加密的,并能够被鉴别的。通常把数据报的数据部分称为数据报的有效载荷(payload)。
SA是构成IPsec的基础,是两个通信实体经协商建立起来的一种协定,它决定了用来保护数据分组安全的安全协议(AH或ESP协议)、转码方式、密钥及密钥的有效存在时间等。

在这里插入图片描述
在这里插入图片描述
公司总部与分公司和出差在外的员工之间的通信一般是通过VPN虚拟专用网络进行通信,也就是公司的内网,出差在外的员工要备一个公司VPN服务器的IP地址和访问权限,保证能够连入公司的内网,连入后不管员工在哪,他的计算机都是在公司内网中一样。

5、运输层安全协议(SSL、TLS)

安全套接字层SSL
运算安全TLS,是在SSL3.0基础上设计的。
应用层的应用程序的数据是通过TCP套接字与运输层进行交互的,使用SSL后增强了TCP的服务。
在这里插入图片描述
中间的https和http的区别可以了解一下(面试题)。

6、应用层安全协议(PGP)

应用层为电子邮件提供安全服务的协议PGP
在这里插入图片描述
在这里插入图片描述


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM