- 博客(24)
- 收藏
- 关注
原创 运输层学习笔记七.TCP拥塞控制
TCP使用端到端拥塞控制的原因:IP不能向端系统提供显式的网络拥塞反馈让每一个发送方根据所感知到的网络拥塞程度来限制其能向连接发送流量的速率TCP发送方如何限制向连接发送的流量运行在发送方的TCP拥塞控制机制跟踪一个额外的变量,即拥塞窗口,表示为cwnd,对一个TCP发送方能向网络中发送流量的速率进行了限制LastByteSent−LastByteAcked≤min{cwnd,rwnd...
2020-02-12 17:00:57
699
原创 运输层学习笔记六.拥塞控制原理
拥塞原因与代价情况1:两个发送方和一台具有无穷大缓存的路由器假设主机A和主机B都以 λin\lambda_{in}λin 字节/秒的速率发送数据。A和B的分组通过一台路由器,在容量为 RRR 的共享输出链路上传输。该路由器带有缓存,假设有无限大的缓存空间,分组到达速率超过该输出链路的容量时存储入分组。由于共享链路,分别的吞吐量上限为 R/2R/2R/2 ,当发送速率接近 R/2R/2R/...
2020-02-11 14:38:02
487
原创 运输层学习笔记五.面向连接的运输:TCP
TCP连接TCP连接提供的是全双工服务,TCP连接也是点对点的。发起连接的进程被称为客户进程,另一个进程称为服务器进程。三次握手:两个主机间发送了三个报文段,第三个报文段中包含应用层数据也即有效载荷TCP可从缓存中取出并放入报文段中的数据数量受限于最大报文段长度MSS。MSS的典型值为1460字节。TCP为每块客户数据配上一个TCP首部,从而形成多个TCP报文段。,网络层将其分别封装在网...
2020-02-10 22:01:22
431
原创 运输层学习笔记四.可靠数据传输原理
数据可以通过一条可靠的信道进行传输,借助可靠信道,传输数据比特就不会受到损坏或丢失,且所有数据按照其发送顺序进行交付。可靠数据传输协议的下层协议也许是不可靠的,可以将较低层直接视作不可靠的点对点信道。假设底层信道不会对分组重新排序,我们只可能丢失某些分组。全双工数据传输:可靠的双向数据传输。下面考虑的都是单向数据传输,但是协议需要在发送端和接收端两个方向上传输分组。构造可靠数据传输协议经...
2020-02-08 15:35:47
530
原创 运输层学习笔记三.无连接运输:UDP
运输层最低按限度必须提供一种复用/分解服务,以便在网络层与正确的应用级进程之间传递数据。使用UDP的时候,在发送报文段之前,发送方和数据方的运输层实体之间没有握手,故被称作是无连接的。DNS是一个通常使用UDP的应用层协议的例子。使用UDP的几点原因:**关于何时、发送什么数据的应用层控制更为精细。**只要应用进程将数据传递给UDP,UDP就会将此数据打包进UDP报文段并立即将其传递给网络...
2020-02-05 23:29:20
237
原创 运输层学习笔记二.多路复用与多路分解
多路分解:将运输层报文段中的数据交付到正确的套接字的工作多路复用:在源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层的工作数据本身是进入到套接字。运输层多路复用的要求:套接字有唯一标识符每个报文段有特殊字段来指示该报文段所要交付到的套接字源端口号字段目的端口号字段端口号是一个16bite的数,0~1023范围的端口号称为周知...
2020-02-05 18:20:11
456
原创 运输层学习笔记一.概述和运输层服务
运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信功能。在发送端,运输层将从发送应用程序进程接收到的报文转换成运输层分组,该分组被称为运输层报文段。将应用报文划分为较小的块为每块加上一个运输层首部以生成运输层报文段发送端系统中,运输层将报文段传递给网络层网络层将其封装成网络层分组-数据报并向目的地发送网络路由器仅作用于该数据报的网络层字段,不检查封装在数据报的运输层报文段的字...
2020-02-05 15:57:53
282
原创 应用层学习笔记七.TCP套接字编程
UDP套接字编程使用UDP时,必须把目的地址附在分组上。在分组传过发送方的套接字后,因特网使用该目的地址通过因特网为该分组选路到接收进程的套接字。分组到达接收套接字时,接收进程将通过该套接字取回分组。发送进程为分组附上的目的地址是由目的主机的IP地址和目的地套接字的端口号组成的。UDP Clientclientsocket = socket(socket.AF_INET, socket....
2020-02-04 13:28:33
252
原创 应用层学习笔记六.P2P应用
使用P2P体系结构,对总是打开的基础设施服务器有最小依赖。成对间歇连接的主机彼此直接通信。P2P文件分发从单一服务器向大量主机分发一个大文件。P2P体系结构的自扩展性usu_sus:服务器接入链路的上载速率uiu_iui:第 iii 对等方接入链路的上载速率did_idi:第 iii 对等方接入链路的下载速率FFF:被分发的文件长度-以比特计NNN:表示要获得的文件的副...
2020-02-03 16:35:35
383
原创 应用层学习笔记五.DNS:因特网的目录服务
主机的一种标识方法是用它的主机名,主机名几乎没有提供关于主机在因特网中位置的信息。主机也可以使用IP地址进行 标识。IP地址由四个字节组成,并且有严格的层次结构。每个字节都被句点分隔开,标识0~255的十进制数字。DNS提供的服务域名系统(Domain Name System):进行主机名到IP地址转换的目录服务。由一个分层的DNS服务器实现的分布式数据库一个使得主机能够查询分布式数据...
2020-02-01 17:57:28
257
原创 应用层学习笔记四.因特网中的电子邮件
因特网电子邮件系统的组成:用户代理 user agent:邮件服务器 mail server:电子邮件体系结构的核心,每个接收方在其中的某个邮件服务器上有一个邮箱简单邮件传输协议 Simple Mail Transfer Protocol SMTP:使用TCP可靠数据传输服务,从发送方的邮件服务器向接收方的邮件服务器发送邮件运送在发送方邮件服务器的客户端运行在接收方邮件服务器的服务器...
2020-01-29 15:21:18
535
原创 应用层学习笔记三.文件传输协议FTP
用户通过一个FTP用户代理和FTP交互。用户提供远程主机的主机名,本地的FTP客户进程建立一个到远程主机FTP服务器进程的TCP连接用户提供用户标识和口令,作为FTP命令的一部分在该TCP连接上传送服务器向用户授权,用户可以将存放在本地文件系统中的多个文件复制到远程文件系统HTTP和FTP都是建立在TCP上的应用层文件传输协议。FTP使用了两个并行的TCP连接来传输文件:控制连...
2020-01-29 15:19:13
382
原创 应用层学习笔记二.Web和HTTP
HTTP 概况HTTP:HyperText Transfer Protocal 超文本传输协议HTTP由两个程序实现:一个客户端程序和一个服务器程序,运行在不同的端系统中,通过交换HTTP报文进行会话。HTTP定义了报文结构和报文交换的方式。一些术语Web页面:由对象组成对象:一个文件,且可以通过一个URL地址寻址。多数Web页面含有一个HTML基本文件和几个引用对象。HTML基本文...
2020-01-29 15:17:22
181
原创 应用层学习笔记一.应用层协议原理
应用层学习笔记一.应用层协议原理网络应用程序体系结构研究网络应用程序的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序。客户-服务器体系服务器:打开的主机,服务于来自许多其他称为客户的主机的请求Web应用程序:总是打开的Web服务器服务与来自浏览器(运行在客户主机上)的请求。当Web服务器接收到来自某客户对某对象的请求时,向该客户发送所请求的对象作为响应。在CS体系...
2020-01-29 15:15:03
453
原创 JAVA学习笔记六.对象和类
为对象定义类类为对象定义属性和行为。对象代表现实世界中可以明确标识的一个实体。一个对象的状态或属性是由具有当前值的数据域来表示的。 一个对象的行为是由方法定义的。类是一个模板,用来定义对象的数据域是什么以及方法是做什么的,一个对象是类的一个实例。可以从一个类中创建多个实例。创建实例的过程称为实例化。类提供了构造方法,调用它创建一个新对象。包含main方法的类称为主类。可以把...
2019-11-27 10:06:17
283
原创 JAVA学习笔记五.数组
数组可以用来存储一个元素个数固定且元素类型相同的有序集。声明一个数组变量时并不在内存中给数组分配任何空间,只是创建一个对数组的引用的存储位置。如果变量不包含任何对数组的引用,那么这个变量的值为null。除非数组已经被创建,否则不能给它分配任何元素。一个数组变量看起来似乎存储了一个数组,但实际上存储的是指向数组的引用。数组被创建后,其元素被赋予默认值。数值型基本数据类型的默认值为0,ch...
2019-11-25 00:10:30
226
原创 JAVA学习笔记四.方法
定义方法方法的定义由方法名称、参数、返回值类型及方法体组成。方法头指方法的修饰符、返回值类型、方法名和方法的参数。方法可以返回一个值,也可以不返回值。定义在方法头中的变量称为形式参数,当调用方法的时候,就给参数传递一个值,这个值称为实际参数。方法名和参数列表一起构成方法签名,参数是可选的。定义:指被定义的条目是什么 声明:为被声明的条目分配内存来存储数据调用方法方法的调用是...
2019-11-20 18:15:24
586
原创 Java学习笔记三.数学函数、字符和字符串
Mathceil:x向上取整为最接近的整数,作为双精度值返回floor:x向下取整为最接近的整数,作为双精度值返回rint:x取整为最接近的整数,如果距离相等,偶数的整数作为双精度值返回round:若x是单精度数,返回(int)Math.floor(x+0.5),若x是双精度数,返回(floor)Math.floor(x+0.5)Math.random生成大于等于0.0且小于1...
2019-11-13 21:52:35
188
原创 JAVA学习笔记二.操作符
除了赋值操作符之外,所有的二元操作符都是左结合的。赋值操作符是右结合的。操作符优先级表如下(序号从小到大表示优先级递减)1.后置操作符:var++、var--2.一元加号、一元减号、前置操作符:+、-、--var、++var3.类型转换:type4.!5.乘法、除法和求余运算6.二元加法、二元减法7.比较操作符:<、<=、>、>=8.相等...
2019-10-29 23:48:14
327
原创 计网学习笔记二.因特网协议层次
采用自顶向下的方式介绍分层的协议模型(OSI)1.应用层应用层是网络应用程序及它们的应用层协议存留的地方。HTTP:Web文档的请求和传送 SMTP:电子邮件报文的传输 FTP:提供两个端系统之间的文件传送 DNS:域名系统,将把人可读的因特网名字映射到它的32位比特IP地址应用层协议分布在多个端系统上,端系统之间的应用程序交换信息的分组。这种信息分组称为报文。2.表示层...
2019-10-27 21:28:42
386
原创 计网学习笔记一.分组交换与电路交换
通过网络链路和交换机移动数据有两种办法,电路交换和分组交换。一.分组交换端系统彼此交换报文,报文能够包含协议设计者需要的任何东西。源将长报文划分成比较小的数据块,称这些数据块为分组。在源和目的之间,每个分组通过通信链路和分组交换机传送。分组以等于该线路最大传输速率的速度传输通过通信链路。存储转发传输存储转发机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整...
2019-10-27 16:50:25
635
原创 Java学习笔记一:八种基本数据类型及运算
一.基本数据类型编译器根据每个变量或者常量的数据类型为其分配内存。Java为数值、字符值和布尔值数据提供八种基本数据类型数值数据类型 类型名 范围 存储大小 byte 8位带符号数 short 16位带符号数 int 32位带符号数 long 64位带符号数 float 负数范围:-...
2019-10-25 00:30:34
274
原创 C++学习笔记2.开始学习C++
C++是对大小写敏感的,编译器是对拼写敏感的。main()函数函数头:函数头对函数与程序其他部分之间的接口进行总结。描述函数与调用它的函数之间的接口。main()就是一个函数头。函数名前面的部分叫做函数返回类型 括号中的部分为形参列表,描述从调用函数传递给被调用函数的信息,通常不从程序的其他部分调用main(),main()通常被启动代码调用。空括号意味不接受任何参数。 在Wind...
2018-10-08 14:07:19
141
原创 C++学习笔记1.预备知识
C++融合了3种不同的编程方式C语言代表的过程性语言:以什么正在发生为主要目标编程,分析出一个问题解决所需要的步骤,然后用函数一步一步把这些步骤实现,使用的时候依次调用,需要有模块化的思想方法。 以类为代表的面向对象的语言:采用封装、继承、多态等方法。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。 模板支持...
2018-09-30 15:53:09
267
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人