关于传输层协议的研究
计算机网络通信主要采用OSI模型,其主要有:物理层、数据链路层、网络层、传输层和应用层。本章主要对传输层进行深入研究探讨学习。具体OSI模型如下图1所示。 (注:应用层还可以细分为:表示层、会话层和应用层)
图1. 传输层在OSI模型位置
对于OSI模型各个层,进行通信协议定义。其中,主要是应用层协议:Telnet、FTP、SMTP、DNS、HTTP以及其他应用协议;
传输层协议:TCP 和UDP协议; 网络层:IP、ARP、RARP和ICMP协议。具体如下图2所示。
图2. OSI层及对应层的协议集
一.传输层功能
1.传输层主要有两大协议:TCP和UDP
下面进行详细分析:
(1)TCP(传输控制协议)
需要将传输文件分段、传输、建立会话、可靠传输和流量控制。
例如:浏览网页、传输文件、发邮件等。
图3. 浏览网页
(2)UDP(用户数据报协议)
将一个数据包就能完成数据通信 不分段 不需要建立会话 不需要流量控制 不需要可靠传输。
例如:域名解析通信、QQ一对一聊天,多播与广播等。
图4. 域名解析
注意:计算机会话查询
CMD进入DOS窗口,输入:netstat -nb 再按回车键进入
2. 应用层协议与传输层协议关系
连接关系主要通过端口号连接,具体端口号如图5所示。
图5. 应用层协议与传输层协议关系
常用的应用层协议使用的端口:
HTTP = TCP + 80
HTTP = 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
服务和应用层协议之间关系
客户端1浏览器访问web网站:发送数据包,网卡负责侦听,发现访问80端口,让80端口的web服务进行“接待请求”;
客户端2浏览器访问ftp站点:发送数据包,网卡负责侦听,发现访问21端口,让21端口的ftp服务进行“接待请求”。
其中,数据包结构:目标IP + 本地IP + 目标端口 + 本地端口 + 协议 +其他
网卡安全墙,控制端口访问请求,实现网络安全。
总结:
(1)服务使用 TCP或UDP 的端口侦听客户端请求
(2)客户端使用IP地址定位服务器 使用目标端口 定位服务
(3)可以在服务器网卡 上设置只开放的 必要端口 实现服务器网络安全
二.传输层协议UDP和TCP
1.用户数据报协议UDP
(1)特点:
无连接(发送数据前不需要建立连接)
尽最大努力交付,不可靠传输,不适用拥塞控制
支持一对一、一对多、多媒体通信
首部开销小,只有8个字节
(2)用户数据报协议UDP
图片形式解释UDP协议。
2. 传输控制协议TCP
(1)概述
* TCP 是面向连接的传输协议
* TCP 连接只能有两个端点(即一对一的点对点通信)
* 全双工通信
* TCP 提供可靠交付服务
* 面向字节流(如下图所示)
上述字节流传输过程描述:A端网页文件在传输层被划分成片段1234,在网络层网页片段加上目标IP和本地IP封装成数据,数据在数据链路层加上MAC地址封装成数据帧,数据帧在物理层被转化层010101010机器码,通过信号增强器、交换器发送到B端的物理层、数据链路层、网络层、传输层和应用层,最终还原成A端地 网页。
(2)主要特点
TCP连接:一条TCP连接两个端点,TCP连接的端点叫做套接字(socket):IP+端口A------------------------------IP+端口B
套接字socket = IP地址:端口号
TCP连接::={socket1,socket2} = {(IP1:port1),(IP2:port2)}
(3)TCP 如何实现可靠传输
以上情况实现可靠传输,当出现以下三种情况时候,协议要求自动重传请求ARQ:。
分析:停止等待协议优点是简单,但是缺点就是信道利用率很低。
解决上述缺点方法:
TCP报文段的首部格式
TCP首部20字节(并不固定):源端口2字节+目标端口2字节+序号4字节 (网页段编码)+确认号4字节(网页段编码确认号+1)+数据偏移(报告首部字节数) +.syn(0/1)建立会话+ack(1/0)......
ARP服务(广播找MAC)----------DNS服务(域名解析)--------------TCP服务(网页传输)
(4)TCP 如何实现流量控制
(5)TCP运输连接管理
传输连接有三个阶段:连接建立、数据传送和连接释放
TCP连接建立采用客户服务器方式
主动发起连接建立的应用进程叫做客户(client)
被动等待连接建立的应用进程叫做服务器(server)
**********************三次握手建立TCP连接*************************
图 三次握手
图 释放TCP 连接
握手:TCP建立连接的过程
参考文献:
【1】计算机网络基础网课. 韩立刚。https://www.bilibili.com/video/av9876107/?p=62