【网络编程】TCP/IP网络概述
目录
一、网络发展
1、分组交换
2、存储转发
3、因特网发展史
二、TCP/IP协议
1、网络的分层结构
2、IP协议(网际协议)
3、TCP报文(传输控制协议)
4、UDP协议(用户数据报 协议)
三、地址
1、mac地址(网卡的地址 —链路层)
2、IP地址(IPv4)32位 (IPv6) 128位(重要)
3、IP地址的分类(合理的利用IP地址资源)
4、IP地址分类(能否上外网)
5、回环IP地址
6、设置IP地址
五、端口——传输层
1、端口的概述
2、端口号
3、端口号的分类
六、 应用层协议开发架构
1、c/s架构 client客户端/sever服务器
2、b/s架构 browser浏览器/server服务器
七、划分网段
一、网络发展
网络节点:路由器和交换机组成
路由:网络通信路径
1、分组交换
同一个分组系统中 每组大小是等长。
每一个分组 都会携带一个首部
首部:分组在原数据的位置、源主机/目的主机信息
2、存储转发
节点收到分组,先暂时存储下来,再检查其首部,按 照首部中的目的地址,找到合适的节点转发出去 ,数据的重组 发生在目的主机上。
3、因特网发展史
TCP/IP是协议的统称,是一个族,不应认为是TCP或IP协议
单个ARPANET---->三级网络借结构--->多级网络结构
二、TCP/IP协议
1、网络的分层结构
七层结构:OSI/RM 开放互联参考模型(理论上的标准) :
- 物理层:网络卡的接口类型、电流强弱等标准
- 数据链路层:负责完整的帧数据 收发(帧数据:完整独立在网上传输的数据),mac地址 的封装和解封装(设备 到 设备的通信)
- 网络层:负责IP报文的封装和解封装,IP地址。(主机 到 主机的通信)
- 传输层:负责端口的封装和解封装(端口 区别是 系统的进程)(进程 到 进程的通信)
- 会话层:负查看数据是否能够到达目的主机,查看网络通信状态。
- 表示层:将计算机识别的二进制数据 转换成 用户能识别的(图片、视频、音频等)
- 应用层:具体应用程序的协议。
四层结构:TCP/IP模型(事实上的标准):
- 应用层:具体应用程序的协议
(FTP文件传输协议、Telnet远程登录协议、HTTP超文本传送协议、TFTP:简单文件传送协议 、NFS网络文件系统)
- 传输层:负责端口的封装和解封装(端口 区别是 系统的进程)(进程 到 进程的通信)
(TCP传输控制协议、UDP用户数据报协议)
- 网络层:负责IP报文的封装和解封装,IP地址。(主机 到 主机的通信)
(IP网际协议、ICMP网络控制报文协议(ping)、IGMP网络组管理协议)
- 链路层:负责完整的帧数据 收发(帧数据:完整独立在网上传输的数据),mac地址的封 装和解封装(设备 到 设备的通信)
( arp地址解析协议 rarp逆地址解析协议)
2、IP协议(网际协议)
IP在网络层(主机到主机的通信)
特点:
- 尽最大可能将数据报文 传送到目的主机。
- IP报文是独立传输的,互不干扰。
- 包含源IP和目的IP
3、TCP报文(传输控制协议)
TCP是可靠的传输层协议(进程和进程的通信)、面向连接的、序号和确认序号、排序检 错、失败重传,面向大文件传输。 如HTTP、FTP、SMTP等
4、UDP协议(用户数据报 协议)
UDP是不可靠的传输层协议(进程和进程的通信),无连接、不排序检错、不重传,简单 应答服务,支持广播、多播。 如:NFS、NTP(网络时间协议)、DNS(域名解析协议)等
三、地址
1、mac地址(网卡的地址 —链路层)
mac标示网卡地址编号(理论上全球唯一),以太网内的MAC地址是一个48bit的值。
2、IP地址(IPv4)32位 (IPv6) 128位(重要)
使用32bit,由{网络ID,主机ID}两部分组成
网络ID:IP地址中由子网掩码中1覆盖的连续位,标示IP地址在哪个网段。
主机ID:IP地址中由子网掩码中0覆盖的连续位,标示IP地址在网段的具体位置。
3、IP地址的分类(合理的利用IP地址资源)
- A类地址:默认8bit子网ID,第一位为0 (广域网 国家‐国家之间)
A类网络有127个,每个网络能容纳16777214(-2)(一千六百多万)个主机
- B类地址:默认16bit子网ID,前两位为10 (城域网 城市‐城市之间)
B类网络有16382个,每个网络能容纳6万多个主机。
- C类地址:默认24bit子网ID,前三位为110 (局域网)
C类网络可达209万余个,,每个网络能容纳254个主机。
- D类地址:前四位为1110,多播地址
- E类地址: 前五位为11110,保留为今后使用
4、IP地址分类(能否上外网)
公有IP:可直接连接Internet
私有IP:不能直接上Internet,可以借助代理上Internet ,私有IP不能直接 和公有IP通信。
私有地址范围:
A类 10.0.0.0 --10.255.255.255
B类 172.16.0.0–172.31.255.255
C类 192.168.0.0–192.168.255.255
5、回环IP地址
127.0.0.1~127.255.255.254中的任何地址都将回环到本地主机中
要是测试本机的网络配置,能ping通127.0.0.1说明本机的网卡和IP协议安装都没有问题
6、设置IP地址
window:

linux:
ifconfig ens33 192.168.44.130 netmask 255.255.255.0
自动获取IP:
sudo dhclient
设置子网掩码:
ifconfig ens33 192.168.44.130 netmask 255.255.255.0
五、端口——传输层
1、端口的概述
TCP/IP协议采用端口标识通信的进程。端口的本质是一段缓冲区。
特点:
- 对于同一个系统,一个端口只能被一个进程拥有。
- 对于同一个系统,一个进程可以拥有多个端口。
- 对于同一个端口,在不同系统中对应着不同的进程。
一个进程拥有一个端口后,传输层送到该端口的数据全部被该进程接收,同样,进程送交传 输层的数据也通过该端口被送出
2、端口号
- 端口号表示一个网络进程。
- 端口号是无符号短整型(1-65535)的类型。
- TCP、UDP维护各自独立的端口号(可占用相同端口号)
- 网络应用程序,至少要占用一个端口号,也可以占有多个端口号。
3、端口号的分类
知名端口(1~1023)
- 由互联网数字分配机构(IANA)根据用户需要进行统一分配
- 例如:FTP—21,HTTP—80等
- 服务器通常使用的范围;若强制使用,须加root特权
动态端口(1024~65535) 应用程序通常使用的范围
六、 应用层协议开发架构
1、c/s架构 client客户端/sever服务器
客户端、服务器都需要用户实现。客户端和服务器同等重要。
服务器:
- 被客户端连接 服务器必须指定在固定的端口等待客户端的连接。
- 户端的连接到来,必须启动新的线程/进程 服务 客户端。
- 服务器记得关闭 和客户端的连接
客户端:
- 主动 连接服务器 客户端 给服务器 发送请求
- 获取完请求 关闭连接
2、b/s架构 browser浏览器/server服务器
- WebQQ、网页游戏。重心在服务器上。(移动)
七、划分网段
VLAN技术:虚拟局域网划分
例题:将局域网10.9.11.0/24换分成6个子网

