计算机网络 第五章 ——传输层

传输层的功能

为相互通信的应用进程提供了逻辑通信。
传输层实现了程序到程序
网络层实现了地址到地址
计算机网络 第五章 ——传输层
传输层的主要功能:
传输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)
传输层还要对收到的报文进行差错检测
传输层提供面向连接和无连接的服务。

传输层的端口

计算机网络 第五章 ——传输层
在网络层用协议号标识使用TCP/UDP
TCP 6
UDP 17
IGMP 1
在传输层用端口号标识区分上一层
TCP的端口
端口用一个16位端口号进行标识
端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程,。在因特网中不同计算机的相同端口号是没有联系的。
计算机网络 第五章 ——传输层
端口的取值范围是0~65535
熟知的端口0~1023
登记端口 1024~49151
客户端口号 49152~65535

传输层协议UDP和TCP

在TCP/IP协议栈,传输层有两个协议TCP/UDP
TCP(Transmission Control Protocol 传输控制)协议:
需要将要传输的文件分段传输,服务器和客户端建立会话,能够实现可靠传输,有流量控制功能。
例子:qq传文件
UDP(User Data Protocol 用户数据报协议)协议:
一个数据包就能够完成数据通信,不分段,不
需要建立会话(对服务器性能要求降低),不需要流量控制,不可靠传输。
例子:域名解析,qq聊天,屏幕广播,还应用于多播、广播
发送的电子邮件用到的什么协议?
答:用到TCP协议
用FTP下载文件用到的什么协议?
答:TCP
查看会话 netstat -n
查看建立会话的进程 netstat -nb

UDP的主要特点

UDP是无连接的,即发送数据之前不需要建立连接。
UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。
UDP是面向报文的。UDP没有拥塞限制,很适合多媒体通信的要求。
UDP支持一对一,一对多,多对多和多对一的交互通信。
UDP的首部开销小,只有8个字节。
计算机网络 第五章 ——传输层
计算机网络 第五章 ——传输层
首部中的长度指 的是 首部长度+数据长度
为了计算检验和,需要把网络层的信息拿过来形成伪首部。

计算机网络 第五章 ——传输层

传输控制协议TCP概述

TCP是面向连接的传输层协议
每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一)。
TCP提供可靠交付的服务。
TCP提供全双工通信
面向字节流

TCP的连接
TCP把连接作为最基本的抽象
每一条TCP连接有两个端点(ip+端口)
TCP连接的端点不是主机 ,不是主机的IP地址,不是应用进程,也不是传输层的协议端口。TCP连接的端点 叫做 套接字(socket)
端口号拼接到IP地址即构成了套接字。
计算机网络 第五章 ——传输层

传输层协议和应用层协议之间的关系

计算机网络 第五章 ——传输层
DNS协议绝大多数使用的UDP
常见的应用层协议使用的端口
http=TCP+80
HTTPS=TCP+443
RDP=TCP+3389
ftp=TCP+21
访问共享文件夹 TCP+445
SMTP=TCP+25
POP3=TCP+110
telnet =TCP+23
SQL=TCP+1433
DNS=UDP+53
服务和应用层协议之间的关系
服务使用 TCP/UDP的端口侦听客户端请求。
客户端使用IP地址定位服务器 使用目标端口 定位服务。
可以在’服务器网卡上设置只开放必要的端口,实现服务器网络安全。
如何在windows上安装服务

如何查看服务侦听的端口
netstat -an
netstat -n
netstat -nb
telnet 192.168.80.100 3389 测试远程计算机的某个端口是否打开

如何更改服务使用的默认端口
迷惑入侵者,使系统更加安全
如何设置windows网络安全
设置本地连接,TCP/IP筛选

TCP可靠传输的实现

可靠:保证接收方进程从缓存区读出的字节流与发送方发出 的字节流是完全一样的。
TCP实现可靠传输的机制:
1.校验
2.序号
3.确认
4.重传

一个字节占一个序号
序号字段指的是一个报文段第一个字节的序号

