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特权
  • 动态端口:应用程序通常使用的范围
相关推荐
Me4神秘9 小时前
电信、移动、联通、广电跨运营商网速慢原因
网络
数通Dinner10 小时前
RSTP 拓扑收敛机制
网络·网络协议·tcp/ip·算法·信息与通信
liulilittle12 小时前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
tan77º12 小时前
【Linux网络编程】Socket - UDP
linux·服务器·网络·c++·udp
小白爱电脑13 小时前
光纤的最小弯曲半径是多少?
网络
花落已飘14 小时前
多线程 vs 异步
linux·网络·系统架构
qq_1715388517 小时前
TCP/IP协议精解:IP协议——互联网世界的邮政编码系统
网络·网络协议·tcp/ip
珹洺17 小时前
计算机网络:(七)网络层(上)网络层中重要的概念与网际协议 IP
网络·tcp/ip·计算机网络
兮动人17 小时前
获取终端外网IP地址
java·网络·网络协议·tcp/ip·获取终端外网ip地址
怦然星动_18 小时前
eNSP中实现vlan间路由通信(路由器)
网络·智能路由器