学习TCP和IP协议


忙里偷闲,学习学习。内容来自 TCP/IP 教程 | 菜鸟教程


  • TCP/IP介绍

TCP/IP 是供已连接因特网的计算机进行通信的通信协议。

TCP/IP 指传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol)。

TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。


在TCP/IP内部

在 TCP/IP 中包含一系列用于处理数据通信的协议:

    TCP (传输控制协议) - 应用程序之间通信

    UDP (用户数据包协议) - 应用程序之间的简单通信

    IP (网际协议) - 计算机之间的通信

    ICMP (因特网消息控制协议) - 针对错误和状态

    DHCP (动态主机配置协议) - 针对动态寻址


TCP使用固定的链接

TCP 用于应用程序之间的通信。

当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方"握手"之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信。

这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。

UDP 和 TCP 很相似,但是更简单,同时可靠性低于 TCP。


IP是无连接的

IP 用于计算机之间的通信。

IP 是无连接的通信协议。它不会占用两个正在通信的计算机之间的通信线路。这样,IP 就降低了对网络线路的需求。每条线可以同时满足许多不同的计算机之间的通信需要。

通过 IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。

IP 负责将每个包路由至它的目的地。


IP路由器

当一个 IP 包从一台计算机被发送,它会到达一个 IP 路由器。

IP 路由器负责将这个包路由至它的目的地,直接地或者通过其他的路由器。

在一个相同的通信中,一个包所经由的路径可能会和其他的包不同。而路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址。


TCP/IP协同工作

TCP 负责应用软件(比如浏览器)和网络软件之间的通信。

IP 负责计算机之间的通信。

TCP 负责将数据分割并装入 IP 包,然后在它们到达的时候重新组合它们。

IP 负责将包发送至接受者。


  • TCP/IP寻址

TCP/IP 使用 32 个比特或者 4 组 0 到 255 之间的数字来为计算机编址。


IP地址

每个计算机必须有一个 IP 地址才能够连入因特网。

每个 IP 包必须有一个地址才能够发送到另一台计算机。

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。

转成十进制就是0-255,所以TCP/IP 地址是介于 0 到 255 之间的 4 组数字。


IP V6

IPv6 是 "Internet Protocol Version 6" 的缩写,也被称作下一代互联网协议,它是由 IETF 小组(Internet 工程任务组Internet Engineering Task Force)设计的用来替代现行的 IPv4(现行的)协议的一种新的 IP 协议。

learn more:IPv6-百度百科


域名

当你键入一个像 http://www.runoob.com 这样的域名,域名会被一种 DNS 程序翻译为数字。

在全世界,数量庞大的 DNS 服务器被连入因特网。DNS 服务器负责将域名翻译为 TCP/IP 地址,同时负责使用新的域名信息更新彼此的系统。

当一个新的域名连同其 TCP/IP 地址一起注册后,全世界的 DNS 服务器都会对此信息进行更新。

通过DNS服务器将域名转换成IP,从而定位到具体的计算机


  • TCP/IP协议

TCP/IP 是基于 TCP 和 IP 这两个最初的协议之上的不同的通信协议的大集合。


TCP - 传输控制协议

TCP 用于从应用程序到网络的数据传输控制。

TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组。


IP - 网际协议(Internet Protocol)

IP 负责计算机之间的通信。

IP 负责在因特网上发送和接收数据包。


HTTP - 超文本传输协议(Hyper Text Transfer Protocol)

HTTP 负责 web 服务器与 web 浏览器之间的通信。

HTTP 用于从 web 客户端(浏览器)向 web 服务器发送请求,并从 web 服务器向 web 客户端返回内容(网页)。


HTTPS - 安全的HTTP(Secure HTTP)

HTTPS 负责在 web 服务器和 web 浏览器之间的安全通信。


SSL - 安全套接字层(Secure Sockets Layer)

SSL 协议用于为安全数据传输加密数据。


SMTP - 简易邮件传输协议(Simple Mail Transfer)

SMTP 用于电子邮件的传输。


MIME - 多用途因特网邮件扩展(Multi-purpose Internet Mail Extensions)

MIME 协议使 SMTP 有能力通过 TCP/IP 网络传输多媒体文件,包括声音、视频和二进制数据。


FTP - 文件传输协议(File Transfer Protocol)

FTP 负责计算机之间的文件传输。


还有很多,不一一列举了,TCP/IP 协议族 - 菜鸟教程


  • 写在最后

在菜鸟教程的TCP/IP教程中没看到对网络模型的描述,还有各个协议的具体描述。后续留到学习计算机网络再补充吧。

Network


上一篇:学习HTTP

和自己赛跑:下一篇