• 程序员必知必会的TCP/IP,业内大佬给讲明白了


    任何一门技术的出现,绝对不是偶然,而是必然,是顺应科技发展的产物,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是不可靠,不面向连接,相对较快。

    1. 可靠:意思就是我发一个请求成功与否我是知道的。
    2. 比如访问谷歌,会出现一个错误页面,也就是说请求未成功。(TCP就类似于将一块石头扔进了水塘,听得见声音,UDP类似于将石头扔进了草垛,没有声音,没有反响)
    3. 面向连接:TCP必须发起一个连接,连接的这一端是我,另一端是谷歌的服务器,
    4. 像是一条线贯穿着我的浏览器和谷歌的服务器。而UDP是没有这条线的

    http控制如何书写传输内容,TCP控制如何传输,IP控制如何联网

    1. TCP的三次握手
    2. 每次简历连接前,客户端与服务端之间都要先进行三次对话才开始
    3. 正式传输内容,三次对话大概是这样的:
    4. 1.客户端:我要连接你了,可以吗?
    5. 2.服务器: 嗯,我准备好了,连接吧
    6. 3.客户端:好的,那我要连接你咯
    7. 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 协议都是你绕不过去的一环,程序员需要像学会看书写字一样,学会这个技能。

  • 相关阅读:
    使用Docker快速搭建Redis主从复制
    自行筛选视频教程
    怎么把电脑图片转文字?只需这几步就可以截图转文字
    buuctf[极客大挑战 2019]Havefun 1
    F - Sorting a Matrix(拓扑&缩点)
    pytorch相关知识点总结
    期货开户每日无负债结算制度
    浏览器-js,运行机制
    vue2的vue.config文件
    RocketMQ消息生产者是如何选择Broker的
  • 原文地址:https://blog.csdn.net/LBWNB_Java/article/details/127712886