互联网协议
传输控制协议(TCP)
TCP 是一种面向连接的协议,提供端到端的数据包传输。 它充当连接的骨干。它具有以下主要特征:
传输控制协议(TCP)对应于OSI模型的传输层。
TCP 是一种可靠且面向连接的协议。
TCP 提供:
流式数据传输。
可靠性。
高效的流量控制
全双工操作。
多路复用。
TCP 提供面向连接的端到端数据包传送。
TCP 通过使用转发确认号对字节进行排序来确保可靠性,转发确认号向目的地指示源期望接收的下一个字节。
重传指定时间段内未确认的字节。
TCP 服务
TCP为应用层进程提供以下服务:
流媒体传输服务
发送和接收缓冲区
字节和分段
全双工服务
面向连接的服务
可靠的服务
流传输服务
TCP协议是面向流的,因为它允许发送进程以字节流的形式发送数据,接收进程以字节流的形式获取数据。
发送和接收缓冲区
发送和接收过程可能无法以相同的速度产生和获取数据,因此,TCP需要在发送端和接收端有缓冲区来存储。
字节和分段
传输层的传输控制协议 (TCP) 将字节分组为数据包。 这个数据包称为段。 在传输这些数据包之前,这些段被封装成IP数据报。
全双工服务
以双工模式传输数据意味着数据同时在两个方向上流动。
面向连接的服务
TCP 通过以下方式提供面向连接的服务:
process-1 的 TCP 通知 process-2 的 TCP 并获得其批准。
进程 – 1 的 TCP 和进程 – 2 的 TCP 并在两个方向上交换数据。
数据交换完成后,当双方缓冲区都为空时,两个TCP都会销毁各自的缓冲区。
可靠的服务
为了可靠性,TCP使用确认机制。
互联网协议 (IP)
互联网协议是无连接且不可靠协议。 它不保证数据的成功传输。
为了使其可靠,必须在传输层搭配TCP等可靠协议。
互联网协议以数据报的形式传输数据,如下图所示:
要记住的要点:
数据报的长度是可变的。
数据报分为两部分:标头和数据。
标头长度为20到60字节。
标头包含数据包的路由和传送信息。
用户数据报协议(UDP)
与 IP 一样,UDP 是无连接且不可靠的协议。 它不需要与主机建立连接来交换数据。 由于UDP是不可靠的协议,因此没有机制来确保发送的数据被接收。
UDP 以数据报的形式传输数据。 UDP数据报由五部分组成,如下图所示:
要记住的要点:
UDP 由通常一次传输少量数据的应用程序使用。
UDP提供了所使用的协议端口,即UDP报文中同时包含源端口号和目的端口号,使得目的端的UDP软件能够将报文传送到正确的应用程序。
文件传输协议 (FTP)
FTP 用于将文件从一台主机复制到另一台主机。 FTP 通过以下方式提供相同的机制:
FTP 在两端(即客户端和服务器端)创建两个进程,例如控制进程和数据传输进程。
FTP建立两种不同的连接:一种用于数据传输,另一种用于控制信息。
控制连接在控制进程之间建立,而数据连接在数据传输进程之间建立。
FTP 使用端口 21 进行控制连接,使用端口 20 进行数据连接。
简单文件传输协议 (TFTP)
简单文件传输协议也用于传输文件,但它传输文件时无需身份验证。 与 FTP 不同,TFTP 不分离控制信息和数据信息。 由于不存在身份验证,TFTP缺乏安全特性,因此不建议使用TFTP。
要点
TFTP 使用 UDP 进行数据传输。 每个 TFTP 消息都承载在单独的 UDP 数据报中。
TFTP 消息的前两个字节指定消息的类型。
当 TFTP 客户端发送上传或下载文件的请求时,TFTP 会话就会启动。
请求从临时 UDP 端口发送到 TFTP 服务器的 UDP 端口 69 。
FTP 和 TFTP 之间的区别
S.N. | 参数 | FTP | TFTP |
---|---|---|---|
1 | 操作 | 传输文件 | 传输文件 |
2 | 身份验证 | 是 | 否 |
3 | 协议 | TCP | UDP |
4 | 端口 | 21 – 控制,20 – 数据 | 端口 3214、69、4012 |
5 | 控制和数据 | 分离 | 分离 |
6 | 数据传输 | 可靠 | 不可靠 |
Telnet
Telnet 是一种用于登录 Internet 上的远程计算机的协议。 有许多 Telnet 客户端具有用户友好的用户界面。 下图显示一个人登录到计算机 A,然后从那里远程登录到计算机 B。
超文本传输协议 (HTTP)
HTTP 是一种通信协议。 它定义了浏览器和 Web 服务器之间的通信机制。 它也称为请求和响应协议,因为浏览器和服务器之间的通信是在请求和响应对中进行的。
HTTP 请求
HTTP 请求由包含以下内容的行组成:
请求行
标头字段
消息正文
要点
第一行,即请求行指定请求方法,即Get或Post。
第二行指定标头,该标头指示检索index.htm 的服务器的域名。
HTTP 响应
与HTTP请求一样,HTTP响应也有一定的结构。 HTTP 响应包含:
状态行
标题
消息正文