如需转载,请根据 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 许可,附上本文作者及链接。
本文作者: Alice
作者昵称: 沉。
本文链接: http://example.com/2020/11/02/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%EF%BC%88%E5%9B%9B%EF%BC%89/
五、传输层
只有主机才有的层次
为应用层提供通信服务,使用网络层的服务
传输层功能:
- 传出层提供进程和进程之间的逻辑通信
- 复用和分用
- 传输层对收到的报文进行差错检测
- 传输层的两种协议
传输层的两个协议:TCP/UDP
传输层的寻址与端口:
复用:应用层所有的应用进程都可以通过传输层再传输到网络层
分用:传输层从网络层收到数据后交付到指明的应用进程。
端口是传输层的ASP,表识主机汇总的应用进程(逻辑端口/软件端口)
端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的。
端口号长度为16bit,能表示65536个不同的端口号
端口号(按范围分):
- 服务端使用的端口号
- 熟知端口号:给TCP/IP给最重要的一些应用程序,让所有用户都知道0~1023。
- 等级端口号:为没有熟知端口号的应用程序使用的1024~49151
- 客户端使用:仅在客户进程运行时才动态选择的端口号。
在网络中采用发送方和接收方的桃姐字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。套接字Socket=(主机IP地址,端口号)
5.1、UDP协议
UDP只在IP数据报服务至上增加了很少功能,即复用分用和差错检测功能。
UDP的主要特点:
- UDP是无连接的,减少开销和发送数据之前的时延。
- UDP使用最大努力交付,即不保证可靠交付
- UDP是面向报文的,适合一次性传输少量数据的网络应用。
- UDP无拥塞控制,适合很多实时应用。
- UDP首部开销小,8B,TCP20B。
UDP的首部格式:
分用时,找不到对应的目的端口号,就会丢弃发送报文,并给发送方发送ICMP“端口不可达”差错报告报文。
UDP校验:
5.2、TCP协议
TCP的特点:
- TCP是面向连接(虚连接)的传输层协议。
- 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
- TCP提供可靠交付的服务,无差错,不丢失,不重复,按序到达。可靠有序,不丢不重
- TCP提供全双工通信。——>发送缓存 准备发送的数据&已发送但尚未收到确认的数据;接收缓存 按序到达但尚未被接收应用程序读取的数据&不按序到达的数据
- TCP面向字节流——>TCP把应用程序交下来的数据看成仅仅是一连串的无结构字节流
TCP报文段的首部格式
6个控制位:
窗口:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。
检验和:检验首部+数据,检验时要加上12B伪首部,第四个字段为6
紧急指针:URG=1时才有意义,指出本报文段中晋级数据的字节数
选项:最大报文段长度MSS、窗口扩大、时间戳、选择确认…
5.2.1、TCP连接管理
TCP连接传输三个阶段:
- 建立连接
- 传输数据
- 连接释放
TCP连接的建立采用客户服务器的方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫服务器。
TCP的连接建立过程:
SYN洪泛攻击:
TCP的连接释放
5.2.2、TCP可靠传输
可靠:保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。
重传:确认重传不分家,TCP的发送方在规定的时间(重传时间)内没有收到确认就要重传已发送的报文段。超时重传。
TCP采用自适应算法,动态改变重传时间RTTs(加权平均往返时间)
冗余ACK(冗余确认):每当比期望值序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。
5.2.3、TCP流量控制
流量控制:让发送方慢点,要让接收方来得及接收
TCP利用滑动涌口机制实现流量控制。
在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来讲rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。
5.2.4、TCP拥塞控制
出现拥塞的条件:对资源需求的综合>可用资源
网络中有许多资源同时呈现供应不足——>网络性能变坏——>网络吞吐量将随之负荷增大而下降拥塞控制:防止过多的数据注入到网络中。全局性
拥塞控制的四种算法:
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
慢开始和拥塞避免
快重传和快恢复
六、应用层
6.1、网络应用模型
应用层多应用程序的通信提供服务。
应用层协议定义:
- 应用进程交换 的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述
- 字段的语义,即包含在字段中的信息的含义
- 进程何时、如何发送报文,以及时对报文进行响应的规则
应用层的功能:
- 文件传输、访问和管理
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录
应用层的重要协议:
- FTP
- SMTP、POP3
- HTTP
- DNS
网络应用模型:
- 客户/服务器模型
- 服务器:提供计算机服务的设备
- 永久提供服务
- 永久性访问地址/域名
- 客户机:请求计算机服务的主机
- 与服务器通信,使用服务器提供的服务
- 间接性接入网络
- 可能使用动态IP地址
- 不与其他客户机直接通信
- 应用:Web,文件传输FTP,远程登录,电子邮件
- 服务器:提供计算机服务的设备
- P2P模型(对等模型)
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可扩展性好
- 网络健壮性强
6.2、DNS系统
域名:www.baidu.com com——顶级域名、baidu——二级域名、www——三级域名
顶级域名:
- 国家顶级域名:cn,us,uk
- 通用顶级域名:con,net,org,gov,int,aero,museum,travel
- 基础结构域名/反向域名arpa
二级域名:
- 类别名称:ac,com,edu,gov,mil,net,org
- 行政区域名,用于我国各省、自治区。直辖市bj,js等..
- 自己注册的域名
三级域名 、四级域名
域名服务器
- 根域名服务器
- 顶级域名服务器
- 权限域名服务器
- 本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器
域名解析过程:递归查询和迭代查询
6.3、文件传输协议FTP
文件传送协议FTP:提供不同种类主机系统(硬,软件体系等都可以不同)之间的文件传输能力
简单文件传送协议TFTP
FTP服务器和用户端:
- FTP是基于客户/服务器(C/S)的协议。
- 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
- 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器
- 连接诶FTP服务器,遵循FTP协议与服务器传送文件的颠倒就是FTP客户端。
FTP的工作原理:
登录:ftp地址,用户名&密码,FTP使用TCP实现可靠传输。
服务器进程
- 1个主进程
- n个从属进程
FTP工作原理流程图:
FTP传输模式:
- 文本模式:ASCII模式,以文本序列传输数据
- 二进制模式:Binary模式,以二进制序列传输数据
6.4、电子邮件系统概述
电子邮件系统概述——电子邮件的信息格式:
电子邮件系统——组成结构
简单邮件传送协议SMTP
- SMTP固定了在两个相互通信的SMTP进程之间应如何交换信息
- 负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。
- SMTP规定了14条命令(几个字母)和21中应答信息(三位数字代码+简单文字说明)
- SMTP通信的三个阶段:连接建立——>邮件发送——>连接释放
SMTP的缺点:
- SMTP不能传送可执行文件或者其他二进制对象。
- SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字
- SMTP服务器回拒绝超过一定长度的邮件。
因此有了通用因特网邮件扩充MIME
邮局协议POP3
TCP连接、端口号110、C/S
POP3工作方式
- 下载并保留(在服务器)
- 下载并删除
网际报文存取协议IMAP
IMAP协议比POP协议复杂。当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP协议可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还只允许只读取邮件中的某一个部分(先看正文,有WIFI的石油再下载附件)
基于万维网的电子邮件:方便
目前最常使用的电子邮件系统
6.5、万维网和HTTP协议
万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所/自恋空间,是无数个网络站点和网页的集合。
统一资源定位符——>唯一标识——>资源(文字、视频、音频…)
超文本传输协议HTTP
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
HTTP协议的特点:
- HTTP协议是无状态的。但是在实际工作中,一些万维网站点常常希望能够识别用户
- HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)
HTTP的连接方式:
- 持久连接Keep-alive
- 非流水线
- 流水线
- 非持久连接Close
HTTP协议的报文结构:HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASCII码串
- 请求报文
- 响应报文
完结撒花~~
我听哭了~~
感谢王道的计网小姐姐~~
-------------本文结束感谢您的阅读-------------
本文链接: http://example.com/2020/11/02/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%EF%BC%88%E5%9B%9B%EF%BC%89/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!