基础网络知识

OSI模型: 应用层、表示层、会话层,传输层,网络层,数据链路层,物理层。

TCP/IP协议模型: 应用层(SMTP、FTP、DNS)、传输层(TCP/UDP)、网络层(IP、ICMP)、网络接口层

ping是应用层直接使用网络层ICMP报文。这种询问报文用来测试目的站是否可达以及了解其状态。

SNMP、NFS、IGMP一般使用UDP协议

telnet HTTP FTP一般使用TCP协议


TCP发送一报文时,同时在重传队列中存放该报文的副本,当收到确认时删除。

TCP报文首部字段:

窗口(2字节):用以控制对方发送的数据量,单位字节。这样根据接收端的接收能力来控制发送端的数据发送量。

TCP发送报文时机的选择:1数据达到最大报文长度MSS时(默认536字节,TCP头部是20字节),进行发送。2 由发送端的上层应用程序控制。3 设置定时器。

Nagle算法:应用进程将发送数据送到发送端的TCP缓存中,则发送端将第一个字节立刻发送,后面的字符进行缓存,当收到第一个报文的确认后,再将缓存中的字符发送。只有收到了前面报文的确认再发送后续的报文。当缓存中的数据达到较快,而网络比较慢时,Nagle算法比较好。还可以规定:当到底的字符是窗口大小的一般或者已经达到报文的最大长度时,立即发送。

TCP三次握手:

A--->B SYN报文(SYN位置1),SEQ=x(选择 一个序号x)

B--->A  SYN,SEQ=y,ACK=x+1. SYN报文要消耗一个序号。

A--->B ACK, SEQ = x+1, ACK= y+1 ACK报文不消耗序号,第一个数据的报文的序号为: x+1

TCP连接关闭的四次交互:

A--->B FIN(FIN位置1),SEQ=x(序号是最后一个数据报文序号+1)

B--->A  ACK,SEQ=y,ACK=x+1 表示对关闭的回应。此时A--->B的连接关闭,但是B可以向A发送数据,如果此时A收到B发送的数据,需要向B发送确认。

B--->A FIN,ACK,SEQ=y,ACK=x+1 请求释放B--->A之间的连接。注意序号为y,因为单纯的ACK报文不消耗序号。

A--->B ACK,SEQ=x+1,ACK=y+1 连接关闭。

ESTABLISHED状态是数据传输阶段。

注意:TCP连接关闭的过程中,A-->B的ACK发出后,此时B到A的连接也已经关闭,但是TCP还要等待一段时间才会删除原来建立的连接,以保证原来的所有分组都从网络中消失。此时的状态称为TIME_WAIT状态,要等待的时间是两倍的报文段寿命。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值