计算机网络

计算机网络(一)

先讲一讲我理解的TCP/IP

TCP/IP协议族在计算机网络的世界中占着很大的份额,在我们的使用过程,使用浏览器基本大都会使用到tcp协议和ip协议
tcp作为运输层协议,ip为网络层协议
无论是osi七层模型还是tcp/ip五层模型,tcp协议和ip协议都是重要的组成部分

与TCP/IP结缘之路

最早接触tcp/ip协议已无从考究,最早也只会简单的查看下自己的网络是否畅通,并无系统的学习,系统的学习应该是实习阶段,那时候接触到tcp/ip协议卷一这本书,厚到令人唏嘘。
毕业后的第一份工作来到了杭州的一个小厂,美其名曰业内排名第几第几,其实友商都不愿与我们比较,手动狗头。
但小厂虽小,却五脏俱全,身边同事也都为校招新人,也都是一边学习一边工作着,很幸运的接手了第一个项目就是与计网相关联比较大的,而我所负责的部分主要有两块,通信和前端。
与websockt不期而遇
在这先感谢下C工,作为导师兼组长,给我的成长起到不可或缺的作用,与外部通信我们采用的是较新的websocket,支持高并发,长连接,服务端主动推告警,完美适配我们的需求。
那时候哪里知道websocket,有时不决问度娘,不会,学起来。
tcp三次握手,四次挥手,长连接短链接,http1.0/1.1/2.0,websocket,这样就一篇篇的博客看了而下来。
提问,tcp为什么需要三次握手?
前端迷途
我现在从事的工作每天依然要和web打各种交道,但我已经不写前端了,怀念当初前后端一起写的时光,虽然短暂,但收获良多。
jquery虽老,尚能饭否。

TCP学习之路总结

1.tcp为什么三次握手而不是两次或是四次?
两次不能确定对端是否有收发能力,四次没必要浪费资源

2.tcp握手的目的?
确认双发是否有收发能力,确定序号,协商窗口大小

3.tcp报文格式
![在这里插入图片描述](https://img-blog.csdnimg.cn/07810ae3a0a7460f90b7e2febb4e8d70.png#pic_center)

源端口目的端口各16比特,用来标识同一台计算机的不同应用进程;
序列号确认号32比特,可靠传输中用来确认报文已接收
tcp首部长度4比特 TCP报文段的数据起始处 距离 TCP报文的起始处有多远
保留6比特
标志位(URG、ACK、PSH、RST、SYN、FIN。6比特):
一共六个,从左至右分别是URG、ACK、PSH、RST、SYN、FIN

URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。
ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。
PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。
RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。
SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。
FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。

窗口16比特 最大65536 告诉对方本端的 TCP 接收缓冲区还能容纳多少字节的数据

校验和16比特 CRC 算法检验首部和数据正不正确

紧急指针 16比特 仅在 __URG __= 1 时才有意义,它指出本报文段中的紧急数据的字节数

4.tcp和udp的区别?
tcp面向连接,可靠,字节流的报文传输。udp无连接,不可靠,数据报传输。

连接:三次握手四次挥手
可靠:超时重传,拥塞控制,校验和,序列号,确认应答,连接管理,流量控制
传输:tcp中linux内核把小的数据合并发送,发送端粘包
		   接收端未及时读取数据,接收端粘包
		   fctl设置宏,取消算法,应用层添加分隔符,指明每次消息长度,固定长度发送。
5.超时会一直重传下去吗?
lnux内核中控制重传次数,重传定时器每隔15s,40s,75s后重传,三次重传仍未收到断开连接。可通过设置

6.tcp中有哪些定时器?
重传定时器,坚持定时器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃饭第一名QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值