加油,偷博仔!
为了给学习增添一丝文艺美感,沉静一下学习的心境。
我买了一本朦胧主义的诗集《顾城的诗》
附几句干净、美好的诗句在开头。

树枝想要去撕裂天空,
却直戳了几个微小的窟窿,
它透出天外的光亮,
人们把它叫做月亮和星星。
——《星月的来由》

文章目录

  • 一、概述和传输层服务。
    • 1.传输服务和协议
    • 2.传输层 vs.(versus) 网络层
    • 3.Internet传输层协议
  • 二、多路复用和解复用
    • 1.多路解复用工作原理
    • 2.无连接(UDP)多路解复用
      • 2.1举个例子:
    • 3.面向连接(TCP)的多路复用
      • 3.1举个例子:
  • 三、无连接传输:UDP
    • 1.UDP:用户数据报协议
    • 2.UDP校验和 (校验和,是一个名词噢)
      • 2.1Internet校验和的例子

一、概述和传输层服务。

目标:

  •  理解传输层的工作原理
     多路复用/解复用
     可靠数据传输
     流量控制
     拥塞控制

  •  学习Internet的传输层协议
     UDP:无连接传输
     TCP:面向连接的可靠传输
     TCP的拥塞控制

老师课件的提纲

1.传输服务和协议

  •  为运行在不同主机上的应用进程提供逻辑通信
  •  传输协议运行在端系统
     发送方:将应用层的报文分成报文段,然后传递给网络层
     接收方:将报文段重组成报文,然后传递给应用层
  •  有多个传输层协议可供应用选择
     Internet: TCP和UDP

2.传输层 vs.(versus) 网络层

 网络层服务:主机之间的逻辑通信
 传输层服务:进程间的逻辑通信
都是逻辑通信,网络层在主机层面,传输层更细分一步,在进程层面。

且传输层有赖于:

  •  依赖于网络层的服务 • 延时、带宽
  •  并对网络层的服务进行增强• 数据丢失、顺序混乱、加密

有些服务是可以加强的:不可靠 -> 可靠;安全
但有些服务是不可以被加强的:带宽,延迟


Ann和Bill分别收齐(复用)小孩的信和拆分(解复用)小孩们的信。


3.Internet传输层协议

  •  可靠的、保序的传输:TCP
     多路复用、解复用
     拥塞控制
     流量控制
     建立连接
  •  不可靠、不保序的传输:UDP
     多路复用、解复用
     没有为尽力而为的IP服务添加更多的其它额外服务
  •  都不提供的服务:  延时保证  带宽保证

二、多路复用和解复用

引入了端口号的机制来区分不同进程,TCP、UDP的端口号都是16bits,有6w+个端口号

在发送方主机多路复用
在接收方主机多路解复用


我是这么理解的:
应用层的报文信息被分成一段一段的段,和socket(假说是TCP的socket,四元组)一起往下层交,然后tcp 加头(目标port、源port + 段),成为报文段segment。然后继续往下层交,加头(目标ip、源ip)
最后再目标的ip处,去头、在目标的tcp处,去头。
本质上,就是使用了port 下面会有例子说明


1.多路解复用工作原理

  •  解复用作用
    TCP或者UDP实体采用哪些信息,将报文段的数据部分交给正确的socket,从而交给正确的进程
  •  主机收到IP数据报
     每个数据报有源IP地址和目标地址
     每个数据报承载一个传输层报文段
     每个报文段有一个源端口号和目标端口号 (特定应用有著名的端口号)
  •  主机联合使用IP地址和端口号将报文段发送给合适的套接字


由TCP传递给IP的信息单位称为报文段或段(segment)
再回顾一下第一章“各层次的协议数据单元”

2.无连接(UDP)多路解复用



2.1举个例子:


如图,左右两边的Client 应用 进程P3和P4向中间的Server 应用进程P1发送UDP 数据报。How do they do it?

P4和P3发过来的UDP报文段目标端口(destination port)都是6428
即便P4和P3的源ip、源port不一样,但是都发给了中间服务器端口号为6428的、相同的应用进程。
就是这样一个情况。


再来看看中间的Server 的进程P1给左右主机的进程P3、P4是如何发UDP数据报的
如图所示,很明朗了
以表格中的6428为正确的DP,途中绿色框框中DP的值,左边多了个4。


