计算机网络第五章、第六章

news2024/11/25 18:52:51

1.传输层

定义:为应用层提供通信服务使用网络层的服务

传输层的功能:

  1. 传输层提供进程和进程之间的逻辑通信

  1. 复用和分用

  1. 传输层对收到的报文进行差错检测

  1. 传输层的两种协议

传输层的两个协议:

1.面向连接的传输控制协议TCP:传送数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。    可靠,面向连接,时延大,适用于大文件

2.无连接的用户数据报协议UDP:传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。     不可靠,无连接,时延小,适用于小文件

复用:应用层所有的应用进程都可以通过传输层再传输到网络层

分用:传输层从网络层收到数据后交付指明的应用进程

在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程

1.UDP协议

UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能

UDP的主要特点:

1.UDP是无连接的,减少开销和发送数据之前的时延

2.UDP使用最大努力交付,即不保证可靠交

3.UDP是面向报文的,适合一次性传输少量数据的网络应用

4.UDP无拥塞控制,适合很多实时应用

5.UDP首部开销小,8B,TCP 20B

2.TCP协议

TCP特点:

  1. TCP是面向连接(虚连接)的传输层协议

  1. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。

  1. TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达

  1. TCP提供全双工通信

TCP字段解析:

序号:在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,本字段表示本报文段所发送数据的第一个字节的序号

确认号: 期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N则证明到序号N-1为止的所有数据都已正确收到

数据偏移(首部长度):TP报文段的数据起始处距离TCP报文段的起始处有多远以4B位单位,即1个数值是4B

六个控制为:

紧急位URG: URG=1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用

确认位ACK:ACK=1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1

推送位PSH:PSH=1时,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付

复位RST:RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输链接

同步位SYN:SYN=1时,表明是一个连接请求/连接接受报文

终止位FIN: FIN=1时,表明此报文段发送方数据已发完,要求释放连接

窗口:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量

检验和:检验首部+数据,检验时要加上12B伪首部,第四个字段为6

紧急指针: URG=1时才有意义,指出本报文段中紧急数据的字节数

选项:最大报文段长度MSS、窗口扩大、时间戳、选择确认

3.TCP链接建立和释放

TCP链接的建立:三次握手

ROUND 1:

客户端发送连接请求报文段,无应用层数据,     SYN=1,seg=x(随机)

ROUND 2:

服务器端为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据。

SYN=1,ACK=1,seg=y(随机), ack=x+1

ROUND 3:

客户端为该TCP连接分配缓存和变量,并向服务器端返回确认的确认,可以携带数据

SYN=0,ACK=1,seq=x+1,ack=y+1

TCP链接的释放:四次握手

ROUND 1:

客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接,         

FIN=1,seq=u

ROUND 2:

服务器端回送一个确认报文段,客户到服务器这个方向的连接就释放了-一半关闭状态

ACK=1,seq=v,ack=u+1

ROUND 3:

服务器端发完数据,就发出连接释放报文段,主动关闭TCP连接

FIN=1,ACK=1,seg=w,ack=u+1

ROUND 4:

客户端回送一个确认报文段,再等到时间等待计时器设置的2MSL(最长报文段寿命)后,连接彻底关闭

ACK=1,seq=u+1,ack=w+1

4.TCP流量控制

