TCP/IP协议(族)

网络协议

网络协议为计算机网络中进行 数据交换 而建立的 规则、标准 或 约定

比如下图中 不同国家的人 开会,如果都 说自己的母语,对方都听不懂,为了解决这一问题,开会前先制定好 沟通协议,都说 英语,就能够正常交流了

产生背景

在计算机早期,不同的硬件、不同的操作系统之间,要实现网络通信,有很多困难,为了解决这一问题,提出TCP/IP协议,支持TCP/IP协议的设备,就可以联网,与其他设备进行通信。

TCP/IP协议族

TCP/IP协议 不是 TCP 和 IP 这两个协议的合称,而是包含了 很多协议,如:TCP、UDP、IP、ARP等,所以称之为 协议族

TCP/IP协议分层

由于计算机和网络的 复杂性,TCP/IP协议参考了 OSI七层模型,根据实际情况划分 四层

每一层都依赖下一层的网络功能

注意:
我们平时使用的软件,如QQ、浏览器等,都是应用层的软件,协议一般都是 自定义协议,且都依赖下层的协议,如:TCP、UDP、IP等

OSI模型与TCP/IP协议

第五层:应用层

为应用程序提供网络服务。应用层的协议是应用程序之间的规则,可以自定义

如:web服务器和浏览器之间采用http协议、ftp服务器和客户端之间采用ftp协议等。
我们自己开发程序,也可以自定义协议

第四层:传输层(运输层)

实现 不同计算机进程间 通信。其功能包括:

  1. 作为发送端,接收 应用层 的数据,将数据封装成 数据段 (TCP或UDP),并交给 网络层。称之为 多路复用(multiplexing)
  2. 作为接收端,接收 网络层 的数据,根据 端口号 将数据交给 应用程序。称之为 多路分解(demultiplexing)

这一层有两个重要协议: TCP 和 UDP

用到 端口号

TCP协议

参见http://www.malaoshi.top/show_1EF302Z9gRz4.html

端口号(PORT)

从图中可知,在TCP数据包中需要指定端口号(PORT)

http://www.malaoshi.top/show_1EF2YXPJGCld.html

MSS

参见:http://www.malaoshi.top/show_1EF2VK9VXVdc.html

第三层:网络层

负责相邻 计算机 之间的通信。确定数据包从发送端到接收端的路由选择
数据包到达的顺序和发送的顺序 可能不同 ,这就需要上层必须对数据包进行排序

这一层有IP地址和网络设备

IP协议

互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address)

功能:

所有的TCP,UDP等数据都以 IP数据包 格式传输

  • 寻址,ARP地址解析过程
  • 路由,根据对方的IP地址,寻找最佳路径
特点:
  • 不可靠(IP协议只是尽自己最大努力去传输数据包),可靠性由上层协议提供(TCP协议);
  • 无连接;(事先不建立会话);

IP地址,相当于给电脑分配了门牌号,没有门牌号收不到快递

常见的IP地址分为IPv4与IPv6两大类

注意:
当传输层发送的数据长度大于MTU时,网络层将对数据进行分片

IP数据包格式
http://www.malaoshi.top/show_1EF2boBn83hd.html

网络设备

路由器、三层交换机属于这一层

第二层:链路层

功能如下:

  1. 为IP模块发送和接收IP数据报。
    接受来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上一层的数据帧,拆装为位流形式的数据转发到物理层;并且还负责处理接受端发回的确认帧的信息,以便提供可靠的数据传输。

  2. 为ARP模块发送ARP请求和接收ARP应答。

还有一个功能,为RARP发送RARP请求和接收RARP应答。已经废弃
https://blog.csdn.net/joyfixing/article/details/50662893

数据帧格式

http://www.malaoshi.top/show_1EF2y69WXq6Y.html

网络设备

二层交换机就属于这一层

ARP协议

ARP(Address Resolution Protocol),地址解析协议,通过IP地址,获取MAC地址。在IPv4中使用,IPv6不使用。

由于传送数据帧时,必须使用MAC地址,此时需要ARP协议,通过接收端的IP地址,获取接收端的MAC地址

MAC地址见

mac地址属于链路层
https://baike.baidu.com/item/MAC%E5%9C%B0%E5%9D%80/1254181?fr=aladdin

arp协议参见

https://blog.csdn.net/jxch____/article/details/78875873

arp攻击原理参见

https://www.cnblogs.com/manue1/p/4462327.html

MTU

参加http://www.malaoshi.top/show_1EF2VJuYjPgR.html

第一层:物理层

位于链路层之下,也是最底层,数据单位是比特

功能:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输
介质包括:各种线缆、光纤、无线信道等

浏览器向web服务器发HTTP请求图解

TCP/IP四层模型流程图

用户数据到链路层数据包封装图解

感谢:
https://www.cnblogs.com/imyalost/p/6086808.html
https://blog.csdn.net/woaini1314520_xhh/article/details/79919133
https://www.cnblogs.com/evablogs/p/6709707.html
https://www.cnblogs.com/gdayq/p/5797645.html
https://blog.csdn.net/guoguo527/article/details/52078962
https://www.cnblogs.com/BlueTzar/articles/811160.html

https://www.cnblogs.com/k1-2-3-4/p/8404707.html

https://blog.csdn.net/baidu_37964071/article/details/80467838
https://blog.csdn.net/super_yc/article/details/72290931


原文出处:/show_1EF2RYN3vxGh.html