5 传输层
5.1 传输层概述
-
是什么?是主机才有的层次,为上面的应用层提供服务 -
能够干什么?
-
提供进程和进程之间的逻辑通信,而网络层提供的是主机与主机之间的逻辑通信 -
分用和复用(使用同样的传输协议)
- 复用:应用层所有的应用进程都可以通过传输层再传输到网络层
- 分用:传输层从网络收到数据后交付指明的应用进程
-
对传输层收到的报文进行差错检测 -
两种协议TCP和UDP协议 -
传输层的寻址与端口
- 逻辑端口/软件端口
- 服务端端口号
- 熟知端口号:0~1023:给TCP/IP最重要的一些应用程序,让所有用户都知道
- 登记端口号:1024 ~ 49151:为没有熟知端口号的应用程序使用的
- 客户端端口号:49152 ~ 65535 :仅在客户进程运行时才动态选择
- 端口是传输层的SAP,标识主机中的应用进程
- 端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的
- 端口号长度:16bit,能表示65536个不同的端口号,常见的进程端口号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UCMRoidI-1651899760521)(/Users/qinjianquan/Downloads/IMG_B702EF553F25-1.jpeg)]
5.2 UDP协议
传输层有两个协议:UDP和TCP
UDP特点:
1. 无连接,无需确认
2. 不可靠、时延小,适用于小文件,由应用层保证可靠交付
3. UDP是面向报文的,应用层的报文一直会被传递下去
4. UDP无拥塞控制,适合实时应用
5. UDP首部开销比较小,8B,TCP20B
UDP首部格式:
首部字段
16位源端口号 | 16位目的端口号 |
---|
16位UDP长度 | 16位UDP检验和(检验整个UDP数据报是否出错,错则丢弃) |
UDP校验
-
伪首部
IP源地址 | IP目的地址 | 0 | 17(协议字段) | UDP长度 |
---|
-
UDP用户数据报首部
-
IP数据报 = 首部 + UDP用户数据报【首部 数据】 -
校验过程 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HCOpUnhN-1651899760522)(/Users/qinjianquan/Downloads/IMG_2D47B7909138-1.jpeg)]
5.3 TCP协议
TCP特点:
1. 需建立连接(虚连接)
2. 不提供广播或者多播服务(只是一对一)
3. 提供可靠服务,因而开销增加,确认、流量控制、计时器及连接管理
4. 适用于大文件
5. 支持全双工通信,双方都有发送和接收缓存
6. 面向字节流
TCP报文段首部格式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lFsMDLfX-1651899760524)(/Users/qinjianquan/Downloads/IMG_75C08B659242-1.jpeg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4At5XC5-1651899760525)(/Users/qinjianquan/Downloads/IMG_31891DFD9259-1.jpeg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mRwz2FMi-1651899760526)(/Users/qinjianquan/Downloads/IMG_8AB71ABE7A63-1.jpeg)]
TCP连接管理
TCP连接传输的三个阶段;建立 - 传输数据 -释放连接,采用的是客户服务器的方式,各个主机都可以充当客户或服务器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hBSX0nmc-1651899760526)(/Users/qinjianquan/Downloads/IMG_6C7B8F3BF8C0-1.jpeg)]
SYN洪泛攻击:攻击者发送TCP SYN,它是三次握手中的第一个数据包,当服务器返回ACK时,不对其进行确认,此时TCP就会挂起,服务器再次发送ACK给攻击者,当这种半连接过多时,服务器的CPU和内存消耗完就会死机,解决方案,设置syn cookie
四次握手:连接释放
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xMgPGo4b-1651899760527)(/Users/qinjianquan/Downloads/IMG_1F3B41CE1BDF-1.jpeg)]
TCP的可靠传输
因为网络层提供的是最大努力交付,是不可靠传输,因此传输层需要保证可靠传输
1. TCP实现可靠传输的机制: 校验、序号、确认和重传
1. 校验:与UDP校验一样,增加伪首部
2. 序号:一个字节一个序号
3. 重传:超时重传,重传时间TCP采用自适应算法,动态改变重传时间RTTs(加权平均往返时间)
-
冗余ACK 当发送方收到3个某个报文段的冗余ACK,就会重传,通常叫做快速重传
TCP的流量控制(点对点的问题)
因为来不及接收
TCP采用滑动窗口机制来实现流量控制
在通信过程中,接收方根据自己接收换的大小,动态调整发送方的发送窗口大小,即接收窗口rwnd,,发送方去接收窗口和拥塞窗口的最小值。如果接收方的信息丢失,则会计时器,在一定时间之后发送探测报文段,解决死锁
TCP拥塞控制
拥塞:需求总和大于可用资源
资源供应不足->网性变坏->网吞吐量随着输入负荷增大而下降
拥塞控制:防止过多数据注入到网络中,全局性的问题
拥塞控制的四种算法:
假定:单向发送 & 接收方缓存够大
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LOAkofKi-1651899760528)(/Users/qinjianquan/Downloads/IMG_3AB024B84820-1.jpeg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6TSpHgp9-1651899760528)(/Users/qinjianquan/Downloads/IMG_30A28791AAB6-1.jpeg)]
6 应用层
6.1 应用层概述
为什么要有这个层?
不同网络应用之间还需要一些规则,对应用程序的通信提供服务
应用层的重要协议有哪些
FTP
SMTP、POP3
这些协议定义了哪些内容?
- 进程交换的报文类型:请求报文还是响应报文
- 报文类型的语法,如报文中各个字段及其详细描述
- 字段的语义,如字段中信息的含义
- 进程何时、如何发送报文以及对报文响应的规则
在这些协议约定下,应用层有哪些功能:
1. 文件传输、访问和管理
2. 电子邮件
3. 虚拟终端
网络应用模型
-
客户/服务器模型 服务器:永久服务 & 永久访问地址/域名 -
P2P模型 不存在永存的服务器 可扩展性好,可以应用大量的网络 网络健壮性好
6.2 DNS系统
使用DNS服务可以讲域名解析为一个IP地址
顶级域名
- 国家:cn…
- 通用:com…
- 基础结构域名/反向域名:arpa
二级域名
- 类别域名:com…
- 行政域名:省市…
三级域名…
域名服务器
- 根域名服务器:知道顶级域名服务器的IP
- 顶级域名服务器:管理二级域名
- 权限域名服务器:负责一个区
- 本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器
域名解析过程
递归查询 迭代查询
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CVVHiS2o-1651899760529)(/Users/qinjianquan/Downloads/IMG_1818639B3D56-1.jpeg)]
6.3 传送协议
文件传送协议FTP
-
是什么?是基于客户/服务器/(C/S)的协议,用户通过一个客户机程序连接至在远程计算机上运行的服务器程序 -
能干什么:提供不同类主机系统(硬、软件体系都可以不同)之间的文件传输能力 -
FTP服务器和客户端
-
FTP服务器是什么?
- 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器
-
遵循FTP协议与服务器传送文件的电脑就是FTP客户端 -
FTP工作原理:
-
登陆:ftp地址 用户名&密码 匿名登录 -
FTP使用TCP实现可靠传输 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lCO9KkjO-1651899760529)(/Users/qinjianquan/Downloads/IMG_7C363E98A97A-1.jpeg)] -
FTP传输模式
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据
简单文件传送协议TFTP
6.4 电子邮件
电子邮件系统概述-电子邮件的信息格式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z6OfUScD-1651899760530)(/Users/qinjianquan/Downloads/IMG_C3C733C5C1FB-1.jpeg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tYoHAWsD-1651899760530)(/Users/qinjianquan/Downloads/IMG_CFB469E22D4D-1.jpeg)]电子邮件
- 信封 abc@163.com
- 内容
- 首部
- to address
- subject: hello
- 主体
- 内容
简单邮件传送协议:SMTP
-
规定两个SMTP进程之间应该如何交换信息 -
规定了14条命令(几个字母)和21种应答信息(三位数字代码 + 简单文字说明) -
TCP连接 端口号25 C/S -
SMTP通信三阶段
- 建立连接 :发送方 - 发送方邮件服务器 - 接收方邮件服务器 250 ok 建立
- 邮件发送
- 连接释放
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LveWmpYC-1651899760531)(/Users/qinjianquan/Downloads/IMG_6816ED6D8D3B-1.jpeg)] -
缺点
- 不可传输可执行文件或二进制文件
- 仅能传送7位ASCII码,不能传输其他非英语国家的文字
- 大小有限
-
解决方案:通用英特网邮件扩充MIME(也是一种协议),是SMTP协议之上功能上的一种拓展,转码
- 使电子邮件系统可以支持声音、图像、视频多种国家语言等
邮局协议POP3 邮件读取协议
TCP连接 端口号110 C/S
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mfCxJnYy-1651899760531)(/Users/qinjianquan/Downloads/IMG_BB4935EBA191-1.jpeg)]
网际报文存取协议 IMAP也是一种读取协议
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XUpgyzYB-1651899760532)(/Users/qinjianquan/Downloads/IMG_3A584E3EF1C4-1.jpeg)]
基于万维网的电子邮件
优点:访问方便
用户端使用的都是HTTP协议
邮件服务器使用的是SMTP协议
6.5 万维网概述
是一个大规模、联机式的信息存储场所/资料空间,是无数个网络站点和网页的集合,资源(文字、视频和音频…)
要获取资源需使用统一资源定位符:唯一标识符,url
URL一般形式:<协议>://<主机>:<端口>/<路径>
1. 协议:http/ftp;对应域名和IP地址
2. 用户点击超链接获取资源,资源通过超文本传输协议(HTTP)传送给使用者
3. 万维网以客户/服务器的方式工作,浏览器就是客户端,万维网文档所驻留的主机运行服务器程序
4. 万维网使用超文本标记语言HTML,使得万维网页面的设计者可以很方便的从一个界面的连接转到另一个洁面,并能够在自己的屏幕上显示出来
6.5.1 超文本传输协议HTTP
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RuHcndDL-1651899760532)(/Users/qinjianquan/Downloads/IMG_4D79F950B1F2-1.jpeg)]
HTTP协议的特点
-
HTTP时无状态的 -
HTTP使用TCP作为运输层的协议,但是HTTP协议本身是无连接的(HTTP报文在交换之前需要建立连接)
-
持久连接
- 非流水线,类似于停等协议
- 流水线
-
非持久连接 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w4i8KPeO-1651899760533)(/Users/qinjianquan/Downloads/IMG_70A88140F2AB-1.jpeg)]
cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如“123456”)的访问记录
HTTP报文结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-68eylGZ1-1651899760533)(/Users/qinjianquan/Downloads/IMG_DEE5A669843A-1.jpeg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c8ObBap7-1651899760534)(/Users/qinjianquan/Downloads/IMG_505F53DADE55-1.jpeg)]
|