计算机网络-传输层

协议回顾
在这里插入图片描述
两个协议应用场景
TCP 分段 编号 流量控制 建立会话
UDP 一个数据包就能完成数据通信 不建立会话

举例:
QQ聊天:UDP
QQ传文件:TCP【完整的文件传输】
一个应用在传输层应用不同的协议

传输层和应用层之间关系
HTTP(web网站)= TCP+80端口
HTTPS=TCP+443端口
ftp = tcp+21端口
smtp=tcp+25端口
POP3=tcp+110端口
rdp(远程桌面)=tcp+3389端口
共享文件夹=tcp+445端口
SQL Server = tcp+1433端口
dns=udp+53/tcp+53端口

应用层协议和服务的关系
服务运行后在tcp或udp的某个端口侦听客户端请求。
用端口来定位服务,IP地址来定位计算机
web、ftp、pop3、smtp

服务更改端口,增加服务器安全
比如将3389远程桌面改为4000,访问者不知道4000提供的是什么服务。增加了安全。
比如网站是80端口,默认IP地址后加:80,如果访问别的端口访问不通。如果修改了服务端口为801,就要访问801,80就不通了。

windows防火墙作用

  1. 防火墙可以将所有端口关闭。屏蔽外部访问我自己,但是出去的流量还可以回来。
  2. 能出不能进
  3. 不能防灰鸽子木马程序

TCPIP筛选实现服务器安全
网络安全:关闭所有无用的端口,例如:ftp、rdp。。。只留web服务80端口。

IPSec严格控制网络流量

指引

  1. 运输层功能
  2. 传输层协议UDP和TCP
  3. TCP可靠传输的实现
  4. TCP流量控制
  5. TCP的拥塞控制
  6. TCP的运输连接管理

1. 传输层协议UDP和TCP

运输协议数据单元:transpot protocol data unit
TCP传输的协议数据单元是 TCP报文段(segment)
UDP传输的协议数据单元是 UDP报文或用户数据报

计算机网络-传输层_第1张图片
计算机网络-传输层_第2张图片

常用端口
计算机网络-传输层_第3张图片
比如IE浏览器。访问不用的网站对方端口都是80,但是本地端口都是不同的。可能出现访问一个网站出现多个本地会话,比如视频图片在搜狐的服务器地址不同,每个都要建立会话。
计算机网络-传输层_第4张图片

用户协议UDP
计算机网络-传输层_第5张图片
面向报文的UDP,发送方UDP对应用程序交下来的报文,在添加首部后,就向下交付IP层。
UDP对应用层交下来的报文,既不会合并也不会拆分,而是保留报文边界。

计算机网络-传输层_第6张图片
网络层加IP地址(目标地址源地址),传输层加端口号(目标端口源端口)

TCP概述
计算机网络-传输层_第7张图片

  1. 全双工:通过反馈知道信息传输质量。哪怕下载文件,也要提供给服务器下载状态。
    计算机网络-传输层_第8张图片
  2. 如图面向字节流
  3. TCP连接的不是主机,不是主机的IP地址,不是进程。而是套接字。端口拼接IP地址构成了套接字。

TCP特点:
分段、编号【传输比较大,一次传不完
流量控制【流量过大客户端处理不过来,客户端回信给服务端慢点,等处理完再继续发
拥塞控制【避免网络堵住,否则会各种丢包
稳定传输【建立会话

2. TCP如何实现可靠传输

工作原理:停止等待协议
计算机网络-传输层_第9张图片
a就是三次握手
b默认如果包没回来,会重传,超时时间大于RTT(包往返时间)时间。

计算机网络-传输层_第10张图片
a是M1的确认信号丢失了,当重传M1时,B会丢弃重复的M1
b是当M1的确认信号迟到了,隔了很久才回传给A,此时A以为超时又发送M1,B收到两次M1,丢弃重复的M1,回传确认信号。最后A收到迟到了的第一次发送M1的确认信号什么都不做。

可靠通信的实现
确认和重传机制,就可以实现不可靠的传输网络上实现可靠的通信。
自动重传请求(ARQ)
自动进行的,接收方不需要请求发送方重传某个出错的分组

信道利用率
计算机网络-传输层_第11张图片
在这里插入图片描述
增加信道利用率:流水线传输
不间断的传送数据
计算机网络-传输层_第12张图片
滑动窗口
发送方维持发送窗口数量(比如发送窗口是5)
在这里插入图片描述

以字节为单位的滑动窗口技术
计算机网络-传输层_第13张图片
滑动窗口如何工作的?

  1. 接收窗口大小决定发送窗口
  2. B发送给A接收到的信号ACK,(ACK=已经接收到的信号+1),A的ACK之前的数据就可以删除了。否则未接收到信号要保留。
  3. 随着数据接收,滑动窗口要向右移动。

超时重传时间选择
tcp每发送一个报文段,就对这个报文段设置一次计时器,只要计时器设置的重传时间到,但还没收到确认,就要重传这一报文。
略大于加权平均往返时间RTTs

2. TCP流量控制

在这里插入图片描述
TCP报文段的首部格式
计算机网络-传输层_第14张图片
首部20字节
端口占4字节,源端口2字节(16位)目的端口2字节(16位)
序号 ,是根据应用程序中的数据来定位的
确认号,告诉发送者下次该发第几个字节了
数据偏移量,表示首部有多长,是否包含选项,不包含选项的话,偏移量就是20个字节。首部最长60个字节。选项最多40个字节。
保留:二进制无用

URG:是否紧急 1-加塞不排队
ACK:0-确认号无效
SYN:同步
pSH:
RST:

窗口大小:
TCP缓存大小
发送方缓存
接收方缓存
计算机网络-传输层_第15张图片

选项部分:
MSS:支持的最大数据报长度
计算机网络-传输层_第16张图片

3. TCP拥塞控制

指的是全部计算机,任何一台计算机发送出现丢失情况,都要控制传输,避免拥堵,把网搞塌。
在这里插入图片描述
作用曲线
计算机网络-传输层_第17张图片
理想拥塞:增加到一定程度稳定
无拥塞:超过一定程度,由于无法处理更多的请求,反而处理能力下降。
计算机网络-传输层_第18张图片
慢开始:第一次1个,第二次2个,第三次4个,第四次8个。
计算机网络-传输层_第19张图片
慢开始和拥塞避免算法举例
前期试探连接,以指数规模增长。到达慢开始门限以后,线性加法增大,避免拥塞。
快速重传:发生错误,立马处理
快速恢复

4. TCP传输连接管理

三个阶段:建立连接、数据传送、连接释放
建立连接的方式都是采用cs方式(客户端、服务器)
计算机网络-传输层_第20张图片
为什么要第三次握手:
假如A发了一个请求很远(长请求),很久都没响应。
这时候又发了一个请求(短请求),很快得到了相应。
后来B收到A发过来的响应,进行回传
由于A已经收到过响应了(短请求),不会处理B的请求
B就一直收不到A的响应,所以造成了资源的浪费。

前两步是同步信息包含sync
最后一步不包含sync

计算机网络-传输层_第21张图片
第一次发送后A变为sync-sent
B收到后变为sync-rc
A收到B后变为establish
B收到A后变为establish
都变为establish后可以进行数据通信了

应用场景举例:
在这里插入图片描述
在这里插入图片描述

连接释放
计算机网络-传输层_第22张图片
释放状态:
计算机网络-传输层_第23张图片

举例:
计算机网络-传输层_第24张图片

你可能感兴趣的:(专业基础之计算机网络)