HCIA(三)

目录

IP地址

        VLSM(Variable Length Subnet Mask)——可延长子网掩码

                作用

        CIDR(Classless Inter-Domain Routing)——无类域间路由

                作用

OSI/RM——开放式系统互联参考模型

        核心思想:分层

                分层的好处

TCP/IP——协议簇

封装和解封装    

TCP/UDP

       区别

        适用场景

        面向连接

TCP的三次握手(面试必问)

        目的

        第一次握手

        第二次握手

        第三次握手

TCP的四次挥手 

        目的

        第一次挥手              

        第二次挥手

        第三次挥手

        第四次挥手

IP地址

        VLSM(Variable Length Subnet Mask)——可延长子网掩码

                作用

                        子网划分

                        增加网络位位数(从主机位借)               

                       

                192.168.1.0/24

                        192.168.1.0 0000000/25——192.168.1.0/25——192.168.1.1-192.168.1.126

                        192.168.1.1 0000000/25——192.168.1.128/25——192.168.1.129-192.168.1.254

                

                172.16.0.0/16——8个网段——借3位                

                        172.16. 000 00000.00000000/19——172.16.0.1-172.16.31.254

                        172.16. 001 00000.00000000/19——172.16.32.1-172.16.63.254

                        172.16. 010 00000.00000000/19——172.16.64.1-172.16.95.254

                        172.16. 011 00000.00000000/19——172.16.96.1-172.16.127.254

                        172.16. 100 00000.00000000/19——172.16.128.1-172.16.159.254

                        172.16. 101 00000.00000000/19——172.16.160.1-172.16.191.254

                        172.16. 110 00000.00000000/19——172.16.192.1-172.16.223.254

                        172.16. 111 00000.00000000/19——172.16.224.1-172.16.255.254

        CIDR(Classless Inter-Domain Routing)——无类域间路由

                作用

                        汇总——子网划分的逆过程

                取相同,去不同——针对二进制

                192.168.1.0 0000000/25

                192.168.1.1 0000000/25

                        ——192.168.1.0/24

                

                192.168.0.0/24——192.168.000000 00.00000000/24

                192.168.1.0/24——192.168.000000 01.00000000/24

                192.168.2.0/24——192.168.000000 10.00000000/24

                192.168.3.0/24——192.168.000000 11.00000000/24

                        ——192(C类).168.0.0/22——超网(超过默认子网掩码极限)

                

                172.16.0.0/24

                172.16.1.0/24

                172.16.2.0/24

                172.16.3.0/24

                        ——172(B类).16.0.0/22——汇总

OSI/RM——开放式系统互联参考模型

        1979年——ISO组织——国际标准化组织

        核心思想:分层

                分层——属于同一层面不同功能目的和作用相同或相似不同层面不同功能具有明显的差异。每一层都在下层提供服务的基础上再提供增值服务

                分层的好处

                        ①便于标准化

                        ②降低层次之间的关联性——解耦(解除耦合)——使各功能模块尽可能独立

                        ③便于学习和理解                 

                应用层

                表示层

                会话层——维持网络应用和网络服务器之间的会话联系

                传输层——实现端到端的传输——应用到应用的传输

                       地址

                              端口号——区分和标定不同的应用的——16位二进制构成——0-65535(其中0不作为传输层的端口使用),所以端口号的取值范围1-65535

                                1-1023称为知名端口号。

                                SPORT(源端口号)——随机值——作用不大

                                PORT(目标端口号)——固定的

                                HTTP协议——80端口

                                HTTPS(HTTP+TLS(确保传输安全))——443端口

                                FTP协议——20、21端口

                网络层

                数据链路层

                       由MAC和LLC两个子层组成

                                MAC(介质访问控制层)——控制物理硬件

                                LLC(逻辑链路控制层)——在数据结尾加FCS(帧校验序列)

                                     FSC作用

                                        确保数据完整性(CRC——循环冗余算法)                    

                物理层

TCP/IP——协议簇

TCP/IP模型

   

        

        TCP/IP四层模型——TCP/IP标准模型

        TCP/IP五层模型——TCP/IP对等模型

PDU——协议数据单元——为每一层次的数据设置一个单位

       L1PDU

       L2PDU

       ……

       L7PDU

      

        TCP/IP中的单位

                应用层——数据报文

                传输层——数据段

                网络层——数据包

                数据链路层——数据帧

                物理层——比特流

封装和解封装    

        封装——往数据中加入源IP和目标IP——实现逻辑寻址

        

        应用层(需要封装)

                HTTP协议(超文本传输协议)——获取网页信息——TCP 80

                HTTPS协议(HTTP + SSL)——TCP 443

                FTP协议(文件传输协议)——TCP 20/21

                TFTP协议(简单文件传输协议)——UDP 69

                DHCP协议(动态主机配置协议)——UDP 67/68

                DNS协议(域名解析协议)——UDP/TCP 53

                Telnet协议(远程登录协议)——TCP 23

                SSH协议(Telnet + SSL)——TCP 22

       传输层(需要封装端口号——目的)

              TCP协议             

              UDP协议

       网络层(需要封装IP地址)

              IP协议

       数据链路层(需要封装MAC地址)——以太网(交换机组建的二层网络)      

       物理层(不需要封装)

        只有物理层不用封装

以太网II型帧

        Preamble——前导符——切分数据帧

        Destination address——目标MAC地址

        Source address——源MAC地址

        Date——上层封装所使用的协议类型

        FCS——帧校验序列

