tcp/ip协议

676 阅读3分钟

什么是tcp/ip协议?

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

tcp/ip参考模型



TCP/IP 被分为 4 层,每层承担的任务不一样,各层的协议的工作方式也不一样,每层封装上层数据的方式也不一样:

  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

(2)域名

域名与计算机的 IP 地址相对应,并把这种对应关系存储在域名服务系统 DNS(Domain Name Service)中,这样用户只需记住域名就可以与指定的计算机进行通信了

(3)mac地址

mac地址称为物理地址、硬件地址,用来定义互联网中设备的位置。

网络层管理 IP 地址,链路层则负责 MAC 地址

(4)端口号

不同程序之间通过端口号来识别

  (5)   封装和分组



封装:当应用程序发送数据的时候,数据在协议层次当中从顶向下通过每一层,每一层都会对数据增加一些首部或尾部信息,传输层传给网络层的数据单元称作 TCP 报文段(TCP segment) 或 UDP数据报(UDP datagram) 。网络层传给链路层的数据单元称作 IP 数据报(IP datagram)。链路层上的传输单元称作帧(Frame)。

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

  (6)   rfc

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

网络包的组成

报头/起始帧分界符——MAC头部——IP头部——TCP头部——数据——FCS(帧校验序列)(根据tcp的封装)

滑动窗口机制

所谓滑动窗口,就是在发送一个包之后,不等待ACK信号的返回,直接发送后续的一系列包。有效利用等待ACK号的这段时间。

IP头部的两个IP地址分别为:发送方网卡的IP地址应用程序提供的接收方IP地址

MAC头部的发送方和接受方的MAC地址分别是发送方网卡的MAC地址;利用ARP(地址解析协议)协议,根据接收方IP地址广播得到的接收方MAC地址