linux网络编程1

24.9.16学习目录

  • 一.TCP/IP协议简介
    • 1.TCP/IP的分层结构
    • 2.协议的简介
  • 二、MAC地址和IP地址
    • 1.网卡
    • 2.MAC地址
    • 3.IP地址
      • (1)IP地址的分类
      • (2)IP地址的特点
      • (3)回环IP地址
    • 3.子网掩码
    • 4.端口
      • (1)端口号

一.TCP/IP协议简介

通过分组来减少协议设计的复杂性,每一层利用下一层提供的服务来为上一层提供服务,每层服务的实现细节对上一层屏蔽

1.TCP/IP的分层结构

OSI过于复杂,所以使用TCP/IP协议
在这里插入图片描述
应用层: 应用程序间沟通的层,与用户交互的程序
     有FTP、HTTP等
传输层: 提供进程的数据传送服务,负责传送数据,提供应用程序端的逻辑通信
    有TCP、UDP等
网络层: 提供基本的数据封包传送功能,最大可能的让每个数据包能够达到目的主机
    有IP、ICMP等
链路层: 负责数据帧的发送和接收
    有ARP

2.协议的简介

(1)IP协议
实现在一个相互连接的网络系统上从源地址到目的地址间传输数据包所提供必要功能

特点:

  • 不可靠:其不能保证数据包能成功到达目的地,仅提供尽力而为的传输服务
  • 无连接:每个数据包都是处理的,IP数据包可以不按发送顺序接收

(2)TCP协议
TCP是一种面向连接的、可靠的为不同主机上的进程间通信

特点:

  • 建立连接->使用连接->释放连接
  • TCP数据包中包含序号和确认序号
  • 对包进行排行并检错,当出现损坏则重新发送

(3)UDP协议
UDP是一种面向无连接的

特点:

  • 发送数据之前不需要建立连接
  • 不对数据包的顺序进行检测
  • 没有检测和重传机制

二、MAC地址和IP地址

1.网卡

称为网络适配器,其通过连接不同计算机,来完成数据通信功能

2.MAC地址

用于标识网络设备,类似身份证,在出厂时分配48bit值
其可以改变,但不建议进行更改
前三组为厂商ID,后三组为设备ID

查询MAK地址:

ifconfig

在这里插入图片描述

3.IP地址

IP地址是一种Internet上的主机编址方式,是任意一台主机在网络中的唯一标识

(1)IP地址的分类

1)ipv4:占32位

其由两部分组成:

网络ID:在IP地址中由子网掩码中1覆盖的连续位,子网掩码十进制表示为255

主机ID:在IP地址中由子网掩码中0覆盖的连续位

在这里插入图片描述
ipv4的分类:

在这里插入图片描述

2)ipv6:占128位

(2)IP地址的特点

子网ID不同的网络不能直接通信,需要路由器转发
主机ID全为0的IP地址为网段地址
主机ID全为1的IP地址为广播地址

(3)回环IP地址

即为 127.0.0.1
主要是测试本机的网络配置,能ping通该地址则说明本机的网卡和IP协议安装没有问题

3.子网掩码

指明IP地址中哪些标识的是主机所在的子网以及那些位标识的是主机号

特点:
必须结合IP地址一起使用,不能单独使用

4.端口

TCP/IP协议采用端口标识通信的进程,用于区分一个系统里的多个进程

特点:

  • 同一个端口中,在不同系统中对应着不同的进程
  • 同一个系统中,一个端口只能被一个进程拥有
  • 一个进程拥有一个端口后,传输层送到该端口的数据全部被该进程接收,同样进程送交传输层的数据也通过该端口被送出

(1)端口号

类似pid标识一个进程;
在网络程序中,用端口号来标识一个运行的网络程序;

特点:

  • 端口号是无符号短整的类型
  • 每个端口都拥有一个端口号
  • TCP、UDP维护各自独立的端口号
  • 网络应用程序,至少要占用一个端口号,也可以占用多个端口号

端口号的分配:

  • 知名端口:由互联网数字分配机构根据用户需要进行统一分配;若强制使用,需要加root特权
  • 动态端口:应用程序通常使用的范围

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1536797.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络通俗理解学习笔记(5) 自然语言处理

自然语言处理 词嵌入和word2vec词义搜索和句意表示预训练模型Hugging Face库介绍经典NLP数据集代码案例-电影评论情感分析 词嵌入和word2vec 词嵌入是一种 将高维的数据表示映射到低维空间的方法 word embedding 是将语言中的词编码成向量便于后续的分析和处理 词嵌入和词向量…

JavaScript 事件处理

一、简介 ​ 事件:发生在HTML元素上的事情,可以是用户的行为,也可以是浏览器的行为,如 用户点击了某个HTML元素用户将鼠标移动到某个HTML元素上用户输入数据时光标离开页面加载完成 ​ 事件源:事件触发的源头&#xf…

Maya怎么把黑色的面反转为白色面

1、选中需要调整的面。 2、点击菜单栏中的“网格显示”,再点击点击“反转(Reverse)”。 3、反转后,原本黑色的面将会变成正常的面,法线方向也会相应改变。 按住ctrlshift鼠标中键 拖动快捷图标至工具栏

photozoom pro 9如何激活解锁 2024最新激活解锁代码

