TCP/IP协议(全的一b)应用层,数据链层,传输层,网络层,以及面试题

目录

TCP/IP协议介绍 

协议是什么,有什么作用?

 网络协议为什么要分层

 TCP/IP五层网络协议每层的作用

应⽤层

DNS的作用及原理

DNS工作流程

传输层(TCP协议)

介绍TCP协议段格式

理解端⼝号的概念

 能够基于UDP实现可靠传输.

⽹络层(IP协议)

IP协议的头格式

IP地址的作用:

局域网(子网/LAN)

局域网地址

广域网(公网/WAN)

广域网地址

MAC地址的作用:

对⽐理解MAC地址和IP地址

 NAT技术 

如何解决IPv4的IP地址数⽬不⾜的问题

理解IP数据分包组包

为什么分包

分包组包过程中和哪些IP报头字段有关联

组包时如何保证数据的顺序和完整性

MSS

⽹络层的IP地址路由过程

 数据链路层

以太⽹帧格式

MAC地址的作用

ARP协议的作⽤

ARP协议的工作流程

MTU以及MTU对 IP / UD / TCP 协议的影响



TCP/IP协议介绍 

协议是什么,有什么作用?

        协议,⽹络协议的简称,⽹络协议是⽹络通信(即⽹络数据传输)经过的所有⽹络设备都必须共同遵从的⼀组约定、规则。如怎么样建⽴连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能 相互通信交流。
协议(protocol)最终体现为在⽹络上传输的数据包的格式。
        网络协议对于 实现网络通信的互操作性、标准化、数据封装、路由和寻址、错误检测和恢复、流量控制以及安全性 等方面都起着至关重要的作

 网络协议为什么要分层

        一整个协议太庞大,不利于学习和维护,拆分出来的协议又太多了,就引入协议分层,只有相邻层次之间才可以沟通,不能跨层沟通,好处就是

        1)  上层协议直接用下层协议即可,不需要了解下层协议的细节(相当于两个人打电话,直接用对应的电话就好,电话内部的怎么接收信号,转换信号怎么传播怎么解码,上层人不需要知道,使用接口就行)

        2)  某一层协议替换之后,对其他层没有影响(换个电话用用)

 TCP/IP五层网络协议每层的作用

  • 1. 应用层 (Application Layer)

功能:定义了应用程序之间通信的协议和方式。例如,HTTP用于网页浏览,SMTP用于电子邮件发送,FTP用于文件传输等。
关注传输的数据在应用程序中如何使用,如数据的表示、加密、压缩等。

  • 2. 传输层 (Transport Layer)

功能:提供端到端的通信服务,确保数据包的可靠传输或提供无连接的不可靠服务。

关注通信的起点和终点。主要协议包括TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠的数据传输服务,UDP提供不可靠的数据传输服务。

  • 3. 网络层 (Network Layer)

功能:负责数据包的路由和转发,将数据从源地址传输到目的地址。
关注通信中的路线规划。主要协议是IP(互联网协议),它定义了数据包的格式、地址和路由规则。此外,还包括ICMP(Internet控制消息协议)、IGMP(Internet组管理协议)等辅助协议。

  • 4. 数据链路层 (Data Link Layer)

功能:在相邻节点之间无差错的传输数据帧,并负责帧的封装和解封装、差错检测等。
关注相邻节点之间的通信细节。该层定义了如何访问传输介质(如局域网、广域网等),以及如何将数据封装成帧进行传输。主要协议包括以太网、令牌环、PPP(点对点协议)等。

  • 5. 物理层 (Physical Layer)(硬件层面不重点介绍)

功能:负责传输比特流,是网络通信的基础设施。
关注网络通信的物理连接,包括电缆规格、电压级别、接口类型等。该层定义了数据传输的电气、机械和定时接口等特性,确保比特流在物理介质上的正确传输。

应⽤层

• 应⽤层的作⽤: 满⾜我们⽇常需求的⽹络程序, 都是在应⽤层

DNS的作用及原理

        DNS是互联网上的域名解析系统,它建立了一个分布式数据库,将人们易于记忆的域名映射到计算机易于识别的IP地址。这样用户就可以通过输入域名来访问互联网资源,而无需记住复杂的IP地址。

        在浏览器中键入www.microsoft.com这个域名, DNS系统会将www.microsoft.com这个域名解析为相应的IP地址207.46.230.229

DNS工作流程

  • 用户请求:当用户在浏览器中输入一个域名时,计算机会向本地域名服务器(Local DNS Server)发送一个域名解析请求。
  • 本地查询:本地域名服务器首先在其缓存中查找该域名的解析记录。如果找到,则直接返回IP地址给用户;否则,继续下一步。
  • 逐级查询:本地域名服务器会向根域名服务器(Root DNS Server)查询,根域名服务器会返回顶级域名服务器(TLD Server)的地址。接着,本地域名服务器向顶级域名服务器查询,顶级域名服务器会返回权威域名服务器(Authoritative DNS Server)的地址。最后,权威域名服务器会返回相应的IP地址。
  • 结果返回:本地域名服务器将解析到的IP地址返回给用户,并将该结果保存在缓存中,以便后续使用。

传输层(TCP协议)

传输层的作⽤: 负责数据能够从发送端传输接收端.

介绍TCP协议段格式

  • 源端口号(16位):用于标识发送方应用程序的端口号,表示数据是从哪个进程来。
  • 目的端口号(16位):用于标识接收方应用程序的端口号,表示数据到哪个进程去。
  • 序号(32位):用于标识发送方发送的数据字节所占的序列号,表示本报文段所发送数据的第一个字节的编号。
  • 确认序号(32位):用于确认接收方已经收到的数据字节的序列号,即接收方期望收到发送方下一个报文段的第一个字节数据的编号。
  • 首部长度(4位):用来指明TCP报文段首部的长度,以4字节为单位。最大为60字节,最小为20字节。通过这个字段可以确定TCP报头中是否包含选项字段。
  • 保留(6位):保留的6位用于将来的功能扩展,目前必须全部为0。
  • 控制位(6位):用于控制TCP报文段的传输状态和控制信息,包括:

            URG(紧急指针有效位):告知接收方此报文段中有紧急数据需要处理。

            ACK(确认序号有效位):表示确认序号字段中的数据有效。

            PSH(推送位):告知接收方应立即将数据交给应用程序,而不是等待缓冲区填满。

            RST(复位位):用于重置连接。

            SYN(同步位):用于建立连接。

            FIN(结束位):用于终止连接。

  • 窗口大小(16位):指明发送方的接收窗口大小,用于流量控制。
  • 校验和(16位):用于检验TCP报文段是否在传输过程中发生错误。发送端基于数据内容校验生成一个数值,接收端根据接收的数据校验生成一个值,如果两个值不匹配,则认为数据有问题。
  • 紧急指针(16位):仅当URG标志位被设置时有效,表示紧急数据的末尾位置。
  • 选项(可变长度):用于提供更多的可选功能,如MSS、时间戳等。这些可选字段可以用于实现拥塞控制、数据加密、性能优化等功能。

理解端⼝号的概念

端口号标识了主机上通信的不同应用程序

  • 0 - 1023: 知名端⼝号, HTTP, FTP, SSH等这些⼴为使⽤的应⽤层协议, 他们的端⼝号都是固定的.
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值