在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd (接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。

5.TCP拥塞控制

拥塞控制的四种算法:

1.慢开始     2.拥塞避免

3.快重传     4.快恢复

发送窗口=Min(接收窗口rwnd,拥塞窗口cwnd}

接收窗口接收方根据接受缓存设置的值,并告知给发送方,反映接收方容量

拥塞窗口发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络当前容量

1.慢开始和拥塞避免

2.快开始和快恢复

2.应用层

两个网络应用模型:客户/服务器(c/s) 模型P2P模型

1.客户/服务器(c/s) 模型

服务器:提供计算服务的设备。

  1. 永久提供服务

  1. 永久性访问地址/域名

客户机请求计算服务的主机

  1. 与服务器通信,使用服务器提供的服务

  1. 间歇性接入网络

  1. 可能使用动态IP地址

  1. 不与其他客户机直接通信

2.P2P模型

特点:

不存在永远在线的服务器

每个主机既可以提供服务,也可以请求服务

任意端系统/节点之间可以直接通讯

节点间歇性接入网络

节点可能改变IP地址

可扩展性好

网络健壮性强

3.DNS系统

域名的分类:

分类

二次分类

例子

顶级域名

国家顶级域名

cn,us,uk

通用顶级域名

com,net,org,gov,int,aero,museum,travel

基础结构域名/反向域名

arpa

二级域名

类别域名

ac,com,edu,gov,mil,net,org

行政区域名

用于我国各省、自治区、直辖市 bj,js

三级域名

四级域名

域名服务器:

  1. 根域名服务器

  1. 顶级域名服务器:管理该顶级域名服务器注册的所有二级域名

  1. 权限域名服务器:负责一个区的域名服务器

  1. 本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器

查询解析域名的两种方法:

1递归查询

2.迭代查询

4.文件传输协议FTP

定义:提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力

FTP是基于客户/服务器(c/S)的协议

FTP工作原理:

控制连接始终保持

数据连接保持一会

是否使用TCP20端口建立数据连接传输模式有关

主动方式使用TCP20端口

被动方式由服务器和客户端自行协商决定(端口1024)

5.电子邮件系统

1.简单邮件传送协议SMTP

SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息

负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器,使用的端口号是25

SMTP的缺点:

  1. SMTP不能传送可执行文件或者其他二进制对象

  1. SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字

  1. SMTP服务器会拒绝超过一定长度的邮件

解决:通用因特网邮件扩充MIME

2.网际报文存取协议IMAP

定义:IMAP协议比POP协议复杂。当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上

3.基于万维网的电子邮件

6.万维网

万维网www(World Wide web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合

URL:统一资源定位符

HTTP:超文本传输协议

万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来

1.超文本传输协议HTTP

HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器

HTTP的连接方式:

1.持久连接

  1. 非流水线连接

  1. 流水线连接

2.非持久连接

HTTP的报文结构:

1.请求报文

2.响应报文

HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASCII码串

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能辅助药物发现(1)肿瘤靶点识别

目录基于AI的靶点识别概述肿瘤建模肿瘤转录组转录组异质性单细胞转录组数据分析单细胞表观肿瘤模型肿瘤中的表观遗传模型基于甲基化测序技术的肿瘤表观遗传模型基于染色质可及性的肿瘤表观遗传模型多模态肿瘤建模靶点识别基于单细胞RNA的靶点发现基于表观的靶点发现基于多组学的…

点击化学交联剂N3-SS-N3,叠氮-二硫键-叠氮简介,CAS:352305-38-5

英文名称:Azidoethyl-SS-ethylazide N3-SS-N3 N3-S-S-N3 化学式:C4H8N6S2 分子量:204.3 CAS:352305-38-5 存储条件:-20C,避光,避湿 用 途:仅供科研实验使用,不用于…

《Buildozer打包实战指南》第四节 正式打包一个apk文件

目录 4.1 了解buildozer.spec配置文件中的常用参数 4.2 修改配置文件打包apk 在上一节内容中,我们配置好了打包环境,还顺带成功打包出了一个apk文件(读者可以把这个apk安装到手机上运行)。不过在打包这个apk前,我们没…

Unity学习笔记--如何在Unity运行cmd?并且在Unity中利用cmd操作svn(例如生成svn--diff文件)

目录前言需求拆分解决方案实操前言 最近工作有一个需求,简单来说是在 Unity 里面动态获取 SVN diff 的数据,并且针对这些 diff 文件做对应操作 需求拆分 我们首先拆分下需求 Unity里面获取 SVN 的 diff 文件针对生成的 diff 文件做解析,找…

Qt 视频播放

一、简介Qt对音视频的播放和控制,相机拍照,收音机等多媒体应用提供了强大的支持。Qt5使用了全新的Qt Multimedia模块来实现多媒体应用,而原来Qt4中用于实现多媒体功能的Phonon模块已经被移除。新的Qt Multimedia模块提供了丰富的接口&#xf…

【从零开始学习深度学习】50.Pytorch_NLP项目实战:卷积神经网络textCNN在文本情感分类的运用

在之前介绍的“卷积神经网络”中我们探究了如何使用二维卷积神经网络来处理二维图像数据。在语言模型和文本分类任务中,我们将文本数据看作是只有一个维度的时间序列,并很自然地使用循环神经网络来表征这样的数据。其实,我们也可以将文本当作…

安装 MySQL

1.下载安装文件 访问MySQL官网下载安装文件。 如下图所示,点击页面中的“DOWNLOAD”按钮。 点击下载之后自动进行下载。下载到本地的文件名称为:mysql-8.0.31-winx64.zip 2.解压安装文件 将压缩文件解压到你安装的目录,比如:F:…

数据结构与算法笔记

0 核心框架汇总 框架思维 数据结构的存储方式只有两种:数组(顺序存储)和链表(链式存储) 算法 数学中的算法重在推导,计算机中的算法重在穷举 计算机算法的本质特点: 穷举 穷举有两个关键难点…

Linux环境 java应用问题排查

0)查看CPU占用高的进程PID top -d 1 或 top -H 注: top -d 1 中的 1 是数字:1,不是字母 :l 。 1)查看内存使用情况(memory-info.log为具体文件路径) jmap -heap PID > memory-i…

