1、 概念
TCP/IP是传输控制协议和网络协议的简称,它定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。
TCP/IP不是一个协议,而是一个协议簇的统称,里面包括了IP协议、ICMP协议、TCP协议、以及http、ftp、pop3协议等。网络中的计算机都采用这套协议簇进行互联。
2、 TCP/IP四层模型:
应用层:SMTP(简单邮件传输协议)、HTTPS(安全套接字层超文本传输协议)、HTTP(超文本传输协议)、DNS(域名系统)、Telent、POPS、SNMP(简单网络管理协议)、FTP(文本传输协议)、NFS(网络文件系统)
传输层:TCP(传输控制协议)、UDP(用户数据包协议)
网络层:IP(网际协议)、ICMP(互联网控制报文协议)、IGMP(互联网组管理协议)、ARP(地址解析协议)
网络接口层:PPP、Ethernet(负责数据帧的发送和接收)
3、基础知识
3.1 IP地址
$ ifconfig -a //查看本机IP地址
可以看出本机IP地址为:192.168.32.58
3.2 MAC地址
MAC地址也称为物理地址、硬件地址,用来定义互联网中设备的位置。
在TCP/IP层次模型中,网络层管理IP地址,链路层则负责MAC地址。因此每个网络位置会有一个转属于它的IP地址,而每个主机会有一个专属于它的MAC地址。
3.3 端口号
IP地址是用来发现和查找网络中的地址的,但是不同程序如何互相通信呢,这就需要端口号来识别了。如果把IP地址比作一间房子,端口就是出入这件房子的门。真正的房子只有几个门,但是端口采用16比特的端口号标识,一个IP地址的端口可以有65536(2^16)个之多!
- SSH 22
- FTP 20/21
- Telnet 23
- SMTP 25
- TFTP 69
- HTTP 80
- SNMP 161
- Ping使用ICMP,无具体端口号
3.3 封装与分用
封装:当应用程序发送数据的时候,数据在协议层次当中从顶向下通过每一层,每一层都会对数据增加一些首部或尾部信息,这样的信息称之为协议数据单元(Protocol Data Unit,PDU);在分层协议系统里,在指定的协议层上传送的数据单元,包含了该层的协议控制信息和用户信息。如下图所示:
分用 :当主机收到一个数据帧时,数据u就从协议层底部向上升,通过每一层时,检查并去掉对应层次的报文首部或尾部,与封装过程正好相反。
3.4 RFC
RFC文档是所有以太网协议的正式标准,并在其官网上面公布。每一种协议都用一个数字来标识,如RFC 3720是iSCSI协议的标准。在工作或者学习中如果遇到不理解的协议可以去查阅相关RFC文档,单纯阅读RFC不可取。