网络基础学习第二天

知识点

5.运输层

运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。

运输层还要对收到的报文进行差错检测。

运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP。  

当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道

当运输层采用无连接的UDP协议时,这种逻辑通信信道是一条不可靠信道

TCP/IP的运输层有两个不同的协议:

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

传输控制协议TCP                (Transmission Control Protocol)

两个对等运输实体在通信时传送的数据单位叫作运输协议数据单TPDU(Transport Protocol Data Unit)。

TCP传送的数据单位协议是TCP报文段(segment)

UDP传送的数据单位协议是UDP报文或用户数据报。

UDP在传送数据之前不需要先建立连接。

TCP则提供面向连接的服务。

解决这个问题的方法就是在运输层使用协议端口号(protocol port number),或通常简称为端口(port)。

虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点,因为我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由 TCP 来完成。

TCP端口用一个16位端口号进行标志。

TCP是面向连接的运输层协议。

每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一)。

TCP提供可靠交付的服务。

TCP提供全双工通信。

面向字节流。 

TCP连接是一条虚连接而不是一条真正的物理连接。

TCP对应用进程一次把多长的报文发送到TCP的缓存中是不关心的。

TCP根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP发送的报文长度是应用进程给出的)。

TCP可把太长的数据块划分短一些再传送。TCP也可等待积累有足够多的字节后再构成报文段发送出去。

TCP连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口。TCP连接的端点叫做套接字(socket)或插口。

端口号拼接到(contatenated with)IP地址即构成了套接字。  

每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。

TCP连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。

TCP的可靠传输机制用字节的序号进行控制。TCP所有的确认都是基于序号而不是基于报文段。

TCP两端的四个窗口经常处于动态变化之中。

TCP连接的往返时间RTT也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。 

发送缓存

接收缓存

发送缓存用来暂时存放:

发送应用程序传送给发送方TCP准备发送的数据;

TCP已发送出但尚未收到确认的数据。

接收缓存用来暂时存放:

按序到达的、但尚未被接收应用程序读取的数据;

不按序到达的数据。

超时重传时间的选择

TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。

选择确认SACK(Selective ACK)

如果要使用选择确认,那么在建立TCP连接时,就要在TCP首部的选项中加上“允许SACK”的选项,而双方必须都事先商定好。

如果使用选择确认,那么原来首部中的“确认号字段”的用法仍然不变。只是以后在TCP报文段的首部中都增加了SACK选项,以便报告收到的不连续的字节块的边界。

由于首部选项的长度最多只有40字节,而指明一个边界就要用掉4字节,因此在选项中最多只能指明4个字节块的边界信息。

流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

利用滑动窗口机制可以很方便地在TCP连接上实现流量控制。

在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞(congestion)。

出现资源拥塞的条件:对资源需求的总和>可用资源 

发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。如再考虑到接收方的接收能力,则发送窗口还可能小于拥塞窗口。

发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数 

  

运输连接就有三个阶段,即:连接建立、数据传送和连接释放。

TCP连接的建立都是采用客户服务器方式。

主动发起连接建立的应用进程叫做客户(client)。

被动等待连接建立的应用进程叫做服务器(server)。

三次握手

四次分手

6.应用层

