图解TCP/IP笔记(1)——TCP/IP协议群
转载请注明:https://www.cnblogs.com/igoslly/p/9167916.html
TCP/IP制定
制定:IETF
记录:RFC - Request for comment
协议规范内容,协议实现和运用信息,实验方面信息
RFC文档通过编号组织每个协议的标准化请求
STD记载哪个编号记载哪个协议
TCP/IP与OSI参考模型
数据包首部
发送数据包
应用程序处理
编码处理,建立TCP连接
TCP模块处理
根据会话层的指示,在应用层发来的数据附加TCP首部。
IP模块处理
添加IP首部,参考路由控制表决定接受此IP包的路由或主机,发送给连接这些路由器或主机网络接口的驱动程序,真正发送数据。
网络接口(以太网驱动)处理
附加以太网首部,通过物理层传输给接收端。发送处理中的FCS由硬件计算,添加到包最后,判断数据包是否损坏。
每个包至少会包含两个信息:发送端和接收端地址、上一层协议类型
TCP首部:源端口号、目标端口号、序号校验和。
IP首部:接收端IP地址、发送端IP地址。
以太网首部:接收端MAC地址、发送端MAC地址、标志以太网类型。
接收数据包
- 首先从以太网的包首部判断是否是自己的MAC地址,传给相关子程序(IP/ARP)
- 对于有路由控制器,接收端地址往往不同,需要借助路由控制表,调查应该送达的主机或路由器再转发数据。
- TCP模块时计算一下检验和检查数据,检查是否按序接收数据、端口号,确定具体应用程序
- 接收端发送“确认回执”给发送端,若发送端未接受则会一直反复发送
- 数据完整接收后,发送给端口号识别应用程序
网络接口层(数据链路层)
利用以太网中的数据链路层进行通信,属于接口层。当做让NIC起作用的驱动程序。
互联网层(网络层)
互联网层使用IP协议,相当于OSI模型中的网络层,基于IP地址转发分包数据
IP
IP是跨越网络传送数据包,使整个互联网都能收到的数据的协议。
属于非可靠性传输协议,分组交换,不重发
ICMP
IP数据包在发送途中一旦发生异常无法到达时,需要发回一个发生异常的通知。
可以诊断网络的健康状况。
ARP
从分组数据包的IP地址中解析出MAC地址的协议
ARPA
从分组数据包的MAC地址中解析IP地址的协议
传输层
让应用程序之间实现通信,分清哪个程序正在通信,是使用识别端口号
TCP
面向有连接,保证两段通信主机之间的通信
可以处理丢包、乱序、利用带宽、缓解网络拥堵
三次握手,四次握手,造成网络流量的浪费
UDP
面向无连接,不重发
应用层
WWW
浏览器与服务端之间通信所用的协议是HTTP,传输格式是HTML
WWW中HTTP属于OSI应用层协议,HTML表示层协议
电子邮件
发送电子邮件使用SMTP - simple mail transfer protocal
接收电子邮件使用POP3
电子邮件格式由MIME协议扩展后,发送声音、图像格式。
文件传输FTP-file transfer protocol
互连计算机之间可以相互发送、接收文件
进行文件传输时建立两个TCP连接,分别是发出传输请求和实际传输连接时
远程登录TELNET
登录到远程计算机上,
网络管理 SNMP-simple network management protocol
可以对连网的设备进行远程修改配置,检查是否正常运行
通过SNMP管理器管理SNMP代理(服务器,PC机,WS,路由器,交换机等)
SNMP代理端保存着网络接口,通信数据量,异常数据量等信息,通过MIB - management information base访问
对于大网络,SNMP可以让管理员及时检查网络拥堵情况