前言
TCP/IP协议(Transmission Control Protocol/Internet Protocol)是一种用于互联网通信的协议套件。它起源于上世纪70年代早期,由美国国防部的研究项目ARPANET发展而来,旨在建立一个分散的、具有冗余性的网络架构,以保证网络的可靠性和稳定性。
在当时,各种计算机和网络系统使用不同的协议,无法相互通信。因此,为了实现全球范围的互联网络,需要一种通用的协议来连接不同类型的设备和网络。TCP/IP协议应运而生,成为了互联网的基础通信协议。
TCP/IP协议的设计目标是实现一种分层的协议体系,每一层都负责特定的功能,通过层与层之间的接口协同工作。这种分层设计使得协议的实现更加灵活和可扩展,同时也增加了协议的可靠性和可维护性。
TCP/IP协议套件包含了许多不同的协议,其中最重要的是TCP和IP。TCP负责提供可靠的数据传输服务,保证数据在网络中有序地到达目标设备。IP负责实现数据包的路由和寻址,将数据从源地址传送到目标地址。除了TCP和IP,还有许多其他的协议,如UDP、ARP、ICMP等,共同构成了TCP/IP协议套件。
随着互联网的迅速发展,TCP/IP协议成为了事实上的标准,被广泛应用于各种网络环境和设备中。无论是计算机、手机、智能设备还是网络设备,几乎所有连接到互联网的设备都使用TCP/IP进行通信。
总而言之,TCP/IP协议套件在全球范围内实现了互联互通,成为了互联网通信的基石,为我们提供了现代化的网络通信基础设施。
一、TCP/IP是什么?
TCP/IP(Transmission Control Protocol/Internet Protocol)是一组用于互联网通信的网络协议。它是互联网的核心协议,定义了数据在网络中的传输方式和规则。
TCP/IP协议由两个主要部分组成:传输控制协议(TCP)和网际协议(IP)。TCP负责将数据分割成小的数据包,并确保这些数据包在网络中按顺序到达目标设备。它提供了一种可靠的数据传输机制,可以进行错误检测和重传。IP负责将数据包从源地址路由到目标地址,它定义了数据在网络中的寻址和传输方式。
TCP/IP协议不仅限于传输层和网络层,它涵盖了较高层的协议,如应用层协议(如HTTP、SMTP、FTP等),以及底层的网络接口协议(如以太网、Wi-Fi等)。它提供了一种灵活可靠的通信机制,支持各种类型的应用和服务。
TCP/IP协议是互联网的基础,几乎所有连接到互联网的设备都使用TCP/IP进行通信。它不仅在全球范围内实现了互联互通,还为各种网络应用(如网页浏览、电子邮件、文件传输等)提供了支持。因此,TCP/IP被广泛应用于各种网络环境,包括局域网、广域网和互联网。
简单的说:
TCP/IP 是供已连接因特网的计算机进行通信的通信协议。
TCP/IP 指传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol)。
TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。
二、网际互联及OSI七层模型
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
物理层
作用:定义一些电器,机械,过程和规范,如集线器;
PDU(协议数据单元):bit/比特
设备:集线器HUB;
注意:没有寻址的概念;
数据链路层
作用:定义如何格式化数据,支持错误检测;
典型协议:以太网,帧中继(古董级VPN)
PDU:frame(帧)设备:以太网交换机;
备注:交换机通过MAC地址转发数据,逻辑链路控制;
网络层
作用:定义一个逻辑的寻址,选择最佳路径传输,路由数据包;
典型协议:IP,IPX,ICMP,ARP(IP->MAC),IARP;
PDU:packet/数据包;
设备:路由器
备注:实现寻址
传输层:
作用:提供可靠和尽力而为的传输;
典型协议:TCP,UDP,SPX,port(65535个端口),EIGRP,OSPF,
PDU:fragment 段;
无典型设备;
备注:负责网络传输和会话建立;
会话层:
作用:控制会话,建立管理终止应用程序会话;
典型协议:NFS, SQL, ASP, PHP, JSP, RSVP(资源源预留协议), windows,
备注:负责会话建立;
表示层:
作用:格式化数据;
典型协议:ASCII, JPEG. PNG, MP3. WAV, AVI,
备注:可以提供加密服务;
应用层:
作用:控制应用程序;
典型协议:telnet, ssh, http, ftp, smtp, rip, BGP, (未完待续)
备注:为应用程序提供网络服务;
Q:什么时候有PDU?
A:当需要跟别人通信时候才有。
上面说的OSI模型是一种接近完美的理论,注意这种模型只出现在教课书里,这种模型是在TCP/IP协议已经成熟之后提出的,可以理解为升级版。但是并没有流行出来,主要有以下几个原因!
1、出现时间较晚。
2、参杂了太多政策的考量,并没有单单从技术角度出发。
3、…………还有几点给忘啦,反正就是没流行起来。
所以网络数据传输是TCP/IP的天下。
TCP/IP协议是一大堆协议的集合,TCP/IP协议分为四层(也就是数据传输一次主要经历以下4个步骤),分别是从上到下为:应用层,传输层,Internet,物理层。
假如你给你的基友发一个消息,数据开始传输,这时数据就要遵循TCP/IP协议啦,你的电脑会做出以下动作,这些动作你是看不到的。
1、应用层先把你的消息进行格式转换,你的消息是文字还是图片,还是成人视频并进行加密等操作交给传输层。(这时的数据单元(单位)是信息)
2、传输层将数据切割成一段一段的,便与传输并往里加上一些标记,比如当前应用的端口号等,交给Internet。(这时的数据单元(单位)是数据流)
3、Internet开始在将数据进行分组,分组头部包含目标地址的IP及一些相关信息交给物理层。(这时的数据单元(单位)是分组)
4、物理层将数据转换为比特流开始查找主机真实物理地址进行校验等操作,校验通过,开始嗖~嗖~嗖~的住目的地跑。(这时的数据单元(单位)是比特)
到达目的地后,对方设备会将上面的顺序反向的操作一遍,最后呈现出来。
个人感觉已经通俗易懂啦!这些东西都都理论知识,属于基础建设,前辈们都已经帮我们铺好路啦。
三、TCP/IP 寻址
TCP/IP 使用 32 个比特或者 4 组 0 到 255 之间的数字来为计算机编址。
IP地址
每个计算机必须有一个 IP 地址才能够连入因特网。
每个 IP 包必须有一个地址才能够发送到另一台计算机。
在本教程下一节,您会学习到更多关于 IP 地址和 IP 名称的知识。
IP 地址包含 4 组数字:
TCP/IP 使用 4 组数字来为计算机编址。每个计算机必须有一个唯一的 4 组数字的地址。
每组数字必须在 0 到 255 之间,并由点号隔开,比如:192.168.1.60。
32 比特 = 4 字节
TCP/IP 使用 32 个比特来编址。一个计算机字节是 8 比特。所以 TCP/IP 使用了 4 个字节。
一个计算机字节可以包含 256 个不同的值:
00000000、00000001、00000010、00000011、00000100、00000101、00000110、00000111、00001000 ....... 直到 11111111。
现在,您应该知道了为什么 TCP/IP 地址是介于 0 到 255 之间的 4 组数字。
IP V6
IPv6 是 "Internet Protocol Version 6" 的缩写,也被称作下一代互联网协议,它是由 IETF 小组(Internet 工程任务组Internet Engineering Task Force)设计的用来替代现行的 IPv4(现行的)协议的一种新的 IP 协议。
我们知道,Internet 的主机都有一个唯一的 IP 地址,IP 地址用一个 32 位二进制的数表示一个主机号码,但 32 位地址资源有限,已经不能满足用户的需求了,因此 Internet 研究组织发布新的主机标识方法,即 IPv6。
在 RFC1884 中(RFC 是 Request for Comments document 的缩写。RFC 实际上就是 Internet 有关服务的一些标准),规定的标准语法建议把 IPv6 地址的 128 位(16 个字节)写成 8 个 16 位的无符号整数,每个整数用 4 个十六进制位表示,这些数之间用冒号(:)分开,例如:
686E:8C64:FFFF:FFFF:0:1180:96A:FFFF
冒号十六进制记法允许零压缩,即一串连续的0可以用一对冒号取代,例如:
FF05:0:0:0:0:0:0:B3可以定成:FF05::B3
为了保证零压缩有一个清晰的解释,建议中规定,在任一地址中,只能使用一次零压缩。该技术对已建议的分配策略特别有用,因为会有许多地址包含连续的零串。
冒号十六进制记法结合有点十进制记法的后缀。这种结合在IPv4向IPv6换阶段特别有用。例如,下面的串是一个合法的冒号十六进制记法:
0:0:0:0:0:0:128.10.1.1
这种记法中,虽然冒号所分隔的每一个值是一个16位的量,但每个分点十进制部分的值则指明一个字节的值。再使用零压缩即可得出:
::128.10.1.1
域名
12 个阿拉伯数字很难记忆。使用一个名称更容易。
用于 TCP/IP 地址的名字被称为域名。runoob.com 就是一个域名。
当你键入一个像 http://www.runoob.com 这样的域名,域名会被一种 DNS 程序翻译为数字。
在全世界,数量庞大的 DNS 服务器被连入因特网。DNS 服务器负责将域名翻译为 TCP/IP 地址,同时负责使用新的域名信息更新彼此的系统。
当一个新的域名连同其 TCP/IP 地址一起注册后,全世界的 DNS 服务器都会对此信息进行更新。
总结
TCP/IP(Transmission Control Protocol/Internet Protocol)是一套用于互联网通信的协议套件。它是互联网的核心协议,定义了数据在网络中的传输方式和规则。
主要特点:
1. 分层架构:TCP/IP协议栈按功能分为网络接口层、网际层、传输层和应用层,层与层之间通过接口互相交互。
2. 互联性:TCP/IP能够连接不同类型的设备和网络,实现全球范围内的互联网。
3. 可靠性:通过TCP协议提供了可靠的数据传输,确保数据包的顺序和完整性。
4. 灵活性:TCP/IP支持各种类型的应用和服务,在应用层定义了许多常用的协议,如HTTP、FTP、SMTP等。
5. 路由和寻址:通过IP协议实现数据包的路由和寻址,将数据从源地址传送到目标地址。
TCP/IP协议套件包含了许多不同的协议,其中TCP和IP是最重要的两个协议。TCP负责提供可靠的数据传输服务,保证数据在网络中有序到达目标设备;IP负责实现数据包的路由和寻址。此外,还有UDP、ARP、ICMP等协议,共同构成了完整的TCP/IP协议套件。
TCP/IP协议的应用广泛,几乎所有连接到互联网的设备都使用TCP/IP进行通信。它不仅在全球范围内实现了互联互通,还为各种网络应用提供了支持,如网页浏览、电子邮件、文件传输等。
总结起来,TCP/IP是互联网通信的基础协议套件,通过分层架构、可靠性和灵活性实现了全球范围内的互联互通,为现代化的网络通信提供了基础设施。