TCP/UDP

       区别

                ①TCP是面向连接的协议,UDP是无连接的协议

                ②TCP协议的传输是可靠的确认、重传、排序、流控),UDP协议的传输是尽力而为

                ③TCP可以实现流控,而UDP不行

                ④TCP可以实现分段操作,而UDP不行

                ⑤TCP的传输速度较慢,消耗资源较大;UDP的传输速度较快,消耗资源较小

        适用场景

               TCP——更适用于对速度要求不高,但是对可靠性要求较高的场景

               UDP——更适用于对速度要求较高,但是对可靠性要求不高的场景(即时类通讯)

        面向连接

               在传输数据之前,先使用预备的协议建立点到点的连接,之后进行数据传输。

        TCP的头部是可变长头部——最短20个字节

        紧急URG(URGent)---紧急标记位
                当URG=1时,表明紧急指针字有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据),而不要按原来的排队顺序来传送。
                当URG置1时,发送应用进程就告诉发送方的TCP有紧急数据要传送。于是发送方TCP就把紧急数据插入到本报文段数据的最前面,而在紧急数据后面的数据仍是普通数据。这时要与手中紧急指针字段配合使用。

        确认ACK(ACKnowledgment)---确认标记位
                仅当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置1。

        推送PSH(PuSH)
                当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。这种情况下,TCP就可以使用推送(push)操作。这时,发送方TCP把PSH置1,并立即创建一个报文段发送出去。接收方TCP收到PSH=1的报文段,就尽快的(即“推送”向前)交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。

        复位RST(ReSeT)
                当RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立运输连接。RST置1还用来拒绝一个非法的报文段或拒绝打开一个连接。RST也可称为重建位或重复位。

        同步SYN(SYNchronization)---请求标记位
                在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1和ACK=1。因此,SYN置1就表示这是一个连接请求或连接接受报文。

        终止FIN(FINis)---结束标记位
                用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已发送完毕,并要求释放运输连接。

        校验和——确保数据完整性——反码相加法——伪头部校验——12个字节的内容一起进行校验——32位源IP地址,32位目标IP地址,8位保留,16位的总长度,8位协议

        UDP头部——8个字节——固定的 

TCP的三次握手(面试必问)

        目的

                建立可靠的通信信道,就是双方确认自己与对方的发送与接收是正常的

        第一次握手

                客户端给服务器发送一个SYN段(在 TCP 标头中 SYN 位字段为 1 的 TCP/IP 数据包), 该段中也包含客户端的初始序列号(Sequence number = J)

        第二次握手

                服务器返回客户端 SYN +ACK 段(在 TCP 标头中SYN和ACK位字段都为 1 的 TCP/IP 数据包), 该段中包含服务器的初始序列号(Sequence number = K);同时使 Acknowledgment number = J + 1来表示确认已收到客户端的 SYN段(Sequence number = J)

        第三次握手

                客户端给服务器响应一个ACK段(在 TCP 标头中 ACK 位字段为 1 的 TCP/IP 数据包), 该段中使 Acknowledgment number = K + 1来表示确认已收到服务器的 SYN段(Sequence number = K)

TCP的四次挥手 

        目的

                终止数据传输,并回收资源

        第一次挥手              

                客户端打算断开连接,向服务器发送FIN报文(FIN标记位被设置为1,1表示为FIN,0表示不是),FIN报文中会指定一个序列号,之后客户端进入FIN_WAIT_1状态。

                也就是客户端发出连接释放报文段(FIN报文),指定序列号seq = u,主动关闭TCP连接,等待服务器的确认。

        第二次挥手

                服务器收到连接释放报文段(FIN报文)后,就向客户端发送ACK应答报文,以客户端的FIN报文的序列号 seq+1 作为ACK应答报文段的确认序列号ack = seq+1 = u + 1。

                接着服务器进入CLOSE_WAIT(等待关闭)状态,此时的TCP处于半关闭状态(下面会说什么是半关闭状态),客户端到服务器的连接释放。客户端收到来自服务器的ACK应答报文段后,进入FIN_WAIT_2状态。

        第三次挥手

                服务器也打算断开连接,向客户端发送连接释放(FIN)报文段,之后服务器进入LASK_ACK(最后确认)状态,等待客户端的确认。

                服务器的连接释放(FIN)报文段的FIN=1,ACK=1,序列号seq=m,确认序列号ack=u+1。

        第四次挥手

                客户端收到来自服务器的连接释放(FIN)报文段后,会向服务器发送一个ACK应答报文段,以连接释放(FIN)报文段的确认序号 ack 作为ACK应答报文段的序列号 seq,以连接释放(FIN)报文段的序列号 seq+1作为确认序号ack。

                之后客户端进入TIME_WAIT(时间等待)状态,服务器收到ACK应答报文段后,服务器就进入CLOSE(关闭)状态,到此服务器的连接已经完成关闭。

        会牵扯到数据的传输,第二次和第三次不一定能合并

为什么“握手”要三次,而“挥手”却要四次呢?                

        TCP建立连接时之所以只需要"三次握手",是因为在第二次"握手"过程中,服务器端发送给客户端的TCP报文是以SYN与ACK作为标志位的。SYN是请求连接标志,表示服务器端同意建立连接;ACK是确认报文,表示告诉客户端,服务器端收到了它的请求报文。

        即SYN建立连接报文与ACK确认接收报文是在同一次"握手"当中传输的,所以"三次握手"不多也不少,正好让双方明确彼此信息互通。

        TCP释放连接时之所以需要“四次挥手”,是因为FIN释放连接报文与ACK确认接收报文是分别由第二次和第三次"握手"传输的。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUPER COW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值