传输层的两个协议
比较项目 | TCP(Transmission Control Protocol)传输控制协议 | UDP(User Data Protocol)用户数据报协议 |
---|---|---|
是否分段 | 需要将要传输的文件分段 | 文件不需要分段 |
数据报数目 | 多个 | 一个 |
是否建立会话 | 是 | 否 |
是否流量传输 | 是 | 否 |
是否可靠传输 | 是 | 否 |
典型应用场景 | 打开网页,电子邮件,不提供广播和多播服务 | QQ文字聊天、屏幕广播、域名解析DNS |
传输层与应用层的关系
- 标识应用程序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rvKuYPax-1582261624081)(D:\Typora\images\1582174318490.png)]
常见的应用层协议使用的端口
协议名称 | 使用端口 |
---|---|
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上安装服务
如何查看服务侦听的端口
- cmd下 netstat -an
- netstat -n 查看建立的会话
- netstat -nb 查看建立会话的进程
- telnet 192.168.80.100 3389 测试到远程计算机的3389端口是否打开
如何更改服务使用的默认端口
- 迷惑入侵者,使系统更加安全
如何设置Windows网络安全
- 设置本地连接,TCP/IP筛选
传输层的功能
- 传输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)
- 传输层还要对收到的报文进行差错检测
- 传输层提供面向连接的TCP协议和无连接的UDP协议
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8WMcIQ3I-1582261624083)(D:\Typora\images\1582177663827.png)]
传输层的端口
- TCP协议号:6
- UDP协议号:17
- IGMP协议号:1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uAzMpuH5-1582261624084)(D:\Typora\images\1582177882560.png)]
TCP的端口
- 端口用一个16位端口号进行标志(0~65535)
- 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号使没有联系的
端口的三种类型
- 熟知端口,数值一般为0~1023
- FTP:21
- TELNET:23
- SMTP:25
- DNS:53
- HTTP:80
- https:443
- RDP:3389
- 登记端口,数值为1024~49151
- 客户端口,数值为49152~65535
用户数据报协议UDP
UDP的主要特点
- UDP是无连接的,即发送数据前不需要建立连接
- UDP尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制
- UDP是面向报文的。UDP没有拥塞控制,很适合多媒体通信的要求
- UDP支持一对一、一对多、多对一和多对多的交互通信
- UDP的首部开销很小,只有8个字节
面向报文的UDP
- 发送方UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交付下来的报文,既不合并,也不拆分,而是保留这些报文的边界
- 应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文
- 接收方UDP对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整地报文
- 应用程序必须选择合适大小的报文
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VrpmqFGS-1582261624085)(D:\Typora\images\1582179251429.png)]
UDP的首部格式(8个字节)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KHQYzT1F-1582261624086)(D:\Typora\images\1582179285406.png)]
传输控制协议TCP
TCP的主要特点
- TCP是面向连接的传输层协议(在传数据之前要先确保连接是通的)
- 每一条TCP连接只能有两个断点(endpoint),每一条TCP连接只能是点对点的(一对一)
- TCP提供可靠交付的服务
- TCP提供全双工通信(接收方要有回应)
- TCP面向字节流
TCP的连接
- TCP把连接作为最基本的抽象
- 每条TCP连接有两个端点
- TCP连接的端点不是主机,不是主机的连接地址,不是应用进程,也不是传输层的协议端口。TCP连接的端点叫做套接字(socket)
- 端口号拼接到IP地址即构成了套接字,即套接字socket = (IP地址:端口号)
- 每一条TCP连接唯一地被通信两端的两个套接字所确定
TCP如何实现可靠传输
可靠传输的工作原理——停止等待协议
无差错情况与超时重传
- 发送之后发送端一定要收到接收端的确认才发送之后的数据报
- 否则等待,直至超时重传
- 注意:
- 在发送完一个分组后,必须暂时保留已发送的分组的副本
- 分组和确认分组都必须进行编号
- 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uPECna5h-1582261624087)(D:\Typora\images\1582182488297.png)]
确认丢失和确认迟到
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F5mUstBX-1582261624088)(D:\Typora\images\1582182736196.png)]
自动重传请求ARQ(Automatic Repeat reQuest)
- 使用上述确认和重传机制,我们就可以实现在不可靠的传输网络上实现可靠的通信
- 这种可靠传输协议常称为自动重传请求ARQ
- ARQ表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组
信道利用率
- 停止等待协议的优点是简单,但是缺点是信道利用率太低
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rA0ql8e5-1582261624088)(D:\Typora\images\1582183301305.png)]
- 信道的利用率U
U = T D T D