计算机网络 第五章 ——传输层
计算机网络 第五章 ——传输层
可靠通信的实现
使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。
这种可靠传输协议常称为自动重传请求AQR(Automatic Pepeat reQuest).
AQR表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组。
信道利用率
停止等待协议的优点使简单,但缺点是信道利用率太低。
计算机网络 第五章 ——传输层
信道利用率U的公式
计算机网络 第五章 ——传输层
让TD增加U就会增加,分母相对固定

采用流水线传输
计算机网络 第五章 ——传输层
就是连续不断地发送数据包,发送方可连续发送多个分组,不必没发完一个分组就停顿下来等待对方确认。
由于信道上一直有数据不间断的发送,这种传输方式可获得很高的信道利用率。

连续ARQ协议

计算机网络 第五章 ——传输层
说明这5个数据包是连续发送的,第一个数据包得到确认之后,就把窗口往右边移动,然后把1丢掉,这是6进入窗口,不断的重复。窗口内的数据包必须有确认才可以删除。(窗口里面的数据可以发出去,不可以删除)这就是使用流水线传输的时候使用滑动窗口技术实现可靠传输。

累计确认

每一个数据包都可以确认,效率不高,所以出现了累计确认。

简单理解就是连续的数据包,末尾的进行确认说明前面的都可以不用确认了。
如果中间的3数据包丢失,则后面的4不会接收,则确认的数据包是2 之前的。则这时候会重新发送3数据包。

优点:容易实现 信道利用率高
缺点:不能像发送方反应出接收方已经正确收到的所有分组的信息。

TCP报文段首部格式

计算机网络 第五章 ——传输层
分为两部分:固定20字节的首部 和 可变长部分——所以TCP的首部长度是可变的 。
源端口 目的端口 各占 2字节
序号(4字节):某个数据包第一个字节是整个文章的第几个字节则序号就是多少。是给数据包加上的头。
确认号指的是已经发送出去的数据包最后一个字节的后一位。告诉确认着下次该发第多少个字节了。
数据偏移
TCP首部不一定就是20个字节,可能还有其他选项,用来记录从第几个字节开始有数据的。
用4位二进制表示,写成10进制最大就是15
TCP首部最长是60个字节。15*4=60
所以选项部分最多可以有40个字节
作用:告诉TCP首部有多长,首部后面的都是数据。
保留:占6位,保留为今后使用,但目前应置为0 。
详情查看该博文

TCP滑动窗口技术实现可靠传输

1.以字节为单位的滑动窗口技术
计算机网络 第五章 ——传输层
A的发送窗口由B的接收窗口决定。
计算机网络 第五章 ——传输层
阿发越小越以来旧值,大就修正比较及时

计算机网络 第五章 ——传输层

TCP的流量控制

两台计算机传送数据,其中一个发送太块,另一个接收慢,则向快的发送一个数据包,告诉他慢一点或者停止,等缓存清空了然后发送数据包,可以继续传送。
TCP利用滑动窗口机制实现流量控制。
发送方的发送窗口取决于接收窗口rwnd和拥塞窗口cwnd的最小值。
接收方根据自己接收缓存的大小,动态的调整发送方的发送窗口大小。

防止互相等待的方法

计算机网络 第五章 ——传输层

TCP的拥塞控制

出现拥塞的条件
对需求的总和>可用资源
例如:带宽 交换机的缓存 处理机
网络中有许多资源同时呈现供应不足-》性能变坏-》网络吞吐量将随输入负荷增大而下降。
拥塞控制:
防止过多的数据注入到网络中(全局性)

拥塞控制四种算法

计算机网络 第五章 ——传输层
计算机网络 第五章 ——传输层
计算机网络 第五章 ——传输层
计算机网络 第五章 ——传输层
计算机网络 第五章 ——传输层

TCP的运输连接管理

TCP 连接传输三个阶段
连接建立-》数据传送-》连接释放
TCP连接的建立采用客户端服务器方式,主动发起连接建立的应用进程叫做客户端,而被动等待连接建立的应用进程叫做服务器。

TCP的连接

计算机网络 第五章 ——传输层

SYN洪泛攻击

计算机网络 第五章 ——传输层

TCP的连接释放

计算机网络 第五章 ——传输层