计算机网络复习(三)

接上一篇计算机网络复习(二)

TCP和UDP的区别

  1. 连接:TCP是面向连接的,在发送数据之前需要通过三次握手建立连接,发送数据结束后需要通过四次挥手释放连接。UDP是无连接的,发送数据之前无需建立连接,发送数据结束后也无需释放连接。
  2. 交付:TCP提供可靠交付,即通过TCP连接传送的数据,无差错、不丢失、不重复,并且按序到达。 UDP尽最大努力进行交付,即不保证可靠交付,主机不需要维持复杂的连接状态表。
  3. 数据:TCP是面向字节流的,虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看出成一连串无结构的字节流。TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小关系。 UDP是面向报文的,UDP对于应用层交下来的报文,添加首部后就向下交给IP层,既不合并,也不拆分,一次交付一个完整的报文。
  4. 通信双方:TCP连接是点对点(一对一),每一条TCP连接只能有两个端点。 UDP支持一对一、一对多、多对一、多对多的交互通信。
  5. 拥塞:TCP通过慢开始、拥塞避免、快重传、快恢复等算法进行拥塞控制。 UDP没有拥塞控制,网络的拥塞不会使源主机的发送速率降低。
  6. 首部:TCP首部是20个字节。UDP首开销小,只有8个字节。

TCP如何实现可靠传输?

TCP通过滑动窗口、超时重传和选择确认来实现可靠传输。

TCP可靠传输的工作原理

ARQ协议

ARQ全称是Automatic Repeat-reQuest,意为自动重传请求。如果发送方在超时时间内没有收到接收方的确认,那么发送方通常会重新发送。ARQ包括停止等待ARQ协议和连续ARQ协议。

停止等待ARQ协议

停止等待ARQ协议就是每发送完一个分组,就等待对方的确认;如果超时时间过后,还没有收到对方的确认,那么就重新发送,直到收到对方的确认,才能发送下一个分组。
在停止等待ARQ协议中,如果接收方收到重复的分组,那么就丢弃这个分组,但是还是要向发送方发送确认。

  • 优点:简单
  • 缺点:信道利用率低;等待时间长;
停止等待ARQ协议的几种情况
  1. 无差错的情况:发送方发送分组,接收方在规定的时间内发挥确认;发送方发送下一个分组;
  2. 超时重传(出现差错的情况):超时重传就是在规定的时间内发送方没有收到接收方的确认,那么就要重新发送这个分组(认为这个分组已经丢失了)。
  3. 确认丢失和确认迟到
    • 确认丢失:确认消息在传输过程丢失。当A发送M1消息,B收到后,B向A发送了一个M1确认消息,但却在传输过程中丢失。而A并不知道,在超时计时过后,A重传M1消息,B再次收到该消息后采取以下两点措施:1. 丢弃这个重复的M1消息,不向上层交付。 2. 向A发送确认消息。(不会认为已经发送过了,就不再发送。A能重传,就证明B的确认消息丢失)。
    • 确认迟到:确认消息在传输过程中迟到。A发送M1消息,B收到并发送确认。在超时时间内没有收到确认消息,A重传M1消息,B仍然收到并继续发送确认消息(B收到了2份M1)。此时A收到了B第二次发送的确认消息。接着发送其他数据。过了一会,A收到了B第一次发送的对M1的确认消息(A也收到了2份确认消息)。处理如下:1. A收到重复的确认后,直接丢弃。2. B收到重复的M1后,也直接丢弃重复的M1。
连续ARQ协议

连续 ARQ 协议可提高信道利用率。发送方维持一个发送窗口,凡位于发送窗口内的分组可以连续发送出去,而不需要等待对方确认。接收方一般采用累计确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已经正确收到了。

  • 优点:信道利用率高,容易实现,即使确认丢失,也不必重传。
  • 缺点: 不能向发送方反映出接收方已经正确收到的所有分组的信息。 比如:发送方发送了 5条 消息,中间第三条丢失(3号),这时接收方只能对前两个发送确认。发送方无法知道后三个分组的下落,而只好把后三个全部重传一次。这也叫 Go-Back-N(回退 N),表示需要退回来重传已经发送过的 N 个消息。

流量控制

流量控制就是根据接收方的接收能力,动态地调整发送方的发送速率,以便接收方能够来得及接收。接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。