许多应用层软件经常直接使用域名系统DNS(Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。

文件传送协议FTP(File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。

FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。

FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务。

FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。

接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。

由于FTP使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。

简单文件传送协议TFTP

TFTP是一个很小且易于实现的文件传送协议。

TFTP使用客户服务器方式和使用UDP数据报,因此TFTP需要有自己的差错改正措施。

TFTP只支持文件传输而不支持交互。

TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。

远程终端协议TELNET

TELNET是一个简单的远程终端协议,也是因特网的正式标准。

用户用TELNET就可在其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址)。

万维网WWW(World Wide Web)并非某种特殊的计算机网络。

万维网是一个大规模的、联机式的信息储藏所。

万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。

这种访问方式称为“链接”。

万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。

浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。

在一个客户程序主窗口上显示出的万维网文档称为页面(page)。

使用统一资源定位符URL(Uniform Resource Locator)来标志万维网上的各种文档。

使每一个文档在整个因特网的范围内具有唯一的标识符URL。

在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP(HyperText Transfer Protocol)。

HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。

超文本标记语言HTML(HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。

URL的一般形式是:

使用 HTTP 的 URL 的一般形式

HTTP是面向事务的客户服务器协议。

HTTP1.0协议是无状态的(stateless)。

HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务。

代理服务器(proxy server)又称为万维网高速缓存(Web cache),它代表浏览器发出HTTP 请求。

HTTP有两类报文:

请求报文——从客户向服务器发送请求报文。

响应报文——从服务器到客户的回答。

由于HTTP是面向正文的(text-oriented),因此在报文中的每一个字段都是一些ASCII码串,因而每个字段的长度都是不确定的。

万维网站点使用Cookie来跟踪用户。

Cookie表示在HTTP服务器和客户之间传递的状态信息。

使用Cookie的网站服务器为用户产生一个唯一的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动。 

静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。

动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。

动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。 

电子邮件(e-mail)是因特网上使用得最多的和最受用户欢迎的一种应用。

电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取

发送邮件的协议:SMTP

读取邮件的协议:POP3和IMAP

MIME在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),使用MIME可在邮件中同时传送多种类型的数据。

动态主机配置协议DHCP

在协议软件中给这些参数赋值的动作叫做协议配置。

一个软件协议在使用之前必须是已正确配置的。

具体的配置信息有哪些则取决于协议栈。

动态主机配置协议DHCP提供了即插即用连网(plug-and-play networking)的机制。

这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。

简单网络管理协议SNMP

网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络管理常简称为网管。

SNMP使用无连接的UDP,因此在网络上传送SNMP报文的开销较小。但UDP不保证可靠交付。

在运行代理程序的服务器端用熟知端口161来接收get或set报文和发送响应报文(与熟知端口通信的客户端使用临时端口)。

运行管理程序的客户端则使用熟知端口162来接收来自各代理的trap报文。

当应用进程需要使用网络进行通信时就发出系统调用,请求操作系统为其创建“套接字”,以便把网络通信所需要的系统资源分配给该应用进程。

操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示,并把此号码返回给应用进程。应用进程所进行的网络操作都必须使用这个号码。

通信完毕后,应用进程通过一个关闭套接字的系统调用通知操作系统回收与该“号码”相关的所有资源。

7.网络安全

计算机网络上的通信面临以下两大类威胁:

    被动攻击。主要是截获,即从网络上窃听他人的通信内容。

    主动攻击,主要有:

        篡改——故意篡改网络上传送的报文。

        恶意程序—— 包括计算机病毒、计算机蠕虫、特洛伊木马和逻辑炸弹等。

        拒绝服务——包括分布式拒绝服务。

运输层安全协议

现在广泛使用的有以下两个协议:

安全套接字层SSL(Secure Socket Layer)

运输层安全TLS(Transport Layer Security)

防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施接入控制策略。接入控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。

防火墙内的网络称为“可信的网络”(trusted network),而将外部的因特网称为“不可信的网络”(untrusted network)。

防火墙可用来解决内联网和外联网的安全问题

8.音频视频

IP电话

狭义的IP电话就是指在IP网络上打电话。所谓“IP网络”就是“使用IP协议的分组交换网”的简称。

广义的IP电话则不仅仅是电话通信,而且还可以是I网络上进行交互式多媒体实时通信(包括话音、视像等),甚至还包括即时传信IM(Instant Messaging)。

实时运输协议RTP(Real-time Transport Protocol)

RTP为实时应用提供端到端的运输,但不提供任何服务质量的保证。

多媒体数据块经压缩编码处理后,先送给RTP封装成为RTP分组,再装入运输层的UDP用户数据报,然后再交给IP层。

RTP是一个协议框架,只包含了实时应用的一些共同的功能。

RTP自己并不对多媒体数据块做任何处理,而只是向应用层提供一些附加的信息,让应用层知道应当如何进行处理。 

RTP 也可看成是运输层的一个子层

调度”就是指排队的规则。

如不采用专门的调度机制,则默认排队规则就是先进先出FIFO(First In First Out)。当队列已满时,后到达的分组就被丢弃。

先进先出的最大缺点就是不能区分时间敏感分组和一般数据分组,并且也不公平。

在先进先出的基础上增加按优先级排队,就能使优先级高的分组优先得到服务。 

9.无线网络

一个移动站若要加入到一个基本服务集BSS,就必须先选择一个接入点AP,并与此接入点建立关联。

建立关联就表示这个移动站加入了选定的AP所属的子网,并和这个AP之间创建了一个虚拟线路。

只有关联的AP才向这个移动站发送数据帧,而这个移动站也只有通过关联的AP才能向其他站点发送数据帧。

802.11无线局域网可再细分为不同的类型。

802.11 的物理层有以下几种实现方法:

序列扩频 DSSS

正交频分复用 OFDM

802.11a   5GHz    最高54 Mb/s  OFDM     最高数据率较高,支持更多用户同时上网,                                        价格最高,信号传播距离较短,且易受阻碍

802.11n  2.4GHz  最高600Mb/s MIMO   使用多个发射和接收天线以允许更高的数据         5GHz            OFDM传输率,当使用双倍带宽(40 MHz)时速率可 达600 Mb/s

无线局域网不能使用CSMA/CD,而只能使用改进的CSMA协议。

改进的办法是把CSMA增加一个碰撞避免(Collision Avoidance)功能。

802.11就使用CSMA/CA协议。而在使用CSMA/CA的同时,还增加使用停止等待协议。

802.11帧共有三种类型,即控制帧、数据帧和管理帧。

10.下一代因特网

因特网经过几十年的飞速发展,到 2011年2月,IPv4的地址已经耗尽,ISP已经不能再申请到新的IP地址块了。

解决IP地址耗尽的根本措施就是采用具有更大地址空间的新版本的IP,即IPv6

使用隧道技术从IPv4到IPv6过渡

多协议标记交换MPLS(MultiProtocol Label Switching)

用面向连接的方式取代IP的无连接分组交换方式,这样就可以利用更快捷的查找算法,而不必使用最长前缀匹配的方法来查找路由表。

这种基本概念就叫做交换(switching)。

人们经常把这种交换概念与异步传递方式ATM (Asynchronous Transfer Mode)联系起来,

在传统的路由器上也可以实现这种交换

问题

1.为什么三次握手要有第三次确认呢?

这主要是为了防止已失效的连接请求报文段突然又传送到了从机,因而产生错误。假定出现一种异常情况,即主机发出的第一个连接请求报文段并没有丢失,而是在某些网络结点长时间滞留了,以致延误到连接释放以后的某个时间才到达从机。本来这是一个早已失效的报文段。但从机收到此失效的连续请求报文段后,就误认为是主机又发出新的连接请求。于是就向主机发出确认报文段,同意建立连接。假定不采用三次握手,那么只要从机发出确认,新的连接就建立了。

由于现在主机并没有发出建立连接的请求,因此不会理睬从机的确认,也不会向从机发送数据。但从机却认为新的运输连接已经建立了,并一直等待主机发来数据。从机的许多资源就这样白白浪费了。

采用三次握手的办法可以防止上述现象的发生。例如在刚才的情况下,主机不会向从机的确认发出确认。从机由于收不到确认,就知道主机并没有要求建立连接。

2.TCP、UPD的区别及使用场景

TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。

TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。TCP通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。

UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

每一条TCP连接只能是点到点的;UDP支持一对一、一对多、多对一和多对多的交互通信。

TCP对系统资源要求较多,UDP对系统资源要求较少。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值