某程序员跳槽涨薪50%!网友:不合理~

在IT届,有个传闻,跳槽就是程序猿涨工资最好的方式。大家认为程序员跳槽要求涨薪50%合理吗?有人说:凭本事涨的为啥不合理!01程序员跳槽要求涨薪50%过分吗?在知乎上看到这样一个帖子,有人提问“程…

CANoe 15版本中CAPL代码自动补全功能的小Bug

最近在使用CANoe 15版本的软件编写CAPL脚本时,遇到了一些小的困扰,记录下来分享给大家! 当我在capl函数中要传入两个参数时,除了逗号隔开两个参数外,还希望有一个空格能进一步拉开两个参数的距离,增加代码的可读性 但是,传入第一个参数后,输入逗号,此时capl的自动补…

IP 网络主动监测系统 Renix Active

一、IT网络运维面临的挑战​ 1.网络性能可视化​ • 与公有云和SaaS平台连接的可靠性​ • 广域网线路性能​ • 互联网专线性能​ 2.诊断工具​ • 现场无IT工程师覆盖​ • 诊断的人力费用​ • 网络与应用系统的纠结​ 3.用户体验​ • Web应用的访问质量​ • 语…

C++设计模式(2)——工厂方法模式

亦称: 虚拟构造函数、Virtual Constructor、Factory Method 意图 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。 问题 假设你正在开发一款物流管理应用。 最初版本只能处理卡车…

单目标应用:蜣螂优化算法DBO与麻雀搜索算法SSA求解无人机三维航迹规划(提供Matlab代码)

一、无人机三维航迹规划 三维航迹规划是无人机在执行任务过程中的非常关键的环节,三维航迹规划的主要目的是在满足任务需求和自主飞行约束的基础上,计算出发点和目标点之间的最佳航路。 1.1路径最短约束 无人机航迹规划的首要目标是寻找起飞点和目标点…

一文搞定visual studio code远程服务器的配置和文件上传

在跑大型程序的时候需要用到服务器,因此如何远程操作服务器就至关重要了。 很多教程教如何使用putty来操作,但是我的安装时候就出现错误了。再加上我用的visual studio code提供远程服务器控制以及文件传输功能。 因此我就使用vscode来配置相应的环境并…

Unity学习笔记--FixedUpdate真的是固定时间调用一次吗?

前言 我相信大家在学习Unity的时候,Update是每一帧调用,而FixedUpdate是固定时间调用一次。 一开始我们对这个知识深信不疑(楼主也是 .| ) 不过当我们学的更深入时,发现Unity其实是单线程的,所以它的生命…

解决d2l包下载不了的问题

目录 关于d2l包 1、在pypi网站的找到d2l包 2、cmd下载文件 3、检测d2l包的下载是否成功 4、在虚拟环境中完成安装 关于d2l包 d2l包是李沐老师等人开发的《动手深度学习》配套的包,最初的时候,我并没有安装的想法,可在代码实现方面&…

如何使用 max_fanout

在 逻辑层级不多,但是延时较高的 net 中,可以使用 max_fanout 来设置扇出, 但是要注意,还要如果驱动与负载不在同一层,一定要约束到负载的input,否则不生效 并且还要在 例化负载模块时加上 (* keep_hiera…

nacos安装及配置

本文介绍nacos的安装、配置,使用mysql存储数据。 1.下载 在github上下载对应的压缩包。地址:https://github.com/alibaba/nacos/releases 本文下载的是2.0.2版本: 2.解压 进入下载文件所在的目录,并执行以下语句: t…

GEE10:Earth Engine Reducers的图像矢栅转换及区域统计

目录1. Raster to Vector Conversion:image.reduceToVectors()2. Vector to Raster Conversion:featureCollection.reduceToImage()3. Grouped reductions3.1 Grouped reduceRegions (aka Zonal Statistics)4. Weighted Reductions1. Raster to Vector C…