网络编程—预备知识

Posted 一朵花花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程—预备知识相关的知识,希望对你有一定的参考价值。

网络编程—预备知识

服务器(server) - 客户端(client)

举例: 客人去餐馆点菜,吃饭~
请求——点菜
响应——上菜
参观无法确定客人啥时候来吃饭,只能一大早就开门,很晚才关门

主动发送请求的一方:客户端
被动接收请求的一方:服务器

服务器无法确定客户端什么时候发送请求,只能提前准备好,并且持续等待,甚至很多服务器 7 * 24 小时==工作

IP / MAC / 端口号

IP: 定位网络中的某一台主机,在网络层包装IP地址

查看IP地址:
打开cmd,输入 ipconfig
之后,找到 IPv4 地址即可

常用表示方式: IP本质上是一个32位的整数,使用三个 . 把这个整数分成四个部分,每个部分一个字节(0-255) —— “点分十进制”

MAC: 网卡绑定的,代表物理地址,一个设备可以有多个网卡
举例:放假了,我要从西安去北京玩~,此时:
源IP —— 西安; 目的IP —— 北京
源MAC目的MAC 随着我的行程,一直在变

端口号: 绑定主机中某一个应用程序,应用程序都是在传输层通过端口号发送/接收数据
端口号,就是一个整数,0-65535之间(占两个字节的整数)

IP+端口号: 可以定位到网络设备上具体的某一个应用程序

区别: IP地址描述的是路途总体的起点和终点,MAC 地址描述的是路途上的每一个区间的起点和终点

注意事项:
(1)网络设备发送数据时,需要知道MAC地址,才能发送
(2)主机、路由器有 IP 和 MAC

五元组

五元组: 源IP、源端口号、目的IP、目的端口号、协议号
网络上,IP定位网络设备,端口号定位应用程序,所以,IP + port 定位网络某个具体的程序

一次通信过程中涉及5个概念(五元组):
源IP:发件人地址
源端口:发件人姓名
目的IP:收件人地址
目的端口:收件人姓名
协议类型

通过一个五元组就可以标识一个唯一的通信

以上是关于网络编程—预备知识的主要内容,如果未能解决你的问题,请参考以下文章

Linux网络编程——预备知识

网络编程知识预备 ——了解OSI网络模型

网络编程知识预备 ——SOCKETTCPHTTP之间的区别与联系

网络编程知识预备 ——libcurl库简介及其编程使用

网络编程知识预备 ——了解应用层的HTTP协议与HTTPS协议

Linux篇第十八篇——网络套接字编程(预备知识+UDP套接字的编写)