目录

  • 概述
  • 运输层端口号、复用与分用
  • TCP ,UDP对比
  • TCP流量控制
  • 拥塞控制
  • TCP超时重传时间的选择(计算)
  • TCP可靠传输实现
  • 三次握手
  • 四次挥手
  • 报文段首部
  • 传送门

概述

计算机网络中的物理层、数据链路层以及网络层他们共同解决了将主机通过异构网络互连起来所面临的问题,实际了主机到主机的通信

在计算机网络中进行通信的真正实体是位于通信两端主机中的进程
运输层任务是为运行在不同主机上的应用进程提供直接的通信服务

运输层协议又称为端到端协议

在运输层中不同的端口(统一应用进程标识符)对应不同的应用进程

运输层为应用层提供两种不同的运输协议:面向连接的TCP协议、无连接的UDP协议

运输层端口号、复用与分用

计算机中的进程使用 进程标识符PID标识,由于不同操作系统使用不同的进程标识符,因此使用端口号统一对TCP/IP体系的应用进程进行标识

端口号只具有本地意义,即端口号只是为了标识本计算机应用层中的各进程,在因特网中,不同计算机中的相同端口号没有联系

应用层发送的应用报文在运输层采用UDP协议进行封装 称为 UDP 复用,使用TCP协议进行封装 称为TCP复用,之后再网络层使用IP协议封装成 IP数据报 称为 IP复用
IP数据报首部中协议字段值表明IP数据报中的数据载荷部分封装的是何种协议数据单元,值为6表示封装的是TCP报文段, 值为17 表示封装的是UDP用户数据报

属UDP协议及熟知端口号:
RIP/520,DNS/53,TFTP/69,SNMP/161,DHCP/67/68
属TCP协议及熟知端口号:
SMIP/25,FTP/21/20,BGP/179,HTTP/80,HTTPS/443

TCP ,UDP对比

