linux网络编程1

24.9.16学习目录

一.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地址:

bash 复制代码
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特权
  • 动态端口:应用程序通常使用的范围
相关推荐
驭渊的小故事3 小时前
网络原理01(两千字解析)
网络
KaMeidebaby4 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
阿成学长_Cain6 小时前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
NiceCloud喜云7 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
门思科技8 小时前
TKL + EB:重新定义 LoRaWAN 在存量设备改造中的价值,让传统设备快速接入物联网
网络·物联网
hai3152475438 小时前
九章芯片电路集成体系:密度矩阵逆向·全域均衡网络计算总框架
网络·线性代数·矩阵
芝麻馅汤圆儿8 小时前
跨三层环境(交换机vlan/vlanif配置)
网络
wjql29 小时前
手机远程操控另一台手机的方法 手机可以远程操控手机吗
网络
奶油话梅糖9 小时前
锐捷常用命令速查表
java·网络·windows
rcms152702692189 小时前
AMAT 0190-32401 通讯模块
网络