计算机网络系列之协议栈解析,搞懂面试常问TCP握手与挥手

我是自动化专业的应届研究生,最终拿到了tplink、华为、vivo等公司的ssp的offer,分享自己学习过的计算机基础知识(C语言+操作系统+计算机网络+linux)以及数据结构与算法的相关知识,保证看完让你有所成长。
欢迎关注我,学习资料免费分享给你哦!还有其他超多学习资源,都是我自己学习过的,经过过滤之后的资源,免去你还在因为拥有大量资源不知如何入手的纠结,让你体系化学习。
在这里插入图片描述

一、序言

1.1总览

前面经过学习,已经知道了在浏览器输入一个URL之后,浏览器做出了哪些反应来为了获得这个URL的内容,包括使用DNS协议获得了URL域名的IP地址,根据URL构造出HTTP请求报文,然后调用socket接口,发出报文。接下来这节就将进入协议栈的学习。
在这里插入图片描述
协议栈就是包括了TCP协议、UDP协议和IP协议以及网卡驱动程序和网卡这几部分,是被操作系统封装起来的部分。在计算机网络层次结构中属于传输层、网络层、数据链路层、物理层。对于关系如图所示
在这里插入图片描述
看到这里应该可以明白今天要学习的内容了。

1.2端口

在学习其他部分之前,先来说说端口的概念。
对于协议栈是应用层很多进程在使用的,比如web浏览器需要调用,与web服务器进行通信;邮件程序需要调用,从邮件服务器得到邮件内容等等。不同的主机也就是终端之间,可以依靠IP地址来区分谁是谁,那么都处于一个电脑或者其他设备上的进程怎么区分呢?这里引入了端口的概念,就是为每个进程在添加一个16位的标号用来识别同一台计算机上需要使用协议栈的不同进程。比如a进程(端口号5000)使用协议栈通过网络获得了数据,b进程(10000)也使用了协议栈通过网络获取了数据,协议栈就是根据5000和10000来区分将数据交给哪个进程的。
端口号分为服务器端口号和客户端端口号。因为客户端想要访问服务器端,必须知道服务器这个进程的端口号,所以服务器端的端口号都是固定的,被大家熟知,比如Web服务器http协议的端口号是80。另一类端口号是客户端,他是每个进程随机分配的,不需要固定。

二、TCP协议

我们从上至下来学习,首

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值