网络编程-OSI模型,TCP/IP协议族,数据通讯过程

TCP/IP协议

不同物理传输介质(如光纤、金属网线、电平、波特率、不同网段等)的计算机之间,数据在传输时一般会产生延迟、错误、丢包、保密性等问题,为了解决这些问题以实现不同计算机之间的通信,需要制定一个让不同的计算机都遵循的协议。那么这个都遵循的协议就是TCP/IP协议。
但是一个协议要实现这么多的功能会使得这个协议很复杂,因此为了解决传输过程中的各种问题,
即把复杂问题简单化,需要对TCP/IP协议进行分层功能处理。于是引出OSI分层(7层)模型 和 TCP/IP 模型(4层)。

OSI理论分层模型

网络编程-OSI模型,TCP/IP协议族,数据通讯过程
1)物理层:把不同的物理介质(如光纤、金属网线、电平、波特率等)转化成统一的标准网络接口,向上一层屏蔽了物理层的区别。
(2)数据链路层:把有用的数据打包成数据块:帧
(3)网络层:所有的网络设备都是由路由器路通过选择算法把数据转发出去的(路由器工作在此层)。
(4)传输层:保证数据传输过程中的准确可靠,差错处理/恢复。基本上网络编程的应用都是基于传输层做的处理,TCP / UDP都是在传输层。
(5)会话层:实现两个通信实体之间的通信联络。

网络编程-OSI模型,TCP/IP协议族,数据通讯过程

TCP/IP 模型

TCP/IP协议是Internet实际应用的工业标准,对OSI模型的简化。

OSI模型和TCP/IP协议对比

网络编程-OSI模型,TCP/IP协议族,数据通讯过程
网络编程-OSI模型,TCP/IP协议族,数据通讯过程

TCP/IP族

TCP(Transport Control Protocol):传输控制协议
IP(Internetworking Protocol):网间协议
UDP(User Datagram Protocol):用户数据报协议
ICMP(Internet Control Message Protocol):互联网控制信息协议
SMTP(Simple Mail Transfer Protocol):简单邮件传输协议
SNMP(Simple Network manage Protocol):简单网络管理协议
HTTP(Hypertext Transfer Protocol) :超文本传输协议
FTP(File Transfer Protocol):文件传输协议
ARP(Address Resolution Protocol):地址解析协议

http协议(应用层)

https:s是加密的安全的意思,加密超文本传输协议
超文本传输协议
HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:
(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。

ICMP协议(网络层)

ICMP协议,“Internet Control Message Protocol”(Internet控制消息协议)的缩写,是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
ICMP协议也是Ping命令使用的协议,用来检查网络是否通畅或者网络连接速度的命令。
ping的原理:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。

ARP协议(数据链路层)

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。解析物理地址:MAC地址

以太网(数据链路层)

规定了包括物理层的连线、电子信号和介质访问层协议的内容。

TCP/IP协议通信模型

网络编程-OSI模型,TCP/IP协议族,数据通讯过程

数据的封装与传递过程

网络编程-OSI模型,TCP/IP协议族,数据通讯过程