当前位置: 首页 > news >正文

Linux网络:传输层

传输层,负责数据能从发送端传输到接收端

零. 前置的一些知识

理解什么是报文在内核角度

socket套接字和文件系统的关系

一. UDP协议

1. 端口号

端⼝号(Port)标识了⼀个主机上进⾏通信的不同的应⽤程序

在TCP/IP协议中, ⽤ "源IP", "源端⼝号", "⽬的IP", "⽬的端⼝号", "协议号" 这样⼀个五元组来标识⼀个 通信(可以通过netstat -n查看)

端口号的划分:0~1023为知名端口号,HTTP, FTP, SSH等这些⼴为使⽤的应⽤层协议, 他们的端⼝号都是固定的。1024~65535,为操作系统动态分配的端口号。

一个进程可以绑定多个端口号,一个端口号只能绑定一个进程。

2. UDP协议

对于一个协议来说,需要解决两个问题,第一是,报头和有效载荷怎么分离,第二个是分用问题,

对于第一个来说,UDP的协议的报头部分的大小是固定的,可以使得报头和有效载荷分离,第二个问题,就是如何交付给上层,和如何返回,根据目的端口话,和源端口号。

16位UDP长度:里面保存了UDP的总长度,包括报文的报头和正文的属性的和。所以UDP已经做过了粘包问题,所以UDP不考虑粘包问题。但是这个大小是16的也就是意味着,我们发送的大小是有最大限制的,也就是最大64K,如果我们需要传输的数据超过64K, 就需要在应⽤层⼿动的分包, 多次发送, 并在接收端⼿动拼装。

16位的UDP校验和:如果校验和出错, 就会直接丢弃。

协议其实就是一个结构化的字段在OS的内核中,在Linux中的结构如下图

3. UDP的特点

二. TCP协议

1. TCP的协议的格式

怎么区分正文和有效载荷,报头的大小固定为20字节,4位首部长度(单位为4字节),里面保存了报头和选项的大小的和。

16会源端口号和目的端口号,UDP写过

剩余的可靠性里面讲。

2. 理解TCP的可靠性的问题

TCP的可靠性的核心是确认应答机制,我们只需要保证消息的可靠性,而不需要保证应答的可靠性,我们接收到一个消息,给对方做应答,表示我们收到了历史的信息,对方对方是否收到我们的应答,我们不关心,如果没有收到应答对方会重新发送的。应答不需要再应答了。应答是不带数据的。

在实际的场景中,并不是对方发一条信息,我们就回复一条应答,这样的效率太低了(但是也会存在这种),更一般的场景是一次发送多条的消息,然后再应答。注意:我们来回发的报文。

接收的顺序可能是乱序的,所以发送的时候需要有序号。对于应答来说有确认序号的概念。

为什么TCP报头里面需要两个序号,因为我们应答的时候,可以把我们要发送的数据发过去,这叫捎带应答,即是对上个消息的确认,也是一个的数据的报文。

主机A给主机B发送了大量的数据,导致主机B来不及接收的话,主机B就会丢包,但是这样的丢包是不合理,因为主机A到主机B消耗了大量的资源,所以有了16位窗口大小,这样我们可以知道对端剩余接收窗口的大小,也就是对端的接收能力。我们把这种根据窗口大小调整发送速率的这种方式叫做,流量控制。

有的报文是请求建立连接的,应答的,断开链接,有不同的状态,所以需要不同的标志位。标志位的本质其实就是比特位。

http://www.dtcms.com/a/484192.html

相关文章:

  • 山东省荣成市建设局网站白酒企业网站建设
  • 手机网站模板 织梦怎么做试玩平台推广网站
  • 海西州电子商务网站建设建网站没有实体公司能建站吗
  • 室内设计在线网站网站主页尺寸
  • 2017年4月自考《信息组织》试题
  • 网站后台视频教程专业提供网站建设服务包括哪些
  • RocketMQ 集群核心概念-幂等消息-幂等问题的出现
  • 环境设计排版哪个网站好常用的设计网站有哪些
  • 利用技术搭建网站做网站代理网站后台管理系统php
  • 阿里云服务器 放多个网站县信用平台网站建设情况
  • 32位汇编:实验5算数运算类指令使用
  • 注册中文域名外贸工厂网站做seo多吗
  • 转运网站开发网站的后缀
  • 南京高新区网站建设wordpress 支持手机6
  • [Backstage] 插件架构 | 软件目录 | 实体的生命周期
  • 南宁市住房建设局网站哈尔滨建站软件
  • 温州建设小学的网站商业网站建设教程
  • 搭建网站团队计划wordpress 文件上传插件
  • ICT 数字测试原理 22 - -系统保护
  • Linux动静态库:库的制作与使用
  • 上饶专业的企业网站建设公司建设电影网站论文
  • 混合精度参数说明及数据集相关参数(121)
  • 网站建设前期规划中学生做的网站有哪些
  • 滨州网站建设哪家好空气炸锅做糕点的网站
  • 广州网站设计公司推荐哪家落地页网站建设
  • discuz网站编码戚墅堰网站建设
  • 电子商务网站设计与规划网站建设工作情况
  • 唐山网站制作价格做网站用什么软件?
  • 【04】C#入门到精通——C# 程序错误处理, try catch 捕获异常,避免程序崩溃
  • 学校建设网站目标东营网站建设那家好