任何一门技术的出现,绝对不是偶然,而是必然,是顺应科技发展的产物,TCP/IP也不例外。正如万丈高楼平地起,楼有多高看地基,掌握TCP/IP知识是程序员学习的基础,也是小兵变技术大牛的必经之路。TCP/IP协议是整个网络的基础,我们目前使用的Internet就是基础TCP/IP协议构建的。
上图
HTTP协议的底层其实是由TCP协议和IP协议(简称TCP/IP)构建的。
TCP (传输控制协议)Transmission Control Protocol ,就是怎么传输
IP(网络协议)Internet Protocol,就是如何联网,如果没有IP协议的话,就没办法联网
TCP与UDP的区别:TCP是可靠的,面向连接的,相对于UDP较慢。UDP是不可靠,不面向连接,相对较快。
可靠:意思就是我发一个请求成功与否我是知道的。
比如访问谷歌,会出现一个错误页面,也就是说请求未成功。(TCP就类似于将一块石头扔进了水塘,听得见声音,UDP类似于将石头扔进了草垛,没有声音,没有反响)
面向连接:TCP必须发起一个连接,连接的这一端是我,另一端是谷歌的服务器,
像是一条线贯穿着我的浏览器和谷歌的服务器。而UDP是没有这条线的
http控制如何书写传输内容,TCP控制如何传输,IP控制如何联网
TCP的三次握手
每次简历连接前,客户端与服务端之间都要先进行三次对话才开始
正式传输内容,三次对话大概是这样的:
1.客户端:我要连接你了,可以吗?
2.服务器: 嗯,我准备好了,连接吧
3.客户端:好的,那我要连接你咯
4. 开始后面的步骤(传http协议 内容等等)
为什么要进行三次握手呢?是为了确认客户端,服务端 这两方 都可以接收收据和发送请求
*我们都知道大厂的要求严苛,那么咱们编程大厂出品的知识就如同行业的标杆了,今天小编就给小伙伴们分享一份大厂出品的TCP/IP学习笔记
TCP/IP详解
PDF主要内容:
第1章 概述
第2章 mbuf:存储器缓存
第3章 接口层
第4章 接口:以太网
第5章 接口:SLIP和 环回
第6章 IP编址
第7章 域和协议
第8章 IP:网际协议
第9章 IP选项处理
第10章 IP的分片与重装
第11章 ICMP:Internet控制 报文协议
第12章 IP多播
第13章 IGMP:Intermet组 管理协议
第14章 IP多播选路
第15章 插口层
第17章 插口选项
第18章 Radix树路由表
第19章 选路请求和选路消息
第20章 选路插口
第21章 ARP:地址解析协议
第22章 协议控制块
第23章 UDP: 用户数据报协议
第24章TCP: 传输控制协议
第25章 TCP的定时器
第26章 TCP输出
第27章 TCP的函数
第28章 TCP的 输入
第29章 TCP的 输入(续)
第30章 TCP的用户需求
第31章 BPF:BSD 分组过滤程序
第32章 原始IP
总结
相信不少人在求职时,都看过这样的要求:
- 精通 TCP/IP,熟练使用 Socket 进行网络编程
面试中也会经常被问到:TCP/IP 协议是什么、三次握手四次挥手等问题。
为什么它这么重要?TCP/IP 协议是互联网的基石,作者鲍勃・卡恩和文顿・格雷被并称为 “互联网之父”,30 多年过去了,它仍然是全球互联网得以稳定运行的保证。
不管你是做开发、运维还是信息安全的,TCP/IP 协议都是你绕不过去的一环,程序员需要像学会看书写字一样,学会这个技能。