




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络? OSI与TCP/IP各层的结构与功能,都有哪些协议。ISO/OSI 模型用途主要作用协议应用层进程间通信为操作系统或网络应用程序提TFTP , HIIP ,供访问网络服务的接口。SNMP , FTP , SMTP, DNS, Telnet表小层数据表示(编码)解决用户信息的语法表示问题。无协议提供格式化的表示和转换数据J服务。数据的压缩和解压缩,冽 登和解密等工作都由表示层负 责。会话层建立和管理主机 间的会话会话层不参与具体的传输, 它提 供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录 便是由会话层完成的。(以上统称报文)无协议传输层端到端链接
2、提供主机之间连接,屏蔽技术细 节。将分组组成报文,可靠传输、 流量控制。为上层提供端到端TCP, UDP(最终用户到最终用户)的透明的、可靠的数据传输服务。网络层寻址路径选择为传输层提供建立、维护和网络 连接,解决路由选择。数据单元-分组 packetIP, ICMP , RIP, OSPF, BGP, IGMP数据链路层占用传输介质数据链路层在不可靠的物理介_?SLIP, CSLIP, PPP,质上提供可靠的传输。建立相邻 结点之间的数据链路, 通过差错ARP, RARP, MTU控制提供数据帧(Frame)在信道| 上无差错的传输。作用; 物理地|址寻址、数据的成帧、流量控制、数据的检错、
3、重发。物理层比特传输实现相邻节点之间 比特数据流 的透明传送,尽可能屏蔽具体传 输介质和物理设备的差异。建立、维护和拆除物理链路连接ISO2110, IEEE802IEEE802.2TCP/IPTCP/IP模型用途主要作用协议应用层为操作系统或网络应 用程序提供访问网络 服务的接口。HIIP:超文本传输FTP:文件传输SMTP:电子邮件Telent:远程登录SNMP:网络管理DNS:域名管理传输层使源主机和目标主机 对等实体之间会话, 端到端链接。传输控制协议 TCP (链 接):误差、流量控制用户数据报协议 UDP (无 连接)IP层网络间属地传输主要 依赖于网间网层中的IP协议IP (无连
4、接的最佳传送 路由选择):1.管理Internet中地址;2.路由 选择;3.数据报分片与 重组ICMP:报告差错、传输控 制信息;ARP:将IP地址 转换成物理地址;RARP: 物理地址到IP地址网络接口层用某种协议与网络连 接,以便通过网络传 递IP分组。相似之处:基于独立的协议族,层的功能划分相似 差异:ISO/OSI:从概念模型到协议实现;TCP/IP:从协议实现到概念描述层次数量差别;? 2.TCP与UDP的区别。UDP( UserDatagramProtocol ) : 不提供复杂的控制机制,利用IP 提供面向无连接的通信服务 。 并且他是将应用程序发来的数据在收到那一刻,立刻按照
5、原样发送到网络上的一种机制。即使出现网络拥堵, UDP 也无法进行流量控制等避免拥塞的行为。如果传输途中 出现丢包, 也不负责重发。甚至出现包的到达乱序时也没有纠正功能。 如果需要这些细节控制,要交给采用UDP 的应用程序处理。 UDP 将控制转移到应用程序,只提供作为传输层协议的最基本功能。TCP( TransmissionControlProtocol ) : TCP 充分实现了数据传输时的各种控制功能,可以 进行丢包的重发控制、对乱序的分包进行顺序控制。 此外, TCP 作为一种面向有链接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的 浪费 。TCP 通过检验和、序
6、列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。如何加以区分使用?TCP 用于传输层有必要实现可靠性传输的 情况。 UDP 主要用于对高速传输和实时性有较高要求的通信或广播通信。区别:1 ) TCP 面向连接;UDP 是无连接的,发送数据之前不需要建立连接。2) TCP提供可靠的服务。TCP传送的数据无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,不保证可靠交付。3) TCP 面向字节流,实际上TCP 把数据看成一串无结构的字节流;UDP 是面向报文的,UDP 没有拥塞控制,网络出现拥塞不会使源主机的发送速率降低。4)每一条TCP连接只能是点对点的;UDP支持一对
7、一、一对多、多对一和多对多的交互通 信5) TCP首部开销20字节;UDP首部开销8字节;6) TCP逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道? 3.TCP报文结构。IP结构首部固定长度20 字节,所有IP 数据报必须具有。可选字段,长度可变。? 版本:占4 位,值 IP 协议的版本,当前IP 协议版本号为4( IPv4)? 首部长度:4 位,表示最大数值是15 个单位(一个单位4 字节) ,首部最大值为60 字节。? 区分服务:未被使用。? 总长度:占16 位,值首部和数据之和的长度,单位为字节,数据报最大长度65535 字节,总长度不超过最大传送单元MTU( 1500)? 标识
8、:占16 位,它是一个计数器,用来产生数据报标识。? 标志:占3 位,只有前两位有意义。标志字段最低位MF( morefragment ) MF=1 表示“还有分片”。 MF=0 表示最后一个分片。标志字段中间位DF( Don tfragment )当 DF=0允许分片。? 片偏移:12 位,较长的分组在分片后某片在原分组中的相对位置。以8 字节为偏移单位。? 生成时间:TTL, 8 位,数据报在网络中可通过的路由器的最大值。? 协议: 8 位, 指出数据报写的数据所用的协议,以便目的主机的IP 层将数据上交那个处理过程。 ( TCP、 UDP、 ICMP、 IGMP、 OSPF)? 首部校验
9、和:16位,只建安数据报的首部。不采用 CRC,采用简单计算方法? 源地址、目的地址:各占4 字节? TCP结构? 源端口、目的端口:各 占 两个字节。端口是传输层与应用层的服务接口。运输层的复用和分用功能都要通过端口实现。? 序号: 4 字节。本报文段所发送的数据的第一个字节的编号? 确认号:4 字节,期望收到对方的下一个报文段的数据的第一个字节序号。数据偏移:4 位,表示首部长度,以4 字节为计算单位。? 保留: 6 位,未使用? URG: 为 1 时, 表明紧急指针字段有效。通知系统此报文段有紧急数据,应尽快传送(优先级高的数据)? ACK:为1是确认号字段有效,为0时无效.? PSH接
10、收到的PSH=1的报文,尽快交付应用进程,不等待整个缓冲区填满。? RST:为1表明TCP连接中出现差错,必须释放连接,然后重新建立。? SYN:为1表示这是一个连接请求或连接接受报文。? FIN:用来释放一个连接。为 1表明该报文段的发送端的数据已经发送完毕,要求释放 连接。? 窗口: 2 字节,用来让对方设置发送窗口的依据。? 校验和: 2 字节, 校验范围包括首部和数据。在计算校验和时,要在TCP 报文段前加12个字节的伪首部。? 紧急指针:16 位, 指出本报文段中紧急数据有多少字节(放在本报文段数据的最前面)? 选项:MSS,告诉TCP缓存所能接受的报文段的数据字段的最大长度是MSS
11、个字节。? 填充? 4.TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。TimeWait 作用:1 ) 为了保证客户端发送的最后一个ACK 报文能够到达B。2 ) 防止“已失效连接请求报文段”出现在本连接中。经过2MSL( 最大报文段生存时间) ,可以使本来连接持续时间内产生的所有报文段,都从网络中消失,这样就可以使下一个新的连接中不会出现就得连接请求报文。? 5.TCP拥塞控制。什么是拥塞?在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能变坏,这种情况叫拥塞。拥塞控制就是防止过多的数据注入网络,使网络中的路由器或链路不至过载。拥塞控制是
12、一个全局性的过程,和流量控制不同,流量控制是点对点通信量的控制。拥塞窗口cwnd :发送方维持一个拥塞窗口的状态变量。其大小取决于网络的拥塞程度,并且动态变化。发送方让自己的发送窗口等于拥塞窗口。如果考虑接收方的接收能力,发送窗口可能小于拥塞窗口。控制拥塞窗口原则 : 只要网络没有出现拥塞,窗口就增大一些,只要出现拥塞,窗口就减小一些。慢开始与拥塞避免慢开始算法:刚开始发送报文是,设置cwnd=1, 每收到一个新的确认,拥塞窗口加1,直到MSS。慢开始门限状态变量ssthresh : 当 cwndssthresh 时,停止使用慢开始改用拥塞避免算法;cwnd=ssthresh 时,两种方法都可
13、以。拥塞避免算法:让拥塞窗口 cwnd缓慢增大,每经过一个往返时间 RTT把发送发的拥塞窗口cwnd 加 1,不是加倍,是拥塞窗口cwnd 线性增长。当网络出现拥塞时:无论是慢开始阶段还是拥塞避免阶段,只要发送方判断网络出现拥塞(根据是没有按时收到确认), 把慢开始门限ssthresh 设置为出现拥塞时发送方窗口的一般。然后把拥塞窗口cwnd 重新设置为1 ,执行慢开始算法。这样可以迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把挤压的分组处理完毕。快重传和快恢复快重传 : 接收方每收到一个失序的报文段就立即发出重复确认。让发送方及早知道有报文段没有到达接收方。发送方只要一连
14、接收到三个重复确认就立即重传对方尚未收到的报文段。快恢复 : 当发送端收到连续三个重复的确认是,把慢开始门限ssthresh 减半, 但不执行慢开始算法。 由于发送方现在认为网络很可能没有发生拥塞(因为可以收到三个连续重复确认),因此不执行慢开始算法,而是将cwnd 设置为慢开始门限ssthresh 减半后的数值,开始执行拥塞避免算法。发送窗口的上限值:发送方的发送窗口的上限值应当取为接收方rwnd 和拥塞窗口cwnd 中较小的一个。当 rwndcwnd 时,是接收方的接收能力限制发送窗口的最大值。当 cwndrwnd 时,是网络的拥塞限制发送方窗口的最大值。随机早起检测RED路由器的队列维持
15、两个参数,即队列长度最小门限THmin 和最大门限THmaxRED对每个到达的数据报先at算平均队列长度Lav.LavTHmax ,则将新到达的数据报丢弃。Lav介于之间时,按照概率p将新到达的数据报丢弃。? 6.TCP滑动窗口与回退N针协议。TCP 滑动窗口:发送方和接收方都会维护一个数据帧的序列,这个序列被称为窗口。发送方的窗口大小由接收方确定,目的在于控制发送速度,以免接收方的缓冲不够大,导致溢出,同时流量控制可以避免网络拥塞。1 比特滑动窗口协议(停等协议): 接收方和发送方的窗口大小都是1 。 发送方每次只能发送一个,并且必须等待这个数据报的ACK,才能发送下一个。ARQ(Autom
16、aticRepeatreQuest) 自动重传请求。重传的请求是自动进行的。接收方不需 要请求发送方重传某个出错的分组。回退 N( Go-back-N )表示需要再退回来重传已发送的N 个分组。累计确认:不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认。优点是容易实现,即使确认丢失也不必重传。缺点是:不能向发送方反映接收方已经正确收到的所有分组。选择确认SACK:接收方收到了不连续的字节块。如果这些字节块的序号在接收窗口内,那么接收方收下这些数据,但要把这些信息准确的告诉发送方,是发送方不再发送重复的数据。选择重传协议:后退 N 协议的问题是,当有错误帧出现后,要重发之后的所
17、有帧,会是网络状况恶化。重传协议是用来解决这个问题的。接收端总会缓存所有收到的帧,当某个帧出错时,值要求重传这一个帧。缺点在于接收端要更多的缓存。? 7.Http 的报文结构。方法:对所请求的对象进行的操作,实际上就是一些命令。包括 getpostoptionheadputdeletetraceconnectURL:所请求的资源的 URL。版本:HTTP 的版本。版本:HTTP 的版本状态码:1XX 表示通知信息,如请求收到了或正在进行处理。2XX 表示成功,如接受或知道了。3XX表示重定向,表示要完成的请求还必须采取进一步行动。4XX 表示客户的差错,如请求中有错误的语法或不能完成。5XX
18、表示服务器的差错,如服务器失效无法完成请求。?8.Http 的状态码含义。?状态码:1XX 表示通知信息,如请求收到了或正在进行处理。?2XX表示成功,如接受或知道了。?3XX表示重定向,表示要完成的请求还必须采取进一步行动。?4XX 表示客户的差错,如请求中有错误的语法或不能完成。?5XX 表示服务器的差错,如服务器失效无法完成请求。? 9.Httprequest 的几种类型。getpostoptionheadputdeletetraceconnect? 10.Http1.1 和 Http1.0 的区别HTTP1.0 规定浏览器与服务器只保持短暂的连接, 浏览器每次请求都需要与服务器建立一个
19、TCP 连接,服务器完成请求处理后立即断开TCP 连接,服务器也不跟踪每个客户也不记录过去的请求。HTTP1.1支持持久连接,在一个TCP连接上可以传送多个 HTTP请求和响应,减少了建立和 关闭连接的消耗和延迟。HTTP1.1 还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求(流水线), 但服务器端必须按照收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样显着减少了所需时间。HTTP1.0不支持Host请求头字段,在 HTTP1.1中增加了 Host请求头字段,WEB浏览器可以使用主机头名来明确表示要访问服务器上的哪个WEB 站点,实现了在一
20、台WEB 服务器上可以在同一个IP 地址和端口号上使用不同的主机名来创建多个虚拟WEB 站点。HTTP1.1 还提供了与身份认证、状态管理和Cache 缓存机制相关的请求头和响应头。? 11.Http 怎么处理长连接。判断长连接是否需要结束?Keep-Alive:timeout=20 ,表示这个 TCP通道可以保持 20秒。另外还可能有 max=XXX ,表示这个长连接最多接收XXX 次请求就断开。对于客户端来说,如果服务器没有告诉客户端超时时间也没关系,服务端可能主动发起四次握手断开TCP 连接,客户端能够知道该TCP连接已经无效;另外TCP 还有心跳包来检测当前连接是否还活着,方法很多,避
21、免浪费资源。? 12.Cookie与Session的作用于原理。? 13.电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、 TCP、 OSPF、 IP、 ARP。? 14.Ping 的整个过程。ICMP 报文是什么。ICMP( InternetControlMessageProtocol ) 报文: 网际控制报文协议。通过它可以知道故障的具体原因和位置。由于 IP 不是为可靠传输服务设计的, ICMP 的目的主要是用在TCP/IP 网络中 发送出错和 控制消息。 ICMP 数据包是封装在IP 数据包里的。ICMP 的错误报告只能通知出错数据报的源主机。ICMP报文三种:差错报告(IP
22、不可靠传输)、控制报文(用于重定向)、请求应答报文(测试路由是否可达ping ) 。Ping 的整个过程:1 ) 同一网段内:如果主机A 要去 ping 主机B。 主机 A 就要查询自己的MAC 地址表, 如果没有找到B 的MAC 地址,就会向外发送一个ARP 广播包。首先,交换机会收到这个报文,交换机有学习MAC 地址的功能,他会检索自己有没有保存主机B的MAC地址,如果有,就返回给主机A,没有,就会向所有端口发送ARP广播,其他主机收到后,发现不是找自己,就丢弃报文。主机B 收到报文后,就立即响应,发送自己的MAC 地址,同时学习到主机A 的 MAC 地址,并按照同样的ARP 报文格式返回
23、主机A。这时, 主机 A 学到了主机B 的 MAC 地址, 就把这个MAC 地址封装到ICMP 协议的二层报文中向B 发送,B 收到这个报文后,发现是A 的 ICMP 回显请求,就按同样格式返回一个值给 A,完成ping.2)不同网段内主机A要ping主机C,两者不在一个网段,A需要找网关转发,为了学习网关的MAC地址, A 发送一个ARP 广播,学到后,再发封装ICMP 报文给网关路由器。路由器接收到A 的 ICMP 报文, 查找路由表的目的IP, 得到一个出口指针,加上自己的MAC地址向主机C 转发。路由器端口2 和主机 C 相互学习MAC 地址,路由器2 端口转发非1 端口, 1 已经学
24、到A 的MAC 地址,将ICMP 的回显请求回复。? 15.C/S 模式下使用socket 通信,几个关键函数。什么是 Socket?WinSock(WindowsSockets) 是处理网络通信的WindowsAPI 。许多函数与在BSD 中使用的Berkely 套接字函数是相同的。套接字,简单的说就是通信双方的一种约定,用套接字中的相关函数来完成通信过程。应用层通过传输层进行数据通信时,TCP 和 UDP 会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP 连接或多个应用程序进程可能需要通过同一个TCP 协议端口传输数据。 为了区别不同的应用程序进程和连接,许多计算机操作系统为应用
25、程序与TCP/IP 协议交互提供了称为套接字(Socket) 的接口 。区分 不同应用程序进程间的网络通信和连接,主要有3 个参数 :通信的目的IP 地址、使用的传输层协议(TCP或UDP)和使用的端口号。Socket原意是“插座”,通过将这3个参数结合起来, 与一个“插座”Socket 绑定, 应用层就可以和传输层通过套接字接口区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。Socket 类型;传输套接字主要有两类:流式套接字( SOCK_STREAM) 和数据报套接字( SOCK_DGRAM ) 。流类型的套接字是为需要可靠连接的应用程序设计的。这些程序通常使用连续的数据
26、流。用于这种类型套接字的协议是TCP, 适合 FTP 这类实现。流套接字是最常用的,一些众所周知的协议如HTTP、 TCP、 SMTP、 POP3 等都是基于面向流的协议。数据报套接字使用UDP做为下层协议,是无连接的,有一个最大缓冲区大小(数据包大小 的最大值)。它是为那些需要发送小数据包,并且对可靠性要求不高的应用程序设计的。与流式套接字不同,数据报套接字并不保证数据会到达终端,也不保证它是以正确的顺序到来的。数据报套接字的传输效率相当高,它经常用于音频或视频应用程序。对这些程序来说, 速度比可靠性更加重要。二、基本socket 函数1、socket 函数包含头文件?功能:创建一个套接字用
27、于通信?原型:intsocket(intdomain,inttype,intprotocol);?参数?domain :指定通信协议族(protocolfamily ) , AF_INET、AF_INET6、AF_UNIX 等? type :指定socket类型,流式套接字 SOCK_STREAM ,数据报套接字 SOCK_DGRAM ,原始套接字 SOCK_RAW?protocol :协议类型,IPPROTO_TCP 等;一般由前两个参数就决定了协议类型,设置为0即可。?返回值:成功返回非负整数,它与文件描述符类似,我们把它称为套接口描述字,简称套接字。失败返回-12、bind函数包含头文件
28、?功能:绑定一个本地地址到套接字?原型:intbind(intsockfd,conststructsockaddr*addr,socklen_taddrlen);?参数?sockfd : socket函数返回的套接字?addr :要绑定的地址?addrlen :地址长度?返回值:成功返回 0,失败返回-1 3、listen 函数包含头文件?功能:将套接字用于监听进入的连接?原型:intlisten(intsockfd,intbacklog);?参数?sockfd : socket函数返回的套接字?backlog :规定内核为此套接字排队的最大连接个数?返回值:成功返回0,失败返回-1一般来说,
29、listen函数应该在调用 socket和bind函数之后,调用函数accept之前调用。?对于给定的监听套接口,内核要维护两个队列:?1、已由客户发出并到达服务器,服务器正在等待完成相应的TCP三路握手过程?2、已完成连接的队列如下图所示:4、accept 函数包含头文件sys/socket.h?功能:从已完成连接队列返回第一个连接,如果已完成连接队列为空,则阻塞。?原型:intaccept(intsockfd,structsockaddr*addr,socklen_t*addrlen);?参数?sockfd :服务器套接字?addr :将返回对等方的套接字地址?addrlen :返回对等方的套接字地址长度?返回值:成功返回非负整数,失败返回-15、connect 函数包含头文件sys/socket.h?功能:建立一个连接至addr所指定的套接字?原型:intconnect(intsockfd,conststructsockaddr*addr,socklen_taddrlen);?参数?sockfd :未连接套接字?addr :要连接的套接字地址 ?addrlen :第二个参数 addr长度?返回值:成功返回0,失败返回-1? 16.IP地址分类。1、A类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济南市2024-2025学年八年级上学期语文期中模拟试卷
- 电解铝电解车间QC课件
- 电脑绣花设计知识培训班课件
- 高能量姿势课件
- 高考成语使用课件
- 电脑无法显示课件页面问题
- revit工程师考试及答案
- pets考试试题及答案
- 湖南省郴州市永兴县三校联考2023-2024学年四年级上学期期中科学试题(含答案)
- 电站典型故障课件
- 砂石料供应、运输、售后服务方案-1
- BYK色差仪使用方法简介
- 2023年公路养护工技能鉴定操作试题
- 无损探伤工(技师、高级技师)技能鉴定考试题库大全-下(多选、判断题汇总)
- 大陆与台湾《建筑抗震设计规范》的比较
- 辩论赛PPT模板模板
- 文创产品设计开发(new)
- DB4503-T 0045-2022 职工疗休养基地(点)服务规范
- 广东省封开县金装神梧黄金开采有限公司金矿矿山地质环境保护与土地复垦方案评审意见
- 避光药品汇总
- 一年级下册竖式计算题大全
评论
0/150
提交评论