| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> TCP/IP协议 -> 正文阅读 |
|
[网络协议]TCP/IP协议 |
从函数接口角度分析: socket其实也是一个函数接口,其作用是申请对应协议的套接字(两台相同协议的主机之间通信的桥梁)。 例如: TCP套接字(TCP socket) = socket(TCP协议); UDP套接字(UDP socket) = socket(UDP协议); 套接字是一个特殊的文件描述符,为什么说是特殊的? 普通文件描述符 = open(); 套接字 = socket(); -> 因为套接字不是通过open得到的,所以说是特殊的文件描述符。 1、什么是IP地址? 1)含义。 例如: "192.168.19.10" --> 这种形态叫点分制。. 每一个IP地址都是32位,如果大家在网络编程中需要使用IP地址,那么就一定要将这32位转化为网络字节。 2、什么是端口号? 两个进程之间需要通信,除了IP地址需要在同一个网段之外,还需要有相同的端口号。 端口号取值范围: 0~65535 ?(2的16次方) ?-> 16位 网络编程通信协议。 1、什么是通信协议? 两个进程之间使用网络编程来通信之前,必须定义好一个关系。 -> 协议:传输层协议。 主机A使用TCP协议,那么主机B就必须使用TCP协议才可以跟主机A通信。 2、传输层协议有哪些? 分别是TCP协议与UDP协议,两者区别是: TCP协议 --> Tranmission Control Protocol 这种协议特点: 面向于一种有连接的通信。 (打电话) 传输 控制 协议 UDP协议 --> User Data Protocol 这种协议特点: 面向于一种无连接的通信。 (寄信) 用户 数据包 协议 3、使用TCP协议来通信,服务器与客户端的设计流程是如何? 客户端: 一般用于发送数据。 服务器: 一般用于接收数据,然后根据接受到的数据,然后回发对应的内容给客户端。 详细步骤参考: TCP协议的设计流程.jpg 服务器提供自己的IP地址可以使用一个宏: INADDR_ANY 宏的路径在: /usr/include/linux/in.h
三次握手 1、“三次握手”解析什么问题? 解析基于有连接的TCP协议是如何确定可靠性。 2、三次握手分别做了什么事情? 第一次握手: 客户端会发送syn包(seq=j)给服务器,然后等待服务器确定。 第二次握手: 服务器收到syn包之后,必须确定客户端的syn包(ack=seq+1),同时服务器在给客户端发送一个syn包(seq=k),此时服务器再处于等待的状态。 第三次握手: 客户端收到服务器的syn+ack包之后,向服务器发送确认包ack包(ack=seq+1),此包发送成功之后,客户端与服务器才会进入连接状态。 TCP/IP协议模型。 该模型一共有4层。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 16:56:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |