一篇带你了解TCP/IP 概念

网络 网络管理
Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。

1.TCP/IP 是什么?

Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。

TCP/IP 是通信协议的统称。TCP/IP就是IP、TCP、UDP、HTTP、SMTP等协议的集合。

TCP具有两大特点:开放性和实用性

首先,开放性是由于TCP/IP的协议是由IETF讨论制定,而IETF本身就是一个允许任何人加入进行讨论的组织。

其次,在TCP/IP的标准化过程中,制订某一协议的规范本身已不再那么重要,而首要任务是实现真正能够实现通信的技术。所以有人打趣到“TCP/IP简直”就是先开发程序,后写规格标准。

2.什么是协议?

当我们访问一个网页获取信息时察觉不到协议的存在,只有在重新配置计算机的网络连接、修改网络设置时才涉及协议。

简单来说,协议就是计算机与计算机之间通过网络实现通信息时事先达成的一种“约定”。这种“约定”使那些由不同厂商的设备、不同的CPU以及不同的操作系统组成的计算机之间,只要遵循相同的协议就能够实现通信。反之,如果所使用的协议不同,就无法实现通信。

这就好比两个人使用不同国家的语言说话,怎么也无法相互理解。协议可以分为很多种,每一种协议都明确地界定了它的行为规范。两台计算机之间必须能够支持相同的协议,并遵循相同协议进行处理,这样才能实现相互通信。

在计算机通信中,事先达成一个详细的约定,并遵循这一约定进行处理尤为重要。这种约定其实就是协议。

注:协议地址

https://www.rfc-editor.org/rfc/

3.分组交换协议

分组交换是指将大数据分割为一个个叫做包的较小单位进行传输的方法。

计算机通信会在每个分组中附加上源主机地址和目标主机地址送给通信线路。这些发送端地址、接收端地址以及分组序号写入的部份称为“报文首部”。通信协议中,通常会规定报文首部应该写入哪些信息、应该如何处理这些信息。

4.互联网与TCP/IP的关系

互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发制定的协议族。因为互联网的协议就是TCP/IP,TCP/IP就是互联网的协议。

5.TCP/IP与OSI的关系

TCP/IP 概念篇

OSI的概念:Open System Interconnect开放系统互连参考模型,是由ISO(国际标准化组织)定义的。它是个灵活的、稳健的和可互操作的模型,并不是协议,常用来分析和设计网络体系结构。

OSI模型分为七层:OSI把网络按照层次分为七层,由下到上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP模型分为四层:数据链路层、网络层、传输层、应用层

在TCP/IP参考模型中,OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现),数据链路层和物理层合并物理链路层。

应用层:

针对特定应用的协议

表示层:

设备固有数据格式和网络标准数据格式的转换

会话层:

通信管理,负责建立和断开通信连接

传输层:

管理两个节点之间的数据传输。

TCP是面向有链接的传输层协议,它可以保证两端通信主机之间的通信可达。TCP能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外,TCP还能够有效利用带宽,缓解网络拥堵。

然而,为了建立与断开连接,有时它需要至少7次的发包收包,导致网络流量的浪费。此外,为了提高网络的利用率,TCP协议中定义了各种各样复杂的规范,因此不利于视频会议等场合使用。

UDP有别于TCP,它是一种面向无连接的传输层协议。UDP不会关注对端是否真的收到了传送过去的数据,如果需要检查对端是否收到分组数据包,或者对端是否有连接到网络,则需要在应用程序中实现。

UDP 常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。

网络层:

地址管理与路由选择

数据链路层

互连设备之间传送和识别数据帧

物理层

以0,1代表电压的高低、灯光的闪灭

TCP/IP 概念篇

 

责任编辑:姜华 来源: 今日头条
相关推荐

2021-05-20 06:57:16

RabbitMQ开源消息

2023-05-12 08:19:12

Netty程序框架

2021-07-28 10:02:54

建造者模式代码

2021-06-30 00:20:12

Hangfire.NET平台

2021-08-11 07:02:21

npm包管理器工具

2021-11-24 08:51:32

Node.js监听函数

2021-08-02 06:34:55

Redis删除策略开源

2021-11-08 08:42:44

CentOS Supervisor运维

2021-12-15 11:52:34

GPLLinuxGNU

2021-01-29 18:41:16

JavaScript函数语法

2020-11-10 10:48:10

JavaScript属性对象

2021-07-08 06:30:03

Linux CPULinux 系统

2021-08-14 10:01:43

Python条件语句Python基础

2021-02-02 18:39:05

JavaScript

2021-06-04 09:56:01

JavaScript 前端switch

2021-08-26 05:27:08

Base64 字节流算法

2022-02-23 09:36:11

GoRuby编程语言

2022-02-17 08:35:59

OLTPOLAP数据仓库

2022-11-10 16:55:41

ReactFiber

2023-09-06 14:57:46

JavaScript编程语言
点赞
收藏

51CTO技术栈公众号