您好,现在程程来为大家解答以上的问题。photozoom pro 9解锁代码,photozoom pro 9解锁代码相信很多小伙伴还不知道,现在让我们一起来看... 您好,现在程程来为大家解答以上的问题。photozoom pro 9解锁代码,photozoom pro 9解锁代码相信很多小伙伴还不知道…

54.【C语言】 字符函数和字符串函数(strncpy,strncat,strncmp函数)

和strcpy,strcat,strcmp函数对应的是strncpy,strncat,strncmp函数 8.strncpy函数 *简单使用 cplusplus的介绍 点我跳转 翻译: 函数 strncpy char * strncpy ( char * destination, const char * source, size_t num ); 从字符串中复制一些字符 复制源(source)字符串的前num个…

LeetCode题集-4 - 寻找两个有序数组的中位数,图文并茂,六种解法,万字讲解

题目:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 作为目前遇到的第一个困难级别题目,我感觉这题还是挺难的&#xff0c…

Linux常用命令以及操作技巧

🌏个人博客主页:意疏-CSDN博客 希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 关注 收藏支持一下笔者吧~ 阅读指南: 开篇说明帮助命令常见的七个linux操作终端实用的技巧跟文件目录…

idea集成和使用Git指南

前言 Git是一个分布式的版本控制工具,可以管理我们开发过程中的源代码文件,而idea是Java的集成开发环境,在idea中配置Git,可以提高我们的团队开发效率。因此在idea中集成Git并使用Git管理我们的源代码是必要的 第一步:…

计算机毕业设计python校园物资招标投标竞标系统 w235g

目录 技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取 技术栈和环境说明 本系统以Python开发语言开发&am…

Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 死亡对象判断方法

文章目录 垃圾回收机制死亡对象判断方法引用计数法可达性分析算法可以作为 GC Roots 的对象判断对象被回收需要经历的过程 引用类型引用汇总引用队列 废弃常量判定废弃常量废弃原因遵循原则 无用的类所需条件造成的问题解决步骤 垃圾回收机制 垃圾回收(Garbage Col…

【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)

目录 一、插入排序 算法思想 二、插入排序 算法步骤 四、复杂度分析 时间复杂度:O(n^2) 空间复杂度:O(1) 稳定性:稳定算法 五、应用场景 💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏:探索数据结构…

STM32之FMC—扩展外部 SDRAM

文章目录 一、FMC外设介绍二、SDRAM 控制原理1、SDRAM关键参数a、容量、分区b、引脚SDRAM 使用 2、SDRAM芯片IS42S16400J3、SDRAM 控制引脚说明控制逻辑地址控制SDRAM 的存储阵列SDRAM 的命令预充电刷新 W9825G6KH:W9825G6KH引脚 三、STM32F429 FMC四、其他文章打开…

基于ssm的个性化影片推荐系统设计与实现

需要项目源码请联系我,目前有各类成品 毕设 javaweb ssh ssm springboot等等项目框架,源码丰富。 专业团队,咨询就送开题报告,活动限时免费,有需要的朋友可以来咨询。 一、摘要 随着科学技术的飞速发展,社…

Matlab simulink建模与仿真 第十五章(信号源库)

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、信号源库中的模块概览 注:部分模块在第二章中有介绍,本章不再赘述。 二、from输入源模块 1、From Workspace模块 (1)该模块可从MATLAB工作区、模型工作区…

双指针算法专题(2)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: 优选算法专题 想要了解双指针算法的介绍,可以去看下面的博客:双指针算法的介绍 目录 611.有效三角形的个数 LCR 1…

King3399 SDK编译简明教程

该文章仅供参考,编写人不对任何实验设备、人员及测量结果负责!!! 0 引言 文章主要介绍King3399(瑞芯微rk3399开发板,荣品)官方SDK编译过程,涉及环境配置、补丁以及编译过程中注意事…

shiro漏洞复现

目录 shiro介绍框架介绍判断是否使用shiro框架 环境搭建CVE-2010-3863漏洞原理影响版本漏洞复现 CVE-2016-4437漏洞原理影响版本漏洞复现 CVE-2020-1957漏洞原理影响版本漏洞复现 shiro-721拉取环境漏洞原理漏洞复现 shiro介绍 框架介绍 Apache Shiro提供了认证、授权、加密和…

CSARA机械手正反解代码解读和左右手定则应用

前言:前段时间在某鱼上买了一份CSARA的机械臂的程序,拿出来分享一下,并记录一下。说明一下并非是公司的核心代码,我也不搞这个....侵权就删了。 首先简单回顾一下CSARA的正逆解。 根据几何的方法能求出末端在平面坐标系中的xy坐标…

第二百三十五节 JPA教程 - JPA Lob列示例

JPA教程 - JPA Lob列示例 以下代码显示了如何使用Lob注释将字节数组保存到数据库。 LOB在数据库中有两种类型:字符大对象(称为CLOB)和二进制大对象(或BLOB)。 CLOB列保存大字符序列,BLOB列可存储大字节序…

Linux memcg lru lock提升锁性能

内核关于per memcg lru lock的重要提交: f9b1038ebccad354256cf84749cbc321b5347497 6168d0da2b479ce25a4647de194045de1bdd1f1d 计算虚拟地址转换基本机制 为了处理多应用程序的地址冲突, linux 系统在应用中使用了虚拟地址,得益于硬件的…