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特权
  • 动态端口:应用程序通常使用的范围
相关推荐
我的运维人生9 分钟前
利用Python与Ansible实现高效网络配置管理
网络·python·ansible·运维开发·技术共享
车载诊断技术4 小时前
电子电气架构——中央计算的软件定义汽车架构
网络·架构·汽车·soa·电子电器架构
活老鬼4 小时前
Web与HTTP
网络·网络协议·http
qq_416560205 小时前
fmql之ubuntu添加dhcp服务
网络
小霸王_300378635 小时前
《网络协议 - HTTP传输协议及状态码解析》
网络·网络协议·http
小狮子安度因5 小时前
边缘智能-大模型架构初探
linux·网络
宇宙第一小趴菜6 小时前
探索网络世界:TCP/IP协议、Python Socket编程及日常生活比喻
网络·python·tcp/ip
新手嵌入式学习6 小时前
Modbus_tcp
网络·网络协议·tcp/ip
小宋10217 小时前
RabbitMQ:交换机详解(Fanout交换机、Direct交换机、Topic交换机)
服务器·网络·rabbitmq
hellojackjiang20117 小时前
开源即时通讯IM框架MobileIMSDK的H5端技术概览
网络·开源·即时通讯·im开发