TCP/IP协议简介

来源:互联网 发布:js判断不等于0 编辑:程序博客网 时间:2024/05/22 20:24

.TCP/IP协议定义

 

TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。

TCP/IP 不是一个协议,而是一个协议族的统称,里面包括了 IP 协议、ICMP 协议、TCP 协议、以及 http、ftp、pop3https 协议等。网络中的计算机都采用这套协议族进行互联。

 

网络协议栈架构

 

1.OSI 七层模型

 

 

2. TCP/IP四层模型

 

    (1)应用层:应用程序通过这一层访问网络,常见 FTP、HTTP、DNS 和 TELNET 协议;

    (2)传输层:TCP 协议和 UDP 协议;

    (3)网络层:IP 协议,ARP、RARP 协议,ICMP 协议等;

    (4)网络接口层:是 TCP/IP 协议的基层,负责数据帧的发送和接收。


 

 

二、网络基础

 

1.IP 地址

网络上每一个节点都必须有一个独立的 IP 地址,通常使用的 IP 地址是一个 32bit 的数字,被分成 4 组,例如,255.255.255.255 就是一个 IP 地址。IP地址就是计算机网络组成的最小单位。

Linux 系统中,可以用 ifconfig -a 命令查看自己的 IP 地址,windows的DOS中可以用ipconfing查看

 

 

2.域名

12 位数字组成的 IP 地址,在实际应用时,用户一般不需要记住 IP 地址,互联网给每个 IP 地址起了一个别名,习惯上称作域名。

可以使用命令 nslookup 或者 ping Linux中查看与域名相对应的 IP 地址

 

 

3.MAC 地址

MAC(Media Access Control)地址,或称为物理地址、硬件地址,用来定义互联网中设备的位置。

 

 

 

TCP/IP 层次模型中,网络层管理 IP 地址,链路层则负责 MAC 地址。因此每个网络位置会有一个专属于它的 IP 地址,而每个主机会有一个专属于它 MAC 地址。

 

 

.交互时数据处理的方式封装和分用

封装:当应用程序发送数据的时候,数据在协议层次当中从顶向下通过每一层,每一层都会对数据增加一些首部或尾部信息,这样的信息称之为协议数据单元(Protocol Data Unit,缩写为PDU),在分层协议系统里,在指定的协议层上传送的数据单元,包含了该层的协议控制信息和用户信息。如下图所示:

· 物理层(一层)PDU指数据位(Bit)

· 数据链路层(二层)PDU指数据帧(Frame)

· 网络层(三层)PDU指数据包(Packet)

· 传输层(四层)PDU指数据段(Segment)

· 第五层以上为数据(data)


 

分用:当主机收到一个数据帧时,数据就从协议层底向上升,通过每一层时,检查并去掉对应层次的报文首部或尾部,与封装过程正好相反。

 

RFC

RFC(Request for Comment)文档是所有以太网协议的正式标准,并在其官网上面公布,由 IETF 标准协会制定。大量的 RFC 并不是正式的标准,出版的目的只是为了提供信息。RFC 的篇幅不一,从几页到几百页不等。每一种协议都用一个数字来标识,如 RFC 3720 是 iSCSI 协议的标准,数字越大说是 RFC 的内容越新或者是对应的协议(标准)出现的比较晚。

所有的 RFC 文档都可以从网络上找到,其官网为IETF。在网站上面可以通过分类以及搜索快速找到目标协议的 RFC 文档。目前在 IETF 网站上面的 RFC 文档有数千个,但是我们不需要全部掌握,在工作或学习中如果遇到可以找到对应的解释,理论与实际结合会有更好地效果,单纯阅读 RFC 的效果一般。