计算机网络知识梳理与总结(四)

Chapter6

套接字机制

IP网络通信一般采用socket机制,也称为套接字机制。
在TCP/IP网络中,每个应用进程首先创建一个socket,然后对该socket赋值,并将应用进程与socket进行绑定。
一个socket可以用一个3元组<协议,本地主机地址,本地端口>来描述。
两个应用进程之间的网络通信可以用一对socket来标识,一对socket合起来就是一个5元组<协议,本地主机地址,本地端口,远程主机地址,远程端口>。

端口的概念

端口号:为识别主机的各应用进程,定义一个明确标志(用整数表示),该整数称为端口号。
Internet中传输层采用协议端口号来标识不同的应用进程,协议端口号通常简称为端口。
虽然通信的终点是应用进程,但只要把传送的报文交到目的主机的某一个合适的目的端口即可,剩下的最后交付的进程工作由传输层协议完成。

TCP/IP中端口的分类

TCP/IP协议中端口号一般分为3大类:

  • 众所周知端口:范围是0~1023。通常用于一些众所周知的服务,供系统使用,由IANA进行统一分配,并将结果公布于众。
  • 注册端口:范围是1024~49151。主要应用于一些不常用的服务,使用前需注册。
  • 动态和/或私有端口:范围是49152~65535。理论上,不应为服务分配这些端口,但在具体的实现中,有些机器通常从1024起分配动态端口。也有例外,如Sun的RPC端口从32768开始分配。

IP地址与端口号的关系

在这里插入图片描述

传输层与网络层的区别

网络层为主机间提供逻辑通信,传输层为应用进程间提供端到端的逻辑通信。

网络层的IP数据报只检查首部而不检查数据部分;传输层对整个报文进行差错检查。

网络层通过IP地址识别通信主机,传输层通过端口号识别应用进程。

传输层与数据链路层的区别

数据链路层相当于局域网,传输层相当于广域网

数据链路层是点到点的,传输层是端到端的

传输层协议数据单元(TPDU)

TPDU有效载荷是应用层数据,传输层在TPDU有效载荷之前加上TPDU首部,形成TPDU传输层协议数据单元。TPDU传送到网络层后,加上IP分组首部后形成IP分组。IP分组传送到数据链路层后,加上帧首、帧尾形成帧。

帧传输到目的主机后,经过数据链路层与网络层处理后,传输层接收到TPDU后,读取TPDU首部,按照传输层协议的要求完成相应的动作。
在这里插入图片描述

用户数据报协议(User Datagram Protocol,UDP)

UDP首部长度8个字节

UDP除了提供应用进程对UDP的复用功能外,不提供任何差错控制和流量控制机制,即UDP提供的是不可靠的数据报服务。

  • UDP是一种无连接的、不可靠的传输层协议。
  • UDP尽最大努力交付,但不保证可靠交付,主机不需要维持复杂的连接状态表。
  • UDP传输数据是面向报文的。
  • UDP无拥塞控制,网络出现拥塞不会降低源主机的发送速率。
  • UDP支持一对一、一对多、多对一和多对多的交互通信。
  • UDP的首部开销小,只有8个字节,比TCP的20个字节首部短。
    在这里插入图片描述

UDP的复用和分用

传输层有一个很重要的功能就是复用和分用。
复用:指在发送方不同的应用进程都可以使用同一个传输层协议传送数据(需要加上适当的首部),通过传输层再传送到网络层(IP层)。
分用:指接收方的传输层从IP层收到数据,剥去报文首部后能够将这些数据正确交付指明的目的应用进程。
对应用层每个应用进程赋予一个明确标志至关重要。
在这里插入图片描述

传输控制协议TCP的基本概念和功能

在这里插入图片描述
在这里插入图片描述
Attention!!!
通告窗口大小取决于接收方
在这里插入图片描述

TCP建立连接三次报文握手机制

详情可参看博文传输层TCP和UDP网课笔记(三次报文握手、四次报文握手、拥塞控制)

连接建立是非对称的活动,即一方执行被动的连接另一方执行主动连接
在这里插入图片描述
理解TCP为什么需要进行三次握手
在这里插入图片描述
在这里插入图片描述
同理对于TCP为什么需要进行三次握手我们可以一样的理解:

为了保证服务端能收接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行后两次(第二次和第三次)握手。

上一模块的资料来源理解TCP为什么需要进行三次握手(白话)

TCP连接释放的四次报文握手

TCP连接释放是对称活动

因为TCP连接是全双工的,所以每个方向必须单独关闭
在这里插入图片描述
在这里插入图片描述

