第6章 传输层

来源:互联网 发布:淘宝仓库宝贝删除 编辑:程序博客网 时间:2024/05/22 04:25
传输层协议需要提供以下功能:

1.为网络应用程序提供接口

2.多路复用/多路分解机制:多路复用表示从不同的应用程序和计算机接收数据,再把数据传递到目的计算机上的接收程序

3。错误检测、流量控制和验证

传输控制协议(TCP):TCP提供了完善的错误控制和流量控制,能够确保数据正确传输,它是一个面向连接的协议。

用户数据报协议(UDP):UDP只提供了非常基本的错误检测,用于不需要TCP精细控制功能的场合,它是一个无连接的协议。

面向连接的协议:会在通信计算机之间建立并维护一个连接,并且在通信过程中监视连接的状态。通过网络传输的每个数据包都会有一个确认,发送端计算机会记录状态信息来确保每个数据包都被正确无误的接收了,并且在需要时会重新发数据。当数据传输结束了之后,发送端和接收端计算机会以适当方式关闭连接。

无连接的协议:以单向方式向目的发送数据报,不承担通知目的计算机关于数据发送的职责。目的计算机接收到数据后也不需要向源计算机返回状态信息。

端口是一个预定义的内部地址,充当从应用程序到传输层或是从传输层到应用程序之间的通路。

套接字是一个由IP地址和端口号组成的地址。

一个例子:一台计算机如何通过套接字访问目的计算机上的应用程序。

1.计算机A通过一个熟知的端口向计算机B上的一个应用程序发起连接。熟知的端口和IP地址组合之后就构成了计算机A的目的套接字。

多路复用是指把多个来源的数据导向一个输出,而多路分解是把一个来源接收的数据发送到多个输出。

TCP的重要特性:

1.面向流的处理

2.重新排序

3.流量控制

4 优先级和安全

5.适当的关闭

端节点是真正需要进行通信的节点,而中间节点只是负责转发消息

TCP数据格式:

1.源端口(16位):分配给源计算机上的应用程序的端口号

2.目的端口(16位)

3.序列号(32位):

4.确认号(32号)

5.数据偏移*(4号)

6.保留(6位)

7。控制标记

8.窗口(16位):用于流量控制的参数

9.校验和(16位):用于检验数据分段的完整性

10.紧急指针(16位·)

11.选项

12.填充

13.数据

mid为模块号,fid为功能号,pid为进程号

TCP连接:主动打开和被动打开

建立连接的时候,为了让序列/确认系统正常工作,计算机必须对序列号进行同步。计算B必须知道计算机A的初始序列号(ISN),计算A也必须要知道计算机B使用什么ISN开始传输数据。ISN(初始序列号)序列号同步的过程被称为三次握手,三次握手总是发生在TCP连接建立的初期。步骤如下:

1.处于主动打开状态的计算机A发送一个数据分段,其中的SYN(同步的意思)为1,ACK为0.序列号=X(X是计算机A的ISN)。总共三个参数。注:要发送给计算机B的第一个字节的序列号是ISN+1。

2.计算机B接收到计算机A的数据分段,返回一个数据分段(其中的参数为SYN=1,ACK=1(确认号字段将包含一个值),序列号=计算机B的ISN,确认号=M(是从计算机A接收到的最后一个序列号)+1)

3.计算机A向计算机B发送一个数据分段,确认收到计算机B的ISN:

SYN=0,ACK=0,序列号=序列中下一个号码(M+1),确认号=N(是从计算机B接收到的最后一个序列号)+1。。三次握手完成后,连接就被打开了

TCP的流量控制:窗口字段

关闭连接:一发一收 FIN(fin-wait状态)消息

UDP:无连接传输协议

只有基本有限的错误检验。网络广播常用这个协议

防火墙:基本特性是阻断对特定TCP和UDP端口的访问。也表示关闭对端口的访问

SSH会话(与服务器的安全Sheel会话)

ACK:一个控制标记,表示TCP报头中‘确认号‘字段是由意义的

FIN:一个控制标记,用于关闭TCP连接的过程。







原创粉丝点击