用户数据报协议UDP (User Datagram Protocol):

  1. 无连接的
    2、单播,多播,广播(支持一对一,一对多,一对全的通信)
    3、应用报文处理:发送方进程将应用报文交给运输层UDP,UDP直接给应用层报文添加一个UDP首部,构建UDP用户数据报,并发送;(UDP是面向应用报文的,即不合并,不拆分
    4、向上层提供无连接不可靠的传输服务(适用 实时应用)
    首部格式:UDP用户数据报首部仅8个字节

传输控制协议TCP(Transmission Control Protocol):
1.三报文握手建立连接,四报文挥手释放连接 (逻辑连接关系)
2、一对一通信(单播)(全双工通信)
3、发送方TCP将应用进程交付的数据块当成一连串、无结构的字节流(TCP是面向字节流的,是TCP实现可靠传输,流量控制,拥塞控制的基础
4、向上层提供有连接可靠的传输服务(适用可靠传输)
5、首部格式:TCP报文段首部最小20字节,最大60字节

TCP流量控制

流量控制是让发送方的发送速率不要太快,要让接收方来得及接收
利用 滑动窗口机制 在TCP连接上实现对发送方的流量控制

拥塞控制

拥塞现象:对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要破坏
若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降

四种拥塞控制算法:慢开始,拥塞避免,快重传,快恢复

慢开始算法拥塞窗口按指数型增长(依传输轮次)
当拥塞窗口大于等于慢开始门限时,改用拥塞避免算法拥塞窗口只能线性加1
当拥塞窗口达到某个值时,发送方重传计时器超时,则判断网络很可能出现拥塞,则进行一下工作:

慢开始 是指一开始向网络注入的报文段少,并不是指拥塞窗口cwnd增长慢
拥塞避免 并非指完全能够避免拥塞,而是指在拥塞避免阶段将拥塞窗口控制为按线性增长,使网络比较不容易出现拥塞;

采用快重传算法可以让发送方尽早知道发生了个别报文段的丢失,提早进行重传而不是等重传计时器超时后再重传
此方法要求:
1、接收方不要等待发送数据时才进行捎带确认,而要立即发送确认
2、即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认
3、发送方一旦收到三个连续的重复确认,就将相应的报文段立即重传,而不是等该报文段的超时计时器超时再重传

发送方一旦收到3个连续重复确认,就知道现在丢失了个别的报文段。于是不启动慢开始算法,而执行 快恢复算法

TCP超时重传时间的选择(计算)

根据TCP协议的规定,当接收方收到乱序片段时,需要重复发送ACK


TCP可靠传输实现

TCP是基于 以字节为单位的滑动窗口 来实现可靠传输


三次握手

四次挥手

报文段首部

序号:

数据偏移:占4 bit
用于指出TCP报文段数据荷载部分的起始位置 距离 TCP报文段的起始位置有多远
即指出TCP报文段的首部长度
由于数据偏移以4字节为单位,4bit最大表示数为15,则可表示的最大首部长度为4*15 为60字节
由于TCP报文段首部固定长度为20字节,则数据偏移字段最小值为5即(0101)


传送门

计算机网络微课堂
两张动图-彻底明白TCP的三次握手与四次挥手
TCP-IP详解:超时重传机制
抓包分析序列号、确认号、三次握手、四次挥手

计算机网络知识学习(核心:网络协议)-- 运输层相关推荐

  1. 计算机网络基础知识总结之网络协议

    计算机网络学习的核心内容就是网络协议的学习.网络协议是为在计算机网络中进行数据交换而建立的规则.标准或者说是约定的集合.因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的 ...

  2. 计算机网络协议教案,计算机网络实验教案(6)网络协议分析-IP协议3.pdf

    计算机网络实验教案(6)网络协议分析-IP协议3.pdf (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机网络实验> ...

  3. 计算机网络知识梳理(1)——网络层次

    计算机网络学习的核心内容就是网络协议的学习 网络层次划分: OSI七层:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 TCP/IP五层:物理层.数据链路层.网络层.传输层.应用层 TCP ...

  4. 计算机网络 ip协议是,计算机网络知识:TCP/IP协议

    一.什么是TCP/IP? TCP协议和IP协议指两个用在Internet上的网络协议(或数据传输的方法).它们分别是传输控制协议和互连网协议.这两个协议属于众多的TCP/IP 协议组中的一部分. TC ...

  5. 计算机网络知识学习(核心:网络协议)-- 应用层

    目录 客户/服务器方式(C/S方式)和对等方式(P2P方式) 动态主机配置协议DHCP 域名系统DNS 文件传送协议FTP 电子邮件 SMTP / POP3,IMAP 万维网WWW 传送门 客户/服务 ...

  6. 计算机网络中lan是什么原因,LAN是什么意思?LAN局域网基础知识介绍_网络协议...

    LAN是Local Area Network的简称,中文名称:局域网.从功能上来讲,由一台以上的路由器或者交换机,与多台计算机联网组成的网络,或者直接两台或者两台以上的计算机组成的网络.局域网可以实现 ...

  7. 网络知识入门,网络协议体系架构(一)

    1.常用网络知识目录 1)子网掩码.ip分段 .tcp三次握手四次切断.ip地址库,纯真库,自建ip库,ip寻址算法,ip寻址工具,dhcp,pppoe,udp协议 2)dns原理,相关网络命令,dn ...

  8. 6 linux 制作raw命令_云计算网络知识学习-linux网络基础

    1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...

  9. linux 路由跟踪命令_云计算网络知识学习-linux网络基础

    1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...

最新文章

  1. 虚拟化基础架构Windows 2008篇之1-虚拟化基础服务概述
  2. Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境
  3. python 字符串前加r和f
  4. python paramiko安装_Python Paramiko模块的安装与使用详解
  5. rocksdb原理_[转]Rocksdb Compaction原理
  6. [Python] L1-001. Hello World-PAT团体程序设计天梯赛GPLT
  7. Java并发编程之CAS和AQS
  8. SpringBoot 1.快速搭建一个 SpringBoot Maven工程
  9. cc语言取消引用_「初识C语言」编译过程
  10. OC 自定义 get/set 方法注意点
  11. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(二)数据库初始化、基本登录页面以及授权逻辑的建立...
  12. pwrkey直接接地 sim7020_有方模块常见问题解答
  13. DarkGDK的杯具体验
  14. qpython3编辑器手机版下载_QPython3
  15. vue.js not detected问题解决
  16. 【Lua 入门基础篇(七)】表模块与包
  17. Matlab数字图像处理学习记录【9】——表示与描述
  18. app内接入高德地图常用设置及工具方法整理
  19. 期刊投稿状态_SCI期刊投稿各种状态详解
  20. hive常用的内置函数

热门文章

  1. 国际化的支持--多编码问题
  2. 为什么vi用HJKL和ESC
  3. Python下载prettyloaded的swf
  4. LINUX SAN 500G重新分区、格式化,后成功恢复数据90%
  5. 大数据处理需注意的问题
  6. 卫星轨道的估计问题(Matlab)(一):理论基础
  7. 华为 台积电 高通申请_台积电/高通纷纷力挺华为!全面放下姿态:将不再断供华为芯片产品...
  8. AcWing 1884. COW(前缀和)
  9. SWPU信息学院团体程序设计竞赛题解
  10. 语言怎么表示词谱_黄庭坚被踢了!喝火令,还词谱本来面目