每日五题(网络协议)

1.OSI七层模型,每一层的功能 (osi开放式系统接口)

答:
这里写图片描述

(1)物理层
    物理层所处理的数据单位是比特(bit),
物理层向上为数据链路层提供物理链路,实现透明的比特流(bit stream)传输服务,
物理层向下与物理媒体相连,要确定连接物理媒体的网络接口的机械、电气、功能和过程方面的特性。
(2)数据链路层
    数据链路层负责在单个链路上的结点间传送以帧(frame)为PDU的数据,在不太可靠的物理链路上实现可靠的数据传
输。数据链路层的主要功能包括:建立、维持和释放数据链路的连接,链路的访问控制,流量控制和差错控制。
(3)网络层
    网络层传送的PDU称为分组或包(packet),在物理网络间传送分组,负责将源端主机的报文通过中间转发结点传送到
目的端。网络层是通信子网的最高层,为主机提供虚电路和数据报两种方式的服务。
网络层主要负责分组转发和路由选择,根据路由表把分组逐跳地由源站传送到目的站,并能适应网络的负载及拓扑结构的变化,动态地更新路由表。
(4)传输层
    传输层传输的PDU称为报文(message),传输层为源结点和目的结点的用户进程之间提供端到端的可靠的传输服务。端
到端的传输指的是源结点和目的结点的两个传输层实体之间,不涉及路由器等中间结点。为了保证可靠的传输服务,
传输层具备以下一些功能:面向连接、流量控制与拥塞控制、差错控制相网络服务质量的选择等。
(5)会话层
    会话层在传输层服务的基础上增加控制会话的机制,建立、组织和协调应用进程之间的交互过程。会话层提供的会
话服务种类包括双工、半双工和单工方式。会话管理的一种方式是令牌管理,只有令牌持有者才能执行某种操作。会话层提供会话的同步控制,当出现故障时,会话活动在故障点之前的同步点进行重复,而不必从头开始
(发送器。接收器是否同时发送会话判断服务种类)
(6)表示层 表示层定义用户或应用程序之间交换数据的格式,提供数据表示之间的转换服务,保证传输的信息到达目的端后意义不变。(7)应用层 应用层直接面向用户应用,为用户提供对各种网络资源的方便的访问服务。

2. TCP/IP的四层模型,每一层的功能

这里写图片描述
上图是对应的到osi层的内容。
主机到网络层:实际上TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。

网络互连层:定义了分组格式和协议,即IP协议(Internet Protocol)。网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。除此之外,网络互连层还需要完成拥塞控制的功能。

传输层:在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol)。

应用层(会话层,表示层,应用层): TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。  
 应用层面向不同的网络应用引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP),也有基于UDP协议的。

3. IP协议是什么, IPv4的协议包封装结构, 及该结构中的每个数据域的意思?

答:
IP协议:用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。

这里写图片描述

版本号(VERS): 4比特,表示IP协议版本号。目前的版本号是4,即IPv4。版本号规定了数据报的格式。版本不同,其数据报格式也有所不同,如IPv6的报文结构就和IPv4的结构不同。

报文头长度(HLEN): 4比特,表示报文头长度。报文头长度以4 Byte为单位计算。除IP选项(IP Options)和填充(Padding)字段可以不存在外,其他各字段必须存在。这些必须存在的字段是5个4 Byte,共20 Byte长。因此,报文头长度值一般是5 。又由于报文头长度必须是32比特的整数倍,所以当一个含有IP选项字段的IP数据报不是32比特的整数倍时,由填充字段用0补足。

服务类型(Type of Service): ToS字段,8比特,指示对本数据报的处理方式。它主要用来指示数据报的优先权及传输类型。QoS技术就是使用此字段对数据进行标记优先级的。

**总长(Total Length):**16比特,以Byte为单位表示整个IP数据报长度,包括报文头及其携带的数据。因为总长字段是16比特,所以IP数据报最长可达216 1=65 535字节。

标识(Identification): 16比特,是发送者赋予数据报的标识符,接收者利用这个信息和源地址判断收到的分组属于哪个数据报,以便进行重组。因此,在分片时,该域必须不加修改地复制到各分片的报文头中。

标志(Flags): 3比特,只有低两位有效。第一比特为0时表示该分片是最后一片,如果该位是1表示后面还有分片。第二比特为0时表示可以对数据报进行分片,如果该位是1表示数据报不能分片。当该位设置为1而帧长度不匹配又必须分片时,设备就会将数据报丢弃并返回错误信息。

片偏移(Fragment Offset):指示本分片数据在初始数据报数据区中的偏移量,偏移量以8 Byte为单位,重组时分片顺序由片偏移提供。

生存时间(Time To Live):简称TTL,8比特,用来控制数据报在网络中存在的时间。目前TTL的值并不代表时间,而是代表经由路由器的个数。数据报每经过一台路由器时,路由器将TTL值减1,一旦TTL=0,系统就丢弃该数据报,并返回错误信息。这样避免了路由出现环路时数据报在路由器之间无休止地循环。

协议(Protocol): 8比特,表示该数据报携带的数据是由哪个上层协议封装的,也就是指示传输层的协议类型。如最常见的协议类型是TCP或UDP。

头校验和(Header Checksum): 16比特,用于保证IP头数据的完整性。

地址(Address):分为源IP地址和目的IP地址,各占32比特,表明数据的来源及其到达的目的地。

填充(Padding):当IP报文头长度不是32比特的整数倍时,填充0来凑齐32比特整数倍,没有实际意义。

数据(Data):来自第4层的数据段。

4. TCP协议是什么?TCP数据包结构? TCP建立联接的三次握手,断开连接的四次挥手的过程?

答:
TCP: TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。

数据包结构:
这里写图片描述

三次握手:

对于三次握手,我是这样来理解的

(1)客户端发送一个序列号(syn)给服务器

(2)服务器接收以后,会将这个序列号+1作为确认信号(ack)和自己的一个服务号(syn)给客户

(3)客户接收到这两个信息以后,会将服务好(syn)+1作为确认信号(ack)给服务器

三次握手完毕


断开连接的四次挥手:



由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。


(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。 

(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。 

(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。 

(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。


1.服务器读通道关闭
2.客户机写通道关闭
3.客户机读通道关闭
4.服务器写通道关闭


关闭行为是在发起方数据发送完毕之后,给对方发出一个FIN(finish)数据段。直到接收到对方发送的FIN,且对方收到了接收确认ACK之后,双方的数据通信完全结束,过程中每次接收都需要返回确认数据段ACK。



5.一次完整的HTTP请求所经历的7个步骤?

答:
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:

  • 建立TCP连接
    在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。
  • Web浏览器向Web服务器发送请求命令
    一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET/sample/hello.jsp HTTP/1.1。
  • Web浏览器发送请求头信息
    浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。
  • Web服务器应答
    客户机向服务器发出请求后,服务器会客户机回送应答, HTTP/1.1 200 OK ,应答的第一部分是协议的版本号和应答状态码。
  • Web服务器发送应答头信息
    正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。
  • Web服务器向浏览器发送数据
    Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。
  • Web服务器关闭TCP连接
    一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码:Connection:keep-alive
    TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。i
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值