[计网04] 传输层和应用层 笔记 总结 万字详解

目录

传输层概述和功能

URL 和URI

端口号划分

套接字Socket

UDP(User Datagram Protocol)

UDP首部

UDP伪首部

TCP 三报文握手和四报文挥手

TCP(Transmission Control Protocol)

TCP首部报文格式

TCP流量控制

cwnd(Congestion Window)

RTT(Round-Trip Time)

TCP拥塞控制

慢开始和拥塞避免

快重传和快恢复

三个重复确认

超时检测

应用层概述和功能

HTTPS

SSL证书

DNS


传输层概述和功能

传输层主要负责提供端到端的数据传输服务。它使用端口号标识不同的应用程序,为应用层提供数据可靠性、流量控制和错误恢复等功能。常用的传输层协议包括 TCP(传输控制协议)和 UDP(用户数据报协议)。

进程间的逻辑通讯
主机端的层次

网络层:校验数据首部,传输层校验数据内容 也就是差错检测了

URL 和URI

URI: /api/login

URL: https ://domain: port/api/login
https ://domain: port/projectName/api/login

端口号划分

服务端

熟知端口号

  • 范围:0到1023
  • 这些端口号被IANA(互联网数字分配机构)分配给了常见的服务和应用。
  • 由于这些端口与特定的服务紧密相关,它们通常需要管理员权限才能在服务器上进行绑定。
  1. FTP (File Transfer Protocol)

    • 控制(命令)端口:21
    • 数据端口:20(用于主动模式的数据传输)
  2. TELNET (Teletype Network)

    • 端口:23
    • 用于远程登录到计算机系统。
  3. SMTP (Simple Mail Transfer Protocol)

    • 端口:25
    • 用于发送电子邮件。
  4. DNS (Domain Name System)

    • 端口:53
    • 用于将域名解析为IP地址。
  5. TFTP (Trivial File Transfer Protocol)

    • 端口:69
    • 简化版的文件传输协议,不提供FTP的许多高级功能。
  6. HTTP (Hypertext Transfer Protocol)

    • 端口:80
    • 用于在Web浏览器和服务器之间传输网页。
  7. SNMP (Simple Network Management Protocol)

    • 端口:161
    • 用于网络管理的协议,允许网络管理员通过IP网络对设备进行管理和监控。

登记端口号 (Registered Ports):

  • 范围:1024到49151
  • 这些端口不是由IANA分配给特定服务的,但是用于那些不需要熟知端口号的服务。应用程序通常会在这个范围内注册一个端口用于通信。
  • 这些端口通常不需要特殊权限就可以绑定,因此它们是用户级别的服务和应用的理想选择。

客户端

动态端口号或私有端口号 (Dynamic or Private Ports):

  • 范围:49152到65535
  • 这部分端口号通常被客户端用于与服务器的短暂通信。当客户端程序发起到服务器的连接时,会从这个范围内选择一个未使用的端口作为源端口。
  • 这些端口不需要预先注册,也通常不会永久绑定到任何服务。

套接字Socket

在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。
套接字Socket=(主机IP地址,端口号)

UDP(User Datagram Protocol)

1.UDP是无连接的,减少开销和发送数据之前的时延。
2.UDP使用最大努力交付,即不保证可靠交付。
3.UDP是面向报文的,适合一次性传输少量数据的网络应用。
面向报文也就是说他不会对应用层下来的报文进行任何处理 直接加上UDP头部传输给下一层

UDP首部

UDP首部仅包含四个字段,总共8个字节:

  1. 源端口(Source Port):这是发送方的端口号,用于接收方回复数据。如果不需要回复,该字段可设置为零。
  2. 目的端口(Destination Port):这是接收方的端口号,指定了数据包应被送达的目标应用程序。
  3. 长度(Length):这是UDP数据报的长度,包括首部和数据。它的最小值是8字节(仅首部)。
  4. 校验和(Checksum):用于错误检测的校验和,它包括首部和数据。如果发送方不想进行校验,可以将其设置为零。

UDP伪首部

只负责校验数据 不向上递交, 也不向下传输

虽然UDP本身的首部非常简单,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值