运输层
运输层向它上面的应用层提供通信服务,两个主机进行通信就是两个主机中的应用进程相互通信。通信的真正端点并不是主机而是主机中的进程。端到端的通信是应用进程之间的通信。
-
功能:
运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)
运输层还要对收到的报文进行差错检测
运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP
-
用户数据报协议 UDP(User Datagram Protocol)
IP数据报的检验和检验IP数据报的首部,UDP检验和是把首部和数据部分一起都检验的。
-
特点:
UDP是无连接的,发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。
使用尽最大努力交付
面向报文
没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。
支持一对一、一对多、多对一和多对多的交互同信。
-
首部开销小,只有8字节,TCP20字节。
[图片上传失败...(image-ef80d2-1639147102405)]
-
-
传输控制协议TCP(transmission control protocol)
-
特点:
TCP是面向连接的运输层协议。
每一条TCP连接只能有两个端点,每一条TCP连接只能点对点的。
TCP提供可靠的交付。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。
TCP提供全双工通信。
面向字节流。TCP中的“流”指的是流入到进程或者从进程流出的字节序列。
-
TCP连接
套接字 socket = (IP地址:端口号) 每一条TCP连接唯一地被通信两端的两个端点(两个套接字)所确定。
TCP连接::={socket1,socket2} = {(IP1:port1),(IP2:port2)}
-
TCP可靠传输的实现
TCP采用了一种自适应算法,它记录一个报文段发出的时间,以及收到相应的确认的时间。这两个时间之差就是报文段的往返时间RTT。TCP保留了RTT的一个加权平均往返时间RTTs(又称为平滑的往返时间)。
-
TCP的流量控制
流量控制(flow control)就是让发送方的发送率不要太快,要让接受方来得及接收。利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。发送方的发送窗口不能超过接收方给出的接收窗口的数值。TCP的窗口单位是字节,不是报文段。
-
TCP的拥塞控制
慢开始(slow-start)、拥塞避免(congestion avoidance)、快重传(fast retransmit)和快恢复(fast recovery)。
-
慢开始和拥塞避免
发送方维持一个叫做拥塞窗口(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。
-
慢开始算法的思路:先探测一下,由小到大逐渐增大发送窗口。使用慢开始算法后,没经过一个传输轮次(transmission round),拥塞窗口cwnd就加倍。(2的指数增长)
- 拥塞避免算法的思路: 让拥塞窗口cwnd缓慢地增加,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1。这样,拥塞窗口cwnd按现行规律缓慢增长,比慢开始算法的拥塞窗口增长速率缓慢得多。 (+1增长)
-
-
快重传和快恢复
快重传算法首先要求接受方每收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等待自己发送数据时才进行确认。
-
快恢复算法:
当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把满开始门限ssthresh减半。这是为了预防网络发生拥塞。
由于发送方现在认为网络很可能没有发生拥塞,因此与慢开始不同之处是现在不执行慢开始算法,而是把cwnd值设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。
在采用块回复算法时,慢开始算法只是在TCP连接建立时和网络出现超时时才能使用。发送方的发送窗口一定不能超过对方给出的接收窗口值rwnd.
-
-
TCP的运输连接管理
三握手
在确认报文段中应把SYN位和ACK位都置1,确认号是ack = x+1 ,同时也为自己选择一个初始序号seq = y。这个报文段也不能携带数据,但要消耗掉一个序号。
-
-
端口
在协议栈层间的抽象的协议端口是软件端口,软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。 TCP/IP使用源端口和目的端口两个重要字段,用一个16位端口号来标志一个端口。
-
常用端口
-
应用层
-
域名系统DNS(domain name system)
因特网使用的命名系统,用来把便于人们使用的机器的名字转换为IP地址。域名系统其实就是名字系统。
-
域名的解析过程:
主机向本地域名服务器的查询一般都采用递归查询(recursive query).
本地域名服务器向根域名服务器的查询通常是采用迭代查询(iterative query)
-
-
文件传送协议
-
文件传送协议FTP(file transfer protocol)
英特网上使用得最广泛的文件传送协议。 网络文件系统NFS,允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。
-
简单文件传送协议TFTP(trivial file transfer protocol)
TFTP可用于UDP环境。
TFTP代码所占内存较小。这对较小的计算机或某些特殊用途的设备是很重要的,这些设备不需要硬盘,只需要固化TFTP和UDP以及IP的小容量只读存储器即可。
每次传送的数据报文中有512字节的数据,但最后一次可不足512字节。
数据报文按序编号,从1开始。
支持ASCⅡ码或二进制传送。
可对文件进行读或写。
使用简单地首部。
-
-
远程终端协议TELNET
又称为终端仿真协议。它定义了数据和命令应怎样通过因特网,这些定义就是所谓的网络虚拟终端NVT(network virtual terminal)。所有的通信都是用8位一个字节,在运转时,NVT使用7位ASCⅡ码传送数据,而当高位置1时用作控制命令。
-
万维网WWW
万维网是一个分布式的超媒体(hypermedia)系统,它是超文本系统的扩充。万维网以C/S式工作。万维网使用统一资源定位符URL(uniform resource locator)来标志万维网上的各种文档。使用超文本传送协议HTTP实现交互.
-
代理服务器(proxy server)
一种网络实体,又称为万维网高速缓存(web cache)。
-
HTTP
http是面向事务的应用层协议,http协议是无状态的
-
请求报文–从客户向服务器发送请求报文。
请求报文的第一行“请求行”只有三个内容,即方法,请求资源的URL,以及http的版本。
-
响应报文–从服务器到客户的回答。
响应报文的第一行就是状态行。包含三个内容,http版本,状态码,以及解释状态码的简单短语。
-
-
简单网络管理协议SNMP:
SNMP本身,负责读取和改变代理中的对象名及其状态数值。
管理信息结构SMI,定义命名对象和定义对象类型的通用规则,以及把对象和对象的值进行编码的基本编码规则BER。
管理信息库MIB,在管理的试题中穿件了命名对象,并规定其类型。
-
-
邮件系统
-
组成构件:
- 用户代理、邮件服务器,以及邮件协议(包括邮件发送协议,如SMTP,邮件读取协议,如POP3)。
-
切面式补充:
1.网络互连硬件
-
物理层的互连设备:中继器、集线器
中继器:用于扩展局域网网段的长度。由于中继器只在两个局域网网段间实现电器信号的恢复和整形,因此它仅用于连接相同的局域端。
集线器:可看作一种特殊的多路中继器,也具有信号放大功能。使用双绞线的以太网多用Hub扩大网络,同时也便于网络维护。以集线器为中心的网络优点是当网络系统中某条线路或某结点出现故障时,不会影响网上其他结点的正常工作
-
数据链路层的互连设备:网桥、交换器
网桥:网桥要分析帧地址字段,决定是否要把帧转发到另一个网络段上。确切的说,网桥工作于MAC子层,只要两个网络MAC子层以上的协议相同,都可以用网桥互连。网桥检查帧的源地址和目的地址,如果目的地址和源地址不在同一个网络段上,就把帧转发到另一个网络段上;若两个地址在同一个网络段上,则不转发,所以网桥能起到过滤帧的作用。
交换机:交换机是一个具有简化、低价、高性能和高端口秘籍特点的交换产品,它是按每一个包中的MAC地址相对简单地决策信息转发,而这种转发决策一般不考虑包中隐藏的更深地其他信息。交换机转发数据的延迟很小,操作接近单个局域网性能,远超过了普通桥接的转发性能。常见的交换机有存储转发、快速转发和碎片丢弃三种交换模式。
-
网络层互连设备:路由器
-
路由器:用于连接多个逻辑上分开的网络。当数据从一个子网传输到另一个子网时,可通过路由器来完成。路由器具有很强的异种网互连能力。
通常把网络层地址信息叫做网络逻辑地址,把数据链路层地址信息叫做物理地址。路由器最主要的功能就是选择路径。在路由的存储其中维护着一个路径表,记录各个网络的逻辑地址,用于识别其他网络。路由器的功能还包括过滤、存储转发、流量管理和介质转换等。
-
-
应用层互连设备:网关
- 网关:在一个计算机网络中,当连接不同类型而协议差别又较大的网络时,则要选用网关设备。网关的功能体现在OSI模型的最高层,他将协议进行转换,将数据数据重新分组,以便两个不同类型的网络系统之间进行通信。一般来说,网关只进行一对一的转换,或者少数几个特定应用协议的转换,所以网关很难实现通用的协议转换。
2.网络协议
-
局域网协议
- LAN模型:把数据链路层分成逻辑链路控制(LLC)子层和介质访问控制(MAC)子层,把网络层中的寻址,排序,流控和差错控制都放到了LLC子层来实现。
-
广域网协议
- 对点协议(PPP):主要用于拨号
-
*TCP/IP协议簇
TCP/IP分层模式:四层,应用层,传输层,网际层,网络接口层
网际层:其中的协议除了IP外,还有ICMP、ARP、RARP,理解协议之间的关系。
传输层:TCP和UDP
-
应用层:NFS,Telnet,SMTP,DNS,SNMP,FTP等
DNS(域名系统):用来把便于人们使用的机器名字转换成IP地址
FTP(文件传送协议):使用TCP可靠的运输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
Telent(远程终端协议):用户用TELENT就可在其所在地通过TCP连接注册到原地的另一个主机上。TELENT能适应许多计算机和操作系统的差异。
HTTP(超文本传送协议):定义了浏览器怎么向万维网服务器请求万维网文档,以及服务器怎么把文档传送给服务器。HTTP使用的是面向连接的TCP作为运输层协议。
SMTP(简单邮件传送协议)
MIME(通用因特网邮件扩充)
POP3(邮局协议第三版本)
IMAP(网际报文存取协议)
DHCP(动态主机配置协议)
SNMP(网络管理协议):为解决Internet上路由器管理问题而提出的