【TCP/IP协议】学习笔记(1)

时间:2022-03-21 01:31:45

为什么会有TCP/IP协议?

TCP/IP不是一个协议,而是一个协议族的统称里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做*的交流了。

TCP/IP协议分层

协议结构如下

应用层

传输层

网络层

数据链路层

硬件层

 

 

 

 

 

 

 

 

TCP/IP协议族按照层次由上到下,层层包装,依次为应用层、传输层、网络层、数据链路层和硬件层。

1、应用层:通常熟悉的HTTP、FTP等协议;

2、传输层:TCP和UDP协议;

3、网络层:IP协议,它负责对数据加上IP地址和其他的数据(后面会讲到)以确定传输的目标;

4、数据链路层:为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备;

5、硬件层:负责网络的传输,这个层次的定义包括网线的制式,网卡的定义等等。

发送协议的主机从上自下将数据按照协议封装,而接收数据的主机则按照协议从得到的数据包解开,最后拿到需要的数据。这种结构非常有栈的味道,所以某些文章也把tcp/ip协议族称为tcp/ip协议栈。

一些基本的常识

在学习协议之前,应该具备一些基本知识

互联网地址(IP地址)

网络上每一个节点都必须有一个独立的Internet地址(也叫做IP地址)。现在,通常使用的IP地址是一个32bit的数字,也就是我们常说的IPv4标准,这32bit的数字分成四组,也就是常见的255.255.255.255的样式。IPv4标准上,地址被分为五类,我们常用的是B类地址。具体的分类请参考其他文档。需要注意的是IP地址是网络号+主机号的组合,这非常重要。

域名系统

域名系统是一个分布的数据库,它提供将主机名(就是网址)转换成IP地址的服务。

RFC

RFC是什么?RFC就是tcp/ip协议的标准文档,在这里我们可以看到RFC那长长的定义列表,现在它一共有4000多个协议的定义,当然,我们所要学习的,也就是那么十几个协议而已。

端口号(port

注意,这个号码是用在TCP,UDP上的一个逻辑号码,并不是一个硬件端口,我们平时说把某某端口封掉了,也只是在IP层次把带有这个号码的IP包给过滤掉了而已。

应用编程接口

现在常用的编程接口有socket和TLI。而前面的有时候也叫做“Berkeley socket”,可见Berkeley对于网络的发展有多大的贡献。

参考文章:http://blog.csdn.net/goodboy1881/article/details/665041