拥塞控制

拥塞控制的定义

拥塞是在某段时间内,对于网络中的某个资源的需求超过了其能提供的可用部分,造成网络性能变坏,这就是拥塞。拥塞控制就是为了防止过多的数据注入网络中,这样就不会造成路由器或链路过载。
为了进行拥塞控制,TCP 发送方要维持一个 拥塞窗口(cwnd) 的状态变量。拥塞控制窗口的大小取决于网络的拥塞程度,并且动态变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接受窗口中较小的一个。

拥塞控制的算法

  • 慢开始:在主机刚开始发送数据的时候,由于不知道网络中的负载情况,所以如果一下子注入过多的字节数据,就有可能造成拥塞;那么比较好的办法就是先探测一下,慢慢地逐渐增大发送方的发送窗口,也就是逐渐增大拥塞窗口值。cwnd初始值为1,每经过一个传播轮次以后就加倍。
  • 拥塞避免:缓慢增大拥塞窗口(cwnd)的值,每经过一个往返时间(RTT)就把发送方的cwnd加1.
  • 快重传快恢复:在 TCP/IP 中,快速重传和恢复(fast retransmit and recovery,FRR)是一种拥塞控制算法,它能快速恢复丢失的数据包。没有 FRR,如果数据包丢失了,TCP 将会使用定时器来要求传输暂停。在暂停的这段时间内,就不会发送新的数据。有了 FRR,如果接收机接收到一个不按顺序的数据段,它会立即给发送机发送一个重复确认。如果发送机接收到三个重复确认,它会假定确认指出的数据段丢失了,并立即重传这些丢失的数据段。有了 FRR,就不会因为重传时要求的暂停被耽误。当有单独的数据包丢失时,快速重传和恢复(FRR)能最有效地工作。当有多个数据信息包在某一段很短的时间内丢失时,它则不能很有效地工作。

端口分类

  • 服务器端使用的端口号
    • 熟知端口号:范围是0-1023。这些端口号指派给了TCP/IP最重要的一些应用程序,让所有用户都知道。(常用的数值端口号:FTP:21、TELNET:23、SMTP:25、DNS:53、TFTP:69、HTTP:80、HTTPS:443。)
    • 等登记端口号:范围是1024-49151。这类端口号是给那些没有数值端口号的应用程序使用的。
  • 客户端使用的端口号:范围是49152-65535。这类端口号留给客户进程运行时短暂使用。

四、网络层

子网划分

在这里插入图片描述

交换机和路由器的区别

  1. 工作层次:交换机主要工作在数据链路层,路由器主要工作在网络层;
  2. 转发依据:交换机转发依据的对象是MAC地址,路由器转发依据的对象是IP地址;
  3. 功能:交换机功能较简单,只是将主机连接起来组件局域网,路由器可以将局域网连接起来,还能分割广播域,还能提供防火墙;

子网掩码的最大长度

30位,子网掩码将某个IP地址划分成网络地址和主机地址两部分,在一个网段中,有2个地址是被固定占用的,一个是网段地址,一个是网段内广播地址,其他是主机可用的地址,至少一个,不然就没有意义了。也就是说,被掩码所分的网段至少要包含3个地址。

ARP协议

ARP协议的作用

将IP地址转换为物理地址。

ARP协议的工作原理

  1. 首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
  2. 当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。
  3. 当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
  4. 源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

IPV6

IPV6地址的基本类型

  1. 单播(unicast):单播就是传统的点对点通信。
  2. 多播(multicast):多播是一点对多点的通信,数据报发送到一组计算机中的每一个。IPV6没有广播的术语,而是将广播看作多播的一个特例。
  3. 任播(anycast):这是IPV6增加的一种类型。任播的终点是一组计算机,但是数据包只交付给其中一个,通常是距离最近的一个。

IPV6的首部

在这里插入图片描述

路由选择协议

  1. 内部网关协议RIP(Routing Information Protocol):RIP是一种分布式的基于距离向量的路由选择协议。
  2. 内部网关协议OPSF(Open Shortest Path First):OSPF是使用分布式的链路状态协议。
  3. 外部网关协议BGP(Border Gateway Protocol):边界网关协议。

IO多路复用

  1. select
    在这里插入图片描述
  2. epoll
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值