计算机网络-传输层

网络层不具有重传,需要传输层来控制。

  • Tcp:需要将传输的数据进行分段传输,并且能够建立会话,具备流量控制,是一种可靠的传输协议
  • UDP:一个数据包就能完成数据通信,不分段,不需要建立会话,不需要流量控制,是一种不可靠控制。DNS服务器,广播,多播

命令

查看会话:netstat -n

查看建立会话的进程:netstat -nb

查看侦听的端口:netstat -an, netstat -a

应用层协议

  • Http: TCP + 80
  • Https: Tcp + 443
  • FTP : TCP + 21
  • SMTP : TCP + 25
  • telnet: Tcp+23
  • DNS: UDP + 53
  • 共享文件夹:TCP + 445
服务器与应用层之间的关系

服务使用Tcp或者UDP端口侦听客户端请求,客户端使用IP地址定位服务器,使用目标端口定位服务。可以在服务器网卡上设置只开发必要的端口,实服务器的网络安全

传输层与网络层之间的关系

传输层 程序到程序,或者说是服务到服务,这个由"端口号"确定

网络层 地址到地址,这个由IP地址确定

UDP:用户数据报协议

UDP是不可靠的协议:它把应用程序传给IP层的数据发送出去,但是并不能保证他们能送达目的性。支持一对一,一对多,多对一的交互通信。

UDP的首部是8个字节,开销小。端口号表示发送进程和接受进程。UDP首部字段是UDP首部和UDP数据长度和,因此这个字段的最小值是8,即UDP首部长度值。这个字段其实是多余的,因为等于IP数据报长度减去IP首部长度。

UDP校验和

UDP检验和是一个端到端的检验和。它由发送端计算,然后由接收端验证。其目的是为了发现UDP首部和数据在发送端到接收端之间发生的任何改动。
UDP校验和是可选的,TCP的校验和是必须的。计算方法和ip首部的校验和计算类似,用的是16进制的二进制反码和,但是不同之处在于:

  • UDP数据报长度可以是奇数字节数,解决办法是需要填充
  • UDP数据报包含一个12字节长的伪首部
    这个伪首部,包含了一些IP的一些字段,目的是让UDP两次检查数据是否已经正确到达目的地,即IP没有接受地址不是本机的数据报。

如果校验和发生差错,那么UDP数据报就会被丢弃。

IP分片

当IP数据报的长度大于MTU时就要被分片。

使用UDP很容易导致IP分片。以太网数据帧的最大字节数是1500,其中1480留给IP数据报,如果IP数据报首部20字节,UDP首部8个字节,不产生分片IP数据报的数据部分最大字节是1472字节。多于这个字节数就会导致分片。

分片后,传输层首部(就是UDP首部)只出现在第一片。

UDP应用:多播和广播

多播和广播仅仅应用于UDP。

广播

一个主机要向同一个网络的所有其他主机发送帧,这就是广播。那么网卡是如何确定广播的? 网卡仅接收那些目的地址为网卡物理地址或广播地址的帧 。对于以太网,当地址中最高字节的最低位设置为1 时表示该地址是一个多播地址,用十六进制可表示为01 : 00 : 00 : 00 : 00 : 0 0(以太网广播地址 ff : ff : ff : ff : ff : ff 可看作是以太网多播地址的特例)。

Tcp协议

  • Tcp协议如何实现可靠传输
  • Tcp协议如何实现流量控制
  • Tcp协议如何避免网络拥塞

Tcp是面向连接的传输协议,每次都要三次握手建立连接,每一条Tcp连接都是只能点对点,

Tcp提供可靠交付的服务

Tcp提供全双工通信

面向字节流

可靠传输

  • 停止等待协议
  • 确认丢失

报文

序号,就是数据在整个数据中的偏移地址+1,就是第几个字节。接收端确认回应,下一次可以发送字节偏移量。

数据便偏移:首部最长是60个字节,选项最多40个字节,首部以后的数据

SYN 发起会话请求

ACK 同意会话请求

URG 不需要等待,直接发送,插队

PSH 接收端是优先接受,插队

RST TCP会话出现严重问题,意外中断,重新建立会话

FIN 正常中止

相关推荐
三思而后行,慎承诺1 小时前
tcp 和http 网络知识
网络·tcp/ip·http
JavaEdge.1 小时前
LangChain4j HTTP 客户端定制:解锁 LLM API 交互的更多可能性
网络·网络协议·http
Hy行者勇哥1 小时前
形象解释 HTTP 的四种常见请求方式及其中的区别联系
网络·网络协议·http
Cuit小唐1 小时前
TCP 协议:原理、机制与应用
网络·网络协议·tcp/ip
电鱼智能的电小鱼2 小时前
EFISH-SBC-RK3588无人机地面基准站项目
linux·网络·嵌入式硬件·机器人·无人机·边缘计算
电鱼智能的电小鱼2 小时前
基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
linux·网络·嵌入式硬件·数码相机·无人机·边缘计算
Arenaschi3 小时前
SQLite 是什么?
开发语言·网络·python·网络协议·tcp/ip
沧浪之水!3 小时前
【Linux网络】:套接字之UDP
linux·网络·udp
上海云盾-高防顾问3 小时前
高防IP+CDN组合:电商大促的“双保险”防护方案
网络·网络协议·tcp/ip
迷路的小绅士4 小时前
常见网络安全攻击类型深度剖析(三):DDoS攻击——分类、攻击机制及企业级防御策略
网络·web安全·ddos