3.面向连接(TCP)的多路复用

  •  TCP套接字:四元组本地标识:
     源IP地址
     源端口号
     目的IP地址
     目的端口号

  •  解复用:接收主机用这四个值来将数据报定位到合适的套接字

  •  服务器能够在一个TCP端口上同时支持多个TCP套接字:
     每个套接字由其四元组标识(有不同的源IP和源PORT)

  •  Web服务器对每个连接客户端有不同的套接字
     非持久对每个请求有不同的套接字


3.1举个例子:


红色字意思是:三个报文段(segment),都指向IP地址B,dest端口:80,被解复用到不同的套接字
`
如图,主机A(A也是主机A的ip addr)的进程P3和服务器B的进程P4通信,相同的,P5和P3通信、P6和P2通信。
·
主机C的P2、P3进程的源Port不同,但是目标port一致,但对应了Server B的不同进程(P6、P5)
·
主机A的P3和主机C的P3的源port不一样,但目标port、目标ip一样,但对应了Server B的不同进程
·
所以四元组就可以唯一确定一个TCP socket会话关系



还有一张图,课件有,老师没说,我附一下:

“服务器能够根据源IP地址和源端口号来区分来自不同客户机的报文段。
但是套接字与进程之间并非总是有着一一对应的关系。
事实上,Web服务器通常一个服务进程可以为每个新的客户机连接创建一个具有新连接套接字的线程。
显然,对于这样的服务器,在任意给定的时间内都可能有很多套接字(具有不同的标识)连接到同一个进程。”


三、无连接传输:UDP

UDP: User Datagram Protocol [RFC 768]

  • “no frills,” “bare bones”Internet传输协议 (没有装饰,光秃秃的骨头“互联网传输协议)
  •  “尽力而为”的服务,报文段可能
     丢失
     送到应用进程的报文段乱序
  •  无连接:
     UDP发送端和接收端之间没有握手
     每个UDP报文段都被独立地处理
  •  UDP 被用于:
     流媒体(丢失不敏感,速率敏感、应用可控制传输速率)
     DNS
     SNMP
  •  在UDP上可行可靠传输:
     在应用层增加可靠性
     应用特定的差错恢复

1.UDP:用户数据报协议


源端口号目标端口号各2个Bytes
可以传的很快:网络层的传输速率,几乎就是应用的传输速率
校验和EDC

EDC=error-detection and-correction 差错检测和纠错比特

头部很小(开销cost很小),固定的8个Bytes,而TCP的是20个Bytes头大,开销大。


2.UDP校验和 (校验和,是一个名词噢)

目标: 检测在被传输报文段中的差错 (如比特反转)

要是UDP数据报(datagram)出现了差错,也不纠正,也不反馈,直接drop掉。


  • 发送方:
     将报文段的内容视为16比特的整数
     校验和:报文段的加法和 (1的补运算)
     发送方将校验和放在UDP的校验和字段

  • 接收方:
     计算接收到的报文段的校验和
     检查计算出的校验和与校验和字段的内容是否相等:
     不相等––检测到差错
     相等––没有检测到差错,但也许还是有差错 (残存错误,负负得正感觉,错上加错,反而校验和是对的)

2.1Internet校验和的例子

 注意:当数字相加时,在最高位的进位要回卷,再加到结果上

例子:两个16比特的整数相加

回卷就是最高位的进位,加到最低位。

本篇结束。

Day5:传输层概述、传输层服务、多路复用和解复用、无连接传输 UDP相关推荐

  1. 【传输层01】传输层概述

    目录 1 传输层的功能 2 两个重要协议 3 常见服务及端口 4 总结 参考文献 1 传输层的功能 传输层是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层. 主要功能:传输层提供了主机应 ...

  2. s6-1 传输层概述

    6.1 传输层概述 传输层概述 传输层是整个协议栈(TCP/IP)的核心 传输层的任务是提供可靠的.高效的数据传输 传输层的地位 网络层.传输层和应用层  传输层在应用层和网络层之间提供了无缝接口 ...

  3. 计算机网络-传输层(传输层概述,TCP,UDP协议概述)

    文章目录 1. 传输层概述 2. TCP,UDP协议概述 3. 传输层的寻址与端口 1. 传输层概述 传输层是只有主机才有的层次. 传输层功能: 传输层提供进程和进程之间的逻辑通信. 网络层提供主机到 ...

  4. 【计算机网络】传输层(一)—— 传输层概述

    [计算机网络]传输层(一)-- 传输层概述 一.传输层的功能 二.传输层的寻址与端口 (一).端口 (二).端口号 端口号的分类 (三).套接字 (四).UDP (五).TCP 一.传输层的功能 传输 ...

  5. (王道考研计算机网络)第五章传输层-第一节:传输层概述、功能和端口

    指导获取:密码7281 专栏目录首页:[专栏必读]王道考研408计算机网络+湖科大教书匠计算机网络+网络编程万字笔记.题目题型总结.注意事项.目录导航和思维导图 王道考研408计算机组成原理万字笔记 ...

  6. TCP/IP数据包 - 传输控制层到链路层

    注:本文转自  https://blog.csdn.net/luguifang2011/article/details/40658723 一.OSI七层模型 OSI中的层 功能 TCP/IP协议族 应 ...

  7. 网际互联及TCP/IP 协议OSI七层模型: 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

    网际互联及TCP/IP 协议OSI七层模型: 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 物理层 作用:定义一些电器,机械,过程和规范,如集线器: PDU(协议数据单元):bit/比特 ...

  8. 计算机网络中TCP属于,【填空题】TCP/IP协议将计算机网络的结构划分为应用层、传输层、网络互连层等4个层次,其中IP协议属于【1】层。...

    [填空题]TCP/IP协议将计算机网络的结构划分为应用层.传输层.网络互连层等4个层次,其中IP协议属于[1]层. 更多相关问题 [单选] 数据格式为透明的是()的通道,它与信号速率及电调制方式无关, ...

  9. pdcp层的作用_LTE协议栈总体架构、PDCP层及RLC层概述

    系统架构 无线接入网和核心网的总体系统架构演进,结果是形成了一个扁平的RAN架构 + 分组核心网EPC架构. RAN负责整体网络中所有无线相关功能,包括调度.无线资源管理.重传协议.编码和各种多天线方 ...

最新文章

  1. EKL相关(一)、安装环境
  2. bind merge r 和join_R语言中的数据合并函数(merge,cbind和rbind)的使用
  3. 关于path.join,path.resolve的详细介绍
  4. 好像是第一次在公司外的论坛上公开演讲
  5. (十三)事件分发器——event()函数,事件过滤
  6. Cortex-M3中的寄存器组
  7. python中pow_python – 为什么pow(x,y)的时间复杂度为O(1),而x ** y为O(n)?
  8. springmvc常用注解之@Controller和@RequestMapping
  9. java的字节码无法显示_【java】查看Java字节码文件内容的方法+使用javap找不到类 解决方法...
  10. 如何查看使用 Cloud Toolkit 部署应用的实时日志
  11. lnmp测试php,php ,nginx 搭建负载均衡lnmp,小白测试
  12. 特殊用法(AHB写)
  13. html5 Canvas画图3:1像素线条模糊问题
  14. 从CSV和VCF文件中获取联系人信息
  15. 2022年互联网+全国大学生创新创业大赛解读
  16. CAD转换PDF文件失败,打开后内容是空白的
  17. 蓝桥杯五4史丰收速算
  18. air.tv.douyu.android,斗鱼(air.tv.douyu.android) - 7.0.6.1 - 应用 - 酷安
  19. 【历史上的今天】10 月 24 日:1024 程序员节;中文维基百科上线;苹果发布 iPad mini
  20. 零基础学PHP10小时多媒体教学视频pdf

热门文章

  1. JavaScript 内存泄漏
  2. R语言-dnorm-pnorm-qnorm-rnorm的区别
  3. Ubuntu查看内存信息
  4. ubuntu查看内存占用情况
  5. Fragment did not create a view
  6. dedecms织梦搜索页有缩略图就调用无缩图就不显示
  7. 算法设计与分析项目-有容量设施选址问题
  8. Install Tengine on Centos
  9. 中国城市手册隐私政策
  10. labview 9点标定 手眼标定