一--导读缓存
前不久中国和外国RPEC协议的签定,标志着东亚自贸区的创建成功。如今韩国和日本要作贸易。日本一直监听着韩国总统的一举一动,但他又不会主动。(服务器的监听状态)只是被动的等着韩国总统先开口。首先韩国总统发送信息给日本。信息内容为“安倍兄,我想和你作点小生意,我发500台三星手机给你”。安倍收到以后回复:“我是安倍,小文啊,收到你的消息了,我要500+1台三星,并且我以50辆汽车做为对等交换”。韩国总统收到安倍会话,并回复:“安倍兄,你的消息我已收到,我给你发500+1台手机,但你也得给我发50+1辆汽车”。因为韩国小,船也小,只能分批次去运这些手机,而且安排相应的人员去管理当前发送两个国家都有本身的接收人员和发送人员去管理这些货物 。而且若是这些手机在路上不当心被抢了或者丢了。韩国都得从新让专门的人去发送手机台数和接收汽车辆数。服务器
TCP服务器的传输控制块:spa
指向发送和接收缓存的指针(管发和收的人)
指向重传队列的指针(从新发送的人)
当前的发送和接收序号(管如今发多少和收多少的人)指针
二---TCP链接要解决的三个问题blog
TCP的链接创建主要解决如下三个问题:
1--使TCP双方可以知道对方的存在
2--使TCP双方可以协商一些参数(如最大窗口值,是否使用窗口扩大选项和时间戳选项以及服务质量)
3--使TCP双方可以对运输实体资源(如缓存大小,链接表中的项目等)进行分配。队列
三---图解TCP三次握手进程
图中资源
SYN:同步序列编号(Synchronize Sequence Numbers)。是TCP/IP创建链接时使用的握手信号
同步位SYN=1,代表这是一个TCP链接请求报文段(至关于导读中的“安倍”)。同步
seq=x(至关于导读中的“500台三星”),做为TCP客户进程选择的初始字号,(请求
注意:TCP规定的SYN被设置为1的报文段不能携带数据,但要消耗一个序号)。(也就是韩国总统没有说到500,可是他说了一句话)
第一个ACK=1(至关于导读中的“小文啊,收到你的消息了”)。
seq=y (至关于导读中的50辆汽车)
ack=x+1(至关于导读中的500+1)。
第二个ACK=1(至关于导读中的“安倍兄,你的消息我已收到”)
seq=x+1(我给你发500+1台三星)
ack=y+1(但你得给我发50+1台汽车)
四--可否只有两次握手?
答案确定是不能。看下图
红线部分为一个迟到的链接请求,而且重传计时器结束了他尚未到达,因而发生重传(黑线)。
若只有两次握手,当迟到的到达后,接收方收到了,而后就按规矩创建链接,安排专人(资源)去等待发送方发送数据。可是发送方已经重传过了,他并不知道这个迟到的请求到达了(他也觉得重传过了就不会再有重复请求到达),因而接收方就这样傻傻的等待。
三次握手能防止已失效的链接请求报文段忽然又传到TCP服务器,致使错误,浪费资源。