计算机网络

1.OSI七层模型和TCP/IP四层模型,每层列举2个协议
OSI七层模型及其包含的协议如下:
       应用层: 为应用程序提供服务,并规定应用程序中通信相关细节。,传输单位为APDU,主要包括的协议为FTP(文件传输协议) HTTP(超文本传输协议)、 DNS(域名系统)
       表示层: 对数据进行格式转化(主机特有的格式转化为网络标准传输格式)、加密和压缩,传输单位为PPDU,主要包括的协议为TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption
       会话层:通信管理。负责建立、管理和终止会话,传输单位为SPDU,主要包括的协议为RPC(远程过程调用协议) NFS(共享文件协议)
       传输层:管理端到端(端口)的数据传输,进行错误恢复和流量控制等,传输单位为数据段(TCP)或数据报(UDP),主要包括的协议为TCP(Transmission Control Protocol传输控制协议) 、UDP(User Datagram Protocol 用户数据报协议)。(端口号使用来识别同一台计算机的不同应用程序的)
       网络层:负责地址管理与路由选择,传输单位为IP数据报,主要包括的协议为IP(Internet Protocol 网际互连协议) 、ARP(地址解析协议) 、ICMP(控制报文协议)。
       数据链路层: 负责物理层面上互连的节点之间的通信传输。建立逻辑连接、进行硬件地址寻址、差错校验等功能。将IP数据报(比特流,一个帧最大1500字节)组装成帧,传输单位为帧,主要包括的协议为MAC VLAN(虚拟局域网协议) PPP
       物理层: 负责比特流与电子信号之间的转换,确定机械及电气规范(使用电缆和接头的 类型传送信号的电压等)。通过媒介传输比特,传输单位为bit,主要包括的协议为:IEE802.3 CLOCK RJ45
       注意:传递信息所用的一些物理媒体,如双绞线、同轴电缆、光缆等不在物理层协议之内。而是在物理层协议的下面
       TCP/IP 4层模型包括:
       网络接口层:MAC VLAN
       网络层:IP ARP ICMP
       传输层:TCP UDP
       应用层:HTTP DNS SMTP(简单邮件传输协议)
在这里插入图片描述
在这里插入图片描述
2.TCP首部格式
在这里插入图片描述
       ① 源端口号:发送端端口号,长度为16位
       ②目标端口号:接收端端口号,长度为16位。
       ③序列号:报文段第一个字节的序号,长度为32位(TCP对传送的数据的每一个字节按顺序标号)
       ④确认号应答号:下一个报文段第一个字节的序号,长度为32位。
       ⑤数据偏移:TCP首部长度,单位为4字节,长度为4位。如果TCP报文首部是20个字节,则该位应是20/4=5。
       ⑥保留位:为了以后扩展时使用。长度为4位,一般设置为0。
       ⑦控制位:长度为8位
在这里插入图片描述
              CWR:CWR 标志与后面的 ECE 标志都用于 IP 首部的 ECN 字段,ECE 标志为 1 时,则通知对方已将拥塞窗口缩小;
              ECE:若其值为 1 则会通知对方,从对方到这边的网络有阻塞。在收到数据包的 IP 首部中 ECN 为 1 时将 TCP 首部中的 ECE 设为 1.;
              URG(Urgent flag)紧急标志位:该位设为 1,表示包中有需要紧急处理的数据,对于需要紧急处理的数据,与后面的紧急指针有关;
              ACK(ACKnowledgment flag)确认标志位:该位设为 1,确认应答的字段有效,TCP规定除了最初建立连接时的 SYN 包之外该位必须设为 1;
              PSH(Push flag)推送标志位:该位设为 1,表示需要将收到的数据立刻传给上层应用协议,若设为 0,则先将数据进行缓存;
              RST(Reset flag)复位标志:该位设为 1,表示 TCP 连接出现异常必须强制断开连接.
              SYN(Synchronize flag)同步标志位:用于建立连接,该位设为 1,表示希望建立连接,并在其序列号的字段进行序列号初始值设定;
              FIN(Finis flag)结束标志:该位设为 1,表示今后不再有数据发送,希望断开连接。
       ⑨窗口大小:用于通知发送端,从确认应答号所指位置开始能够接收的数据大小,长度为16 位。TCP 不允许发送超过该窗口大小的数据。若窗口为 0,则表示可以发送窗口探测,以了解最新的窗口大小,但这个数据必须是 1 个字节;
       例如,发送了一个报文段,其确认号是701,窗口字段是1000.这就是告诉对方:“从701算起,我(即发送方报文段的一方)的接收缓存空间还可接受1000个字节数据(字节序号是701~1700),你在给我发数据时,必须考虑到这一点。”
       ⑩校验和:判断首部和数据是否被破坏。TCP在计算检验和时,要加上一个12字节的伪首部,包括:源 IP 地址、目的 IP 地址、填充、协议号以及 TCP 包长度(首部长度与数据长度之和);
在这里插入图片描述
       TCP首部校验和计算三部分:TCP首部+TCP数据+TCP伪首部。
紧急指针:该字段为 16 位。只有在 URG 控制位为 1 时有效。该字段的数值表示本报文段中紧急数据的指针。从数据部分的首位到紧急指针所在的位置为止是紧急数据。因此,紧急指针是指出了紧急数据的末尾在报文段中的位置;
       11、选项(Options)
       长度为0-40(字节),必须以4B为单位变化,必要时可以填充0。通常包含:最长报文大小(MaximumSegment Size,MSS)、窗口扩大选项、时间戳选项、选择性确认(Selective ACKnowlegement,SACK)等。

3.UDP首部格式
       源端口号:表示发送端端口号,字段长16位。该字段是可选项,有时可能不会设置源
       端口号。没有源端口号的时候该字段的设置为0。可用于不需要返回的通信中。
       目标端口号:表示接收端端口,字段长度16位。
       包长度:该字段保存了UDP首部的长度跟数据的长度之和(用户数据报长度)。单位为字节。
       校验和:校验和是为了提供可靠的UDP首部和数据而设计的。不用时可以设为0.
在这里插入图片描述

4.TCP三次握手四次挥手
①三次握手
       客户端A:发送请求建立连接报文,标志位SYN=1,序列号为x,进入SYNC-SENT(请求连接)状态。
       服务端B:发送确认应答和请求建立连接报文(SYN=1,ACK = 1),序列号为y(seq
= y),确认应答号为 x + 1,进入SYNC-RCVD(连接接受)状态。
       客户端A:发送确认应答报文(ACK = 1),序列号为x+1(seq = x + 1),确认应答号为y+1,进入ESTABLISHED(建立连接)状态。服务器B收到后进入ESTABLISHED(建立连接)状态。
在这里插入图片描述
在这里插入图片描述
       ⑴为什么要三次握手:
       为了实现可靠数据传输,发送方和接收方 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 需要注意的是, 序号并不是从 0 开始的, 而是由发送方随机选择的初始序列号 ( Initial Sequence Number, ISN )开始 。 由于 TCP 是一个双向通信协议&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值