解密TCP/IP模型:网络通信的全景指南

一、网络参考模型

  • OSI参考模型
  • TCP/IP参考模型
  1. 应用层(数据):为应用程序提供网络服务
  2. 传输层(段):建立端到端的连接
  3. 网络层(包):IP寻址和路由选择
  4. 数据链路层(帧):将数据封装成帧,提供点到点、点到多点的连接
  5. 物理层(比特):定义接口规格

上层依赖下层提供服务。

对等通信:发送方通过哪一层什么协议发送的数据报文,接收方也同样再哪一层及协议处理数据报文。

 

二、TCP/IP每一层详解

(1)应用层

        作用:为应用程序提供服务

        主要协议:FTP(21),DNS(53),Telnet(23),HTTP(80),SNMP(161),SMTP(25)

        DNS域名解析协议,对应IP与域名的映射关系,查询方式:递归查询和迭代查询

(2)传输层

        作用:提供端到端的连接

        主要协议:

                        TCP:面向连接,可靠的,有序的,流量控制

                        基于TCP的协议:FTP(21),SMTP(25),Telnet(23),HTTP(80)

                        UDP:无连接,不可靠,无序,无流量控制                

                        基于UDP的协议:TFTP(69),SNMP(161)

UDP报文(8Byte):内容包括:源端口号,目的端口号,头部长度,首部校验和

TCP报文(20Byte):内容包括:源端口,目的端口,序列号,确认号,首部长度,保留位,控制位,窗口大小,首部校验和,紧急指针,选项

                基于TCP的应用在传输数据之前必须要先进行TCP三次握手,结束后四次挥手

       端口号范围:【1】知名端口号:0——1023

                            【2】注册端口号:1024——49151

                            【3】动态端口号:49152——65535

        序列号:保证数据传输的有序性

        确认号:对收到的数据进行确认

        控制位: 【*】ACK:置为1表示确认收到数据

                        【*】SYN:置为1表示请求建立连接

                        【*】FIN:置为1表示请求断开连接

                        【*】PSH:置为1表示加快传输

                        【*】URG:紧急位        

                        【*】RST:复位,重置连接

                                          复位的原因:服务器端口没打开;服务器响应太慢,用户终止连接;网络攻击

        窗口大小:表示接受方的接收能力;加快传输速率,进行流量控制

        选项字段:MSS:TCP数据包每次能够传输的最大数据分段

                        MSS(最大段大小)=MTU(最大传输单元)-TCP头部-IP头部

                        MSS最大为1500-20-20=1460Byte

        首部校验和:差错检测,确保传输的可靠性

三次握手:

        过程:PC1:SYN置1,seq-number=x←

                  PC2:ACK置1,SYN置1,seq-number=y,ack- number=x+1←

                  PC1:ACK置1,seq-number=x+1,ack-number=y+1→

三次握手状态机:

                closed:初始状态,连接为建立

                SYN__SENT:待建立连接

                SYN__RCVD:请求建立连接,待回应

                Estableshed:已建立连接

四次挥手:

     过程:PC1:FIN置为1,seq-number=x→                                                           

                PC2:ACK置1,ack-number=x+1←

                PC2:FIN置1,seq-number=y←

                PC1:ACK置1,ack-number=y+1→

(3)网络层

        作用;IP寻址,路由选择

        常见协议:IP,IPX,ICMP,IGMP

        IP头部:版本、头部长度、服务类型、总长度、标识、标志、片偏移、生存时间TTL、协议、首部校验和、源IP地址、目的IP地址、选项字段

ICMP协议:协议号为1、辅助IP工作、作用:检测网络通信故障和路由追踪

        Ping和tracert都是基于ICMP协议

        Ping:作用:测试连通性,测试网络性能

        tracert:作用:探测跟踪路由

           tracert工作原理:源主机发送3个请求包,TTL=1,第一个路由器接收到之后,TTL=0,被迫回应给源主机一个超时信息,源主机就会获得经过第一个路由器的时间和IP地址,再发送3个请求包,TTL=1+1,以此类推,直到目标主机应答终止

(4)数据链路层

        作用:将数据报文封装成帧,提供点到点,点到多点的连接

        常见协议:以太网,PPP,PPPOE,IEEE802.2,IEEE802.3

        以太帧头部:内容:目的MAC,源MAC,TYPE,尾部

(5)物理层

                定义接口、线缆标准

三、数据通信过程

        在浏览器上输入www.baidu.com,主机判断目标地址为域名格式,需要转换成IP地址才能通信,主机会向DNS服务器查询WEB服务器地址。主机先看DNS服务器是否与自己在同一网段,如果不在,向网关发送ARP请求,获取网关MAC地址,发送DNS查询到DNS服务器,DNS返回域名对应的IP地址,主机发送http请求到WEB服务器。

你可能感兴趣的:(服务器,网络,运维,信息与通信,网络协议,tcp/ip,智能路由器)