TCP的差错控制机制

在这里插入图片描述
TCP差错控制包括检测出错的报文段、丢失的报文段、失序的报文段和重复的报文段,以及检测出差错后纠正差错的机制。

由于TCP是承载在无连接、不可靠的IP基础上,因此TCP只能通过差错控制来提供数据传输的可靠性。

TCP的流量控制机制

滑动窗口概述

TCP采用滑动窗口机制实现流量控制。TCP的滑动窗口不是固定大小的,是由接收方通过TCP报文首部的通告窗口字段向发送方通告它的窗口大小。

发送方在任意时刻没有确认的字节数不能超过通告窗口字段的值。发送方的发送窗口大小等于通告窗口大小,即接收方的窗口大小
接收方根据分配的缓冲区的大小为通告窗口选择一个合适的值,该值就是接收窗口值rwnd。
在这里插入图片描述
在这里插入图片描述

发送和接收缓冲区

发送缓冲区:发送方的TCP维护,保存已发送但未收到确认的数据以及发送方应用进程写入但尚未发送的数据。
接收缓冲区:接收方的TCP维护,保存乱序到达的数据以及按顺序到达接收方(该字节流前面的字节都已到达)但接收进程来不及读取的数据。

发送和接收缓冲区的指针

在这里插入图片描述

拥塞和拥塞控制的基本概念:拥塞控制的定义

拥塞控制:指网络节点采取措施避免拥塞的发生或者对已经发生的拥塞做出的响应。
拥塞控制机制包括两个部分:拥塞避免和拥塞控制。

拥塞避免是“主动”机制,目标是使网络运行在高吞吐量、低延迟的状态,避免网络进入拥塞状态。

拥塞控制是“响应”机制,功能是把网络从拥塞状态恢复出来,消除已经发生的拥塞,或者避免拥塞的发生。

TCP拥塞控制机制

TCP拥塞控制机制:慢启动算法

发送方控制拥塞窗口的原则:
若网络未出现拥塞,则增大拥塞窗口,以便发送更多的分组。
若网络出现拥塞,则减小拥塞窗口,以减少发送的分组数。

慢启动算法的基本思想:
当主机开始发送数据时,若立即将大量数据发送到网络,有可能引起网络拥塞,因为网络负荷情况不明,因此,一般采用试探方式由小到大逐渐增大发送窗口(拥塞窗口数值)。

TCP拥塞控制机制:拥塞避免算法

慢启动算法使拥塞窗口一直成倍增长,为避免拥塞窗口增长过快,设置一个慢启动门限值(又称为阈值)ssthresh。

拥塞避免的基本思想:当cwnd≥ssthresh时,TCP传输进入拥塞避免阶段。cwnd不再加倍,而是改为线性增长,而且一旦出现数据传输超时,重新设置cwnd=1(拥塞窗口),并再次开始慢启动算法。

TCP拥塞控制机制:慢启动-拥塞避免机制

在这里插入图片描述
在这里插入图片描述

TCP拥塞控制机制:快速重传算法

在这里插入图片描述

流量控制和拥塞控制的最主要的区别

流量控制是在一条TCP连接中的接收端采用的措施,只控制一个发送端,限制其发送报文段的速率,以免接收端来不及接收
拥塞控制是用来控制TCP连接中发送端发送报文的速率,以免使互联网中某处产生过载,拥塞控制可能同时控制多个发送端

快速重传与快速恢复算法

在这里插入图片描述

重传计时器

坚持计时器

为了打破TCP传输过程中的死锁问题,发送方TCP对建立的每一个TCP连接设置一个坚持计时器。
当发送方TCP接收到通告窗口值=0的确认报文时,启动坚持计时器,一旦坚持计时器超时,发送方TCP就发送一个只有1字节数据的探测报文;如果发送方TCP没有收到接收方的确认报文,则它将坚持计时器的超时宽度加倍,并且重新发送一个探测报文。一直持续到坚持计时器的超时宽度增加到门限值(通常是60秒)为止。此后,发送方TCP就每隔60秒发送一个探测报文,直到接收窗口重新打开。

保活计时器

为了解决TCP连接长时间空闲的问题,服务器上的TCP引入了保活计时器。
保活计时器的宽度通常设置为2小时。
每当服务器TCP收到来自客户端TCP的数据时,就将保活计时器复位。
若服务器TCP的保活计时器超时,服务器就不断(一般每隔75秒)发送1字节探测报文,当服务器TCP连续发送了10个探测报文还没有收到客户端TCP的响应时,它就关闭连接。

等待计时器

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值