ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算机网络 第三章

2021-04-24 16:31:38  阅读:96  来源: 互联网

标签:第三章 报文 TCP 计算机网络 传输层 服务器 连接 端口号


第一节 传输层的基本服务

传输层功能

传输层功能:为应用进程之间提供端到端的逻辑通信服务。(类似从一个单位的某个部门到这个单位的另一个部门)

也就是说 传输层协议只在端系统中实现,同时 通信的端点并不是主机,而是应用进程

传输层协议提供逻辑通信服务。

网络层提供的是主机到主机的。(类似从一个单位到另一个单位)

主要功能:

  • 传输层寻址
  • 应用层报文的分段和重组
  • 报文的差错检测
  • 进程间端到端可靠数据传输控制
  • 面向应用层实现复用与分解(判断要给谁)
  • 端到端的流量控制
  • 拥塞控制

传输层的寻址

统一寻址方法:识别应用进程——端口号

如www(HTTP)是80,就知道是交给浏览器。

通过过IP地址+端口号,可以确定网络上任意一个主机的任意一个进程。

传输层端口为16位整数,包含三类:

  • 0~1023  熟知端口号 固定分配给某些程序 如80是HTTP 110是POP3 SMTP是25   DNS是UDP的53端口 前面的都是TCP的端口。
  • 1024~49151 登记端口号 一般给服务器的程序使用 固定使用 必须要在IANA登记
  • 49152~65535 客户端口号/短暂端口号 每次不固定

TCP会建立逻辑连接:要先确定对方是否存在,有没有足够空间等。

 

第二节 传输层的复用和分解

多路复用:众多应用程序共用一个传输层协议,从不同端口获得应用进程的数据,然后打包传给下一层网络层。

多路分解:从网络层接受数据,然后分解成不同数据交给不同进程

UDP的多路复用和分解

有目的IP地址和目的端口号就行了

TCP的多路复用和分解

需要TCP套接字用来标识一条连接:<源IP地址 源端口号,目的IP地址,目的端口号>

过程:1.先建立连接  2.然后来一个带着TCP套接字的数据,然后我就知道是哪一条连接啦

 

第三节 停-等协议与滑动窗口协议

如何保证数据可靠性

 

第四节 用户数据报UDP

无连接 不可靠 但是会尽量

 

第五节 传送应用协议TCP

序号:这个报文在整个TCP报文中的序号

确认号:返回的时候通知对方,哪个序号我收到了,接下来我想接受哪个

数据偏移:同一个序号的报文拆成几个小块,数据偏移表示这些小块的顺序

URG:紧急指针位 当特殊情况的时候紧急指针位为1,表示后面紧急指针有效,如果为0表示无效。

ACK:确认位 当为1时候表示确认号有效

PSH:可以很快提交

RST:复位 重新建立连接

SYN:同步请求 协商一个初始序号

FIN:为1表示通讯结束 拆除连接

窗口:告诉对方接收窗口有多大(不过这个是可以变化的,双方可以协商)

选项:目前只有一个选项,也就是最大报文段

填空:保证TCP首部是4的倍数,TCP首部固定20个字节

TCP三个阶段

1.连接建立阶段——三次握手

服务器打开一个监听窗口,客户机打开一个临时窗口,向服务器发送请求,SYN=1表示这是一个同步请求,seq=x表示序列是从x开始的内容,后面就是x+1 x+2等,接收方到时候按照这个顺序来接受x,x+1,x+2...

客户收到的时候,返回一个ACK=1,返回ack=x+1,表示x以前的我都收到了,希望收到的是x+1.同时服务器也向客户发送一个同步请求,告诉服务器自己的序列开始是y。

然后客户机再返回一个ACK=1,然后发送seq=x+1,ack=y+1

注意1:连接建立只能由客户提出,但是挥手可以由客户提出,也可以由服务器提出。

注意2:图中的前两次挥手,叫做半关闭连接,这时候客户不再向服务器发数据了,但是服务器还是可以把数据给客户。

注意3:服务端收到确认马上关闭,客户还有一个TIME-WAIT阶段

TCP如何保证可靠性传输

TCP如何进行流量控制

这里有一个专门针对网络的拥塞窗口

 

标签:第三章,报文,TCP,计算机网络,传输层,服务器,连接,端口号
来源: https://blog.csdn.net/m0_49797510/article/details/115960785

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有