day024-网络基础-TCP与UDP、DNS

06-02 1412阅读

文章目录

  • 1. 李导推荐书籍
  • 2. OSI七层模型
    • 2.1 传输层
    • 2.2 网络层
      • 2.2.1 问:两端处于不同局域网的设备怎么网络通信?
      • 2.3 数据链路层
      • 2.4 物理层
      • 2.5 图解OSI七层模型
      • 3. 数据传输模式
        • 3.1 全双工
        • 3.2 半双工
        • 3.3 单工
        • 4. TCP 3次握手
          • 4.1 抓包
          • 5. TCP 4次挥手
            • 5.1 问:在TCP协议中,**三次握手**时服务端将 `ACK`和 `SYN`合并为一个包发送,但**四次挥手**时 `ACK`和 `FIN`却需要分开发送,这是为啥?
            • 5.2 抓包
            • 6. UDP抓包
              • 6.1 udp服务端
              • 6.2 udp客户端
              • 6.3 wireshark过滤
              • 7. 面试题:TCP与UDP的区别?
              • 8. DNS 域名解析协议
                • 8.1 域名结构
                • 8.2 DNS记录类型
                • 8.3 dig命令
                • 9. 思维导图

                  1. 李导推荐书籍

                  • TCP/IP详解

                    day024-网络基础-TCP与UDP、DNS

                    2. OSI七层模型

                    • 下层为上层提供服务;
                    • 如数据链路层为网络设备建立点对点的物理链路,为网络层提供 无差错的帧传输,所以网络层才能顺利实现路由寻址并建立端到端的连接;
                    • 而再此基础上,传输层才可以通过端口为应用服务提供传输支持

                      2.1 传输层

                      • 传输层通过指定端口号管理或控制端到端的数据传输
                      • 传输层的两个数据传输协议:TCP、UDP
                      • TCP协议:面向可靠连接(建立连接需3次握手,断开连接需4次挥手)
                      • UDP协议:不可靠连接(直接建立、断开,尽力传输数据)
                      • 数据在传输层叫做数据报(udp)或段(tcp)

                        2.2 网络层

                        • 网络层通过IP寻址为网络设置建立端到端的连接
                        • 核心协议:IP协议
                        • ICMP(网络控制管理协议)也属于网路层
                        • 代表设备:路由器、三层交换机
                        • SRC:原地址;DST:目的地址
                        • 数据在网络层叫做数据包

                          2.2.1 问:两端处于不同局域网的设备怎么网络通信?

                          • 只有具有公网IP的设备才能网络通信
                          • 而大部分的网络设备处于局域网,明显依靠网关的NAT转换技术
                          • 所以这两个设备是使用公网IP进行通信的
                          • 但是通过这两个公网IP只能被定位到两个网关,而不是局域网的设备!
                          • 因此IP地址(网络层)无法直接实现本地网络(局域网)精准寻址
                          • 所以需要比IP地址更为准确的寻找网络设备的标志—MAC地址

                            2.3 数据链路层

                            • 网络层建立的连接是逻辑链路,而数据链路层是依靠MAC地址(网卡地址)和以太网协议为网络通信建立可靠的点对点物理链路,确保数据帧的精准投递
                            • 因此数据在局域网时是通过Mac地址进行通信的(IP地址为数据传输指明了方向,MAC地址为其明确了前进道路)
                            • Mac地址有48位
                            • 数据在该层叫做数据帧
                            • 代表设备:二层交换机

                              day024-网络基础-TCP与UDP、DNS

                              2.4 物理层

                              • 物理层将数据帧转换成二进制的数据:0101……
                              • 二进制依然是一堆数据,而物理链路(以太网、光纤)只能传输电信号或光信号;于是用不同的电平来表示1还是0(比如高电压是1,低电压是0),将数据转换成电信号的设备就是调制解调器
                              • 而将电信号与光信号相互转换的就是光猫

                                2.5 图解OSI七层模型

                                day024-网络基础-TCP与UDP、DNS

                                3. 数据传输模式

                                3.1 全双工

                                • 数据可同时双向传输
                                • 代表设备:电话、网络、TCP通信、交换机

                                  3.2 半双工

                                  • 数据可双向传输,但是同一时间只能向单向传输,需要双方设备交替进行
                                  • 代表设备:hub(集线器)、对讲机

                                    3.3 单工

                                    • 数据只能单向传输,一方为发送端,一方为接收端
                                    • 代表设备:广播、收音机、键盘

                                      4. TCP 3次握手

                                      • 知晓TCP实现了全双工数据通信,是理解TCP3次握手的基础
                                      • TCP是传输层协议,因此3次握手是与端口建立连接
                                      • SYN :Synchronize,同步
                                      • ACK:Acknowledge,确认
                                      • PSH:push,发送数据
                                      • seq:sequence,序列号

                                        day024-网络基础-TCP与UDP、DNS

                                        4.1 抓包

                                        day024-网络基础-TCP与UDP、DNS

                                        5. TCP 4次挥手

                                        • 四次挥手是为了断开连接
                                        • 也是需要断开两次单向通信线路
                                        • FIN:Finish,终止连接

                                          day024-网络基础-TCP与UDP、DNS

                                          5.1 问:在TCP协议中,三次握手时服务端将 ACK和 SYN合并为一个包发送,但四次挥手时 ACK和 FIN却需要分开发送,这是为啥?

                                          • 三次握手:

                                            握手时双方尚未开始传输数据,服务端收到 SYN后可以立即同意连接(ACK)并同时发起自己的 SYN请求。此时没有数据需要处理,合并发送不会影响可靠性。

                                          • 四次挥手:

                                            挥手时双方可能仍有未传输完的数据。服务端收到 FIN后,需要先 ACK确认收到关闭请求(确保对方知道已收到),然后继续发送剩余数据,最后再发送自己的 FIN关闭连接。如果强行合并 ACK和 FIN,可能导致数据丢失。依然是为了通信的可靠性设计的。

                                            5.2 抓包

                                            day024-网络基础-TCP与UDP、DNS

                                            • 第二个数据包(服务端→客户端)的ACK和FIN标志位同时置位,是TCP协议允许的优化行为
                                            • 如果服务端在收到客户端的 FIN后没有剩余数据需要发送,可以直接合并 ACK和 FIN,减少交互次数。
                                            • 标准四次挥手:ACK和 FIN分开发送(共4个包)。
                                            • 优化后的挥手:ACK和 FIN合并发送(共3个包)。

                                              6. UDP抓包

                                              • telnet仅能连接TCP端口
                                              • udp端口需要nc命令连接

                                                nc 是 Netcat 的缩写,被称为 “网络瑞士军刀”,是一个功能强大的 命令行网络工具,用于 TCP/UDP 连接监听、端口扫描、文件传输、代理转发 等。

                                                6.1 udp服务端

                                                • -l:监听模式
                                                • -u:使用UDP传输协议
                                                • 创建一个udp端口
                                                • nc -lu 12306

                                                  6.2 udp客户端

                                                  • 连接该端口
                                                  • nc -u 服务端ip 12306

                                                    day024-网络基础-TCP与UDP、DNS

                                                    6.3 wireshark过滤

                                                    • 过滤:udp.port==12306

                                                      day024-网络基础-TCP与UDP、DNS

                                                      7. 面试题:TCP与UDP的区别?

                                                      TCP(传输控制协议)UDP(数据报协议)
                                                      面向连接(3次握手、四次挥手)无连接
                                                      可靠传输不可靠传输
                                                      流量监控(检查数据是否丢失,若丢失会重新发送)尽力发送
                                                      TCP应用:Web浏览器、电子邮件、文件传输服务UDP应用:DNS、视频(直播服务)、IP语音(VoIP)

                                                      8. DNS 域名解析协议

                                                      • DNS作用:将域名解析成ip,供网络设备访问
                                                      • 公共DNS服务器地址:223.5.5.5,223.6.6.6,8.8.8.8,114.114.114.114……

                                                        8.1 域名结构

                                                        day024-网络基础-TCP与UDP、DNS

                                                        8.2 DNS记录类型

                                                        记录类型说明应用场景
                                                        A域名对应ipv4地址常用
                                                        AAAA域名对应ipv6地址常用(ipv6)
                                                        CNAME记录别名,将域名解析成域名2,网页会跳转到域名2对应的网站CDN、WAF
                                                        TXT记录对域名进行标识和说明。TXT 记录常用来做SSL数字证书
                                                        签发验证、SPF 记录(反垃圾邮件)
                                                        MX记录用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器地址企业邮箱

                                                        8.3 dig命令

                                                        dig:Domain Information Groper(域信息搜索器)是DNS查询工具。

                                                        格式:dig 选项 域名 查询类型

                                                        day024-网络基础-TCP与UDP、DNS

                                                        • 跟踪DNS解析过程:+trace

                                                          day024-网络基础-TCP与UDP、DNS

                                                          9. 思维导图

                                                          【金山文档】 思维导图 https://www.kdocs.cn/l/co3I7PtpTYQX

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码